*IF DEF,A03_7A LEAF7A.2 C *****************************COPYRIGHT****************************** LEAF7A.3 C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. LEAF7A.4 C LEAF7A.5 C Use, duplication or disclosure of this code is subject to the LEAF7A.6 C restrictions as set forth in the contract. LEAF7A.7 C LEAF7A.8 C Meteorological Office LEAF7A.9 C London Road LEAF7A.10 C BRACKNELL LEAF7A.11 C Berkshire UK LEAF7A.12 C RG12 2SZ LEAF7A.13 C LEAF7A.14 C If no contract has been raised with this copy of the code, the use, LEAF7A.15 C duplication or disclosure of it is strictly prohibited. Permission LEAF7A.16 C to do so must first be obtained in writing from the Head of Numerical LEAF7A.17 C Modelling at the above address. LEAF7A.18 C ******************************COPYRIGHT****************************** LEAF7A.19 !********************************************************************** LEAF7A.20 ! Calculates the leaf resistance and net photosynthesis using: LEAF7A.21 ! (i) Collatz et al. (1992) C3 photosynthesis model LEAF7A.22 ! (ii) Jacobs (1994) CI/CA closure. LEAF7A.23 ! LEAF7A.24 ! Written by Peter Cox (February 1996) LEAF7A.25 ! Adapted for MOSES II tile model by Richard Essery (July 1997) LEAF7A.26 !********************************************************************** LEAF7A.27SUBROUTINE LEAF_C3 (LAND_FIELD,VEG_PTS,VEG_INDEX,FT 3,4LEAF7A.28 &, DQ,APAR,TL,CA,OA,PSTAR,FSMC LEAF7A.29 &, GL,AL,CI,RD) LEAF7A.30 LEAF7A.31 IMPLICIT NONE LEAF7A.32 LEAF7A.33 INTEGER LEAF7A.34 & LAND_FIELD ! IN Total number of land points. LEAF7A.35 &,VEG_PTS ! IN Number of vegetated points. LEAF7A.36 &,VEG_INDEX(LAND_FIELD) ! IN Index of vegetated points LEAF7A.37 ! ! on the land grid. LEAF7A.38 &,FT ! IN Plant functional type. LEAF7A.39 LEAF7A.40 REAL LEAF7A.41 & DQ(LAND_FIELD) ! IN Canopy level specific humidity LEAF7A.42 ! ! deficit (kg H2O/kg air). LEAF7A.43 &,APAR(LAND_FIELD) ! IN Absorbed PAR (W/m2) LEAF7A.44 &,TL(LAND_FIELD) ! IN Leaf temperature (K). LEAF7A.45 &,CA(LAND_FIELD) ! IN Canopy CO2 pressure (Pa). LEAF7A.46 &,OA(LAND_FIELD) ! IN Atmospheric O2 pressure (Pa). LEAF7A.47 &,PSTAR(LAND_FIELD) ! IN Atmospheric pressure (Pa). LEAF7A.48 &,FSMC(LAND_FIELD) ! IN Soil water factor. LEAF7A.49 &,GL(LAND_FIELD) ! OUT Leaf conductnace for H2O (m/s). LEAF7A.50 &,AL(LAND_FIELD) ! OUT Net Leaf photosynthesis LEAF7A.51 ! ! (mol CO2/m2/s). LEAF7A.52 &,RD(LAND_FIELD) ! OUT Dark respiration (mol CO2/m2/s). LEAF7A.53 &,CI(LAND_FIELD) ! OUT Internal CO2 pressure (Pa). LEAF7A.54 &,ACR(LAND_FIELD) ! WORK Absorbed PAR LEAF7A.55 ! ! (mol photons/m2/s). LEAF7A.56 &,B1(LAND_FIELD) ! LEAF7A.57 &,B2(LAND_FIELD) ! LEAF7A.58 &,B3(LAND_FIELD) ! WORK Coefficients of the quadratic. LEAF7A.59 &,CCP(LAND_FIELD) ! WORK Photorespiratory compensatory LEAF7A.60 ! ! point (mol/m3). LEAF7A.61 &,CONV(LAND_FIELD) ! WORK Factor for converting mol/m3 LEAF7A.62 ! ! into Pa (J/mol). LEAF7A.63 &,DENOM(LAND_FIELD) ! WORK Denominator in equation for VCM LEAF7A.64 &,GLCO2(LAND_FIELD) ! WORK Leaf conductnace for CO2 (m/s). LEAF7A.65 &,KC(LAND_FIELD) ! WORK Michaelis constant for CO2 (Pa) LEAF7A.66 &,KO(LAND_FIELD) ! WORK Michaelis constant for O2 (Pa). LEAF7A.67 &,QTENF(LAND_FIELD) ! WORK Q10 function. LEAF7A.68 &,TAU(LAND_FIELD) ! WORK CO2/O2 specificity ratio. LEAF7A.69 &,TDEGC(LAND_FIELD) ! WORK Leaf temperature (deg C). LEAF7A.70 &,VCM(LAND_FIELD) ! WORK Maximum rate of carboxylation LEAF7A.71 ! ! of Rubisco (mol CO2/m2/s). LEAF7A.72 &,VCMAX(LAND_FIELD) ! WORK Maximum rate of carboxylation LEAF7A.73 ! ! of Rubisco - without the LEAF7A.74 ! ! temperature factor LEAF7A.75 ! ! (mol CO2/m2/s). LEAF7A.76 &,WL(LAND_FIELD) ! WORK Gross leaf phtosynthesis LEAF7A.77 ! ! (mol CO2/m2/s). LEAF7A.78 &,WCARB(LAND_FIELD) ! WORK Carboxylation, LEAF7A.79 &,WLITE(LAND_FIELD) ! Light, and LEAF7A.80 &,WEXPT(LAND_FIELD) ! export limited gross LEAF7A.81 ! ! photosynthetic rates LEAF7A.82 ! ! (mol CO2/m2/s). LEAF7A.83 &,WP(LAND_FIELD) ! WORK Smoothed minimum of LEAF7A.84 ! ! Carboxylation and Light LEAF7A.85 ! ! limited gross photosynthesis LEAF7A.86 ! ! (mol CO2/m2/s). LEAF7A.87 LEAF7A.88 INTEGER LEAF7A.89 & CLOS_INDEX(LAND_FIELD) ! WORK Index of land points LEAF7A.90 ! ! with closed stomata. LEAF7A.91 &,CLOS_PTS ! WORK Number of land points LEAF7A.92 ! ! with closed stomata. LEAF7A.93 &,OPEN_INDEX(LAND_FIELD) ! WORK Index of land points LEAF7A.94 ! ! with open stomata. LEAF7A.95 &,OPEN_PTS ! WORK Number of land points LEAF7A.96 ! ! with open stomata. LEAF7A.97 LEAF7A.98 INTEGER LEAF7A.99 & J,L ! WORK Loop counters. LEAF7A.100 LEAF7A.101 *CALL NSTYPES
LEAF7A.102 *CALL TRIF
LEAF7A.103 LEAF7A.104 !------------------------------------------------------------------- LEAF7A.105 ! Parameters LEAF7A.106 !------------------------------------------------------------------- LEAF7A.107 REAL LEAF7A.108 & BETA1, BETA2 ! Coupling coefficients for co-limitation. LEAF7A.109 &,FDC3, FDC4 ! Dark respiration coefficients for C3, C4 LEAF7A.110 &,NEFFC3, NEFFC4 ! Constant relating VCMAX and leaf N LEAF7A.111 ! ! from Schulze et al. 1994 (AMAX = 0.4E-3 * NL LEAF7A.112 ! ! - assuming dry matter is 40% carbon by mass) LEAF7A.113 ! ! and Jacobs 1994: LEAF7A.114 ! ! C3 : VCMAX = 2 * AMAX ; C4 : VCMAX = AMAX LEAF7A.115 ! ! (mol/m2/s) LEAF7A.116 &,R ! Gas constant (J/K/mol). LEAF7A.117 &,RATIO ! Ratio of leaf resistance for CO2 to leaf LEAF7A.118 ! ! resistance for H2O. LEAF7A.119 &,ZERODEGC ! Zero Celsius (K). LEAF7A.120 LEAF7A.121 PARAMETER (BETA1 = 0.83, BETA2 = 0.93 LEAF7A.122 &, FDC3 = 0.015, FDC4 = 0.025 LEAF7A.123 &, NEFFC3 = 0.8E-3, NEFFC4 = 0.4E-3 LEAF7A.124 &, R = 8.3144 , RATIO = 1.6 LEAF7A.125 &, ZERODEGC = 273.15) LEAF7A.126 LEAF7A.127 !---------------------------------------------------------------------- LEAF7A.128 ! Initialise counters LEAF7A.129 !---------------------------------------------------------------------- LEAF7A.130 CLOS_PTS = 0 LEAF7A.131 OPEN_PTS = 0 LEAF7A.132 LEAF7A.133 DO J=1,VEG_PTS LEAF7A.134 L = VEG_INDEX(J) LEAF7A.135 LEAF7A.136 !---------------------------------------------------------------------- LEAF7A.137 ! Calculate the points with closed stomata LEAF7A.138 !---------------------------------------------------------------------- LEAF7A.139 IF (FSMC(L).EQ.0.0 .OR. DQ(L).GE.DQCRIT(FT) LEAF7A.140 & .OR. APAR(L).EQ.0.0) THEN LEAF7A.141 CLOS_PTS = CLOS_PTS + 1 LEAF7A.142 CLOS_INDEX(CLOS_PTS) = J LEAF7A.143 ELSE LEAF7A.144 OPEN_PTS = OPEN_PTS + 1 LEAF7A.145 OPEN_INDEX(OPEN_PTS) = J LEAF7A.146 ENDIF LEAF7A.147 LEAF7A.148 !---------------------------------------------------------------------- LEAF7A.149 ! Calculate the factor for converting mol/m3 into Pa (J/m3). LEAF7A.150 !---------------------------------------------------------------------- LEAF7A.151 CONV(L) = R * TL(L) LEAF7A.152 LEAF7A.153 ENDDO LEAF7A.154 LEAF7A.155 !---------------------------------------------------------------------- LEAF7A.156 ! Calculate the photosynthetic parameters LEAF7A.157 !---------------------------------------------------------------------- LEAF7A.158 CDIR$ IVDEP LEAF7A.159 DO J=1,OPEN_PTS LEAF7A.160 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.161 LEAF7A.162 VCMAX(L) = NEFFC3 * NL0(FT) LEAF7A.163 TDEGC(L) = TL(L) - ZERODEGC LEAF7A.164 LEAF7A.165 TAU(L) = 2600.0 * (0.57 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.166 CCP(L) = 0.5 * OA(L) / TAU(L) LEAF7A.167 LEAF7A.168 LEAF7A.169 QTENF(L) = VCMAX(L) * (2.0 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.170 DENOM(L) = (1 + EXP (0.3 * (TDEGC(L) - TUPP(FT)))) LEAF7A.171 & * (1 + EXP (0.3 * (TLOW(FT) - TDEGC(L)))) LEAF7A.172 VCM(L) = QTENF(L) / DENOM(L) LEAF7A.173 RD(L) = FDC3 * QTENF(L) LEAF7A.174 LEAF7A.175 ENDDO LEAF7A.176 LEAF7A.177 CDIR$ IVDEP LEAF7A.178 DO J=1,CLOS_PTS LEAF7A.179 L = VEG_INDEX(CLOS_INDEX(J)) LEAF7A.180 LEAF7A.181 VCMAX(L) = NEFFC3 * NL0(FT) LEAF7A.182 TDEGC(L) = TL(L) - ZERODEGC LEAF7A.183 LEAF7A.184 QTENF(L) = VCMAX(L) * (2.0 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.185 DENOM(L) = (1 + EXP (0.3 * (TDEGC(L) - TUPP(FT)))) LEAF7A.186 & * (1 + EXP (0.3 * (TLOW(FT) - TDEGC(L)))) LEAF7A.187 VCM(L) = QTENF(L) / DENOM(L) LEAF7A.188 RD(L) = FDC3 * QTENF(L) LEAF7A.189 LEAF7A.190 ENDDO LEAF7A.191 LEAF7A.192 !---------------------------------------------------------------------- LEAF7A.193 ! Carry out calculations for points with open stomata LEAF7A.194 !---------------------------------------------------------------------- LEAF7A.195 DO J=1,OPEN_PTS LEAF7A.196 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.197 LEAF7A.198 !---------------------------------------------------------------------- LEAF7A.199 ! Calculate the internal CO2 pressure (Jacobs, 1994). LEAF7A.200 !---------------------------------------------------------------------- LEAF7A.201 CI(L) = (CA(L) - CCP(L)) * F0(FT) LEAF7A.202 & * (1 - DQ(L) / DQCRIT(FT)) + CCP(L) LEAF7A.203 LEAF7A.204 !---------------------------------------------------------------------- LEAF7A.205 ! Convert absorbed PAR into mol PAR photons/m2/s LEAF7A.206 !---------------------------------------------------------------------- LEAF7A.207 ACR(L) = APAR(L) / 2.19E5 LEAF7A.208 LEAF7A.209 ENDDO LEAF7A.210 LEAF7A.211 !---------------------------------------------------------------------- LEAF7A.212 ! Calculate the gross photosynthesis for RuBP-Carboxylase, Light and LEAF7A.213 ! Export limited photosynthesis (Collatz et al., 1992). LEAF7A.214 !---------------------------------------------------------------------- LEAF7A.215 CDIR$ IVDEP LEAF7A.216 DO J=1,OPEN_PTS LEAF7A.217 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.218 LEAF7A.219 KC(L) = 30.0 * (2.1 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.220 KO(L) = 30000.0 * (1.2 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.221 LEAF7A.222 WCARB(L) = VCM(L) * (CI(L) - CCP(L)) LEAF7A.223 & / (CI(L) + KC(L) * (1. + OA(L) / KO(L))) LEAF7A.224 LEAF7A.225 WLITE(L) = ALPHA(FT) * ACR(L) * (CI(L) - CCP(L)) LEAF7A.226 & / (CI(L) + 2 * CCP(L)) LEAF7A.227 LEAF7A.228 WEXPT(L) = 0.5 * VCM(L) LEAF7A.229 LEAF7A.230 ENDDO LEAF7A.231 LEAF7A.232 !---------------------------------------------------------------------- LEAF7A.233 ! Calculate the co-limited rate of gross photosynthesis LEAF7A.234 !---------------------------------------------------------------------- LEAF7A.235 LEAF7A.236 CDIR$ IVDEP LEAF7A.237 DO J=1,OPEN_PTS LEAF7A.238 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.239 LEAF7A.240 B1(L) = BETA1 LEAF7A.241 B2(L) = - (WCARB(L) + WLITE(L)) LEAF7A.242 B3(L) = WCARB(L) * WLITE(L) LEAF7A.243 LEAF7A.244 WP(L) = -B2(L)/(2*B1(L)) LEAF7A.245 & - SQRT(B2(L)*B2(L)/(4*B1(L)*B1(L)) - B3(L)/B1(L)) LEAF7A.246 LEAF7A.247 ENDDO LEAF7A.248 LEAF7A.249 CDIR$ IVDEP LEAF7A.250 DO J=1,OPEN_PTS LEAF7A.251 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.252 LEAF7A.253 B1(L) = BETA2 LEAF7A.254 B2(L) = - (WP(L) + WEXPT(L)) LEAF7A.255 B3(L) = WP(L) * WEXPT(L) LEAF7A.256 LEAF7A.257 WL(L) = -B2(L)/(2*B1(L)) LEAF7A.258 & - SQRT(B2(L)*B2(L)/(4*B1(L)*B1(L)) - B3(L)/B1(L)) LEAF7A.259 LEAF7A.260 ENDDO LEAF7A.261 LEAF7A.262 !---------------------------------------------------------------------- LEAF7A.263 ! Carry out calculations for points with open stomata LEAF7A.264 !---------------------------------------------------------------------- LEAF7A.265 CDIR$ IVDEP LEAF7A.266 DO J=1,OPEN_PTS LEAF7A.267 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.268 LEAF7A.269 !---------------------------------------------------------------------- LEAF7A.270 ! Calculate the net rate of photosynthesis LEAF7A.271 !---------------------------------------------------------------------- LEAF7A.272 AL(L) = (WL(L) - RD(L)) * FSMC(L) LEAF7A.273 LEAF7A.274 !---------------------------------------------------------------------- LEAF7A.275 ! Diagnose the leaf conductance LEAF7A.276 !---------------------------------------------------------------------- LEAF7A.277 GLCO2(L) = (AL(L) * CONV(L)) / (CA(L) - CI(L)) LEAF7A.278 GL(L) = RATIO * GLCO2(L) LEAF7A.279 LEAF7A.280 ENDDO LEAF7A.281 LEAF7A.282 !---------------------------------------------------------------------- LEAF7A.283 ! Close stomata at points with negative or zero net photosynthesis LEAF7A.284 ! or where the leaf resistance exceeds its maximum value. LEAF7A.285 !---------------------------------------------------------------------- LEAF7A.286 CDIR$ IVDEP LEAF7A.287 DO J=1,OPEN_PTS LEAF7A.288 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.289 LEAF7A.290 IF (GL(L).LE.GLMIN(FT) .OR. AL(L).LE.0.0) THEN LEAF7A.291 GL(L) = GLMIN(FT) LEAF7A.292 GLCO2(L) = GL(L) / RATIO LEAF7A.293 AL(L) = -RD(L) * FSMC(L) LEAF7A.294 CI(L) = CA(L) - AL(L) * CONV(L) / GLCO2(L) LEAF7A.295 ENDIF LEAF7A.296 LEAF7A.297 ENDDO LEAF7A.298 LEAF7A.299 !---------------------------------------------------------------------- LEAF7A.300 ! Define fluxes and conductances for points with closed stomata LEAF7A.301 !---------------------------------------------------------------------- LEAF7A.302 CDIR$ IVDEP LEAF7A.303 DO J=1,CLOS_PTS LEAF7A.304 L = VEG_INDEX(CLOS_INDEX(J)) LEAF7A.305 LEAF7A.306 GL(L) = GLMIN(FT) LEAF7A.307 GLCO2(L) = GL(L) / RATIO LEAF7A.308 AL(L) = -RD(L) * FSMC(L) LEAF7A.309 CI(L) = CA(L) - AL(L) * CONV(L) / GLCO2(L) LEAF7A.310 LEAF7A.311 ENDDO LEAF7A.312 LEAF7A.313 RETURN LEAF7A.314 END LEAF7A.315 LEAF7A.316 !********************************************************************** LEAF7A.317 ! Calculates the leaf resistance and net photosynthesis using: LEAF7A.318 ! (i) Collatz et al. (1991) C4 photosynthesis model LEAF7A.319 ! (ii) Jacobs (1994) CI/CA closure. LEAF7A.320 ! LEAF7A.321 ! Written by Peter Cox (February 1996) LEAF7A.322 !********************************************************************** LEAF7A.323
SUBROUTINE LEAF_C4 (LAND_FIELD,VEG_PTS,VEG_INDEX,FT 3,4LEAF7A.324 &, DQ,APAR,TL,CA,OA,PSTAR,FSMC LEAF7A.325 &, GL,AL,CI,RD) LEAF7A.326 LEAF7A.327 IMPLICIT NONE LEAF7A.328 LEAF7A.329 INTEGER LEAF7A.330 & LAND_FIELD ! IN Total number of land points. LEAF7A.331 &,VEG_PTS ! IN Number of vegetated points. LEAF7A.332 &,VEG_INDEX(LAND_FIELD) ! IN Index of vegetated points LEAF7A.333 ! ! on the land grid. LEAF7A.334 &,FT ! IN Plant functional type. LEAF7A.335 LEAF7A.336 REAL LEAF7A.337 & DQ(LAND_FIELD) ! IN Canopy level specific humidity LEAF7A.338 ! ! deficit (kg H2O/kg air). LEAF7A.339 &,APAR(LAND_FIELD) ! IN Absorbed PAR (W/m2) LEAF7A.340 &,TL(LAND_FIELD) ! IN Leaf temperature (K). LEAF7A.341 &,CA(LAND_FIELD) ! IN Canopy CO2 pressure (Pa). LEAF7A.342 &,OA(LAND_FIELD) ! IN Atmospheric O2 pressure (Pa). LEAF7A.343 &,PSTAR(LAND_FIELD) ! IN Atmospheric pressure (Pa). LEAF7A.344 &,FSMC(LAND_FIELD) ! IN Soil water factor. LEAF7A.345 &,GL(LAND_FIELD) ! OUT Leaf conductance for H2O (m/s). LEAF7A.346 &,AL(LAND_FIELD) ! OUT Net Leaf photosynthesis LEAF7A.347 ! ! (mol CO2/m2/s). LEAF7A.348 &,RD(LAND_FIELD) ! OUT Dark respiration (mol CO2/m2/s). LEAF7A.349 &,CI(LAND_FIELD) ! OUT Internal CO2 pressure (Pa). LEAF7A.350 &,ACR(LAND_FIELD) ! WORK Absorbed PAR LEAF7A.351 ! ! (mol photons/m2/s). LEAF7A.352 &,B1(LAND_FIELD) ! LEAF7A.353 &,B2(LAND_FIELD) ! LEAF7A.354 &,B3(LAND_FIELD) ! WORK Coefficients of the quadratic. LEAF7A.355 &,CCP(LAND_FIELD) ! WORK Photorespiratory compensatory LEAF7A.356 ! ! point (mol/m3). LEAF7A.357 &,CONV(LAND_FIELD) ! WORK Factor for converting mol/m3 LEAF7A.358 ! ! into Pa (J/mol). LEAF7A.359 &,DENOM(LAND_FIELD) ! WORK Denominator in equation for VCM LEAF7A.360 &,GLCO2(LAND_FIELD) ! WORK Leaf conductance for CO2 (m/s). LEAF7A.361 &,QTENF(LAND_FIELD) ! WORK Q10 function. LEAF7A.362 &,TDEGC(LAND_FIELD) ! WORK Leaf temperature (deg C). LEAF7A.363 &,VCM(LAND_FIELD) ! WORK Maximum rate of carboxylation LEAF7A.364 ! ! of Rubisco (mol CO2/m2/s). LEAF7A.365 &,VCMAX(LAND_FIELD) ! WORK Maximum rate of carboxylation LEAF7A.366 ! ! of Rubisco - without the LEAF7A.367 ! ! temperature factor LEAF7A.368 ! ! (mol CO2/m2/s). LEAF7A.369 &,WL(LAND_FIELD) ! WORK Gross leaf phtosynthesis LEAF7A.370 ! ! (mol CO2/m2/s). LEAF7A.371 &,WCARB(LAND_FIELD) ! WORK Carboxylation, LEAF7A.372 &,WLITE(LAND_FIELD) ! Light, and LEAF7A.373 &,WEXPT(LAND_FIELD) ! export limited gross LEAF7A.374 ! ! photosynthetic rates LEAF7A.375 ! ! (mol CO2/m2/s). LEAF7A.376 &,WP(LAND_FIELD) ! WORK Smoothed minimum of LEAF7A.377 ! ! Carboxylation and Light LEAF7A.378 ! ! limited gross photosynthesis LEAF7A.379 ! ! (mol CO2/m2/s). LEAF7A.380 LEAF7A.381 INTEGER LEAF7A.382 & CLOS_INDEX(LAND_FIELD) ! WORK Index of land points LEAF7A.383 ! ! with closed stomata. LEAF7A.384 &,CLOS_PTS ! WORK Number of land points LEAF7A.385 ! ! with closed stomata. LEAF7A.386 &,OPEN_INDEX(LAND_FIELD) ! WORK Index of land points LEAF7A.387 ! ! with open stomata. LEAF7A.388 &,OPEN_PTS ! WORK Number of land points LEAF7A.389 ! ! with open stomata. LEAF7A.390 INTEGER LEAF7A.391 & J,L ! WORK Loop counters. LEAF7A.392 LEAF7A.393 *CALL NSTYPES
LEAF7A.394 *CALL TRIF
LEAF7A.395 LEAF7A.396 !------------------------------------------------------------------- LEAF7A.397 ! Parameters LEAF7A.398 !------------------------------------------------------------------- LEAF7A.399 REAL LEAF7A.400 & BETA1, BETA2 ! Coupling coefficients for co-limitation. LEAF7A.401 &,FDC3, FDC4 ! Dark respiration coefficients for C3, C4 LEAF7A.402 &,NEFFC3, NEFFC4 ! Constant relating VCMAX and leaf N LEAF7A.403 ! ! from Schulze et al. 1994 (AMAX = 0.4E-3 * NL LEAF7A.404 ! ! - assuming dry matter is 40% carbon by mass) LEAF7A.405 ! ! and Jacobs 1994: LEAF7A.406 ! ! C3 : VCMAX = 2 * AMAX ; C4 : VCMAX = AMAX LEAF7A.407 ! ! (mol/m2/s) LEAF7A.408 &,R ! Gas constant (J/K/mol). LEAF7A.409 &,RATIO ! Ratio of leaf resistance for CO2 to leaf LEAF7A.410 ! ! resistance for H2O. LEAF7A.411 &,ZERODEGC ! Zero Celsius (K). LEAF7A.412 LEAF7A.413 PARAMETER (BETA1 = 0.83, BETA2 = 0.93 LEAF7A.414 &, FDC3 = 0.015, FDC4 = 0.025 LEAF7A.415 &, NEFFC3 = 0.8E-3, NEFFC4 = 0.4E-3 LEAF7A.416 &, R = 8.3144 , RATIO = 1.6 LEAF7A.417 &, ZERODEGC = 273.15) LEAF7A.418 LEAF7A.419 !---------------------------------------------------------------------- LEAF7A.420 ! Initialise counters LEAF7A.421 !---------------------------------------------------------------------- LEAF7A.422 CLOS_PTS = 0 LEAF7A.423 OPEN_PTS = 0 LEAF7A.424 LEAF7A.425 DO J=1,VEG_PTS LEAF7A.426 L = VEG_INDEX(J) LEAF7A.427 LEAF7A.428 !---------------------------------------------------------------------- LEAF7A.429 ! Calculate the points with closed stomata LEAF7A.430 !---------------------------------------------------------------------- LEAF7A.431 IF (FSMC(L).EQ.0.0 .OR. DQ(L).GE.DQCRIT(FT) LEAF7A.432 & .OR. APAR(L).EQ.0.0) THEN LEAF7A.433 CLOS_PTS = CLOS_PTS + 1 LEAF7A.434 CLOS_INDEX(CLOS_PTS) = J LEAF7A.435 ELSE LEAF7A.436 OPEN_PTS = OPEN_PTS + 1 LEAF7A.437 OPEN_INDEX(OPEN_PTS) = J LEAF7A.438 ENDIF LEAF7A.439 LEAF7A.440 !---------------------------------------------------------------------- LEAF7A.441 ! Calculate the factor for converting mol/m3 into Pa (J/m3). LEAF7A.442 !---------------------------------------------------------------------- LEAF7A.443 CONV(L) = R * TL(L) LEAF7A.444 LEAF7A.445 ENDDO LEAF7A.446 LEAF7A.447 !---------------------------------------------------------------------- LEAF7A.448 ! Calculate the photosynthetic parameters LEAF7A.449 !---------------------------------------------------------------------- LEAF7A.450 CDIR$ IVDEP LEAF7A.451 DO J=1,OPEN_PTS LEAF7A.452 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.453 LEAF7A.454 VCMAX(L) = NEFFC4 * NL0(FT) LEAF7A.455 TDEGC(L) = TL(L) - ZERODEGC LEAF7A.456 LEAF7A.457 CCP(L) = 0.0 LEAF7A.458 LEAF7A.459 QTENF(L) = VCMAX(L) * (2.0 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.460 DENOM(L) = (1 + EXP (0.3 * (TDEGC(L) - TUPP(FT)))) LEAF7A.461 & * (1 + EXP (0.3 * (TLOW(FT) - TDEGC(L)))) LEAF7A.462 VCM(L) = QTENF(L) / DENOM(L) LEAF7A.463 LEAF7A.464 RD(L) = FDC4 * QTENF(L) LEAF7A.465 LEAF7A.466 ENDDO LEAF7A.467 LEAF7A.468 CDIR$ IVDEP LEAF7A.469 DO J=1,CLOS_PTS LEAF7A.470 L = VEG_INDEX(CLOS_INDEX(J)) LEAF7A.471 LEAF7A.472 VCMAX(L) = NEFFC4 * NL0(FT) LEAF7A.473 TDEGC(L) = TL(L) - ZERODEGC LEAF7A.474 LEAF7A.475 QTENF(L) = VCMAX(L) * (2.0 ** (0.1 * (TDEGC(L) - 25.0))) LEAF7A.476 DENOM(L) = (1 + EXP (0.3 * (TDEGC(L) - TUPP(FT)))) LEAF7A.477 & * (1 + EXP (0.3 * (TLOW(FT) - TDEGC(L)))) LEAF7A.478 VCM(L) = QTENF(L) / DENOM(L) LEAF7A.479 LEAF7A.480 RD(L) = FDC4 * QTENF(L) LEAF7A.481 LEAF7A.482 ENDDO LEAF7A.483 LEAF7A.484 !---------------------------------------------------------------------- LEAF7A.485 ! Carry out calculations for points with open stomata LEAF7A.486 !---------------------------------------------------------------------- LEAF7A.487 DO J=1,OPEN_PTS LEAF7A.488 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.489 LEAF7A.490 !---------------------------------------------------------------------- LEAF7A.491 ! Calculate the internal CO2 pressure (Jacobs, 1994). LEAF7A.492 !---------------------------------------------------------------------- LEAF7A.493 CI(L) = (CA(L) - CCP(L)) * F0(FT) LEAF7A.494 & * (1 - DQ(L) / DQCRIT(FT)) + CCP(L) LEAF7A.495 LEAF7A.496 !---------------------------------------------------------------------- LEAF7A.497 ! Convert absorbed PAR into mol PAR photons/m2/s LEAF7A.498 !---------------------------------------------------------------------- LEAF7A.499 ACR(L) = APAR(L) / 2.19E5 LEAF7A.500 LEAF7A.501 ENDDO LEAF7A.502 LEAF7A.503 !---------------------------------------------------------------------- LEAF7A.504 ! Calculate the gross photosynthesis for RuBP-Carboxylase, Light and LEAF7A.505 ! Export limited photosynthesis (Collatz et al., 1992). LEAF7A.506 !---------------------------------------------------------------------- LEAF7A.507 DO J=1,OPEN_PTS LEAF7A.508 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.509 LEAF7A.510 WCARB(L) = VCM(L) LEAF7A.511 LEAF7A.512 WLITE(L) = ALPHA(FT) * ACR(L) LEAF7A.513 LEAF7A.514 WEXPT(L) = 20000.0 * VCM(L) * CI(L) / PSTAR(L) LEAF7A.515 LEAF7A.516 ENDDO LEAF7A.517 LEAF7A.518 !---------------------------------------------------------------------- LEAF7A.519 ! Calculate the co-limited rate of gross photosynthesis LEAF7A.520 !---------------------------------------------------------------------- LEAF7A.521 LEAF7A.522 CDIR$ IVDEP LEAF7A.523 DO J=1,OPEN_PTS LEAF7A.524 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.525 LEAF7A.526 B1(L) = BETA1 LEAF7A.527 B2(L) = - (WCARB(L) + WLITE(L)) LEAF7A.528 B3(L) = WCARB(L) * WLITE(L) LEAF7A.529 LEAF7A.530 WP(L) = -B2(L)/(2*B1(L)) LEAF7A.531 & - SQRT(B2(L)*B2(L)/(4*B1(L)*B1(L)) - B3(L)/B1(L)) LEAF7A.532 LEAF7A.533 ENDDO LEAF7A.534 LEAF7A.535 CDIR$ IVDEP LEAF7A.536 DO J=1,OPEN_PTS LEAF7A.537 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.538 LEAF7A.539 B1(L) = BETA2 LEAF7A.540 B2(L) = - (WP(L) + WEXPT(L)) LEAF7A.541 B3(L) = WP(L) * WEXPT(L) LEAF7A.542 LEAF7A.543 WL(L) = -B2(L)/(2*B1(L)) LEAF7A.544 & - SQRT(B2(L)*B2(L)/(4*B1(L)*B1(L)) - B3(L)/B1(L)) LEAF7A.545 LEAF7A.546 ENDDO LEAF7A.547 LEAF7A.548 !---------------------------------------------------------------------- LEAF7A.549 ! Carry out calculations for points with open stomata LEAF7A.550 !---------------------------------------------------------------------- LEAF7A.551 CDIR$ IVDEP LEAF7A.552 DO J=1,OPEN_PTS LEAF7A.553 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.554 LEAF7A.555 !---------------------------------------------------------------------- LEAF7A.556 ! Calculate the net rate of photosynthesis LEAF7A.557 !---------------------------------------------------------------------- LEAF7A.558 AL(L) = (WL(L) - RD(L)) * FSMC(L) LEAF7A.559 LEAF7A.560 !---------------------------------------------------------------------- LEAF7A.561 ! Diagnose the leaf conductance LEAF7A.562 !---------------------------------------------------------------------- LEAF7A.563 GLCO2(L) = (AL(L) * CONV(L)) / (CA(L) - CI(L)) LEAF7A.564 GL(L) = GLCO2(L) * RATIO LEAF7A.565 LEAF7A.566 ENDDO LEAF7A.567 LEAF7A.568 !---------------------------------------------------------------------- LEAF7A.569 ! Close stomata at points with negative or zero net photosynthesis LEAF7A.570 ! or where the leaf resistance exceeds its maximum value. LEAF7A.571 !---------------------------------------------------------------------- LEAF7A.572 CDIR$ IVDEP LEAF7A.573 DO J=1,OPEN_PTS LEAF7A.574 L = VEG_INDEX(OPEN_INDEX(J)) LEAF7A.575 LEAF7A.576 IF (GL(L).LE.GLMIN(FT) .OR. AL(L).LE.0.0) THEN LEAF7A.577 GL(L) = GLMIN(FT) LEAF7A.578 GLCO2(L) = GL(L) / RATIO LEAF7A.579 AL(L) = -RD(L) * FSMC(L) LEAF7A.580 CI(L) = CA(L) - AL(L) * CONV(L) / GLCO2(L) LEAF7A.581 ENDIF LEAF7A.582 LEAF7A.583 ENDDO LEAF7A.584 LEAF7A.585 !---------------------------------------------------------------------- LEAF7A.586 ! Define fluxes and conductances for points with closed stomata LEAF7A.587 !---------------------------------------------------------------------- LEAF7A.588 CDIR$ IVDEP LEAF7A.589 DO J=1,CLOS_PTS LEAF7A.590 L = VEG_INDEX(CLOS_INDEX(J)) LEAF7A.591 LEAF7A.592 GL(L) = GLMIN(FT) LEAF7A.593 GLCO2(L) = GL(L) / RATIO LEAF7A.594 AL(L) = -RD(L) * FSMC(L) LEAF7A.595 CI(L) = CA(L) - AL(L) * CONV(L) / GLCO2(L) LEAF7A.596 LEAF7A.597 ENDDO LEAF7A.598 LEAF7A.599 RETURN LEAF7A.600 END LEAF7A.601 *ENDIF LEAF7A.602