Ignore:
Timestamp:
2019-11-08T13:00:52+01:00 (5 years ago)
Author:
josefine.ghattas
Message:

Improvment for the ESM CO2 configuration:

  • Separate variable fco2_lu into 3 parts: fco2_lu, fco2_wh and fco2_ha
  • Move calculation of co2_flux from dt_sechiba time-step to daily time-step (in the part for do_slow)
  • Removed co2_flux and fco2_lu from stomate_intialize argument list. These variables were never used in the intialization phase.
  • Add co2_flux, and fco2_wh, fco2_ha to restart file
  • Corrected output unit for nee to be consistent with LMDZ and stomate output variables. It is now in kgC/m2/s.
  • Corrected output for znetco2
  • Added fCO2_fWoodharvest and fCO2_fHarvest as new possible tracers in LMDZ (intersurf).
  • Added diagnostic output for fCO2_fWoodharvest and fCO2_fHarvest
  1. Cadule
File:
1 edited

Legend:

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

    r6289 r6319  
    195195    REAL(r_std),DIMENSION (kjpindex)                      :: zcoastal      !! Work array to keep coastalflow (m^3/dt) 
    196196    REAL(r_std),DIMENSION (kjpindex)                      :: zriver        !! Work array to keep riverflow (m^3/dt) 
    197     REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/dt_sechiba) 
    198     REAL(r_std),DIMENSION (kjpindex)                      :: zcarblu       !! Work array to keep fco2_land_use (gC/m2/one_day) 
    199197    REAL(r_std),DIMENSION (kjpindex)                      :: ztsol_rad     !! Work array to keep tsol_rad 
    200198    REAL(r_std),DIMENSION (kjpindex)                      :: zvevapp       !! Work array to keep vevapp 
     
    342340         zcoastal,     zriver,       ztsol_rad,     zvevapp,     zqsurf,        & 
    343341         zz0m,         zz0h,         zalbedo,      zfluxsens,     zfluxlat,     & 
    344          zemis,        znetco2,      zcarblu,      ztemp_sol_new, zcdrag) 
     342         zemis,        ztemp_sol_new,zcdrag) 
     343 
    345344     
    346345    IF (printlev_loc >= 3) WRITE(numout,*) 'After call to sechiba_initialize' 
     
    500499    REAL(r_std),DIMENSION (kjpindex)                      :: zcoastal      !! Work array to keep coastalflow (m^3/dt) 
    501500    REAL(r_std),DIMENSION (kjpindex)                      :: zriver        !! Work array to keep riverflow (m^3/dt) 
    502     REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/dt_sechiba) 
     501    REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/one_day) 
    503502    REAL(r_std),DIMENSION (kjpindex)                      :: zcarblu       !! Work array to keep fco2_land_use (gC/m2/one_day) 
     503    REAL(r_std),DIMENSION (kjpindex)                      :: zcarbwh       !! Work array to keep fco2_wh (gC/m2/one_day) 
     504    REAL(r_std),DIMENSION (kjpindex)                      :: zcarbha       !! Work array to keep fco2_ha (gC/m2/one_day) 
    504505    REAL(r_std),DIMENSION (kjpindex)                      :: ztsol_rad     !! Work array to keep tsol_rad 
    505506    REAL(r_std),DIMENSION (kjpindex)                      :: zvevapp       !! Work array to keep vevapp 
     
    571572         zcdrag, zpetAcoef, zpeqAcoef, zpetBcoef, zpeqBcoef, & 
    572573         zprecip_rain ,zprecip_snow,  zlwdown, zswnet, zswdown, zcoszang, zpb, & 
    573          zvevapp, zfluxsens, zfluxlat, zcoastal, zriver, znetco2, zcarblu, & 
     574         zvevapp, zfluxsens, zfluxlat, zcoastal, zriver, & 
     575         znetco2, zcarblu, zcarbwh, zcarbha, & 
    574576         ztsol_rad, ztemp_sol_new, zqsurf, zalbedo, zemis, zz0m, zz0h,& 
    575577         zveget, zlai, zheight, & 
     
    624626    CALL xios_orchidee_send_field("swdown",zswdown) 
    625627    CALL xios_orchidee_send_field("pb",zpb) 
    626     CALL xios_orchidee_send_field("zcarblu",zcarblu/1e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
    627     CALL xios_orchidee_send_field("znetco2",znetco2/1e3/dt_sechiba) ! gC/m2/dt_sechiba -> kgC/m2/s 
     628    CALL xios_orchidee_send_field("znetco2",znetco2/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     629    CALL xios_orchidee_send_field("zcarblu",zcarblu/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     630    CALL xios_orchidee_send_field("zcarbwh",zcarbwh/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     631    CALL xios_orchidee_send_field("zcarbha",zcarbha/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
    628632 
    629633     
     
    880884    REAL(r_std),DIMENSION (kjpindex)                      :: zcoastal      !! Work array to keep coastal flow 
    881885    REAL(r_std),DIMENSION (kjpindex)                      :: zriver        !! Work array to keep river out flow 
    882     REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/dt_sechiba)  
    883     REAL(r_std),DIMENSION (kjpindex)                      :: zcarblu       !! Work array to keep fco2_land_use (gC/m2/one_day) 
    884886    REAL(r_std),DIMENSION (kjpindex)                      :: ztsol_rad     !! Work array to keep tsol_rad 
    885887    REAL(r_std),DIMENSION (kjpindex)                      :: zvevapp       !! Work array to keep vevapp 
     
    11141116         zcoastal,     zriver,       ztsol_rad,     zvevapp,     zqsurf,        & 
    11151117         zz0m,          zz0h,        zalbedo,      zfluxsens,     zfluxlat,    zemis,         & 
    1116          znetco2,      zcarblu,      ztemp_sol_new, zcdrag) 
     1118         ztemp_sol_new, zcdrag) 
     1119 
    11171120     
    11181121    IF ( printlev_loc>=3 ) WRITE(numout,*) 'After call to sechiba_initialize' 
     
    13341337    REAL(r_std),DIMENSION (kjpindex)                      :: zcoastal      !! Work array to keep coastal flow 
    13351338    REAL(r_std),DIMENSION (kjpindex)                      :: zriver        !! Work array to keep river out flow 
    1336     REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/dt_sechiba) 
     1339    REAL(r_std),DIMENSION (kjpindex)                      :: znetco2       !! Work array to keep netco2flux (gC/m2/one_day) 
    13371340    REAL(r_std),DIMENSION (kjpindex)                      :: zcarblu       !! Work array to keep fco2_land_use (gC/m2/one_day) 
     1341    REAL(r_std),DIMENSION (kjpindex)                      :: zcarbwh       !! Work array to keep fco2_wh (gC/m2/one_day) 
     1342    REAL(r_std),DIMENSION (kjpindex)                      :: zcarbha       !! Work array to keep fco2_ha (gC/m2/one_day) 
    13381343    REAL(r_std),DIMENSION (kjpindex)                      :: ztsol_rad     !! Work array to keep tsol_rad 
    13391344    REAL(r_std),DIMENSION (kjpindex)                      :: zvevapp       !! Work array to keep vevapp 
     
    14481453         zcdrag, petAcoef, peqAcoef, petBcoef, peqBcoef, & 
    14491454         zprecip_rain ,zprecip_snow,  lwdown, swnet, swdown, zcoszang, pb, & 
    1450          zvevapp, zfluxsens, zfluxlat, zcoastal, zriver, znetco2, zcarblu, & 
     1455         zvevapp, zfluxsens, zfluxlat, zcoastal, zriver, & 
     1456         znetco2, zcarblu, zcarbwh, zcarbha, & 
    14511457         ztsol_rad, ztemp_sol_new, zqsurf, zalbedo, zemis, zz0m, zz0h, & 
    14521458         zveget, zlai, zheight, & 
     
    14881494             SELECT CASE(TRIM(field_in_names_loc(i))) 
    14891495             CASE("fCO2_nep") 
    1490                 ! Transform from gC/m2/dt_sechiba into kgC/m2/s 
    1491                 fields_in(ik,i) = znetco2(ik)/1e3/dt_sechiba 
     1496                ! Transform from gC/m2/one_day into kgC/m2/s 
     1497                fields_in(ik,i) = znetco2(ik)/1.e3/one_day 
    14921498             CASE("fCO2_fLuc") 
    14931499                ! Transform from gC/m2/one_day into kgC/m2/s 
    1494                 fields_in(ik,i) = zcarblu(ik)/1e3/one_day  
     1500                fields_in(ik,i) = zcarblu(ik)/1.e3/one_day  
     1501             CASE("fCO2_fWoodharvest") 
     1502                ! Transform from gC/m2/one_day into kgC/m2/s 
     1503                fields_in(ik,i) = zcarbwh(ik)/1.e3/one_day 
     1504             CASE("fCO2_fHarvest") 
     1505                ! Transform from gC/m2/one_day into kgC/m2/s 
     1506                fields_in(ik,i) = zcarbha(ik)/1.e3/one_day 
    14951507             CASE("fCO2_nbp") 
    1496                 fields_in(ik,i) = znetco2(ik)/1e3/dt_sechiba + zcarblu(ik)/1e3/one_day  
     1508                fields_in(ik,i) = znetco2(ik)/1.e3/one_day + zcarblu(ik)/1.e3/one_day + zcarbwh(ik)/1.e3/one_day + zcarbha(ik)/1.e3/one_day 
    14971509             CASE DEFAULT 
    14981510                CALL ipslerr_p (3,'intersurf_main_gathered', & 
     
    15291541    CALL xios_orchidee_send_field("riverflow_cpl",riverflow_cpl) 
    15301542    CALL xios_orchidee_send_field("coastalflow_cpl",coastalflow_cpl) 
    1531     CALL xios_orchidee_send_field("zcarblu",zcarblu/1e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
    1532     CALL xios_orchidee_send_field("znetco2",znetco2/1e3/dt_sechiba) ! gC/m2/dt_sechiba -> kgC/m2/s 
     1543    CALL xios_orchidee_send_field("znetco2",znetco2/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     1544    CALL xios_orchidee_send_field("zcarblu",zcarblu/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     1545    CALL xios_orchidee_send_field("zcarbwh",zcarbwh/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     1546    CALL xios_orchidee_send_field("zcarbha",zcarbha/1.e3/one_day)    ! gC/m2/one_day -> kgC/m2/s 
     1547 
    15331548     
    15341549    IF ( .NOT. almaoutput ) THEN 
Note: See TracChangeset for help on using the changeset viewer.