Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bf38b98
Updating Registry.EM_COMMON with new variables
chenghaow Jan 14, 2026
e4a2059
Update dyn_em files with new variables
chenghaow Jan 14, 2026
8f9b4c4
Update phys files with new variables + new SLUCM
chenghaow Jan 14, 2026
d887ec0
Update TBL files with new variables
chenghaow Jan 14, 2026
b8decd6
Update wrftladj files with new variables
chenghaow Jan 14, 2026
6ca4e5d
update noahmp to release-v4.8-WRF
chenghaow Jan 15, 2026
59623bd
Uploading a new version of SLUCM for fixing
chenghaow Jan 15, 2026
e27467f
Bug fix for module_sf_urban
chenghaow Jan 16, 2026
d290a6c
Fixing near-singular urban tree solver
chenghaow Jan 16, 2026
48489fa
Fixing RTree normalization for water uptake
chenghaow Jan 16, 2026
5407d1a
Error log uploaded (Jan 16 errors)
chenghaow Jan 19, 2026
add1a53
Delete output_19.txt
chenghaow Jan 19, 2026
fe0e62a
damped diagonal fallback for singularity
chenghaow Jan 19, 2026
1305bae
Singularity fix
chenghaow Jan 19, 2026
1fc5e86
Correcting type mismatch
chenghaow Jan 19, 2026
b333bd3
Fixing unit inconsistency
chenghaow Jan 20, 2026
2106b65
Fixing bugs in temperature linear solve
chenghaow Jan 20, 2026
d5d54fa
Increasing default FVG from 0 to 0.1
chenghaow Jan 20, 2026
4860608
Fixing FVG = 0 case
chenghaow Jan 20, 2026
ad911c4
Fixing unit inconsistency in Tc and qc solvers
chenghaow Jan 20, 2026
0e3b42c
Fix typo related to FLXUV
chenghaow Jan 21, 2026
ca98d6f
multi_layer subroutine fixing
chenghaow Jan 21, 2026
e22dfc8
Correcting unit errors with TC and QC
chenghaow Jan 22, 2026
452c7aa
Changing TREEOPTION to 0 as default
chenghaow Feb 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -933,8 +933,17 @@ state real DRELG_URB2D ij misc 1 - rd=(interp_m
state real FLXHUMR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMR_URB" "WATER FLUX ON ROOF IMPERVIOUS SURFACE" "m/s"
state real FLXHUMB_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMB_URB" "WATER FLUX ON WALL IMPERVIOUS SURFACE" "m/s"
state real FLXHUMG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMG_URB" "WATER FLUX ON ROAD IMPERVIOUS SURFACE" "m/s"
# added by Chenghao Wang
state real TVG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TVG_URB" "URBAN VEGETATED GROUND TEMPERATURE" "K"
state real TT_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TT_URB" "URBAN TREE TEMPERATURE" "K"
state real XXXVG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "XXXVG_URB" "M-O LENGTH ABOVE URBAN VEGETATED GROUND" "dimensionless"
state real CMCG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "CMCG_URB" "CANOPY INTERCEPTED WATER ON VEGETATED GROUND" "m"
state real FLXHUMVG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMVG_URB" "WATER FLUX ON VEGETATED GROUND" "m/s"
state real FLXHUMT_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMT_URB" "WATER FLUX ON URBAN TREES" "m/s"
state real TGRL_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TGRL_URB" "GREEN ROOF LAYER TEMPERATURE"
state real SMR_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SMR_URB" "GREEN ROOF LAYER SOIL MOISTURE"
state real TVGL_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TVGL_URB" "VEGETATED GROUND LAYER TEMPERATURE" "K"
state real SMG_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SMG_URB" "VEGETATED GROUND LAYER SOIL MOISTURE" "dimensionless"
state real TRL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TRL_URB" "ROOF LAYER TEMPERATURE" "K"
state real TBL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TBL_URB" "WALL LAYER TEMPERATURE" "K"
state real TGL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TGL_URB" "ROAD LAYER TEMPERATURE" "K"
Expand Down Expand Up @@ -3146,7 +3155,8 @@ package temfsfcscheme sf_sfclay_physics==10 - state:wm_
package idealscmsfcscheme sf_sfclay_physics==89 - -
package sfclayscheme sf_sfclay_physics==91 - -

package noahucmscheme sf_urban_physics==1 - state:trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,mh_urb2d,stdh_urb2d,lf_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,tgr_urb2d,cmcr_urb2d,drelr_urb2d,drelb_urb2d,drelg_urb2d,flxhumr_urb2d,flxhumb_urb2d,flxhumg_urb2d,tgrl_urb3d,smr_urb3d,cmgr_sfcdif,chgr_sfcdif,trl_urb3d,tgl_urb3d,tbl_urb3d,ahe,lf_urb2d_s,z0_urb2d,zd_urb2d
# added by Chenghao Wang
package noahucmscheme sf_urban_physics==1 - state:trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,mh_urb2d,stdh_urb2d,lf_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,tgr_urb2d,cmcr_urb2d,drelr_urb2d,drelb_urb2d,drelg_urb2d,flxhumr_urb2d,flxhumb_urb2d,flxhumg_urb2d,tvg_urb2d,tt_urb2d,xxxvg_urb2d,cmcg_urb2d,flxhumvg_urb2d,flxhumt_urb2d,tgrl_urb3d,smr_urb3d,tvgl_urb3d,smg_urb3d,cmgr_sfcdif,chgr_sfcdif,trl_urb3d,tgl_urb3d,tbl_urb3d,ahe,lf_urb2d_s,z0_urb2d,zd_urb2d
package bepscheme sf_urban_physics==2 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural
package bep_bemscheme sf_urban_physics==3 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,tlev_urb3d,qlev_urb3d,tw1lev_urb3d,tw2lev_urb3d,tglev_urb3d,tflev_urb3d,sf_ac_urb3d,lf_ac_urb3d,cm_ac_urb3d,sfvent_urb3d,lfvent_urb3d,sfwin1_urb3d,sfwin2_urb3d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural,ep_pv_urb3d,t_pv_urb3d,trv_urb4d,qr_urb4d,qgr_urb3d,tgr_urb3d,drain_urb4d,draingr_urb3d,sfrv_urb3d,lfrv_urb3d,dgr_urb3d,dg_urb3d,lfr_urb3d,lfg_urb3d

Expand Down Expand Up @@ -3668,4 +3678,3 @@ rconfig real windfarm_deg namelist,physics max_domains

# outputs for RCON model.
state real CLOUDNC ij misc 1 - rh "CLOUDNC" "ACCUMULATED TOTAL GRID SCALE CLOUD PRECIPITATION" "mm"

9 changes: 9 additions & 0 deletions dyn_em/module_first_rk_step_part1.F
Original file line number Diff line number Diff line change
Expand Up @@ -789,6 +789,15 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& ,FLXHUMR_URB2D=grid%flxhumr_urb2d & !H urban
& ,FLXHUMB_URB2D=grid%flxhumb_urb2d & !H urban
& ,FLXHUMG_URB2D=grid%flxhumg_urb2d & !H urban
& ! added by Chenghao Wang
& ,TVG_URB2D=grid%tvg_urb2d & !H urban
& ,XXXVG_URB2D=grid%xxxvg_urb2d & !H urban
& ,TVGL_URB3D=grid%tvgl_urb3d & !H urban
& ,SMG_URB3D=grid%smg_urb3d & !H urban
& ,TT_URB2D=grid%tt_urb2d & !H urban
& ,CMCG_URB2D=grid%cmcg_urb2d & !H urban
& ,FLXHUMVG_URB2D=grid%flxhumvg_urb2d & !H urban
& ,FLXHUMT_URB2D=grid%flxhumt_urb2d & !H urban
& ,TRL_URB3D=grid%trl_urb3d ,TBL_URB3D=grid%tbl_urb3d & !H urban
& ,TGL_URB3D=grid%tgl_urb3d & !H urban
& ,SH_URB2D=grid%sh_urb2d ,LH_URB2D=grid%lh_urb2d &
Expand Down
3 changes: 3 additions & 0 deletions dyn_em/start_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -1148,6 +1148,9 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
grid%CMCR_URB2D,grid%TGR_URB2D,grid%TGRL_URB3D,grid%SMR_URB3D, & !Optional urban
grid%DRELR_URB2D,grid%DRELB_URB2D,grid%DRELG_URB2D, & !Optional urban
grid%FLXHUMR_URB2D,grid%FLXHUMB_URB2D,grid%FLXHUMG_URB2D, & !Optional urban
! added by Chenghao Wang
grid%TVG_URB2D,grid%XXXVG_URB2D,grid%TVGL_URB3D,grid%SMG_URB3D,grid%TT_URB2D, & !Optional urban
grid%CMCG_URB2D,grid%FLXHUMVG_URB2D,grid%FLXHUMT_URB2D, & !Optional urban
grid%TRB_URB4D,grid%TW1_URB4D,grid%TW2_URB4D,grid%TGB_URB4D,grid%TLEV_URB3D, & !multi-layer urban
grid%QLEV_URB3D,grid%TW1LEV_URB3D,grid%TW2LEV_URB3D, & !multi-layer urban
grid%TGLEV_URB3D,grid%TFLEV_URB3D,grid%SF_AC_URB3D, & !multi-layer urban
Expand Down
29 changes: 29 additions & 0 deletions phys/module_physics_init.F
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
DRELR_URB2D,DRELB_URB2D,DRELG_URB2D, & !Optional urban
FLXHUMR_URB2D,FLXHUMB_URB2D, & !Optional urban
FLXHUMG_URB2D, & !Optional urban
TVG_URB2D,XXXVG_URB2D,TVGL_URB3D,SMG_URB3D,TT_URB2D,CMCG_URB2D, &
FLXHUMVG_URB2D,FLXHUMT_URB2D, & !Optional urban
TRB_URB4D,TW1_URB4D,TW2_URB4D, & !Optional multi-layer urban
TGB_URB4D,TLEV_URB3D,QLEV_URB3D, & !Optional multi-layer urban
TW1LEV_URB3D,TW2LEV_URB3D, & !Optional multi-layer urban
Expand Down Expand Up @@ -639,6 +641,13 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCR_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TGR_URB2D
! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TVG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TT_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: XXXVG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMVG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMT_URB2D

! REAL, DIMENSION(ims:ime, 1:num_roof_layers, jms:jme), INTENT(INOUT) :: TRL_URB3D !urban
! REAL, DIMENSION(ims:ime, 1:num_wall_layers, jms:jme), INTENT(INOUT) :: TBL_URB3D !urban
Expand All @@ -648,6 +657,8 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
REAL, OPTIONAL, DIMENSION(ims:ime, 1:num_soil_layers, jms:jme), INTENT(INOUT) :: TGL_URB3D !urban
REAL, OPTIONAL, DIMENSION(ims:ime, 1:num_soil_layers, jms:jme), INTENT(INOUT) :: TGRL_URB3D !urban
REAL, OPTIONAL, DIMENSION(ims:ime, 1:num_soil_layers, jms:jme), INTENT(INOUT) :: SMR_URB3D !urban
REAL, OPTIONAL, DIMENSION(ims:ime, 1:num_soil_layers, jms:jme), INTENT(INOUT) :: TVGL_URB3D !urban
REAL, OPTIONAL, DIMENSION(ims:ime, 1:num_soil_layers, jms:jme), INTENT(INOUT) :: SMG_URB3D !urban

REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: SH_URB2D !urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: LH_URB2D !urban
Expand Down Expand Up @@ -1494,6 +1505,9 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
CMCR_URB2D,TGR_URB2D,TGRL_URB3D,SMR_URB3D, & !Optional urban
DRELR_URB2D,DRELB_URB2D,DRELG_URB2D, & !Optional urban
FLXHUMR_URB2D,FLXHUMB_URB2D,FLXHUMG_URB2D, & !Optional urban
! added by Chenghao Wang
TVG_URB2D,XXXVG_URB2D,TVGL_URB3D,SMG_URB3D,TT_URB2D,CMCG_URB2D, &
FLXHUMVG_URB2D,FLXHUMT_URB2D, & !Optional urban
num_urban_ndm, & !Optional multi-layer urban
urban_map_zrd, & !Optional multi-layer urban
urban_map_zwd, & !Optional multi-layer urban
Expand Down Expand Up @@ -2527,6 +2541,8 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, &
CMCR_URB2D,TGR_URB2D,TGRL_URB3D,SMR_URB3D, & !Optional urban
DRELR_URB2D,DRELB_URB2D,DRELG_URB2D, & !Optional urban
FLXHUMR_URB2D,FLXHUMB_URB2D,FLXHUMG_URB2D, & !Optional urban
TVG_URB2D,XXXVG_URB2D,TVGL_URB3D,SMG_URB3D,TT_URB2D,CMCG_URB2D, &
FLXHUMVG_URB2D,FLXHUMT_URB2D, & !Optional urban
num_urban_ndm, & !Optional multi-layer urban
urban_map_zrd, & !Optional multi-layer urban
urban_map_zwd, & !Optional multi-layer urban
Expand Down Expand Up @@ -2875,6 +2891,13 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, &
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMG_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCR_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TGR_URB2D !Optional urban
! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TVG_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TT_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: XXXVG_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCG_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMVG_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMT_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: SH_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: LH_URB2D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: G_URB2D !Optional urban
Expand All @@ -2890,6 +2913,8 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, &
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_soil_layers, jms:jme ), INTENT(INOUT) :: TGL_URB3D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_soil_layers, jms:jme ), INTENT(INOUT) :: TGRL_URB3D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_soil_layers, jms:jme ), INTENT(INOUT) :: SMR_URB3D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_soil_layers, jms:jme ), INTENT(INOUT) :: TVGL_URB3D !Optional urban
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_soil_layers, jms:jme ), INTENT(INOUT) :: SMG_URB3D !Optional urban

