# why the remaining energy item in energy budget is so large?

#### Ceil

##### New member
Hi!

I use Noah-MP land surface scheme to run WRF4.4 over Europe.
Energy budget is usually expressed as Rnet = SH + LH + G, in which Rnet means net radiation flux, SH means sensible heat flux, LH means latent heat flux, and G means ground heat flux.

The following pictures show the averages of the year 2019. We can see that the remaining energy item (i.e., the first picture in the left) is relatively large.

I check the module_sf_noahmplsm.F, and find the energy budget expressed as the follows,
ERRENG = SAV+SAG-(FIRA+FSH+FCEV+FGEV+FCTR+SSOIL+FIRR+CANHS) +PAH
ERRENG should < 0.01

I think the equation may correspond to ERRENG = SAV+SAG -FIRA -(SHC+SHB+SHG)-(EVC+EVB+EVG)- (GHV+GHB). But I have no idea about the final three variables.

I wonder whether the three variables (i.e., FIRR, CANHS, PAH) are outputed by the model and what their name exactly are in the wrfout files. I have tried to find the above variables, but the potential variables such as ACCANHS,ACPAHB,ACPAHG,ACPAHV,IRRSPLH,IRELOSS all have values of zero.

I have spent many days to understand it, but unluckily I still could not. I sincerely hope someone could help me. Many thanks!

For your left-most plot, the formula should be:
NETRAD + GRDFLX - HFX - LH

For your left-most plot, the formula should be:
NETRAD + GRDFLX - HFX - LH

Which SW and LW radiation schemes did you use? How did you calculate RNET?

Which SW and LW radiation schemes did you use? How did you calculate RNET?
SW and LW radiation schemes are both rrtmg scheme.

RNET is calculated as follows,

In addition, the attached file is the namelist.input I use.

#### Attachments

• namelist.input
6.5 KB · Views: 7
The formula for calculation is a general one and it is correct. However, I think NoahMP has its own specific way to handle surface energy budget calculation. Please take a look at the file "registry.noahmp", in which you can find all the variables related to surface energy. You will have to follow the method used in NoahMP to derive accurate surface energy terms.

The formula for calculation is a general one and it is correct. However, I think NoahMP has its own specific way to handle surface energy budget calculation. Please take a look at the file "registry.noahmp", in which you can find all the variables related to surface energy. You will have to follow the method used in NoahMP to derive accurate surface energy terms.

I check the module_sf_noahmplsm.F, and find the energy budget expressed as the follows,
ERRENG = SAV+SAG-(FIRA+FSH+FCEV+FGEV+FCTR+SSOIL+FIRR+CANHS) +PAH
ERRENG should < 0.01

I think the equation may correspond to ERRENG = SAV+SAG -FIRA -(SHC+SHB+SHG)-(EVC+EVB+EVG)- (GHV+GHB). All the above variables can be found in the wrfout files, But I have no idea about the final three variables.

I have tried to find the three variables (i.e., FIRR, CANHS, PAH), but the potential variables such as ACCANHS,ACPAHB,ACPAHG,ACPAHV,IRRSPLH,IRELOSS all have values of zero.

P.S.:
SAV: solar rad. absorbed by veg. (w/m2)
SAG: solar rad. absorbed by ground (w/m2)
FIRA: total net LW. rad (w/m2) [+ to atm]
FSH: total sensible heat (w/m2) [+ to atm]
FCEV: canopy evaporation (w/m2) [+ to atm]
FGEV: ground evaporation (w/m2) [+ to atm]
FCTR: transpiration (w/m2) [+ to atm]
SSOIL: ground heat flux (w/m2) [+ to soil]
FIRR: latent heating due to sprinkler evaporation (w/m2) [+ to atm]
CANHS: canopy heat storage change (w/m2) C.He added based on GY Niu's communication
PAH: precipitation advected heat - total (W/m2)

FIRR is only available when you run with irrigation scheme. It is reasonable to have the value of zero. However, I am not sure of the other 2 terms. I will talk to our expert and get back to you if I find the answer.

By the way, if you follow the method of ERRENG calculation (ignore the 3 terms that have zero value), can you get reasonable result?

FIRR is only available when you run with irrigation scheme. It is reasonable to have the value of zero. However, I am not sure of the other 2 terms. I will talk to our expert and get back to you if I find the answer.

By the way, if you follow the method of ERRENG calculation (ignore the 3 terms that have zero value), can you get reasonable result?

The remaining energy term is still large.

The ERRENG calculated from ERRENG = SAV+SAG -FIRA -(SHC+SHB+SHG)-(EVC+EVB+EVG)- (GHV+GHB) is quite similar to that calculated from NETRAD - GRDFLX - HFX - LH except the large difference in ocean. Because of too many variables involved, please forgive me to only show the result of one day.

The following pictures are about the averages of wrfout_d01_2019-07-01_00:00:00:

I see. We will look into this issue and get bak to you later ....

Hi,
To calculate Noah-MP surface energy balance, please use the following WRF output variables:
Energy residual = FSA + PAH - FIRA - HFX - LH - GRDFLX - CANHS
Note: PAH is the heat flux advected from rain/snow to the surface due to their temperature difference.
CANHS is the heat flux due to canopy heat storage change caused by canopy temperature change.
I suppose CANHS and PAH should not be zero. Please keep me updated about the issue.

Hope this helps.

Hi,
To calculate Noah-MP surface energy balance, please use the following WRF output variables:
Energy residual = FSA + PAH - FIRA - HFX - LH - GRDFLX - CANHS
Note: PAH is the heat flux advected from rain/snow to the surface due to their temperature difference.
CANHS is the heat flux due to canopy heat storage change caused by canopy temperature change.
I suppose CANHS and PAH should not be zero. Please keep me updated about the issue.

Hope this helps.

Hi,
Thanks for the answer! But I could not find the two variables (i.e., PAH, CANHS). Please see the wrfout variables in the attachment.

#### Attachments

• wrfout_variables.txt
131.8 KB · Views: 10
Pleas take a look at the file "registry.noahmp", in which you can change the two lines below from:

state real pahxy ij - 1 - i02d=(interp_mask_land_field:lu_index)u=(copy_fcnm) "pah" ....
state real canhsxy ij - 1 - i02d=(interp_mask_land_field:lu_index)u=(copy_fcnm) "canhs" ....

to:

state real pahxy ij - 1 - i02hd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "pah" ....
state real canhsxy ij - 1 - i02ihd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "canhs" ....

Then type ./clean -a, recompile WRF,a nd then rerun this case. The two variable should be included in your output files.

Pleas take a look at the file "registry.noahmp", in which you can change the two lines below from:

state real pahxy ij - 1 - i02d=(interp_mask_land_field:lu_index)u=(copy_fcnm) "pah" ....
state real canhsxy ij - 1 - i02d=(interp_mask_land_field:lu_index)u=(copy_fcnm) "canhs" ....

to:

state real pahxy ij - 1 - i02hd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "pah" ....
state real canhsxy ij - 1 - i02ihd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "canhs" ....

Then type ./clean -a, recompile WRF,a nd then rerun this case. The two variable should be included in your output files.

Many thanks for your solution! I will try!