Yonghang Xie
New member
Dear all
Recently, I read the code in module_sf_noahdrv.F and felt confused about the sensible heat flux calculated by Noah-LSM coupled with BEP_BEM.
Firstly, according to the code from the Call urban part as follows,
ALBEDO(I,J) = FRC_URB2D(I,J)*ALB_URB+(1-FRC_URB2D(I,J))*ALBEDOK ![-]
HFX(I,J) = FRC_URB2D(I,J)*SH_URB+(1-FRC_URB2D(I,J))*SHEAT ![W/m/m]
QFX(I,J) = FRC_URB2D(I,J)*LH_KINEMATIC_URB + (1-FRC_URB2D(I,J))*ETA_KINEMATIC ![kg/m/m/s]
LH(I,J) = FRC_URB2D(I,J)*LH_URB+(1-FRC_URB2D(I,J))*ETA ![W/m/m]
GRDFLX(I,J) = FRC_URB2D(I,J)*G_URB+(1-FRC_URB2D(I,J))*SSOIL ![W/m/m]
TSK(I,J) = FRC_URB2D(I,J)*TS_URB+(1-FRC_URB2D(I,J))*T1 ![K]
Q1 = FRC_URB2D(I,J)*QS_URB+(1-FRC_URB2D(I,J))*Q1 ![-]
it tells us that the gird sensible heat flux (HFX) is calculated by the proportions of the urban area and the vegetated area. So is latent heat flux.
Next, when it goes to the code from the part of Call BEP or Call BEP_BEM as follows,
IF (FRC_URB2D(I,J).GT.0.) THEN
rl_up_rural=-emiss_rural(i,j)*sigma_sb*(tsk_rural(i,j)**4.)-(1.-emiss_rural(i,j))*glw(i,j) !sigma_sb=5.67e-08 GLW downward long wave flux at ground surface (W/m^2)
rl_up_tot=(1.-frc_urb2d(i,j))*rl_up_rural+frc_urb2d(i,j)*rl_up_urb(i,j)
emiss(i,j)=(1.-frc_urb2d(i,j))*emiss_rural(i,j)+frc_urb2d(i,j)*emiss_urb(i,j)
ts_urb2d(i,j)=(max(0.,(-rl_up_urb(i,j)-(1.-emiss_urb(i,j))*glw(i,j))/emiss_urb(i,j)/sigma_sb))**0.25
tsk(i,j)=(max(0., (-1.*rl_up_tot-(1.-emiss(i,j))*glw(i,j) )/emiss(i,j)/sigma_sb))**.25
rs_abs_tot=(1.-frc_urb2d(i,j))*swdown(i,j)*(1.-albedo(i,j))+frc_urb2d(i,j)*rs_abs_urb(i,j)
if(swdown(i,j).gt.0.)then
albedo(i,j)=1.-rs_abs_tot/swdown(i,j)
else
albedo(i,j)=alb_rural(i,j)
endif
! rename *_urb to sh_urb2d,lh_urb2d,g_urb2d,rn_urb2d
grdflx(i,j)= (1.-frc_urb2d(i,j))*grdflx_rural(i,j)+frc_urb2d(i,j)*grdflx_urb(i,j)
qfx(i,j)=(1.-frc_urb2d(i,j))*qfx_rural(i,j)+qfx_urb(i,j)
! lh(i,j)=(1.-frc_urb2d(i,j))*qfx_rural(i,j)*xlv
lh(i,j)=qfx(i,j)*xlv
HFX(I,J) = HFX_URB(I,J)+(1-FRC_URB2D(I,J))*HFX_RURAL(I,J) ![W/m/m]
only the ground heat flux (grdflx) is calculated as the way of Call urban part. The sensible heat flux (HFX) and surface moisture flux (qfx) for latent heat flux are not multiplied by the fraction of the urban area which is different from the code of Call urban part.
I am confused about the calculation of the grid-scale sensible (latent) heat flux in BEP or BEP_BEM, because according to the description in the paper The integrated WRF/urban modeling system: development, evaluation, and applications to urban environmental problems by Chen Fei et al, the total grid-scale sensible heat flux can be estimated as follows:
QH = Fveg × QHveg + Furb × QHurb
where QH is the total sensible heat flux from the surface to the WRF model lowest atmospheric layer, Fveg is the fractional coverage of natural surfaces, such as grassland, shrubs, crops, and trees in cities, Furb is the fractional coverage of impervious surfaces, such as buildings, roads, and railways. QHveg is the sensible heat flux from Noah for natural surfaces, and QHurb is the sensible heat flux from the UCM for artificial surfaces.
I am grateful that someone can tell me some reasons or tips for my question.
Recently, I read the code in module_sf_noahdrv.F and felt confused about the sensible heat flux calculated by Noah-LSM coupled with BEP_BEM.
Firstly, according to the code from the Call urban part as follows,
ALBEDO(I,J) = FRC_URB2D(I,J)*ALB_URB+(1-FRC_URB2D(I,J))*ALBEDOK ![-]
HFX(I,J) = FRC_URB2D(I,J)*SH_URB+(1-FRC_URB2D(I,J))*SHEAT ![W/m/m]
QFX(I,J) = FRC_URB2D(I,J)*LH_KINEMATIC_URB + (1-FRC_URB2D(I,J))*ETA_KINEMATIC ![kg/m/m/s]
LH(I,J) = FRC_URB2D(I,J)*LH_URB+(1-FRC_URB2D(I,J))*ETA ![W/m/m]
GRDFLX(I,J) = FRC_URB2D(I,J)*G_URB+(1-FRC_URB2D(I,J))*SSOIL ![W/m/m]
TSK(I,J) = FRC_URB2D(I,J)*TS_URB+(1-FRC_URB2D(I,J))*T1 ![K]
Q1 = FRC_URB2D(I,J)*QS_URB+(1-FRC_URB2D(I,J))*Q1 ![-]
it tells us that the gird sensible heat flux (HFX) is calculated by the proportions of the urban area and the vegetated area. So is latent heat flux.
Next, when it goes to the code from the part of Call BEP or Call BEP_BEM as follows,
IF (FRC_URB2D(I,J).GT.0.) THEN
rl_up_rural=-emiss_rural(i,j)*sigma_sb*(tsk_rural(i,j)**4.)-(1.-emiss_rural(i,j))*glw(i,j) !sigma_sb=5.67e-08 GLW downward long wave flux at ground surface (W/m^2)
rl_up_tot=(1.-frc_urb2d(i,j))*rl_up_rural+frc_urb2d(i,j)*rl_up_urb(i,j)
emiss(i,j)=(1.-frc_urb2d(i,j))*emiss_rural(i,j)+frc_urb2d(i,j)*emiss_urb(i,j)
ts_urb2d(i,j)=(max(0.,(-rl_up_urb(i,j)-(1.-emiss_urb(i,j))*glw(i,j))/emiss_urb(i,j)/sigma_sb))**0.25
tsk(i,j)=(max(0., (-1.*rl_up_tot-(1.-emiss(i,j))*glw(i,j) )/emiss(i,j)/sigma_sb))**.25
rs_abs_tot=(1.-frc_urb2d(i,j))*swdown(i,j)*(1.-albedo(i,j))+frc_urb2d(i,j)*rs_abs_urb(i,j)
if(swdown(i,j).gt.0.)then
albedo(i,j)=1.-rs_abs_tot/swdown(i,j)
else
albedo(i,j)=alb_rural(i,j)
endif
! rename *_urb to sh_urb2d,lh_urb2d,g_urb2d,rn_urb2d
grdflx(i,j)= (1.-frc_urb2d(i,j))*grdflx_rural(i,j)+frc_urb2d(i,j)*grdflx_urb(i,j)
qfx(i,j)=(1.-frc_urb2d(i,j))*qfx_rural(i,j)+qfx_urb(i,j)
! lh(i,j)=(1.-frc_urb2d(i,j))*qfx_rural(i,j)*xlv
lh(i,j)=qfx(i,j)*xlv
HFX(I,J) = HFX_URB(I,J)+(1-FRC_URB2D(I,J))*HFX_RURAL(I,J) ![W/m/m]
only the ground heat flux (grdflx) is calculated as the way of Call urban part. The sensible heat flux (HFX) and surface moisture flux (qfx) for latent heat flux are not multiplied by the fraction of the urban area which is different from the code of Call urban part.
I am confused about the calculation of the grid-scale sensible (latent) heat flux in BEP or BEP_BEM, because according to the description in the paper The integrated WRF/urban modeling system: development, evaluation, and applications to urban environmental problems by Chen Fei et al, the total grid-scale sensible heat flux can be estimated as follows:
QH = Fveg × QHveg + Furb × QHurb
where QH is the total sensible heat flux from the surface to the WRF model lowest atmospheric layer, Fveg is the fractional coverage of natural surfaces, such as grassland, shrubs, crops, and trees in cities, Furb is the fractional coverage of impervious surfaces, such as buildings, roads, and railways. QHveg is the sensible heat flux from Noah for natural surfaces, and QHurb is the sensible heat flux from the UCM for artificial surfaces.
I am grateful that someone can tell me some reasons or tips for my question.