*IF DEF,A03_7A                                                             SFSTOM7A.2      
C *****************************COPYRIGHT******************************     SFSTOM7A.3      
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved.    SFSTOM7A.4      
C                                                                          SFSTOM7A.5      
C Use, duplication or disclosure of this code is subject to the            SFSTOM7A.6      
C restrictions as set forth in the contract.                               SFSTOM7A.7      
C                                                                          SFSTOM7A.8      
C                Meteorological Office                                     SFSTOM7A.9      
C                London Road                                               SFSTOM7A.10     
C                BRACKNELL                                                 SFSTOM7A.11     
C                Berkshire UK                                              SFSTOM7A.12     
C                RG12 2SZ                                                  SFSTOM7A.13     
C                                                                          SFSTOM7A.14     
C If no contract has been raised with this copy of the code, the use,      SFSTOM7A.15     
C duplication or disclosure of it is strictly prohibited.  Permission      SFSTOM7A.16     
C to do so must first be obtained in writing from the Head of Numerical    SFSTOM7A.17     
C Modelling at the above address.                                          SFSTOM7A.18     
C ******************************COPYRIGHT******************************    SFSTOM7A.19     
!**********************************************************************    SFSTOM7A.20     
! Routine to calculate the bulk stomatal resistance and the canopy         SFSTOM7A.21     
! CO2 fluxes                                                               SFSTOM7A.22     
!                                                                          SFSTOM7A.23     
! Written by Peter Cox (June 1997)                                         SFSTOM7A.24     
! Adapted for MOSES II tile model by Richard Essery (July 1997)            SFSTOM7A.25     
!**********************************************************************    SFSTOM7A.26     

      SUBROUTINE SF_STOM  (LAND_FIELD,LAND_INDEX,P_FIELD                    3,10SFSTOM7A.27     
     &,                    VEG_PTS,VEG_INDEX                               SFSTOM7A.28     
     &,                    FT,CO2,CO2_3D,CO2_DIM,L_CO2_INTERACTIVE         ACN1F405.127    
     &,                    FSMC,HT,IPAR,LAI,PSTAR                          ACN1F405.128    
     &,                    Q1,RA,TSTAR                                     SFSTOM7A.30     
     &,                    GPP,NPP,RESP_P,RESP_W,GC)                       SFSTOM7A.31     
                                                                           SFSTOM7A.32     
                                                                           SFSTOM7A.33     
      IMPLICIT NONE                                                        SFSTOM7A.34     
                                                                           SFSTOM7A.35     
      INTEGER                                                              SFSTOM7A.36     
     & LAND_FIELD                 ! IN Total number of land points.        SFSTOM7A.37     
     &,LAND_INDEX(LAND_FIELD)     ! IN Index of land points on the         SFSTOM7A.38     
!                                 !    P-grid.                             SFSTOM7A.39     
     &,P_FIELD                    ! IN Total number of P-gridpoints.       SFSTOM7A.40     
     &,VEG_PTS                    ! IN Number of vegetated points.         SFSTOM7A.41     
     &,VEG_INDEX(LAND_FIELD)      ! IN Index of vegetated points           SFSTOM7A.42     
!                                 !    on the land grid.                   SFSTOM7A.43     
     &,CO2_DIM           ! dimension of CO2 field                          ACN1F405.129    
                                                                           SFSTOM7A.44     
      INTEGER                                                              SFSTOM7A.45     
     & FT                         ! IN Plant functional type.              SFSTOM7A.46     
      LOGICAL L_CO2_INTERACTIVE   ! switch for 3D CO2 field                ACN1F405.130    
                                                                           SFSTOM7A.47     
      REAL                                                                 SFSTOM7A.48     
     & CO2                        ! IN Atmospheric CO2 concentration       SFSTOM7A.49     
     &,CO2_3D(CO2_DIM)            ! IN 3D atmos CO2 concentration          ACN1F405.131    