INTEGER , INTENT(IN) :: num_urban_ndm
INTEGER , INTENT(IN) :: urban_map_zrd
Expand Down Expand Up @@ -3335,6 +3360,8 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, &
CMCR_URB2D,TGR_URB2D,TGRL_URB3D,SMR_URB3D, & !urban
DRELR_URB2D,DRELB_URB2D,DRELG_URB2D, & !urban
FLXHUMR_URB2D, FLXHUMB_URB2D, FLXHUMG_URB2D, & !urban
TVG_URB2D,XXXVG_URB2D,TVGL_URB3D,SMG_URB3D,TT_URB2D,CMCG_URB2D, & !urban
FLXHUMVG_URB2D,FLXHUMT_URB2D, & !urban
A_U_BEP,A_V_BEP,A_T_BEP,A_Q_BEP, & !multi-layer urban
A_E_BEP,B_U_BEP,B_V_BEP, & !multi-layer urban
B_T_BEP,B_Q_BEP,B_E_BEP,DLG_BEP, & !multi-layer urban
Expand Down Expand Up @@ -3478,6 +3505,8 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, &
CMCR_URB2D,TGR_URB2D,TGRL_URB3D,SMR_URB3D, & !urban
DRELR_URB2D,DRELB_URB2D,DRELG_URB2D, & !urban
FLXHUMR_URB2D, FLXHUMB_URB2D, FLXHUMG_URB2D, & !urban
TVG_URB2D,XXXVG_URB2D,TVGL_URB3D,SMG_URB3D,TT_URB2D,CMCG_URB2D, & !urban
FLXHUMVG_URB2D,FLXHUMT_URB2D, & !urban
A_U_BEP,A_V_BEP,A_T_BEP,A_Q_BEP, & !multi-layer urban
A_E_BEP,B_U_BEP,B_V_BEP, & !multi-layer urban
B_T_BEP,B_Q_BEP,B_E_BEP,DLG_BEP, & !multi-layer urban
Expand Down
Loading