Ignore:
Timestamp:
Oct 24, 2023, 12:13:53 PM (11 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/phylmdiso/pbl_surface_mod.F90

    r4736 r4737  
    303303       z0m, z0h,   agesno,  sollw,    solsw,         &
    304304       d_ts,      evap,    fluxlat,   t2m,           &
    305        wfbils,    wfbilo, wfevap, wfrain, wfsnow,   &
     305       wfbils,    wfevap,                           &
    306306       flux_t,   flux_u, flux_v,                    &
    307307       dflux_t,   dflux_q,   zxsnow,                  &
     
    609609    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: t2m        ! temperature at 2 meter height
    610610    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfbils     ! heat balance at surface
    611     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfbilo     ! water balance at surface weighted by srf
    612611    REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfevap     ! water balance (evap) at surface weighted by srf
    613     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfrain     ! water balance (rain) at surface weighted by srf
    614     REAL, DIMENSION(klon, nbsrf), INTENT(OUT)       :: wfsnow     ! water balance (snow) at surface weighted by srf
    615612    REAL, DIMENSION(klon, klev, nbsrf), INTENT(OUT) :: flux_t     ! sensible heat flux (CpT) J/m**2/s (W/m**2)
    616613                                                                  ! positve orientation downwards
     
    12331230 snowerosion(:,:)=0.
    12341231 fluxlat(:,:)=0.
    1235  wfbils(:,:)=0. ; wfbilo(:,:)=0.
    1236  wfevap(:,:)=0. ; wfrain(:,:)=0. ; wfsnow(:,:)=0.
     1232 wfbils(:,:)=0. ; wfevap(:,:)=0.
    12371233 flux_t(:,:,:)=0. ; flux_q(:,:,:)=0. ; flux_u(:,:,:)=0. ; flux_v(:,:,:)=0.
    12381234 flux_qbs(:,:,:)=0.
     
    40314027          wfbils(i,nsrf) = ( solsw(i,nsrf) + sollw(i,nsrf) &
    40324028               + flux_t(i,1,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf)
    4033           wfbilo(i,nsrf) = (evap(i,nsrf)-(rain_f(i)+snow_f(i)))*pctsrf(i,nsrf)
    40344029          wfevap(i,nsrf) = evap(i,nsrf)*pctsrf(i,nsrf)
    4035           wfrain(i,nsrf) = rain_f(i)*pctsrf(i,nsrf)
    4036           wfsnow(i,nsrf) = snow_f(i)*pctsrf(i,nsrf)
    40374030
    40384031          zxtsol(i)    = zxtsol(i)    + ts(i,nsrf)      * pctsrf(i,nsrf)
Note: See TracChangeset for help on using the changeset viewer.