!                                 !    (kg CO2/kg air).                    SFSTOM7A.50     
     &,FSMC(LAND_FIELD)           ! IN Soil water factor.                  SFSTOM7A.51     
     &,HT(LAND_FIELD)             ! IN Canopy height (m).                  SFSTOM7A.52     
     &,IPAR(P_FIELD)              ! IN Incident PAR (W/m2).                SFSTOM7A.53     
     &,LAI(LAND_FIELD)            ! IN Leaf area index.                    SFSTOM7A.54     
     &,PSTAR(LAND_FIELD)          ! IN Surface pressure (Pa).              SFSTOM7A.55     
     &,Q1(P_FIELD)                ! IN Specific humidity of level 1        SFSTOM7A.56     
!                                 !    (kg H2O/kg air).                    SFSTOM7A.57     
     &,RA(LAND_FIELD)             ! IN Aerodynamic resistance (s/m).       SFSTOM7A.58     
     &,TSTAR(LAND_FIELD)          ! IN Surface temperature (K).            SFSTOM7A.59     
     &,GPP(LAND_FIELD)            ! OUT Gross Primary Productivity         SFSTOM7A.60     
!                                 !     (kg C/m2/s).                       SFSTOM7A.61     
     &,NPP(LAND_FIELD)            ! OUT Net Primary Productivity           SFSTOM7A.62     
!                                 !     (kg C/m2/s).                       SFSTOM7A.63     
     &,RESP_P(LAND_FIELD)         ! OUT Plant respiration rate             SFSTOM7A.64     
!                                 !     (kg C/m2/sec).                     SFSTOM7A.65     
     &,RESP_W(LAND_FIELD)         ! OUT Wood respiration rate              SFSTOM7A.66     
!                                 !     (kg C/m2/sec).                     SFSTOM7A.67     
     &,GC(LAND_FIELD)             ! INOUT Canopy resistance to H2O         SFSTOM7A.68     
!                                 !       (m/s).                           SFSTOM7A.69     
                                                                           SFSTOM7A.70     
      REAL                                                                 SFSTOM7A.71     
     & ANETC(LAND_FIELD)          ! WORK Net canopy photosynthesis         SFSTOM7A.72     
!                                 !     (mol CO2/m2/s).                    SFSTOM7A.73     
     &,CO2C(LAND_FIELD)           ! WORK Canopy level CO2 concentration    SFSTOM7A.74     
!                                 !      (kg CO2/kg air).                  SFSTOM7A.75     
     &,CI(LAND_FIELD)             ! WORK Internal CO2 pressure (Pa).       SFSTOM7A.76     
     &,DQ(LAND_FIELD)             ! WORK Specific humidity deficit         SFSTOM7A.77     
!                                 !      (kg H2O/kg air).                  SFSTOM7A.78     
     &,DQC(LAND_FIELD)            ! WORK Canopy level specific humidity    SFSTOM7A.79     
!                                 !      deficit (kg H2O/kg air).          SFSTOM7A.80     
     &,FPAR(LAND_FIELD)           ! WORK PAR absorption factor.            SFSTOM7A.81     
     &,LAI_BAL(LAND_FIELD)        ! WORK Leaf area index in balanced       SFSTOM7A.82     
!                                 !      growth state.                     SFSTOM7A.83     
     &,NL(LAND_FIELD)             ! WORK Mean leaf nitrogen                SFSTOM7A.84     
!                                 !      concentration (kg N/kg C).        SFSTOM7A.85     
     &,NL_BAL(LAND_FIELD)         ! WORK Mean leaf nitrogen                SFSTOM7A.86     
!                                 !      concentration in balanced         SFSTOM7A.87     
!                                 !      growth state (kg N/kg C).         SFSTOM7A.88     
     &,N_LEAF(LAND_FIELD)         ! WORK Nitrogen contents of the leaf,    SFSTOM7A.89     
     &,N_ROOT(LAND_FIELD)         !      root,                             SFSTOM7A.90     
     &,N_STEM(LAND_FIELD)         !      and stem (kg N/m2).               SFSTOM7A.91     
     &,QS(LAND_FIELD)             ! WORK Saturated specific humidity       SFSTOM7A.92     
!                                 !      (kg H2O/kg air).                  SFSTOM7A.93     
     &,RA_RC(LAND_FIELD)          ! WORK Ratio of aerodynamic resistance   SFSTOM7A.94     
!                                 !      to canopy resistance.             SFSTOM7A.95     
     &,RDC(LAND_FIELD)            ! WORK Canopy dark respiration,          SFSTOM7A.96     
