Ignore:
Timestamp:
Oct 24, 2023, 12:13:53 PM (7 months ago)
Author:
oboucher
Message:

moving the calculation of wfbilo wfrain and wfsnow inside phys_output_write_mod so that it uses the timestep values of rain and snow instead of the values from the previous timestep as it was the case in pbl_surface. Thus there is exact mass balance in the output.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90

    r4735 r4737  
    184184       debut,     lafin,                              &
    185185       rlon,      rlat,      rugoro,   rmu0,          &
    186        lwdown_m,  cldt,          &
     186       lwdown_m,  cldt,                               &
    187187       rain_f,    snow_f,    bs_f, solsw_m,  solswfdiff_m, sollw_m,       &
    188188       gustiness,                                     &
    189        t,         q,        qbs,  u,        v,             &
     189       t,         q,        qbs,  u,        v,        &
    190190!!! nrlmd+jyg le 02/05/2011 et le 20/02/2012
    191191!!       t_x,       q_x,       t_w,      q_w,           &
     
    199199       beta, &
    200200!>jyg
    201        alb_dir_m,    alb_dif_m,  zxsens,   zxevap,  zxsnowerosion,  &
     201       alb_dir_m,    alb_dif_m,  zxsens,   zxevap,  zxsnowerosion,      &
    202202       alb3_lic,  runoff,    snowhgt,   qsnow,     to_ice,    sissnow,  &
    203        zxtsol,    zxfluxlat, zt2m,     qsat2m, zn2mout, &
    204        d_t,       d_q,    d_qbs,    d_u,      d_v, d_t_diss, &
     203       zxtsol,    zxfluxlat, zt2m,     qsat2m, zn2mout,                 &
     204       d_t,       d_q,    d_qbs,    d_u,      d_v, d_t_diss,            &
    205205!!! nrlmd+jyg le 02/05/2011 et le 20/02/2012
    206        d_t_w,     d_q_w,                              &
    207        d_t_x,     d_q_x,                              &
     206       d_t_w,     d_q_w,                             &
     207       d_t_x,     d_q_x,                             &
    208208!!       d_wake_dlt,d_wake_dlq,                         &
    209        zxsens_x,  zxfluxlat_x,zxsens_w,zxfluxlat_w,   &
     209       zxsens_x,  zxfluxlat_x,zxsens_w,zxfluxlat_w,  &
    210210!!!
    211211!!! nrlmd le 13/06/2011
    212        delta_tsurf,wake_dens,cdragh_x,cdragh_w,       &
    213        cdragm_x,cdragm_w,kh,kh_x,kh_w,                &
    214 !!!
    215        zcoefh,    zcoefm,    slab_wfbils,             &
    216        qsol,    zq2m,      s_pblh,   s_plcl,        &
     212       delta_tsurf,wake_dens,cdragh_x,cdragh_w,      &
     213       cdragm_x,cdragm_w,kh,kh_x,kh_w,               &
     214!!!
     215       zcoefh,    zcoefm,    slab_wfbils,            &
     216       qsol,    zq2m,      s_pblh,   s_plcl,         &
    217217!!!
    218218!!! jyg le 08/02/2012
    219        s_pblh_x, s_plcl_x,   s_pblh_w, s_plcl_w,      &
    220 !!!
    221        s_capCL,   s_oliqCL,  s_cteiCL, s_pblT,        &
    222        s_therm,   s_trmb1,   s_trmb2,  s_trmb3,       &
    223        zustar,zu10m,  zv10m,    fder_print,    &
    224        zxqsurf, delta_qsurf,                       &
    225        rh2m,      zxfluxu,  zxfluxv,               &
     219       s_pblh_x, s_plcl_x,   s_pblh_w, s_plcl_w,     &
     220!!!
     221       s_capCL,   s_oliqCL,  s_cteiCL, s_pblT,       &
     222       s_therm,   s_trmb1,   s_trmb2,  s_trmb3,      &
     223       zustar,zu10m,  zv10m,    fder_print,          &
     224       zxqsurf, delta_qsurf,                         &
     225       rh2m,      zxfluxu,  zxfluxv,                 &
    226226       z0m, z0h,   agesno,  sollw,    solsw,         &
    227227       d_ts,      evap,    fluxlat,   t2m,           &
    228        wfbils,    wfbilo, wfevap, wfrain, wfsnow,   &
    229        flux_t,   flux_u, flux_v,                    &
    230        dflux_t,   dflux_q,   zxsnow,                  &
     228       wfbils,    wfevap,                            &
     229       flux_t,   flux_u, flux_v,                     &
     230       dflux_t,   dflux_q,   zxsnow,                 &
    231231!jyg<
    232232!!       zxfluxt,   zxfluxq,   q2m,      flux_q, tke,   &
     
    235235!!! nrlmd+jyg le 02/05/2011 et le 20/02/2012
    236236!!        tke_x,     tke_w                              &
    237        wake_dltke,                                     &
    238         treedrg                                   &
     237       wake_dltke,                                   &
     238        treedrg                                      &
    239239!FC
    240240!!!
     
    503503    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: t2m        ! temperature at 2 meter height
    504504    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfbils     ! heat balance at surface
    505     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfbilo     ! water balance at surface weighted by srf
    506505    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfevap     ! water balance (evap) at surface weighted by srf
    507     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfrain     ! water balance (rain) at surface weighted by srf
    508     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfsnow     ! water balance (snow) at surface weighted by srf
    509506    REAL, DIMENSION(klon, klev, nbsrf), INTENT(OUT) :: flux_t     ! sensible heat flux (CpT) J/m**2/s (W/m**2)
    510507                                                                  ! positve orientation downwards
     
    10271024 snowerosion(:,:)=0.
    10281025 fluxlat(:,:)=0.
    1029  wfbils(:,:)=0. ; wfbilo(:,:)=0.
    1030  wfevap(:,:)=0. ; wfrain(:,:)=0. ; wfsnow(:,:)=0.
     1026 wfbils(:,:)=0. ; wfevap(:,:)=0. ;
    10311027 flux_t(:,:,:)=0. ; flux_q(:,:,:)=0. ; flux_u(:,:,:)=0. ; flux_v(:,:,:)=0.
    10321028 flux_qbs(:,:,:)=0.
     
    34583454          wfbils(i,nsrf) = ( solsw(i,nsrf) + sollw(i,nsrf) &
    34593455               + flux_t(i,1,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf)
    3460           wfbilo(i,nsrf) = (evap(i,nsrf)-(rain_f(i)+snow_f(i)))*pctsrf(i,nsrf)
     3456
    34613457          wfevap(i,nsrf) = evap(i,nsrf)*pctsrf(i,nsrf)
    3462           wfrain(i,nsrf) = rain_f(i)*pctsrf(i,nsrf)
    3463           wfsnow(i,nsrf) = snow_f(i)*pctsrf(i,nsrf)
    34643458
    34653459          zxtsol(i)    = zxtsol(i)    + ts(i,nsrf)      * pctsrf(i,nsrf)
Note: See TracChangeset for help on using the changeset viewer.