Changeset 7326
- Timestamp:
- 2021-10-20T18:39:22+02:00 (3 years ago)
- Location:
- branches/ORCHIDEE_2_2/ORCHIDEE
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/diffuco.f90
r7265 r7326 236 236 & evap_bare_lim, evap_bare_lim_ns, evapot, evapot_corr, snow, flood_frac, flood_res, frac_nobio, snow_nobio, totfrac_nobio, & 237 237 & 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, & 239 239 & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, & 240 240 & hist_id, hist2_id) … … 288 288 REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in) :: qsintmax !! Maximum water on vegetation for interception 289 289 !! (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)291 290 REAL(r_std),DIMENSION (kjpindex,nvm,npco2), INTENT (in) :: assim_param !! min+max+opt temps, vcmax, vjmax 292 291 !! for photosynthesis (K ??) … … 374 373 veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, & 375 374 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) 377 376 378 377 ! … … 1382 1381 veget, veget_max, lai, qsintveg, qsintmax, vbeta3, vbeta3pot, rveget, rstruct, & 1383 1382 cimean, gsmean, gpp, & 1384 co2_to_bm,vbeta23, hist_id, indexveg, indexlai, index, kjit, cim)1383 vbeta23, hist_id, indexveg, indexlai, index, kjit, cim) 1385 1384 1386 1385 ! … … 1425 1424 REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in) :: vbeta23 !! Beta for fraction of wetted foliage that will 1426 1425 !! transpire (unitless) 1427 REAL(r_std),DIMENSION (kjpindex,nvm), INTENT (in) :: co2_to_bm !! virtual gpp ((gC m^{-2} dt_sechiba ^{-1}), total area)1428 1426 INTEGER(i_std),INTENT (in) :: hist_id !! _History_ file identifier (-) 1429 1427 INTEGER(i_std),DIMENSION (kjpindex*nvm), INTENT (in) :: indexveg !! Indeces of the points on the 3D map (-) … … 2310 2308 ! 2311 2309 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 fluxes2316 ! for instance for adjustment of Ra at end of the day.2317 gpp(:,:) = gpp(:,:) + co2_to_bm(:,:)2318 2310 2319 2311 IF (printlev>=3) WRITE (numout,*) ' diffuco_trans_co2 done ' -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/sechiba.f90
r7206 r7326 234 234 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:,:) :: co2_flux !! CO2 flux (gC/m**2 of average ground/one_day) 235 235 !$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)238 236 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: evapot !! Soil Potential Evaporation 239 237 !$OMP THREADPRIVATE(evapot) … … 459 457 frac_nobio, njsc, veget_max, fraclut, & 460 458 nwdfraclut, tot_bare_soil,totfrac_nobio, qsintmax, & 461 co2_to_bm,temp_growth)459 temp_growth) 462 460 463 461 !! 1.4 Initialize diffusion coefficients … … 727 725 & frac_nobio, snow_nobio, totfrac_nobio, & 728 726 & 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, & 730 728 & lalo, neighbours, resolution, ptnlev1, precip_rain, frac_age, tot_bare_soil, frac_snow_veg, frac_snow_nobio, & 731 729 & hist_id, hist2_id) … … 809 807 lai, frac_age, height, veget, frac_nobio, veget_max, totfrac_nobio, qsintmax, & 810 808 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) 812 810 813 811 … … 1400 1398 ks, nvan, avan, mcr, & 1401 1399 mcs, mcfc, mcw, & 1402 co2_to_bm,assim_param, frac_age)1400 assim_param, frac_age) 1403 1401 1404 1402 IF (printlev_loc>=3) WRITE (numout,*) 'sechiba_finalize done' … … 1738 1736 IF (ier /= 0) CALL ipslerr_p(3,'sechiba_init','Pb in alloc for co2_flux','','') 1739 1737 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','','')1743 1738 1744 1739 ALLOCATE (shumdiag(kjpindex,nslm),stat=ier) … … 1982 1977 IF ( ALLOCATED (stempdiag)) DEALLOCATE (stempdiag) 1983 1978 IF ( ALLOCATED (co2_flux)) DEALLOCATE (co2_flux) 1984 IF ( ALLOCATED (co2_to_bm)) DEALLOCATE (co2_to_bm)1985 1979 IF ( ALLOCATED (shumdiag)) DEALLOCATE (shumdiag) 1986 1980 IF ( ALLOCATED (shumdiag_perma)) DEALLOCATE (shumdiag_perma) -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90
r7325 r7326 283 283 frac_nobio, njsc, veget_max, fraclut, & 284 284 nwdfraclut, tot_bare_soil,totfrac_nobio, qsintmax, & 285 co2_to_bm,temp_growth)285 temp_growth) 286 286 287 287 !! 0.1 Input variables … … 302 302 303 303 !! 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})305 304 REAL(r_std),DIMENSION (kjpindex), INTENT (out) :: temp_growth !! Growth temperature (°C) - Is equal to t2m_month 306 305 INTEGER(i_std), DIMENSION(kjpindex), INTENT(out) :: njsc !! Index of the dominant soil textural class in the grid cell (1-nscm, unitless) … … 365 364 contfrac, totfrac_nobio, clayfraction, temp_air, & 366 365 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 ) 372 367 ENDIF 373 368 … … 447 442 rest_id, hist_id, hist2_id, rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 448 443 co2_flux, fco2_lu, fco2_wh, fco2_ha, & 449 co2_to_bm,temp_growth, tot_bare_soil)444 temp_growth, tot_bare_soil) 450 445 451 446 !! INTERFACE DESCRIPTION … … 484 479 REAL(r_std),DIMENSION (kjpindex), INTENT (out) :: fco2_wh !! CO2 Flux to Atmosphere from Wood Harvesting (gC m^{-2} dt_stomate^{-1}) 485 480 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})487 481 REAL(r_std),DIMENSION (kjpindex), INTENT (out) :: temp_growth !! Growth temperature (°C) - Is equal to t2m_month 488 482 REAL(r_std), DIMENSION (kjpindex), INTENT(out) :: tot_bare_soil !! Total evaporating bare soil fraction in the mesh … … 595 589 rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 596 590 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) 598 592 599 593 … … 664 658 fco2_wh(:) = zero 665 659 fco2_ha(:) = zero 666 co2_to_bm(:,:) = zero667 660 ENDIF 668 661 … … 746 739 frac_nobio, veget_max, reinf_slope, & 747 740 ks, nvan, avan, mcr, mcs, mcfc, mcw, & 748 co2_to_bm,assim_param, frac_age )741 assim_param, frac_age ) 749 742 750 743 !! 0.1 Input variables … … 768 761 REAL(r_std),DIMENSION (kjpindex), INTENT(in) :: mcfc !! Volumetric water content at field capacity (m^{3} m^{-3}) 769 762 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 biosphere772 763 REAL(r_std),DIMENSION (kjpindex,nvm,npco2),INTENT (in):: assim_param !! min+max+opt temperatures & vmax for photosynthesis (K, \mumol m^{-2} s^{-1}) 773 764 REAL(r_std),DIMENSION (kjpindex,nvm,nleafages), INTENT(in):: frac_age !! Age efficacity from STOMATE for isoprene … … 842 833 ! 2.2 Write restart variables managed by STOMATE 843 834 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) 845 836 ENDIF 846 837 -
branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90
r6369 r7326 646 646 contfrac, totfrac_nobio, clay, temp_air, & 647 647 lai, veget, veget_max, & 648 co2_to_bm_radia,deadleaf_cover, assim_param, temp_growth )648 deadleaf_cover, assim_param, temp_growth ) 649 649 650 650 … … 674 674 !! 0.2 Output variables 675 675 676 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: co2_to_bm_radia !! virtual gpp flux between atmosphere and biosphere677 676 REAL(r_std),DIMENSION(kjpindex),INTENT(out) :: deadleaf_cover !! Fraction of soil covered by dead leaves (unitless) 678 677 REAL(r_std),DIMENSION(kjpindex,nvm,npco2),INTENT(out) :: assim_param !! min+max+opt temperatures (K) & vmax for photosynthesis … … 805 804 leaf_age, leaf_frac, & 806 805 senescence, when_growthinit, age, & 807 resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia,&806 resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, & 808 807 veget_lastlight, everywhere, need_adjacent, RIP_time, & 809 808 time_hum_min, hum_min_dormance, & … … 1196 1195 & rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 1197 1196 & co2_flux_out, fco2_lu_out, fco2_wh_out, fco2_ha_out, & 1198 & resp_maint, resp_hetero, resp_growth, co2_to_bm_radia,temp_growth)1197 & resp_maint, resp_hetero, resp_growth, temp_growth) 1199 1198 1200 1199 IMPLICIT NONE … … 1262 1261 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: resp_hetero !! Heterotrophic respiration in 1263 1262 !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex 1264 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(out) :: co2_to_bm_radia !! Virtual gpp created for equilibrium of carbon mass1265 !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex1266 1263 REAL(r_std),DIMENSION(kjpindex),INTENT(out) :: temp_growth !! Growth temperature (ðC) 1267 1264 !! Is equal to t2m_month … … 1602 1599 & veget_lastlight, everywhere, need_adjacent, RIP_time, & 1603 1600 & lai, rprof,npp_daily, turnover_daily, turnover_time,& 1604 & control_moist_inst, control_temp_inst, soilcarbon_input_ inst, &1601 & control_moist_inst, control_temp_inst, soilcarbon_input_daily, & 1605 1602 & co2_to_bm_dgvm, co2_fire, & 1606 1603 & resp_hetero_d, resp_hetero_litter_d, resp_hetero_soil_d, resp_maint_d, resp_growth_d, & … … 1771 1768 ! - (6) co2 emission from fire 1772 1769 ! co2_to_bm is not added as it is already encounted in gpp 1773 nep_daily(:,:)= gpp_daily(:,:) &1770 nep_daily(:,:)= gpp_daily(:,:) + co2_to_bm_dgvm(:,:) & 1774 1771 - resp_maint_d(:,:) - resp_growth_d(:,:) & 1775 1772 - resp_hetero_d(:,:) - co2_fire(:,:) … … 1780 1777 ! This variable will be used for the coupling to LMDZ for ESM configuration. 1781 1778 co2_flux(:,:) = (resp_hetero_d(:,:) + resp_maint_d(:,:) + resp_growth_d(:,:) & 1782 + co2_fire(:,:) - gpp_daily(:,:))*veget_cov_max1779 + co2_fire(:,:) - co2_to_bm_dgvm(:,:) - gpp_daily(:,:))*veget_cov_max 1783 1780 1784 1781 IF ( hist_id_stom_IPCC > 0 ) THEN … … 1875 1872 resp_maint(:,ibare_sechiba) = zero 1876 1873 resp_growth(:,:)= resp_growth_d(:,:)*veget_cov_max(:,:)*dt_sechiba/one_day 1877 co2_to_bm_radia(:,:)=co2_to_bm_dgvm(:,:)*veget_cov_max(:,:)*dt_sechiba/one_day1878 1874 resp_hetero(:,:) = resp_hetero_radia(:,:)*veget_cov_max(:,:) 1879 1875 … … 2017 2013 !_ ================================================================================================================================ 2018 2014 2019 SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, co2_to_bm_radia,assim_param)2015 SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, assim_param) 2020 2016 2021 2017 IMPLICIT NONE … … 2027 2023 INTEGER(i_std),DIMENSION(kjpindex),INTENT(in) :: index !! Indices of the terrestrial pixels only (unitless) 2028 2024 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: clay !! Clay fraction of soil (0-1, unitless) 2029 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(in) :: co2_to_bm_radia !! virtual gpp flux between atmosphere and biosphere2030 2025 REAL(r_std),DIMENSION(kjpindex,nvm,npco2),INTENT(in) :: assim_param !! min+max+opt temperatures (K) & vmax for photosynthesis 2031 2026 … … 2132 2127 leaf_age, leaf_frac, & 2133 2128 senescence, when_growthinit, age, & 2134 resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia,&2129 resp_hetero_d, resp_maint_d, resp_growth_d, co2_fire, co2_to_bm_dgvm, & 2135 2130 veget_lastlight, everywhere, need_adjacent, & 2136 2131 RIP_time, & -
branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_io.f90
r6319 r7326 75 75 & turnover_longterm, gpp_week, biomass, resp_maint_part, & 76 76 & leaf_age, leaf_frac, senescence, when_growthinit, age, & 77 & resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia,&77 & resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, & 78 78 & veget_lastlight, everywhere, need_adjacent, RIP_time, & 79 79 & time_hum_min, hum_min_dormance, & … … 249 249 ! biomass uptaken (gC/(m**2 of total ground)/day) 250 250 REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: co2_to_bm_dgvm 251 ! biomass uptaken (gC/(m**2 of total ground)/dt_sechiba)252 REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: co2_to_bm_radia253 251 ! vegetation fractions (on ground) after last light competition 254 252 REAL(r_std),DIMENSION(npts,nvm),INTENT(out) :: veget_lastlight … … 941 939 IF (ALL(co2_to_bm_dgvm(:,:) == val_exp)) co2_to_bm_dgvm(:,:) = zero 942 940 943 co2_to_bm_radia(:,:) = val_exp944 var_name = 'co2_to_bm_radia'945 CALL restget_p (rest_id_stomate, var_name, nbp_glo, nvm , 1, itime, &946 & .TRUE., co2_to_bm_radia, 'gather', nbp_glo, index_g)947 IF (ALL(co2_to_bm_radia(:,:) == val_exp)) co2_to_bm_radia(:,:) = zero948 941 !- 949 942 ! 14 vegetation distribution after last light competition … … 1347 1340 & turnover_longterm, gpp_week, biomass, resp_maint_part, & 1348 1341 & leaf_age, leaf_frac, senescence, when_growthinit, age, & 1349 & resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, co2_to_bm_radia,&1342 & resp_hetero, resp_maint, resp_growth, co2_fire, co2_to_bm_dgvm, & 1350 1343 & veget_lastlight, everywhere, need_adjacent, RIP_time, & 1351 1344 & time_hum_min, hum_min_dormance, & … … 1513 1506 ! biomass uptaken (gC/(m**2 of total ground)/day) 1514 1507 REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: co2_to_bm_dgvm 1515 ! biomass uptaken (gC/(m**2 of total ground)/dt_sechiba)1516 REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: co2_to_bm_radia1517 1508 ! vegetation fractions (on ground) after last light competition 1518 1509 REAL(r_std),DIMENSION(npts,nvm),INTENT(in) :: veget_lastlight … … 2024 2015 CALL restput_p (rest_id_stomate, var_name, nbp_glo, nvm, 1, itime, & 2025 2016 & co2_to_bm_dgvm, 'scatter', nbp_glo, index_g) 2026 !-2027 var_name = 'co2_to_bm_radia'2028 CALL restput_p (rest_id_stomate, var_name, nbp_glo, nvm, 1, itime, &2029 & co2_to_bm_radia, 'scatter', nbp_glo, index_g)2030 2017 !- 2031 2018 ! 14 vegetation distribution after last light competition -
branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lpj.f90
r6369 r7326 875 875 sum_cVegTree = zero 876 876 877 DO j= 2,nvm877 DO j=1,nvm 878 878 879 879 tot_litter_carb(:,j) = tot_litter_carb(:,j) + (litter(:,istructural,j,iabove,icarbon) + & … … 958 958 CALL xios_orchidee_send_field("LAI",lai) 959 959 CALL xios_orchidee_send_field("VEGET_COV_MAX",veget_cov_max) 960 CALL xios_orchidee_send_field("NPP_STOMATE",npp_daily )961 CALL xios_orchidee_send_field("GPP",gpp_daily )960 CALL xios_orchidee_send_field("NPP_STOMATE",npp_daily+co2_to_bm) 961 CALL xios_orchidee_send_field("GPP",gpp_daily+co2_to_bm) 962 962 CALL xios_orchidee_send_field("IND",ind) 963 963 CALL xios_orchidee_send_field("CN_IND",cn_ind) … … 1053 1053 1054 1054 ! Carbon fluxes transformed from gC/m2/d into kgC/m2/s 1055 CALL xios_orchidee_send_field("gpp_ipcc",SUM( gpp_daily*veget_cov_max,dim=2)/1e3/one_day)1055 CALL xios_orchidee_send_field("gpp_ipcc",SUM((gpp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day) 1056 1056 CALL xios_orchidee_send_field("ra",SUM((resp_maint+resp_growth)*veget_cov_max,dim=2)/1e3/one_day) 1057 1057 vartmp(:)=zero … … 1079 1079 CALL xios_orchidee_send_field("raTree",vartmp/1e3/one_day) 1080 1080 1081 CALL xios_orchidee_send_field("npp_ipcc",SUM(npp_daily*veget_cov_max,dim=2)/1e3/one_day) 1081 CALL xios_orchidee_send_field("npp_ipcc",SUM((npp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day) 1082 1082 1083 vartmp(:)=zero 1083 1084 DO j = 2, nvm 1084 1085 IF ( .NOT. is_tree(j) .AND. natural(j) ) THEN 1085 vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)1086 vartmp(:) = vartmp(:) +( npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j) 1086 1087 ENDIF 1087 1088 ENDDO … … 1090 1091 DO j = 2, nvm 1091 1092 IF ( (.NOT. is_tree(j)) .AND. (.NOT. natural(j)) ) THEN 1092 vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)1093 vartmp(:) = vartmp(:) + (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j) 1093 1094 ENDIF 1094 1095 ENDDO … … 1098 1099 DO j = 2, nvm 1099 1100 IF ( is_tree(j) ) THEN 1100 vartmp(:) = vartmp(:) + npp_daily(:,j)*veget_cov_max(:,j)1101 vartmp(:) = vartmp(:) + (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j) 1101 1102 ENDIF 1102 1103 ENDDO … … 1196 1197 CALL xios_orchidee_send_field("flulccatmlut",flulccatmlut) 1197 1198 1198 ! co2_to_bm is not added as it is already included in gpp 1199 CALL xios_orchidee_send_field("nbp",(SUM((gpp_daily-(resp_maint+resp_growth+resp_hetero)-co2_fire) * & 1199 CALL xios_orchidee_send_field("nbp",(SUM((gpp_daily+co2_to_bm-(resp_maint+resp_growth+resp_hetero)-co2_fire) * & 1200 1200 veget_cov_max,dim=2)-cflux_prod_total-cflux_prod_harvest_total-harvest_above)/1e3/one_day) 1201 1201 CALL xios_orchidee_send_field("fVegLitter",SUM((tot_bm_to_litter(:,:,icarbon) + tot_turnover(:,:,icarbon))*& … … 1267 1267 resp_hetero(:,j)*veget_cov_max(:,j)/1e3/one_day 1268 1268 npplut(:,id_psl) = npplut(:,id_psl) + & 1269 npp_daily(:,j)*veget_cov_max(:,j)/1e3/one_day1269 (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)/1e3/one_day 1270 1270 ELSE 1271 1271 clitterlut(:,id_crp) = clitterlut(:,id_crp) + tot_litter_carb(:,j)*veget_cov_max(:,j)/1e3 … … 1278 1278 resp_hetero(:,j)*veget_cov_max(:,j)/1e3/one_day 1279 1279 npplut(:,id_crp) = npplut(:,id_crp) + & 1280 npp_daily(:,j)*veget_cov_max(:,j)/1e3/one_day1280 (npp_daily(:,j)+co2_to_bm(:,j))*veget_cov_max(:,j)/1e3/one_day 1281 1281 END IF 1282 1282 END DO … … 1422 1422 veget_cov_max, npts*nvm, horipft_index) 1423 1423 CALL histwrite_p (hist_id_stomate, 'NPP', itime, & 1424 npp_daily , npts*nvm, horipft_index)1424 npp_daily+co2_to_bm, npts*nvm, horipft_index) 1425 1425 CALL histwrite_p (hist_id_stomate, 'GPP', itime, & 1426 gpp_daily , npts*nvm, horipft_index)1426 gpp_daily+co2_to_bm, npts*nvm, horipft_index) 1427 1427 CALL histwrite_p (hist_id_stomate, 'IND', itime, & 1428 1428 ind, npts*nvm, horipft_index) … … 1528 1528 CALL histwrite_p (hist_id_stomate_IPCC, "lai", itime, & 1529 1529 vartmp, npts, hori_index) 1530 vartmp(:)=SUM( gpp_daily*veget_cov_max,dim=2)/1e3/one_day1530 vartmp(:)=SUM((gpp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day 1531 1531 CALL histwrite_p (hist_id_stomate_IPCC, "gpp", itime, & 1532 1532 vartmp, npts, hori_index) … … 1534 1534 CALL histwrite_p (hist_id_stomate_IPCC, "ra", itime, & 1535 1535 vartmp, npts, hori_index) 1536 vartmp(:)=SUM( npp_daily*veget_cov_max,dim=2)/1e3/one_day1536 vartmp(:)=SUM((npp_daily+co2_to_bm)*veget_cov_max,dim=2)/1e3/one_day 1537 1537 CALL histwrite_p (hist_id_stomate_IPCC, "npp", itime, & 1538 1538 vartmp, npts, hori_index) … … 1553 1553 vartmp, npts, hori_index) 1554 1554 ! co2_to_bm is not added as it is already included in gpp 1555 vartmp(:)=(SUM((gpp_daily -(resp_maint+resp_growth+resp_hetero)-co2_fire) &1555 vartmp(:)=(SUM((gpp_daily+co2_to_bm-(resp_maint+resp_growth+resp_hetero)-co2_fire) & 1556 1556 & *veget_cov_max,dim=2)-cflux_prod_total-cflux_prod_harvest_total-harvest_above)/1e3/one_day 1557 1557 CALL histwrite_p (hist_id_stomate_IPCC, "nbp", itime, &
Note: See TracChangeset
for help on using the changeset viewer.