!                                 !      without soil water dependence     SFSTOM7A.97     
!                                 !      (mol CO2/m2/s).                   SFSTOM7A.98     
     &,RESP_P_G(LAND_FIELD)       ! WORK Plant growth respiration rate     SFSTOM7A.99     
!                                 !      (kg C/m2/sec).                    SFSTOM7A.100    
     &,RESP_P_M(LAND_FIELD)       ! WORK Plant maintenance respiration     SFSTOM7A.101    
!                                 !      rate (kg C/m2/sec).               SFSTOM7A.102    
     &,ROOT(LAND_FIELD)           ! WORK Root carbon (kg C/m2).            SFSTOM7A.103    
                                                                           SFSTOM7A.104    
      INTEGER                                                              SFSTOM7A.105    
     & I,J,K,L                    ! WORK Loop counters.                    SFSTOM7A.106    
                                                                           SFSTOM7A.107    
!-----------------------------------------------------------------------   SFSTOM7A.108    
! Parameters                                                               SFSTOM7A.109    
!-----------------------------------------------------------------------   SFSTOM7A.110    
      REAL                                                                 SFSTOM7A.111    
     & RAIR                       ! Gas constant for dry air (J/kg/K).     SFSTOM7A.112    
      PARAMETER (RAIR = 287.05)                                            SFSTOM7A.113    
                                                                           SFSTOM7A.114    
      REAL                                                                 SFSTOM7A.115    
     & O2                         ! Atmospheric concentration of           SFSTOM7A.116    
!                                 ! oxygen (kg O2/kg air).                 SFSTOM7A.117    
      PARAMETER (O2 = 0.23)                                                SFSTOM7A.118    
                                                                           SFSTOM7A.119    
      INTEGER                                                              SFSTOM7A.120    
     & ITER                       ! Number of iterations to                SFSTOM7A.121    
!                                 ! determine the canopy climate.          SFSTOM7A.122    
      PARAMETER (ITER = 1)                                                 SFSTOM7A.123    
                                                                           SFSTOM7A.124    
*CALL NSTYPES                                                              SFSTOM7A.125    
*CALL TRIF                                                                 SFSTOM7A.126    
                                                                           SFSTOM7A.127    
!-----------------------------------------------------------------------   SFSTOM7A.128    
! Calculate the surface to level 1 humidity deficit and the surface        SFSTOM7A.129    
! density of the air                                                       SFSTOM7A.130    
!-----------------------------------------------------------------------   SFSTOM7A.131    
      CALL QSAT(QS,TSTAR,PSTAR,LAND_FIELD)                                 SFSTOM7A.132    
      DO J=1,VEG_PTS                                                       SFSTOM7A.133    
        L = VEG_INDEX(J)                                                   SFSTOM7A.134    
        I = LAND_INDEX(L)                                                  SFSTOM7A.135    
        DQ(L) = MAX(0.0,(QS(L) - Q1(I)))                                   SFSTOM7A.136    
      ENDDO                                                                SFSTOM7A.137    
                                                                           SFSTOM7A.138    
!-----------------------------------------------------------------------   SFSTOM7A.139    
! Calculate the PAR absorption factor                                      SFSTOM7A.140    
!-----------------------------------------------------------------------   SFSTOM7A.141    
      DO J=1,VEG_PTS                                                       SFSTOM7A.142    
        L = VEG_INDEX(J)                                                   SFSTOM7A.143    
                                                                           SFSTOM7A.144    
        FPAR(L) = (1 - EXP(-KPAR(FT)*LAI(L))) / KPAR(FT)                   SFSTOM7A.145    
                                                                           SFSTOM7A.146    
      ENDDO                                                                SFSTOM7A.147    
                                                                           SFSTOM7A.148    
                                                                           SFSTOM7A.149    
!-----------------------------------------------------------------------   SFSTOM7A.150    
! Iterate to ensure that the canopy humidity deficit is consistent with    SFSTOM7A.151    
! the H2O flux. Ignore the (small) difference between the canopy and       SFSTOM7A.152    
! reference level CO2 concentration. Intially set the canopy humidity      SFSTOM7A.153    
! deficit using the previous value of GC.                                  SFSTOM7A.154    
!-----------------------------------------------------------------------   SFSTOM7A.155    
      DO K=1,ITER                                                          SFSTOM7A.156    
                                                                           SFSTOM7A.157    
