Dear WRF Community,
I’m currently studying the impact of anthropogenic heat emissions (AHE) in WRF and have some questions regarding how distributed_ahe_opt is implemented differently when set to 0 vs 2.
When distributed_ahe_opt = 0, the AHE is treated as Fixed AHE, determined by land use type via URBPARAM.TBL.

In module_surface_driver.F (for distributed_ahe_opt = 2), AHE is added directly to HFX:

Could you help clarify:
Additionally, could you recommend any technical documents, papers, or manuals that explain: How surface fluxes (HFX, LH, SH, FLXTH, etc.) are calculated in WRF?
I’m currently studying the impact of anthropogenic heat emissions (AHE) in WRF and have some questions regarding how distributed_ahe_opt is implemented differently when set to 0 vs 2.
When distributed_ahe_opt = 0, the AHE is treated as Fixed AHE, determined by land use type via URBPARAM.TBL.
FLXTH = ((1.-FGR)*R*FLXTHR + FGR*R*FLXTHGR + W*FLXTHB + RW*FLXTHG)+ AH/RHOO/CPP
SH = FLXTH * RHOO * CPP ! Sensible heat flux

In module_surface_driver.F (for distributed_ahe_opt = 2), AHE is added directly to HFX:
HFX(i,j) = HFX(i,j) + ahe(i, ihour, j)

Could you help clarify:
- What are the physical and numerical implications of these two different implementations? How does each method propagate the AHE into the model physics (e.g., boundary layer, surface layer, etc.)?
Additionally, could you recommend any technical documents, papers, or manuals that explain: How surface fluxes (HFX, LH, SH, FLXTH, etc.) are calculated in WRF?