Ignore:
Timestamp:
2021-10-20T18:39:22+02:00 (3 years ago)
Author:
josefine.ghattas
Message:

Corrected bug on carbon balance closure. See ticket #785
Integration in branch 2_2 done by P. Cadule

Location:
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90

    r7265 r7326  
    236236     & evap_bare_lim, evap_bare_lim_ns, evapot, evapot_corr, snow, flood_frac, flood_res, frac_nobio, snow_nobio, totfrac_nobio, & 
    237237     & swnet, swdown, coszang, ccanopy, humrel, veget, veget_max, lai, qsintveg, qsintmax, assim_param, & 
    238      & vbeta , vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, co2_to_bm, & 
     238     & vbeta , vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, & 
    239239     & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, & 
    240240     & hist_id, hist2_id) 
     
    288288    REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)  :: qsintmax         !! Maximum water on vegetation for interception  
    289289                                                                           !! (kg m^{-2}) 
    290     REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)  :: co2_to_bm        !! virtual gpp ((gC m^{-2} dt_sechiba^{-1}), total area)  
    291290    REAL(r_std),DIMENSION (kjpindex,nvm,npco2), INTENT (in) :: assim_param !! min+max+opt temps, vcmax, vjmax 
    292291                                                                           !! for photosynthesis (K ??) 
     
    374373         veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, & 
    375374         rveget, rstruct, cimean, gsmean, gpp, & 
    376          co2_to_bm, vbeta23, hist_id, indexveg, indexlai, index, kjit, cim) 
     375         vbeta23, hist_id, indexveg, indexlai, index, kjit, cim) 
    377376 
    378377    ! 
     
    13821381                                veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, rveget, rstruct, & 
    13831382                                cimean, gsmean, gpp, & 
    1384                                 co2_to_bm, vbeta23, hist_id, indexveg, indexlai, index, kjit, cim) 
     1383                                vbeta23, hist_id, indexveg, indexlai, index, kjit, cim) 
    13851384 
    13861385    ! 
     
    14251424    REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)        :: vbeta23          !! Beta for fraction of wetted foliage that will  
    14261425                                                                                 !! transpire (unitless)  
    1427     REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in)        :: co2_to_bm        !! virtual gpp ((gC m^{-2} dt_sechiba ^{-1}), total area) 
    14281426    INTEGER(i_std),INTENT (in)                               :: hist_id          !! _History_ file identifier (-)     
    14291427    INTEGER(i_std),DIMENSION (kjpindex*nvm), INTENT (in) :: indexveg       !! Indeces of the points on the 3D map (-)    
     
    23102308      ! 
    23112309   END DO         ! loop over vegetation types 
    2312    ! 
    2313  
    2314    ! Add virtual gpp (co2_to_bm) to the gpp. 
    2315    ! Virtual gpp can be created when introducing new pft or for correction of carbon fluxes  
    2316    ! for instance for adjustment of Ra at end of the day. 
    2317    gpp(:,:) = gpp(:,:) + co2_to_bm(:,:) 
    23182310       
    23192311   IF (printlev>=3) WRITE (numout,*) ' diffuco_trans_co2 done ' 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/sechiba.f90

    r7206 r7326  
    234234  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)  :: co2_flux       !! CO2 flux (gC/m**2 of average ground/one_day) 
    235235!$OMP THREADPRIVATE(co2_flux) 
    236   REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:)  :: co2_to_bm      !! virtual CO2 flux (gC/m**2 of average ground/s) 
    237 !$OMP THREADPRIVATE(co2_to_bm) 
    238236  REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:)    :: evapot         !! Soil Potential Evaporation 
    239237!$OMP THREADPRIVATE(evapot) 
     
    459457                              frac_nobio,    njsc,         veget_max,      fraclut,           & 
    460458                              nwdfraclut,    tot_bare_soil,totfrac_nobio,  qsintmax,          & 
    461                               co2_to_bm, temp_growth) 
     459                              temp_growth) 
    462460     
    463461    !! 1.4 Initialize diffusion coefficients 
     
    727725         & frac_nobio, snow_nobio, totfrac_nobio, & 
    728726         & swnet, swdown, coszang, ccanopy, humrel, veget, veget_max, lai, qsintveg, qsintmax, assim_param, & 
    729          & vbeta, vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, co2_to_bm, & 
     727         & vbeta, vbeta1, vbeta2, vbeta3, vbeta3pot, vbeta4, vbeta5, gsmean, rveget, rstruct, cimean, gpp, & 
    730728         & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, & 
    731729         & hist_id, hist2_id) 
     
    809807         lai, frac_age, height, veget, frac_nobio, veget_max, totfrac_nobio, qsintmax, & 
    810808         rest_id, hist_id, hist2_id, rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 
    811          co2_flux, fco2_lu, fco2_wh, fco2_ha, co2_to_bm, temp_growth, tot_bare_soil) 
     809         co2_flux, fco2_lu, fco2_wh, fco2_ha, temp_growth, tot_bare_soil) 
    812810 
    813811 
     
    14001398                            ks,         nvan,      avan,     mcr,        & 
    14011399                            mcs,        mcfc,      mcw,                  & 
    1402                             co2_to_bm,  assim_param, frac_age) 
     1400                            assim_param, frac_age) 
    14031401     
    14041402    IF (printlev_loc>=3) WRITE (numout,*) 'sechiba_finalize done' 
     
    17381736    IF (ier /= 0) CALL ipslerr_p(3,'sechiba_init','Pb in alloc for co2_flux','','') 
    17391737    co2_flux(:,:)=zero 
    1740  
    1741     ALLOCATE (co2_to_bm(kjpindex,nvm),stat=ier) 
    1742     IF (ier /= 0) CALL ipslerr_p(3,'sechiba_init','Pb in alloc for co2_to_bm','','') 
    17431738 
    17441739    ALLOCATE (shumdiag(kjpindex,nslm),stat=ier) 
     
    19821977    IF ( ALLOCATED (stempdiag)) DEALLOCATE (stempdiag) 
    19831978    IF ( ALLOCATED (co2_flux)) DEALLOCATE (co2_flux) 
    1984     IF ( ALLOCATED (co2_to_bm)) DEALLOCATE (co2_to_bm) 
    19851979    IF ( ALLOCATED (shumdiag)) DEALLOCATE (shumdiag) 
    19861980    IF ( ALLOCATED (shumdiag_perma)) DEALLOCATE (shumdiag_perma) 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90

    r7325 r7326  
    283283                                  frac_nobio,    njsc,         veget_max,      fraclut,           & 
    284284                                  nwdfraclut,    tot_bare_soil,totfrac_nobio,  qsintmax,          & 
    285                                   co2_to_bm,     temp_growth) 
     285                                  temp_growth) 
    286286 
    287287!! 0.1 Input variables 
     
    302302     
    303303!! 0.2 Output variables  
    304     REAL(r_std), DIMENSION (kjpindex,nvm), INTENT(out)     :: co2_to_bm      !! Virtual gpp per average ground area (gC m^{-2} dt_stomate^{-1}) 
    305304    REAL(r_std),DIMENSION (kjpindex), INTENT (out)         :: temp_growth    !! Growth temperature (°C) - Is equal to t2m_month  
    306305    INTEGER(i_std), DIMENSION(kjpindex), INTENT(out)       :: njsc           !! Index of the dominant soil textural class in the grid cell (1-nscm, unitless) 
     
    365364             contfrac,       totfrac_nobio,          clayfraction, temp_air,          & 
    366365             lai,            veget,                  veget_max,                       & 
    367              co2_to_bm,      deadleaf_cover,         assim_param,  temp_growth ) 
    368     ELSE 
    369        !! ok_stomate is not activated 
    370        !! Define the CO2 fluxes to zero (no carbone cycle) 
    371        co2_to_bm(:,:) = zero 
     366             deadleaf_cover,         assim_param,  temp_growth ) 
    372367    ENDIF 
    373368     
     
    447442       rest_id, hist_id, hist2_id, rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 
    448443       co2_flux, fco2_lu, fco2_wh, fco2_ha, & 
    449        co2_to_bm, temp_growth, tot_bare_soil) 
     444       temp_growth, tot_bare_soil) 
    450445   
    451446!! INTERFACE DESCRIPTION 
     
    484479    REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: fco2_wh             !! CO2 Flux to Atmosphere from Wood Harvesting (gC m^{-2} dt_stomate^{-1}) 
    485480    REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: fco2_ha             !! CO2 Flux to Atmosphere from Crop Harvesting (gC m^{-2} dt_stomate^{-1}) 
    486     REAL(r_std), DIMENSION (kjpindex,nvm), INTENT(out)  :: co2_to_bm           !! virtual gpp flux per average ground area (gC m^{-2} dt_stomate^{-1}) 
    487481    REAL(r_std),DIMENSION (kjpindex), INTENT (out)      :: temp_growth         !! Growth temperature (°C) - Is equal to t2m_month  
    488482    REAL(r_std), DIMENSION (kjpindex), INTENT(out)      :: tot_bare_soil       !! Total evaporating bare soil fraction in the mesh 
     
    595589            rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 
    596590            co2_flux, fco2_lu, fco2_wh, fco2_ha, & 
    597             resp_maint, resp_hetero, resp_growth, co2_to_bm, temp_growth) 
     591            resp_maint, resp_hetero, resp_growth, temp_growth) 
    598592 
    599593 
     
    664658       fco2_wh(:) = zero 
    665659       fco2_ha(:) = zero 
    666        co2_to_bm(:,:) = zero 
    667660    ENDIF 
    668661 
     
    746739                                frac_nobio, veget_max, reinf_slope,          & 
    747740                                ks,  nvan, avan, mcr, mcs, mcfc, mcw,        & 
    748                                 co2_to_bm,  assim_param, frac_age ) 
     741                                assim_param, frac_age ) 
    749742 
    750743!! 0.1 Input variables 
     
    768761    REAL(r_std),DIMENSION (kjpindex), INTENT(in)         :: mcfc           !! Volumetric water content at field capacity (m^{3} m^{-3}) 
    769762    REAL(r_std),DIMENSION (kjpindex), INTENT(in)         :: mcw            !! Volumetric water content at wilting point (m^{3} m^{-3}) 
    770  
    771     REAL(r_std),DIMENSION (kjpindex,nvm),INTENT(in)      :: co2_to_bm      !! virtual gpp flux between atmosphere and biosphere 
    772763    REAL(r_std),DIMENSION (kjpindex,nvm,npco2),INTENT (in):: assim_param   !! min+max+opt temperatures & vmax for photosynthesis (K, \mumol m^{-2} s^{-1}) 
    773764    REAL(r_std),DIMENSION (kjpindex,nvm,nleafages), INTENT(in):: frac_age  !! Age efficacity from STOMATE for isoprene 
     
    842833    ! 2.2 Write restart variables managed by STOMATE 
    843834    IF ( ok_stomate ) THEN 
    844        CALL stomate_finalize (kjit, kjpindex, indexLand, clayfraction, co2_to_bm, assim_param)  
     835       CALL stomate_finalize (kjit, kjpindex, indexLand, clayfraction, assim_param)  
    845836    ENDIF 
    846837     
Note: See TracChangeset for help on using the changeset viewer.