!-----------------------------------------------------------------------   SFSTOM7A.158    
! Diagnose the canopy level humidity deficit and CO2 concentration         SFSTOM7A.159    
!-----------------------------------------------------------------------   SFSTOM7A.160    
        DO J=1,VEG_PTS                                                     SFSTOM7A.161    
          L = VEG_INDEX(J)                                                 SFSTOM7A.162    
          RA_RC(L) = RA(L) * GC(L)                                         SFSTOM7A.163    
          DQC(L) = DQ(L) / (1 + RA_RC(L))                                  SFSTOM7A.164    
        ENDDO                                                              SFSTOM7A.166    
      IF (L_CO2_INTERACTIVE) THEN                                          ACN1F405.132    
!  use full 3D CO2 field                                                   ACN1F405.133    
        DO J=1,VEG_PTS                                                     ACN1F405.134    
          L = VEG_INDEX(J)                                                 ACN1F405.135    
          I = LAND_INDEX(L)                                                ACN1F405.136    
          CO2C(L) = CO2_3D(I)                                              ACN1F405.137    
        ENDDO                                                              ACN1F405.138    
      ELSE                                                                 ACN1F405.139    
!  just use single CO2_MMR value                                           ACN1F405.140    
        DO J=1,VEG_PTS                                                     ACN1F405.141    
          L = VEG_INDEX(J)                                                 ACN1F405.142    
          CO2C(L) = CO2                                                    ACN1F405.143    
        ENDDO                                                              ACN1F405.144    
      ENDIF                                                                ACN1F405.145    
                                                                           SFSTOM7A.167    
!-----------------------------------------------------------------------   SFSTOM7A.168    
! Call CANOPY to calculate the canopy resistance and photosynthesis        SFSTOM7A.169    
!-----------------------------------------------------------------------   SFSTOM7A.170    
        CALL CANOPY (LAND_FIELD,LAND_INDEX,P_FIELD                         SFSTOM7A.171    
     &,              VEG_PTS,VEG_INDEX                                     SFSTOM7A.172    
     &,              FT,DQC,IPAR,TSTAR,CO2C,O2,PSTAR                       SFSTOM7A.173    
     &,              FPAR,FSMC,LAI                                         SFSTOM7A.174    
     &,              GC,ANETC,CI,RDC)                                      SFSTOM7A.175    
                                                                           SFSTOM7A.176    
      ENDDO                                                                SFSTOM7A.177    
                                                                           SFSTOM7A.178    
      DO J=1,VEG_PTS                                                       SFSTOM7A.179    
        L = VEG_INDEX(J)                                                   SFSTOM7A.180    
                                                                           SFSTOM7A.181    
!-----------------------------------------------------------------------   SFSTOM7A.182    
! Assume that root biomass is equal to balanced growth leaf biomass        SFSTOM7A.183    
!-----------------------------------------------------------------------   SFSTOM7A.184    
        LAI_BAL(L) = (A_WS(FT)*ETA_SL(FT)*HT(L)/A_WL(FT))                  SFSTOM7A.185    
     &             **(1.0/(B_WL(FT)-1))                                    SFSTOM7A.186    
        ROOT(L) = SIGL(FT) * LAI_BAL(L)                                    SFSTOM7A.187    
                                                                           SFSTOM7A.188    
!-----------------------------------------------------------------------   SFSTOM7A.189    
! Calculate the actual and balanced mean leaf nitrogen concentration       SFSTOM7A.190    
! assuming perfect light acclimation                                       SFSTOM7A.191    
!-----------------------------------------------------------------------   SFSTOM7A.192    
        NL(L) = (FPAR(L) / LAI(L)) * NL0(FT)                               SFSTOM7A.193    
        NL_BAL(L) = (1 - EXP(-KPAR(FT)*LAI_BAL(L)))                        SFSTOM7A.194    
     &            / (KPAR(FT)*LAI_BAL(L)) * NL0(FT)                        SFSTOM7A.195    
                                                                           SFSTOM7A.196    
