Skip to content
Merged
Changes from all commits
Commits
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
35 changes: 35 additions & 0 deletions drivers/wrf/module_sf_noahmpdrv.F
Original file line number Diff line number Diff line change
Expand Up @@ -3017,6 +3017,8 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
cmcr_urb2d, tgr_urb2d, tgrl_urb3d, smr_urb3d, & !H urban
drelr_urb2d, drelb_urb2d, drelg_urb2d, & !H urban
flxhumr_urb2d, flxhumb_urb2d, flxhumg_urb2d, & !H urban
tvg_urb2d, xxxvg_urb2d, tvgl_urb3d, smg_urb3d, tt_urb2d, & !H urban (added by Chenghao Wang)
cmcg_urb2d, flxhumvg_urb2d, flxhumt_urb2d, & !H urban (added by Chenghao Wang)
julian, julyr, & !H urban
frc_urb2d, utype_urb2d, & !I urban
chs, chs2, cqs2, & !H
Expand Down Expand Up @@ -3158,23 +3160,39 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
REAL :: FLXHUMR_URB
REAL :: FLXHUMB_URB
REAL :: FLXHUMG_URB
REAL :: TVG_URB ! added by Chenghao Wang
REAL :: TT_URB ! added by Chenghao Wang
REAL :: XXXVG_URB ! added by Chenghao Wang
REAL :: CMCG_URB ! added by Chenghao Wang
REAL :: FLXHUMVG_URB ! added by Chenghao Wang
REAL :: FLXHUMT_URB ! added by Chenghao Wang
REAL :: CMCR_URB
REAL :: TGR_URB

REAL, DIMENSION(1:num_roof_layers) :: SMR_URB ! green roof layer moisture
REAL, DIMENSION(1:num_roof_layers) :: TGRL_URB ! green roof layer temp [K]
REAL, DIMENSION(1:num_road_layers) :: TVGL_URB ! vegetated ground layer temp [K] (added by Chenghao Wang)
REAL, DIMENSION(1:num_road_layers) :: SMG_URB ! vegetated ground layer moisture (added by Chenghao Wang)

REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: DRELR_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: DRELB_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: DRELG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMR_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMB_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TVG_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TT_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: XXXVG_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCG_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMVG_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: FLXHUMT_URB2D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: CMCR_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TGR_URB2D

REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_roof_layers, jms:jme ), INTENT(INOUT) :: TGRL_URB3D
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_roof_layers, jms:jme ), INTENT(INOUT) :: SMR_URB3D
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_road_layers, jms:jme ), INTENT(INOUT) :: TVGL_URB3D ! added by Chenghao Wang
REAL, OPTIONAL, DIMENSION( ims:ime, 1:num_road_layers, jms:jme ), INTENT(INOUT) :: SMG_URB3D ! added by Chenghao Wang


! state variable surface_driver <--> lsm <--> urban
Expand Down Expand Up @@ -3422,6 +3440,12 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
FLXHUMR_URB = FLXHUMR_URB2D(I,J)
FLXHUMB_URB = FLXHUMB_URB2D(I,J)
FLXHUMG_URB = FLXHUMG_URB2D(I,J)
TVG_URB = TVG_URB2D(I,J) ! added by Chenghao Wang
TT_URB = TT_URB2D(I,J) ! added by Chenghao Wang
XXXVG_URB = XXXVG_URB2D(I,J) ! added by Chenghao Wang
CMCG_URB = CMCG_URB2D(I,J) ! added by Chenghao Wang
FLXHUMVG_URB = FLXHUMVG_URB2D(I,J)! added by Chenghao Wang
FLXHUMT_URB = FLXHUMT_URB2D(I,J) ! added by Chenghao Wang
DRELR_URB = DRELR_URB2D(I,J)
DRELB_URB = DRELB_URB2D(I,J)
DRELG_URB = DRELG_URB2D(I,J)
Expand All @@ -3438,6 +3462,8 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,

DO K = 1,num_road_layers
TGL_URB(K) = TGL_URB3D(I,K,J)
TVGL_URB(K) = TVGL_URB3D(I,K,J) ! added by Chenghao Wang
SMG_URB(K) = SMG_URB3D(I,K,J) ! added by Chenghao Wang
END DO

XXXR_URB = XXXR_URB2D(I,J)
Expand Down Expand Up @@ -3513,6 +3539,7 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
TGRL_URB, SMR_URB, CMGR_URB, CHGR_URB, jmonth, & ! H
DRELR_URB, DRELB_URB, & ! H
DRELG_URB,FLXHUMR_URB,FLXHUMB_URB,FLXHUMG_URB, &
TVG_URB,TT_URB,XXXVG_URB,TVGL_URB,SMG_URB,CMCG_URB,FLXHUMVG_URB,FLXHUMT_URB, & ! added by Chenghao Wang
lf_urb_s, z0_urb, vegfrac)

TS_URB2D(I,J) = TS_URB
Expand Down Expand Up @@ -3547,6 +3574,12 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
FLXHUMR_URB2D(I,J) = FLXHUMR_URB
FLXHUMB_URB2D(I,J) = FLXHUMB_URB
FLXHUMG_URB2D(I,J) = FLXHUMG_URB
TVG_URB2D(I,J) = TVG_URB ! added by Chenghao Wang
TT_URB2D(I,J) = TT_URB ! added by Chenghao Wang
XXXVG_URB2D(I,J) = XXXVG_URB ! added by Chenghao Wang
CMCG_URB2D(I,J) = CMCG_URB ! added by Chenghao Wang
FLXHUMVG_URB2D(I,J) = FLXHUMVG_URB! added by Chenghao Wang
FLXHUMT_URB2D(I,J) = FLXHUMT_URB ! added by Chenghao Wang
DRELR_URB2D(I,J) = DRELR_URB
DRELB_URB2D(I,J) = DRELB_URB
DRELG_URB2D(I,J) = DRELG_URB
Expand All @@ -3561,6 +3594,8 @@ SUBROUTINE noahmp_urban(sf_urban_physics, NSOIL, IVGTYP, ITIMESTEP,
END DO
DO K = 1,num_road_layers
TGL_URB3D(I,K,J) = TGL_URB(K)
TVGL_URB3D(I,K,J) = TVGL_URB(K) ! added by Chenghao Wang
SMG_URB3D(I,K,J) = SMG_URB(K) ! added by Chenghao Wang
END DO

XXXR_URB2D(I,J) = XXXR_URB
Expand Down