*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.27     

      SUBROUTINE 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