!-----------------------------------------------------------------------   SFSTOM7A.197    
! Calculate the total nitrogen content of the leaf, root and stem          SFSTOM7A.198    
!-----------------------------------------------------------------------   SFSTOM7A.199    
        N_LEAF(L) = NL(L) * SIGL(FT) * LAI(L)                              SFSTOM7A.200    
        N_ROOT(L) = NR_NL(FT) * NL_BAL(L) * ROOT(L)                        SFSTOM7A.201    
        N_STEM(L) = NS_NL(FT) * NL_BAL(L) * ETA_SL(FT) * HT(L) * LAI(L)    SFSTOM7A.202    
                                                                           SFSTOM7A.203    
!-----------------------------------------------------------------------   SFSTOM7A.204    
! Calculate the Gross Primary Productivity, the plant maintenance          SFSTOM7A.205    
! respiration rate, and the wood maintenance respiration rate              SFSTOM7A.206    
! in kg C/m2/sec                                                           SFSTOM7A.207    
!-----------------------------------------------------------------------   SFSTOM7A.208    
        GPP(L) = 12.0E-3 * (ANETC(L) + RDC(L)*FSMC(L))                     SFSTOM7A.209    
        RESP_P_M(L) = 12.0E-3 * RDC(L)                                     SFSTOM7A.210    
     &     * (N_LEAF(L)*FSMC(L) + N_STEM(L) + N_ROOT(L)) / N_LEAF(L)       SFSTOM7A.211    
        RESP_W(L) = 12.0E-3 * RDC(L) * N_STEM(L) / N_LEAF(L)               SFSTOM7A.212    
                                                                           SFSTOM7A.213    
!-----------------------------------------------------------------------   SFSTOM7A.214    
! Calculate the total plant respiration and the Net Primary Productivity   SFSTOM7A.215    
!-----------------------------------------------------------------------   SFSTOM7A.216    
        RESP_P_G(L) = R_GROW(FT) * (GPP(L) - RESP_P_M(L))                  SFSTOM7A.217    
        RESP_P(L) = RESP_P_M(L) + RESP_P_G(L)                              SFSTOM7A.218    
        NPP(L) = GPP(L) - RESP_P(L)                                        SFSTOM7A.219    
                                                                           SFSTOM7A.220    
      ENDDO                                                                SFSTOM7A.221    
                                                                           SFSTOM7A.222    
      RETURN                                                               SFSTOM7A.223    
      END                                                                  SFSTOM7A.224    
                                                                           SFSTOM7A.225    
!***********************************************************************   SFSTOM7A.226    
! Calculates the canopy resistance, net photosynthesis and transpiration   SFSTOM7A.227    
! by scaling-up the leaf level response using the "Big-Leaf" approach      SFSTOM7A.228    
! of Sellers et al. (1994)                                                 SFSTOM7A.229    
!                                                                          SFSTOM7A.230    
! Written by Peter Cox (May 1995)                                          SFSTOM7A.231    
!***********************************************************************   SFSTOM7A.232    

      SUBROUTINE CANOPY (LAND_FIELD,LAND_INDEX,P_FIELD                      3,10SFSTOM7A.233    
     &,                  VEG_PTS,VEG_INDEX                                 SFSTOM7A.234    
     &,                  FT,DQC,IPAR,TSTAR,CO2C,O2,PSTAR                   SFSTOM7A.235    
     &,                  FPAR,FSMC,LAI                                     SFSTOM7A.236    
     &,                  GC,ANETC,CI,RDC)                                  SFSTOM7A.237    
                                                                           SFSTOM7A.238    
      IMPLICIT NONE                                                        SFSTOM7A.239    
                                                                           SFSTOM7A.240    
      INTEGER                                                              SFSTOM7A.241    
     & LAND_FIELD                 ! IN Total number of land points.        SFSTOM7A.242    
     &,LAND_INDEX(LAND_FIELD)     ! IN Index of land points on the         SFSTOM7A.243    
!                                 !    P-grid.                             SFSTOM7A.244    
     &,P_FIELD                    ! IN Total number of P-gridpoints.       SFSTOM7A.245    
     &,VEG_PTS                    ! IN Number of vegetated points.         SFSTOM7A.246    
     &,VEG_INDEX(LAND_FIELD)      ! IN Index of vegetated points           SFSTOM7A.247    
