*IF DEF,A19_1A VEG_IC1A.2
C *****************************COPYRIGHT****************************** VEG_IC1A.3
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. VEG_IC1A.4
C VEG_IC1A.5
C Use, duplication or disclosure of this code is subject to the VEG_IC1A.6
C restrictions as set forth in the contract. VEG_IC1A.7
C VEG_IC1A.8
C Meteorological Office VEG_IC1A.9
C London Road VEG_IC1A.10
C BRACKNELL VEG_IC1A.11
C Berkshire UK VEG_IC1A.12
C RG12 2SZ VEG_IC1A.13
C VEG_IC1A.14
C If no contract has been raised with this copy of the code, the use, VEG_IC1A.15
C duplication or disclosure of it is strictly prohibited. Permission VEG_IC1A.16
C to do so must first be obtained in writing from the Head of Numerical VEG_IC1A.17
C Modelling at the above address. VEG_IC1A.18
C ******************************COPYRIGHT****************************** VEG_IC1A.19
! Version 1A of vegetation section: models leaf phenology VEG_IC1A.20
! VEG_IC1A.21
! Subroutine Interface: VEG_IC1A.22
SUBROUTINE VEG_IC(P_FIELD,FIRST_POINT,LAST_POINT,LAND_FIELD 1,2VEG_IC1A.23
&, LAND1,LAND_PTS,LAND_INDEX,P_ROWS,ROW_LENGTH ABX3F405.13
*IF DEF,MPP ABX3F405.14
&, EW_Halo,NS_Halo ABX3F405.15
*ENDIF ABX3F405.16
&, A_STEP,ASTEPS_SINCE_TRIFFID VEG_IC1A.25
&, PHENOL_PERIOD,TRIFFID_PERIOD VEG_IC1A.26
&, L_PHENOL,L_TRIFFID,L_TRIF_EQ VEG_IC1A.27
&, ALB_SOIL,ATIMESTEP,FRAC_DISTURB VEG_IC1A.28
&, G_LEAF_AC,G_LEAF_PHEN_AC,NPP_AC VEG_IC1A.29
&, RESP_S_AC,RESP_W_AC VEG_IC1A.30
&, CS,FRAC,LAI,HT VEG_IC1A.31
&, ALBSNC,ALBSNF,CATCH_T,Z0_P,Z0_T VEG_IC1A.32
&, C_VEG,CV,LIT_C,LIT_C_MN,G_LEAF_DAY,G_LEAF_PHEN ABX1F405.1311
&, LAI_PHEN,G_LEAF_DR_OUT,NPP_DR_OUT,RESP_W_DR_OUT ABX1F405.1312
&, RESP_S_DR_OUT ABX1F405.1313
& ) ABX1F405.1314
VEG_IC1A.34
VEG_IC1A.35
IMPLICIT NONE VEG_IC1A.36
! VEG_IC1A.37
! Description: VEG_IC1A.38
! Updates Leaf Area Index for Plant Functional Types (PFTs) and uses VEG_IC1A.39
! this to derive new vegetation parameters for PFTs along with gridbox VEG_IC1A.40
! mean values where appropriate. VEG_IC1A.41
! VEG_IC1A.42
! Method: VEG_IC1A.43
! Calls PHENOL which models phenology and updates Leaf Area Index VEG_IC1A.44
! (LAI), then passes new LAI into SPARM along with canopy height VEG_IC1A.45
! and fractional cover of Plant Functional Types. SPARM uses this to VEG_IC1A.46
! derive the vegetation parameters for each PFT, and also derives VEG_IC1A.47
! gridbox means where this is required. VEG_IC1A.48
! VEG_IC1A.49
! Current Code Owner: Richard Betts VEG_IC1A.50
! VEG_IC1A.51
! History: VEG_IC1A.52
! Version Date Comment VEG_IC1A.53
! ------- ---- ------- VEG_IC1A.54
! 4.4 8/10/97 Original code. Richard Betts VEG_IC1A.55
! 4.5 5/8/98 Pass info on grid and halo dimensions into VEG. ABX3F405.17
! Richard Betts ABX3F405.18
! 4.5 23/11/98 Output G_LEAF_DAY, G_LEAF_PHEN and LAI_PHEN as ABX1F405.1315
! diagnostics, and include G_LEAF_DR_OUT, NPP_DR_OUT, ABX1F405.1316
! RESP_W_DR_OUT and RESP_S_DR_OUT as dummy ABX1F405.1317
! arguments. Richard Betts ABX1F405.1318
! VEG_IC1A.56
! Code Description: VEG_IC1A.57
! Language: FORTRAN 77 + common extensions. VEG_IC1A.58
! This code is written to UMDP3 v6 programming standards. VEG_IC1A.59
VEG_IC1A.60
INTEGER VEG_IC1A.61
& P_FIELD ! IN Number of P-points. VEG_IC1A.62
&,FIRST_POINT ! IN First P-point to be processed. VEG_IC1A.63
&,LAST_POINT ! IN Last P-point to be processed. VEG_IC1A.64
&,LAND_FIELD ! IN Number of land points. VEG_IC1A.65
&,LAND1 ! IN First land point to be processed. VEG_IC1A.66
&,LAND_PTS ! IN Number of land points to be processed. VEG_IC1A.67
&,P_ROWS ! IN Number of rows on P grid. ABX3F405.19
&,ROW_LENGTH ! IN Number of P points in a row. ABX3F405.20
*IF DEF,MPP ABX3F405.21
&,EW_Halo ! IN Halo size in the EW direction. ABX3F405.22
&,NS_Halo ! IN Halo size in the NS direction. ABX3F405.23
*ENDIF ABX3F405.24
&,A_STEP ! IN Atmospheric timestep number. VEG_IC1A.68
&,ASTEPS_SINCE_TRIFFID ! INOUT Number of atmospheric VEG_IC1A.69
! ! timesteps since last call VEG_IC1A.70
! ! to TRIFFID. VEG_IC1A.71
&,PHENOL_PERIOD ! IN Phenology period (days). VEG_IC1A.72
&,TRIFFID_PERIOD ! IN TRIFFID period (days). VEG_IC1A.73
VEG_IC1A.74
*CALL NSTYPES
VEG_IC1A.75
VEG_IC1A.76
INTEGER VEG_IC1A.77
& LAND_INDEX(LAND_FIELD) ! IN I=LAND_INDEX(L) => the Ith VEG_IC1A.78
! ! point in P_FIELD is the Lth VEG_IC1A.79
! ! land point. VEG_IC1A.80
LOGICAL VEG_IC1A.81
& L_PHENOL ! IN .T. for interactive leaf VEG_IC1A.82
! ! phenology. VEG_IC1A.83
&,L_TRIFFID ! IN .T. for interactive vegetation. VEG_IC1A.84
&,L_TRIF_EQ ! IN .T. for vegetation equilibrium. VEG_IC1A.85
VEG_IC1A.86
REAL VEG_IC1A.87
& ALB_SOIL(LAND_FIELD) ! IN snow-free albedo of soil. VEG_IC1A.88
&,ATIMESTEP ! IN Atmospheric timestep (s). VEG_IC1A.89
&,FRAC_DISTURB(LAND_FIELD) ! IN Fraction of gridbox in which VEG_IC1A.90
! ! vegetation is disturbed. VEG_IC1A.91
&,G_LEAF_AC(LAND_FIELD,NPFT) ! INOUT Accumulated leaf turnover VEG_IC1A.92
! ! rate. VEG_IC1A.93
&,G_LEAF_PHEN_AC(LAND_FIELD,NPFT)! INOUT Accumulated leaf turnover VEG_IC1A.94
! ! rate including phenology. VEG_IC1A.95
&,NPP_AC(LAND_FIELD,NPFT) ! INOUT Accumulated NPP (kg C/m2). VEG_IC1A.96
&,RESP_W_AC(LAND_FIELD,NPFT) ! INOUT Accumulated wood respiration VEG_IC1A.97
! ! (kg C/m2). VEG_IC1A.98
&,RESP_S_AC(LAND_FIELD) ! INOUT Accumulated soil respiration VEG_IC1A.99
! ! (kg C/m2). VEG_IC1A.100
&,CS(LAND_FIELD) ! INOUT Soil carbon content VEG_IC1A.101
! ! (kg C/m2). VEG_IC1A.102
&,FRAC(LAND_FIELD,NTYPE) ! INOUT Fractions of surface types. VEG_IC1A.103
&,LAI(LAND_FIELD,NPFT) ! INOUT LAI of plant functional VEG_IC1A.104
! ! types. VEG_IC1A.105
&,HT(LAND_FIELD,NPFT) ! INOUT Height of plant functional VEG_IC1A.106
! ! types (m). VEG_IC1A.107
&,ALBSNC(LAND_FIELD) ! OUT Snow-covered albedo. VEG_IC1A.108
&,ALBSNF(LAND_FIELD) ! OUT Snow-free albedo. VEG_IC1A.109
&,CATCH_T(LAND_FIELD,NTYPE-1) ! OUT Canopy capacity for each type VEG_IC1A.110
! ! aside from ice (kg/m2). VEG_IC1A.111
&,G_LEAF_DAY(LAND_FIELD,NPFT) ! OUT Mean leaf turnover rate for ABX1F405.1319
! ! input to PHENOL (/360days). ABX1F405.1320
&,G_LEAF_PHEN(LAND_FIELD,NPFT) ! OUT Mean leaf turnover rate over ABX1F405.1321
! ! phenology period (/360days). ABX1F405.1322
&,LAI_PHEN(LAND_FIELD,NPFT) ! OUT LAI of PFTs after phenology. ABX1F405.1323
&,Z0_P(P_FIELD) ! OUT Effective roughness length VEG_IC1A.112
! ! on full grid (m). VEG_IC1A.113
&,Z0_T(LAND_FIELD,NTYPE) ! OUT Roughness length for each type VEG_IC1A.114
! ! (m). VEG_IC1A.115
&,C_VEG(LAND_FIELD,NPFT) ! OUT Total carbon content of VEG_IC1A.116
! ! the vegetation (kg C/m2). VEG_IC1A.117
&,CV(LAND_FIELD) ! OUT Gridbox mean vegetation VEG_IC1A.118
! ! carbon (kg C/m2). VEG_IC1A.119
&,LIT_C(LAND_FIELD,NPFT) ! OUT Carbon Litter ABX1F405.1324
! ! (kg C/m2/360days). ABX1F405.1325
&,LIT_C_MN(LAND_FIELD) ! OUT Gridbox mean carbon litter VEG_IC1A.121
! ! (kg C/m2/360days). ABX1F405.1326
VEG_IC1A.123
! DUMMY ARGUMENTS ABX1F405.1327
REAL ABX1F405.1328
& G_LEAF_DR_OUT(LAND_FIELD,NPFT) ABX1F405.1329
&,NPP_DR_OUT(LAND_FIELD,NPFT) ABX1F405.1330
&,RESP_W_DR_OUT(LAND_FIELD,NPFT) ABX1F405.1331
&,RESP_S_DR_OUT(LAND_FIELD) ABX1F405.1332
ABX1F405.1333
CALL VEG
(P_FIELD,FIRST_POINT,LAST_POINT,LAND_FIELD VEG_IC1A.124
&, LAND1,LAND_PTS,LAND_INDEX,P_ROWS,ROW_LENGTH ABX3F405.25
*IF DEF,MPP ABX3F405.26
&, EW_Halo,NS_Halo ABX3F405.27
*ENDIF ABX3F405.28
&, A_STEP,PHENOL_PERIOD,L_PHENOL VEG_IC1A.126
&, ALB_SOIL,ATIMESTEP VEG_IC1A.127
&, G_LEAF_AC,FRAC,LAI,HT VEG_IC1A.128
&, ALBSNC,ALBSNF,CATCH_T,Z0_P,Z0_T ABX1F405.1334
&, G_LEAF_DAY,G_LEAF_PHEN,LAI_PHEN ABX1F405.1335
& ) ABX1F405.1336
VEG_IC1A.130
RETURN VEG_IC1A.131
END VEG_IC1A.132
*ENDIF VEG_IC1A.133