Closed tslin2 closed 1 year ago
@tslin2 Could you please double check BEP and BEP-BEM? I remembered that in these two models, the sign is correct? Maybe I remembered it wrong.
@cenlinhe my simulation results show that in Noah with urban models, the GRDFLX has the same direction in urban and rural areas, but is opposite between rural and urban areas in Noah-MP with urban models including using SLUCM, BEP, or BEP-BEM.
OK, we need to fix this then in both hrldas and wrf. You may also want to open a WRF issue to point out this issue.
I confirmed this bug. The ground heat flux is positive for downward direction in Noah-MP: https://github.com/NCAR/noahmp/blob/master/src/SurfaceEnergyFluxBareGroundMod.F90#L155 the ground heat flux is negative for downward direction in SLUCM: https://github.com/NCAR/hrldas/blob/master/urban/wrf/module_sf_urban.F#L1503 and BEP: https://github.com/NCAR/hrldas/blob/master/urban/wrf/module_sf_bep.F#L3287 and BEP_BEM: https://github.com/NCAR/hrldas/blob/master/urban/wrf/module_sf_bep_bem.F#L5312
This bug has been fixed in this commit for v5.0: https://github.com/NCAR/hrldas/commit/a3ce25e36733fddb277691db80225eabb33aa29e and in this commit for v4.5: https://github.com/NCAR/noahmp/commit/a26f91fb12f7bc404ba01351ca642d2d3717840d Here I am closing this issue.
The ground heat flux in Noah-MP is downwards positive from surface, but it is downwards negative from surface in Noah land surface model (LSM).
To keep the same direction of ground heat flux between urban models (SLUCM, BEP, or BEM) and the land surface model (Noah or Noah-MP) is required to calculate surface energy balance at the grid mean level.
In Noah LSM, the ground heat flux direction is the same as urban models, but differ in Noah-MP.
To make the same direction using SLUCM with Noah-MP LSM at the grid mean level. https://github.com/NCAR/hrldas/blob/f550db9f22c11acbf7aec607904bc22781425e15/urban/wrf/NoahmpUrbanDriverMainMod.F#L530
should revise to GRDFLX(I,J) = FRC_URB2D(I,J) (-1.0 G_URB) + (1-FRC_URB2D(I,J)) * GRDFLX(I,J) ![W/m/m]
and for BEP, BEM https://github.com/NCAR/hrldas/blob/f550db9f22c11acbf7aec607904bc22781425e15/urban/wrf/NoahmpUrbanDriverMainMod.F#L759
should revise to grdflx(i,j) = (1.-frc_urb2d(i,j)) grdflx_rural(i,j)+ frc_urb2d(i,j) grdflx_urb(i,j) * -1.0