!                                 !    on the land grid.                   SFSTOM7A.248    
                                                                           SFSTOM7A.249    
      INTEGER                                                              SFSTOM7A.250    
     & FT                         ! IN Plant functional type.              SFSTOM7A.251    
                                                                           SFSTOM7A.252    
      REAL                                                                 SFSTOM7A.253    
     & CO2C(LAND_FIELD)           ! IN Canopy level CO2 concentration      SFSTOM7A.254    
!                                 !    (kg CO2/kg air).                    SFSTOM7A.255    
     &,DQC(LAND_FIELD)            ! IN Canopy level specific humidity      SFSTOM7A.256    
!                                 !    deficit (kg H2O/kg air).            SFSTOM7A.257    
     &,O2                         ! IN Atmospheric O2 concentration        SFSTOM7A.258    
!                                 !    (kg O2/kg air).                     SFSTOM7A.259    
     &,PSTAR(LAND_FIELD)          ! IN Surface pressure (Pa).              SFSTOM7A.260    
     &,IPAR(P_FIELD)              ! IN Incident PAR (W/m2).                SFSTOM7A.261    
     &,TSTAR(LAND_FIELD)          ! IN Surface temperature (K).            SFSTOM7A.262    
     &,FPAR(LAND_FIELD)           ! IN PAR absorption factor.              SFSTOM7A.263    
     &,FSMC(LAND_FIELD)           ! IN Soil water factor.                  SFSTOM7A.264    
     &,LAI(LAND_FIELD)            ! IN Leaf area index                     SFSTOM7A.265    
!                                 !    (m2 leaf/m2 ground).                SFSTOM7A.266    
                                                                           SFSTOM7A.267    
                                                                           SFSTOM7A.268    
      REAL                                                                 SFSTOM7A.269    
     & ANETC(LAND_FIELD)          ! OUT Net canopy photosynthesis          SFSTOM7A.270    
!                                 !     (mol CO2/m2/s).                    SFSTOM7A.271    
     &,CI(LAND_FIELD)             ! OUT Internal CO2 concentration         SFSTOM7A.272    
!                                 !     (mol CO2/m3).                      SFSTOM7A.273    
     &,GC(LAND_FIELD)             ! OUT Canopy conductance for H2O         SFSTOM7A.274    
!                                 !     (m/s).                             SFSTOM7A.275    
     &,RDC(LAND_FIELD)            ! OUT Canopy dark respiration            SFSTOM7A.276    
!                                 !     (mol CO2/m2/s).                    SFSTOM7A.277    
     &,ANETL(LAND_FIELD)          ! WORK Net leaf photosynthesis           SFSTOM7A.278    
!                                 !      (mol CO2/m2/s/LAI).               SFSTOM7A.279    
     &,APAR(LAND_FIELD)           ! WORK PAR absorbed by the top leaf      SFSTOM7A.280    
!                                 !      (W/m2).                           SFSTOM7A.281    
     &,CA(LAND_FIELD)             ! WORK Canopy level CO2 pressure         SFSTOM7A.282    
!                                 !      (Pa).                             SFSTOM7A.283    
     &,DQM(LAND_FIELD)            ! WORK Canopy level humidity             SFSTOM7A.284    
!                                 !      deficit (mol H2O/m3).             SFSTOM7A.285    
     &,GL(LAND_FIELD)             ! WORK Leaf conductance for H2O          SFSTOM7A.286    
!                                 !      (m/s).                            SFSTOM7A.287    
     &,OA(LAND_FIELD)             ! WORK Atmospheric O2 pressure           SFSTOM7A.288    
!                                 !      (Pa).                             SFSTOM7A.289    
     &,RD(LAND_FIELD)             ! WORK Dark respiration of top leaf      SFSTOM7A.290    
!                                 !      (mol CO2/m2/s).                   SFSTOM7A.291    
                                                                           SFSTOM7A.292    
      INTEGER                                                              SFSTOM7A.293    
     & I,J,L                      ! WORK Loop counters.                    SFSTOM7A.294    
                                                                           SFSTOM7A.295    
*CALL NSTYPES                                                              SFSTOM7A.296    
*CALL TRIF                                                                 SFSTOM7A.297    
                                                                           SFSTOM7A.298    
