Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 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
4 changes: 2 additions & 2 deletions dyn_em/module_initialize_real.F
Original file line number Diff line number Diff line change
Expand Up @@ -3097,11 +3097,11 @@ SUBROUTINE init_domain_rk ( grid &
(grid%ivgtyp(i,j).NE.13 .AND. grid%ivgtyp(i,j).NE.24 .AND. grid%ivgtyp(i,j).NE.25 .AND. grid%ivgtyp(i,j).NE.26 .AND. grid%ivgtyp(i,j).LT.30)) grid%ivgtyp(i,j)=13
ELSE IF ( MMINLU == "USGS" ) THEN
IF ( grid%FRC_URB2D(i,j) .GE. 0.5 .AND. &
grid%ivgtyp(i,j).NE.1 ) grid%ivgtyp(i,j)=1
grid%ivgtyp(i,j).NE.1 .AND. grid%ivgtyp(i,j).LT.30) grid%ivgtyp(i,j)=1
ENDIF

IF ( grid%FRC_URB2D(i,j) == 0. ) THEN
IF ( (MMINLU == 'NLCD40' .OR. MMINLU == 'MODIFIED_IGBP_MODIS_NOAH') .AND. &
IF ( (MMINLU == 'NLCD40') .AND. &
(grid%ivgtyp(i,j)==24 .OR. grid%ivgtyp(i,j)==25 .OR. grid%ivgtyp(i,j)==26 .OR. grid%ivgtyp(i,j)==13) ) grid%FRC_URB2D(i,j) = 0.9
IF ( MMINLU == 'USGS' .AND. grid%ivgtyp(i,j)==1 ) grid%FRC_URB2D(i,j) = 0.9
ENDIF
Expand Down
2 changes: 1 addition & 1 deletion phys/module_sf_bep_bem.F
Original file line number Diff line number Diff line change
Expand Up @@ -1597,7 +1597,7 @@ subroutine BEP1D(itimestep,ix,iy,iurb,kms,kme,kts,kte,z,dt,ua,va,pt,da,pr,pt0,



do iz=1,nz_um !Compute the outdoor temperature
do iz=1,nzu !Compute the outdoor temperature
tmp_u(iz)=pt_u(iz)*(pr_u(iz)/p0)**(rcp_u)
end do

Expand Down
33 changes: 33 additions & 0 deletions phys/module_sf_noahdrv.F
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@ SUBROUTINE lsm(DZ8W,QV3D,P8W3D,T3D,TSK, &
!Optional Urban
TR_URB2D,TB_URB2D,TG_URB2D,TC_URB2D,QC_URB2D, & !H urban
UC_URB2D, & !H urban
!CORDEX
T2G_URB2D,T2R_URB2D,T2VEG_URB2D, &
TCAN_URB2D,UCAN_URB2D,QCAN_URB2D, &
TGROUND_URB2D,TROOF_URB2D, &
!CORDEX
XXXR_URB2D,XXXB_URB2D,XXXG_URB2D,XXXC_URB2D, & !H urban
TRL_URB3D,TBL_URB3D,TGL_URB3D, & !H urban
SH_URB2D,LH_URB2D,G_URB2D,RN_URB2D,TS_URB2D, & !H urban
Expand Down Expand Up @@ -535,6 +540,16 @@ SUBROUTINE lsm(DZ8W,QV3D,P8W3D,T3D,TSK, &
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TB_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TC_URB2D
!CORDEX
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: T2G_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: T2R_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: T2VEG_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TCAN_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: UCAN_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: QCAN_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TGROUND_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: TROOF_URB2D
!CORDEX
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: QC_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: UC_URB2D
REAL, OPTIONAL, DIMENSION( ims:ime, jms:jme ), INTENT(INOUT) :: XXXR_URB2D
Expand Down Expand Up @@ -686,6 +701,9 @@ SUBROUTINE lsm(DZ8W,QV3D,P8W3D,T3D,TSK, &
REAL :: CMR_URB, CHR_URB, CMC_URB, CHC_URB, CMGR_URB, CHGR_URB
REAL :: frc_urb,lb_urb
REAL :: check
!CORDEX
real aa_veg,a2_veg,ptg_rur,zhalf
!CORDEX
! ----------------------------------------------------------------------
! DECLARATIONS END - urban
! ----------------------------------------------------------------------
Expand Down Expand Up @@ -1658,6 +1676,10 @@ SUBROUTINE lsm(DZ8W,QV3D,P8W3D,T3D,TSK, &
b_t_bep,b_e_bep,b_q_bep,dlg_bep, &
dl_u_bep,sf_bep,vl_bep, &
rl_up_urb,rs_abs_urb,emiss_urb,grdflx_urb,qv3d, &
!CORDEX
tground_urb2d,troof_urb2d,tcan_urb2d, &
t2g_urb2d,t2r_urb2d,ucan_urb2d,qcan_urb2d, &
!CORDEX
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
Expand Down Expand Up @@ -1752,6 +1774,17 @@ SUBROUTINE lsm(DZ8W,QV3D,P8W3D,T3D,TSK, &
! print*,'ust',ust(i,j)
! print*,'swdown,glw',swdown(i,j),glw(i,j)
! endif
!CORDEX here I do a simple log interpolation between the surface temperature of the vegetated frction, tsk_rural, and the lowest
!model level value of temperature
zhalf=dz8w(i,1,j)/2.
aa_veg=0.4/alog(zhalf/znt(i,j))
a2_veg=0.4/alog(2./znt(i,j))
ptg_rur=tsk_rural(i,j)*(1.e5/p_phy(i,1,j))**0.286
t2veg_urb2d(i,j)=(1.-aa_veg/a2_veg)*ptg_rur+aa_veg/a2_veg*th_phy(i,1,j)
t2veg_urb2d(i,j)=t2veg_urb2d(i,j)*(p_phy(i,1,j)/1.e5)**0.286


!CORDEX
else
SH_URB2D(I,J) = 0.
LH_URB2D(I,J) = 0.
Expand Down
4 changes: 2 additions & 2 deletions phys/module_sf_sfclay.F
Original file line number Diff line number Diff line change
Expand Up @@ -892,7 +892,7 @@ SUBROUTINE SFCLAY1D(J,UX,VX,T1D,QV1D,P1D,dz8w1d, &
!
DO 370 I=its,ite
QFX(I)=FLQC(I)*(QSFC(I)-QX(I))
QFX(I)=AMAX1(QFX(I),0.)
! QFX(I)=AMAX1(QFX(I),0.)
LH(I)=XLV*QFX(I)
370 CONTINUE

Expand All @@ -910,7 +910,7 @@ SUBROUTINE SFCLAY1D(J,UX,VX,T1D,QV1D,P1D,dz8w1d, &
! ENDIF
ELSEIF(XLAND(I)-1.5.LT.0.)THEN
HFX(I)=FLHC(I)*(THGB(I)-THX(I))
HFX(I)=AMAX1(HFX(I),-250.)
! HFX(I)=AMAX1(HFX(I),-250.)
ENDIF
400 CONTINUE

Expand Down
4 changes: 2 additions & 2 deletions phys/module_sf_sfclayrev.F
Original file line number Diff line number Diff line change
Expand Up @@ -1041,7 +1041,7 @@ SUBROUTINE SFCLAYREV1D(J,UX,VX,T1D,QV1D,P1D,dz8w1d, &

DO 370 I=its,ite
QFX(I)=FLQC(I)*(QSFC(I)-QX(I))
QFX(I)=AMAX1(QFX(I),0.)
! QFX(I)=AMAX1(QFX(I),0.)
LH(I)=XLV*QFX(I)
370 CONTINUE

Expand All @@ -1059,7 +1059,7 @@ SUBROUTINE SFCLAYREV1D(J,UX,VX,T1D,QV1D,P1D,dz8w1d, &
! ENDIF
ELSEIF(XLAND(I)-1.5.LT.0.)THEN
HFX(I)=FLHC(I)*(THGB(I)-THX(I))
HFX(I)=AMAX1(HFX(I),-250.)
! HFX(I)=AMAX1(HFX(I),-250.)
ENDIF
400 CONTINUE

Expand Down
4 changes: 2 additions & 2 deletions phys/module_sf_urban.F
Original file line number Diff line number Diff line change
Expand Up @@ -1297,7 +1297,7 @@ SUBROUTINE urban(LSOLAR, & ! L
RB2=EPSB*( (1.-EPSG)*VFWG*VFGS*RX &
+(1.-EPSG)*EPSB*VFGW*VFWG*SIG*(TBP**4.)/60. &
+(1.-EPSB)*VFWS*(1.-2.*VFWS)*RX &
+(1.-EPSB)*VFWG*(1.-2.*VFWS)*EPSG*SIG*EPSG*TGP**4./60. &
+(1.-EPSB)*VFWG*(1.-2.*VFWS)*SIG*EPSG*TGP**4./60. &
+EPSB*(1.-EPSB)*(1.-2.*VFWS)*(1.-2.*VFWS)*SIG*TBP**4./60. )

RG=RG1+RG2
Expand Down Expand Up @@ -1416,7 +1416,7 @@ SUBROUTINE urban(LSOLAR, & ! L
RB2=EPSB*( (1.-EPSG)*VFWG*VFGS*RX &
+(1.-EPSG)*EPSB*VFGW*VFWG*SIG*(TBP**4.)/60. &
+(1.-EPSB)*VFWS*(1.-2.*VFWS)*RX &
+(1.-EPSB)*VFWG*(1.-2.*VFWS)*EPSG*SIG*EPSG*TGP**4./60. &
+(1.-EPSB)*VFWG*(1.-2.*VFWS)*SIG*EPSG*TGP**4./60. &
+EPSB*(1.-EPSB)*(1.-2.*VFWS)*(1.-2.*VFWS)*SIG*TBP**4./60. )

RG=RG1+RG2
Expand Down
Loading