Changeset 6369


Ignore:
Timestamp:
2019-11-29T15:58:40+01:00 (4 years ago)
Author:
josefine.ghattas
Message:

Integrated correction of diagnostic variables rhSoil and rhLitter as done in the trunk rev [6362]. See ticket #630

Location:
branches/ORCHIDEE_2_2/ORCHIDEE
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90

    r6319 r6369  
    259259                                                                         !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex 
    260260!$OMP THREADPRIVATE(resp_hetero_d) 
     261  REAL(r_std),ALLOCATABLE,SAVE,DIMENSION(:,:)    :: resp_hetero_litter_d !! Heterotrophic respiration from litter per ground area  
     262                                                                         !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex 
     263!$OMP THREADPRIVATE(resp_hetero_litter_d) 
     264  REAL(r_std),ALLOCATABLE,SAVE,DIMENSION(:,:)    :: resp_hetero_soil_d   !! Heterotrophic respiration from soil per ground area  
     265                                                                         !! @tex $(gC m^{-2} dt_stomate^{-1})$ @endtex 
     266!$OMP THREADPRIVATE(resp_hetero_soil_d) 
    261267  REAL(r_std),ALLOCATABLE,SAVE,DIMENSION(:,:)    :: resp_hetero_radia    !! Heterothrophic respiration per ground area at Sechiba 
    262268                                                                         !! time step  
     
    15051511    resp_hetero_radia(:,:) = resp_hetero_litter(:,:) + resp_hetero_soil(:,:) 
    15061512    resp_hetero_d(:,:) = resp_hetero_d(:,:) + resp_hetero_radia(:,:) 
     1513    resp_hetero_litter_d(:,:) = resp_hetero_litter_d(:,:) + resp_hetero_litter(:,:) 
     1514    resp_hetero_soil_d(:,:) = resp_hetero_soil_d(:,:) + resp_hetero_soil(:,:) 
     1515 
    15071516     
    15081517    !! 4.6 Accumulate instantaneous variables (do_slow=.FALSE.)  
     
    15951604            &             control_moist_inst, control_temp_inst, soilcarbon_input_inst, & 
    15961605            &             co2_to_bm_dgvm, co2_fire, & 
    1597             &             resp_hetero_d, resp_maint_d, resp_growth_d, & 
     1606            &             resp_hetero_d, resp_hetero_litter_d, resp_hetero_soil_d, resp_maint_d, resp_growth_d, & 
    15981607            &             height, deadleaf_cover, vcmax, & 
    15991608            &             bm_to_litter,& 
     
    17671776 
    17681777       CALL xios_orchidee_send_field("nep",SUM(nep_daily*veget_cov_max,dim=2)/1e3/one_day) 
    1769        CALL xios_orchidee_send_field("rhSoil",SUM(resp_hetero_soil*veget_cov_max,dim=2)/1e3) 
    1770        CALL xios_orchidee_send_field("rhLitter",SUM(resp_hetero_litter*veget_cov_max,dim=2)/1e3) 
    17711778 
    17721779       ! Calculate co2_flux as (-1)*nep_daily*veget_cov_max.  
     
    18531860       resp_maint_part(:,:,:)=zero 
    18541861       resp_hetero_d=zero 
     1862       resp_hetero_litter_d=zero 
     1863       resp_hetero_soil_d=zero 
     1864 
    18551865       IF (printlev >= 3) THEN 
    18561866          WRITE(numout,*) 'stomate_main: daily processes done' 
     
    28302840    ENDIF 
    28312841 
     2842    ALLOCATE(resp_hetero_litter_d(kjpindex,nvm),stat=ier) 
     2843    l_error = l_error .OR. (ier /= 0) 
     2844    IF (l_error) THEN 
     2845       WRITE(numout,*) 'Memory allocation error for resp_hetero_litter_d. We stop. We need kjpindex*nvm words',kjpindex,nvm 
     2846       STOP 'stomate_init' 
     2847    ENDIF 
     2848 
     2849    ALLOCATE(resp_hetero_soil_d(kjpindex,nvm),stat=ier) 
     2850    l_error = l_error .OR. (ier /= 0) 
     2851    IF (l_error) THEN 
     2852       WRITE(numout,*) 'Memory allocation error for resp_hetero_soil_d. We stop. We need kjpindex*nvm words',kjpindex,nvm 
     2853       STOP 'stomate_init' 
     2854    ENDIF 
     2855 
    28322856    ALLOCATE(resp_hetero_radia(kjpindex,nvm),stat=ier) 
    28332857    l_error = l_error .OR. (ier /= 0) 
     
    34253449    turnover_daily(:,:,:,:) = zero 
    34263450    resp_hetero_d(:,:) = zero 
     3451    resp_hetero_litter_d(:,:) = zero 
     3452    resp_hetero_soil_d(:,:) = zero 
    34273453    nep_daily(:,:) = zero 
    34283454    nep_monthly(:,:) = zero 
     
    35383564    IF (ALLOCATED(age))  DEALLOCATE(age) 
    35393565    IF (ALLOCATED(resp_hetero_d)) DEALLOCATE(resp_hetero_d) 
     3566    IF (ALLOCATED(resp_hetero_litter_d)) DEALLOCATE(resp_hetero_litter_d) 
     3567    IF (ALLOCATED(resp_hetero_soil_d)) DEALLOCATE(resp_hetero_soil_d) 
    35403568    IF (ALLOCATED(resp_hetero_radia)) DEALLOCATE(resp_hetero_radia) 
    35413569    IF (ALLOCATED(resp_maint_d)) DEALLOCATE(resp_maint_d) 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_lpj.f90

    r6151 r6369  
    153153       lai, rprof,npp_daily, turnover_daily, turnover_time,& 
    154154       control_moist, control_temp, soilcarbon_input, & 
    155        co2_to_bm, co2_fire, resp_hetero, resp_maint, resp_growth, & 
     155       co2_to_bm, co2_fire, resp_hetero, resp_hetero_litter, resp_hetero_soil, resp_maint, resp_growth, & 
    156156       height, deadleaf_cover, vcmax, & 
    157157       bm_to_litter, & 
     
    248248    REAL(r_std), DIMENSION(npts,nvm), INTENT(inout)            :: resp_hetero          !! Heterotrophic respiration 
    249249                                                                                       !! @tex $(gC m^{-2} dtslow^{-1})$ @endtex  
     250    REAL(r_std), DIMENSION(npts,nvm), INTENT(inout)            :: resp_hetero_litter   !! Heterotrophic respiration from litter 
     251                                                                                       !! @tex $(gC m^{-2} dtslow^{-1})$ @endtex 
     252    REAL(r_std), DIMENSION(npts,nvm), INTENT(inout)            :: resp_hetero_soil     !! Heterotrophic respiration from soil 
     253                                                                                       !! @tex $(gC m^{-2} dtslow^{-1})$ @endtex 
    250254    REAL(r_std), DIMENSION(npts,nvm), INTENT(out)              :: resp_maint           !! Maintenance respiration   
    251255                                                                                       !! @tex $(gC m^{-2} dtslow^{-1})$ @endtex  
     
    800804         veget_cov_max, veget_cov_max_tmp, lai, & 
    801805         litter, carbon, turnover_daily, bm_to_litter, & 
    802          co2_to_bm, co2_fire, resp_hetero, resp_maint, resp_growth, gpp_daily) 
     806         co2_to_bm, co2_fire, resp_hetero, resp_hetero_litter, resp_hetero_soil, resp_maint, resp_growth, gpp_daily) 
    803807 
    804808  !! 13. Update litter pools to account for harvest 
     
    11001104 
    11011105    CALL xios_orchidee_send_field("rh",SUM(resp_hetero*veget_cov_max,dim=2)/1e3/one_day) 
     1106    CALL xios_orchidee_send_field("rhLitter",SUM(resp_hetero_litter*veget_cov_max,dim=2)/1e3/one_day) 
     1107    CALL xios_orchidee_send_field("rhSoil",SUM(resp_hetero_soil*veget_cov_max,dim=2)/1e3/one_day) 
     1108    CALL xios_orchidee_send_field("HET_RESP_SOIL",resp_hetero_soil(:,:)) 
     1109    CALL xios_orchidee_send_field("HET_RESP_LITTER",resp_hetero_litter(:,:)) 
     1110 
    11021111    CALL xios_orchidee_send_field("fFire",SUM(co2_fire*veget_cov_max,dim=2)/1e3/one_day) 
    11031112    ctotfirelut(:,:)=xios_default_val 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_xml/field_def_orchidee.xml

    r6319 r6369  
    380380    <field id="MAXFPC_LASTYEAR" name="MAXFPC_LASTYEAR" long_name="Foliage projective cover of last year" unit="-" grid_ref="grid_nvm"/> 
    381381    <field id="HET_RESP" name="HET_RESP" long_name="heterotr. resp. from ground" unit="gC/m^2 tot/pft/day" grid_ref="grid_nvm"/> 
     382    <field id="HET_RESP_SOIL" name="HET_RESP_SOIL" long_name="heterotr. resp. from soil" unit="gC/m^2 tot/pft/day" grid_ref="grid_nvm"/> 
     383    <field id="HET_RESP_LITTER" name="HET_RESP_LITTER" long_name="heterotr. resp. from litter" unit="gC/m^2 tot/pft/day" grid_ref="grid_nvm"/> 
    382384    <field id="firefrac" name="FIREFRAC" long_name="Fire fraction on ground " unit="1/day" grid_ref="grid_nvm"/> 
    383385    <field id="CO2_FIRE" name="CO2_FIRE" long_name="Output CO2 flux from fire " unit="gC/day/m^2/pft" grid_ref="grid_nvm"/> 
     
    501503    <field id="npp_ipcc" name="npp" long_name="Net Primary Production (positive from atm to land)" unit="kg C m-2 s-1"/> 
    502504    <field id="rh" name="rh" long_name="Heterotrophic Respiration (positive from atm to land)" unit="kg C m-2 s-1"/> 
    503     <field id="rhSoil" name="rhSoil" long_name="Carbon mass flux due to heterotrophic respiration from soil on land (positive from land to atm)" unit="kg C m-2 s-1"  > this*(-1) </field> 
    504     <field id="rhLitter" name="rhLitter" long_name="Carbon mass flux due to heterotrophic respiration from litter on land (positive from land to atm)" unit="kg C m-2 s-1"  > this*(-1) </field> 
     505    <field id="rhSoil" name="rhSoil" long_name="Carbon mass flux due to heterotrophic respiration from soil on land (positive from land to atm)" unit="kg C m-2 s-1" />  
     506    <field id="rhLitter" name="rhLitter" long_name="Carbon mass flux due to heterotrophic respiration from litter on land (positive from land to atm)" unit="kg C m-2 s-1" />  
    505507    <field id="tSoilPools" name="tSoilPools" long_name="soil_carbon_turnover_rate : defined as 1/(turnover time) for soil pools." unit="s-1" grid_ref="grid_ncarb"/> 
    506508    <field id="fFire" name="fFire" long_name="CO2 Emission from Fire (positive from atm to land)" unit="kg C m-2 s-1"/> 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_xml/file_def_orchidee.xml

    r6319 r6369  
    735735      
    736736    <!-- level 1 --> 
    737     <field field_ref="RESOLUTION_X" level="1"/> 
    738     <field field_ref="RESOLUTION_Y" level="1"/> 
     737    <field field_ref="RESOLUTION_X" level="0"/> 
     738    <field field_ref="RESOLUTION_Y" level="0"/> 
    739739    <field field_ref="CONTFRAC_STOMATE" level="0"/> 
    740740    <field field_ref="areas" level="0"/> 
     
    865865    <!-- level 10 --> 
    866866    <field field_ref="FIREINDEX" grid_ref="grid_nvm_out" level="10"/> 
    867      
     867    <field field_ref="HET_RESP_SOIL" grid_ref="grid_nvm_out" level="10"/> 
     868    <field field_ref="HET_RESP_LITTER" grid_ref="grid_nvm_out" level="10"/> 
     869  
    868870   </field_group>   
    869871     
Note: See TracChangeset for help on using the changeset viewer.