!-----------------------------------------------------------------------   SFSTOM7A.299    
! Parameters                                                               SFSTOM7A.300    
!-----------------------------------------------------------------------   SFSTOM7A.301    
      REAL                                                                 SFSTOM7A.302    
     & R                          ! Gas constant (J/K/mol)                 SFSTOM7A.303    
      PARAMETER (R = 8.3144)                                               SFSTOM7A.304    
*CALL CCARBON                                                              ACN1F405.1      
                                                                           SFSTOM7A.314    
!-----------------------------------------------------------------------   SFSTOM7A.315    
! Calculate the atmospheric pressures of CO2 and O2                        SFSTOM7A.316    
!-----------------------------------------------------------------------   SFSTOM7A.317    
      DO J=1,VEG_PTS                                                       SFSTOM7A.318    
        L = VEG_INDEX(J)                                                   SFSTOM7A.319    
        I = LAND_INDEX(L)                                                  SFSTOM7A.320    
                                                                           SFSTOM7A.321    
        CA(L) = CO2C(L) / EPCO2 * PSTAR(L)                                 SFSTOM7A.322    
        OA(L) = O2 / EPO2 * PSTAR(L)                                       SFSTOM7A.323    
        DQM(L) = DQC(L) / EPSILON * PSTAR(L) / (R * TSTAR(L))              SFSTOM7A.324    
                                                                           SFSTOM7A.325    
!-----------------------------------------------------------------------   SFSTOM7A.326    
! Calculate the PAR absorbed by the top leaf                               SFSTOM7A.327    
!-----------------------------------------------------------------------   SFSTOM7A.328    
        APAR(L) = (1 - OMEGA(FT)) * IPAR(I)                                SFSTOM7A.329    
                                                                           SFSTOM7A.330    
      ENDDO                                                                SFSTOM7A.331    
                                                                           SFSTOM7A.332    
!-----------------------------------------------------------------------   SFSTOM7A.333    
! Call the leaf level model for the top leaf of the C3 and C4 plants       SFSTOM7A.334    
!-----------------------------------------------------------------------   SFSTOM7A.335    
                                                                           SFSTOM7A.336    
      IF ( C3(FT) .EQ. 1 ) THEN                                            SFSTOM7A.337    
                                                                           SFSTOM7A.338    
        CALL LEAF_C3 (LAND_FIELD,VEG_PTS,VEG_INDEX,FT                      SFSTOM7A.339    
     &,               DQC,APAR,TSTAR,CA,OA,PSTAR,FSMC                      SFSTOM7A.340    
     &,               GL,ANETL,CI,RD)                                      SFSTOM7A.341    
                                                                           SFSTOM7A.342    
      ELSE                                                                 SFSTOM7A.343    
                                                                           SFSTOM7A.344    
        CALL LEAF_C4 (LAND_FIELD,VEG_PTS,VEG_INDEX,FT                      SFSTOM7A.345    
     &,               DQC,APAR,TSTAR,CA,OA,PSTAR,FSMC                      SFSTOM7A.346    
     &,               GL,ANETL,CI,RD)                                      SFSTOM7A.347    
                                                                           SFSTOM7A.348    
      ENDIF                                                                SFSTOM7A.349    
                                                                           SFSTOM7A.350    
!-----------------------------------------------------------------------   SFSTOM7A.351    
! Scale-up to the canopy level                                             SFSTOM7A.352    
!-----------------------------------------------------------------------   SFSTOM7A.353    
      DO J=1,VEG_PTS                                                       SFSTOM7A.354    
        L = VEG_INDEX(J)                                                   SFSTOM7A.355    
                                                                           SFSTOM7A.356    
        ANETC(L) = ANETL(L) * FPAR(L)                                      SFSTOM7A.357    
        GC(L) = FPAR(L) * GL(L)                                            SFSTOM7A.358    
        RDC(L) = RD(L) * FPAR(L)                                           SFSTOM7A.359    
                                                                           SFSTOM7A.360    
      ENDDO                                                                SFSTOM7A.361    
                                                                           SFSTOM7A.362    
      RETURN                                                               SFSTOM7A.363    
                                                                           SFSTOM7A.364    
      END                                                                  SFSTOM7A.365    
*ENDIF                                                                     SFSTOM7A.366