diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py
index 771e53b04..8fbaae737 100755
--- a/ccpp/config/ccpp_prebuild_config.py
+++ b/ccpp/config/ccpp_prebuild_config.py
@@ -180,8 +180,6 @@
'physics/physics/sfc_cice.f',
'physics/physics/sfc_diff.f',
'physics/physics/sfc_drv.f',
- 'physics/physics/sfc_noah_wrfv4_interstitial.F90',
- 'physics/physics/sfc_noah_wrfv4.F90',
'physics/physics/sfc_noahmp_drv.F90',
'physics/physics/flake_driver.F90',
'physics/physics/sfc_nst.f',
diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90
index 5a6ee2898..7067b6431 100644
--- a/ccpp/data/GFS_typedefs.F90
+++ b/ccpp/data/GFS_typedefs.F90
@@ -242,7 +242,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: weasdl (:) => null() !< weasd over land
real (kind=kind_phys), pointer :: snodi (:) => null() !< snow depth over ice
real (kind=kind_phys), pointer :: weasdi (:) => null() !< weasd over ice
-! real (kind=kind_phys), pointer :: hprim (:) => null() !< topographic standard deviation in m
real (kind=kind_phys), pointer :: hprime (:,:) => null() !< orographic metrics
real (kind=kind_phys), pointer :: z0base (:) => null() !< background or baseline surface roughness length in m
real (kind=kind_phys), pointer :: semisbase(:) => null() !< background surface emissivity
@@ -348,9 +347,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: smoiseq (:,:) => null() !<
real (kind=kind_phys), pointer :: zsnsoxy (:,:) => null() !<
-! -- In/Out for HWRF NOAH LSM
- real (kind=kind_phys), pointer :: snotime (:) => null()
-
!--- NSSTM variables (only allocated when [Model%nstf_name(1) > 0])
real (kind=kind_phys), pointer :: tref (:) => null() !< nst_fld%Tref - Reference Temperature
real (kind=kind_phys), pointer :: z_c (:) => null() !< nst_fld%z_c - Sub layer cooling thickness
@@ -841,7 +837,6 @@ module GFS_typedefs
integer :: lsm_noah=1 !< flag for NOAH land surface model
integer :: lsm_noahmp=2 !< flag for NOAH land surface model
integer :: lsm_ruc=3 !< flag for RUC land surface model
- integer :: lsm_noah_wrfv4 = 4 !< flag for NOAH land surface from WRF v4.0
integer :: lsoil !< number of soil layers
integer :: ivegsrc !< ivegsrc = 0 => USGS,
!< ivegsrc = 1 => IGBP (20 category)
@@ -1812,7 +1807,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: alb1d(:) => null() !<
real (kind=kind_phys), pointer :: alpha(:,:) => null() !<
real (kind=kind_phys), pointer :: bexp1d(:) => null() !<
- real (kind=kind_phys), pointer :: canopy_save(:) => null() !<
real (kind=kind_phys), pointer :: cd(:) => null() !<
real (kind=kind_phys), pointer :: cd_ice(:) => null() !<
real (kind=kind_phys), pointer :: cd_land(:) => null() !<
@@ -1825,7 +1819,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: chh_ice(:) => null() !<
real (kind=kind_phys), pointer :: chh_land(:) => null() !<
real (kind=kind_phys), pointer :: chh_water(:) => null() !<
- real (kind=kind_phys), pointer :: chk_land(:) => null() !<
real (kind=kind_phys), pointer :: clcn(:,:) => null() !<
real (kind=kind_phys), pointer :: cldf(:) => null() !<
real (kind=kind_phys), pointer :: cldsa(:,:) => null() !<
@@ -1835,7 +1828,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: clouds(:,:,:) => null() !<
real (kind=kind_phys), pointer :: clw(:,:,:) => null() !<
real (kind=kind_phys), pointer :: clx(:,:) => null() !<
- real (kind=kind_phys), pointer :: cmc(:) => null() !<
real (kind=kind_phys), pointer :: cmm_ice(:) => null() !<
real (kind=kind_phys), pointer :: cmm_land(:) => null() !<
real (kind=kind_phys), pointer :: cmm_water(:) => null() !<
@@ -1856,10 +1848,8 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: delr(:,:) => null() !<
real (kind=kind_phys), pointer :: dlength(:) => null() !<
real (kind=kind_phys), pointer :: dqdt(:,:,:) => null() !<
- real (kind=kind_phys), pointer :: dqsdt2(:) => null() !<
real (kind=kind_phys), pointer :: dqsfc1(:) => null() !<
real (kind=kind_phys), pointer :: drain(:) => null() !<
- real (kind=kind_phys), pointer :: drain_in_m_sm1(:) => null() !<
real (kind=kind_phys), pointer :: dtdt(:,:) => null() !<
real (kind=kind_phys), pointer :: dtsfc1(:) => null() !<
real (kind=kind_phys), pointer :: dtzm(:) => null() !<
@@ -1894,8 +1884,6 @@ module GFS_typedefs
logical, pointer :: flag_cice(:) => null() !<
logical, pointer :: flag_guess(:) => null() !<
logical, pointer :: flag_iter(:) => null() !<
- logical, pointer :: flag_lsm(:) => null() !<
- logical, pointer :: flag_lsm_glacier(:)=> null() !<
real (kind=kind_phys), pointer :: ffmm_ice(:) => null() !<
real (kind=kind_phys), pointer :: ffmm_land(:) => null() !<
real (kind=kind_phys), pointer :: ffmm_water(:) => null() !<
@@ -2001,8 +1989,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: qss_ice(:) => null() !<
real (kind=kind_phys), pointer :: qss_land(:) => null() !<
real (kind=kind_phys), pointer :: qss_water(:) => null() !<
- real (kind=kind_phys), pointer :: qs1(:) => null() !<
- real (kind=kind_phys), pointer :: qv1(:) => null() !<
logical :: radar_reset !<
real (kind=kind_phys) :: raddt !<
real (kind=kind_phys), pointer :: rainmp(:) => null() !<
@@ -2017,9 +2003,7 @@ module GFS_typedefs
logical :: max_hourly_reset !<
logical :: ext_diag_thompson_reset !<
real (kind=kind_phys), pointer :: rhc(:,:) => null() !<
- real (kind=kind_phys), pointer :: rho1(:) => null() !<
real (kind=kind_phys), pointer :: runoff(:) => null() !<
- real (kind=kind_phys), pointer :: runoff_in_m_sm1(:) => null() !<
real (kind=kind_phys), pointer :: save_q(:,:,:) => null() !<
real (kind=kind_phys), pointer :: save_t(:,:) => null() !<
real (kind=kind_phys), pointer :: save_tcp(:,:) => null() !<
@@ -2034,34 +2018,21 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: sigmafrac(:,:) => null() !<
real (kind=kind_phys), pointer :: sigmatot(:,:) => null() !<
logical :: skip_macro !<
- real (kind=kind_phys), pointer :: slc_save(:,:) => null() !<
- real (kind=kind_phys), pointer :: smcmax(:) => null() !<
- real (kind=kind_phys), pointer :: smc_save(:,:) => null() !<
real (kind=kind_phys), pointer :: snowc(:) => null() !<
-! real (kind=kind_phys), pointer :: snowd_ice(:) => null() !<
- real (kind=kind_phys), pointer :: snowd_land_save(:) => null() !<
- real (kind=kind_phys), pointer :: snow_depth(:) => null() !<
real (kind=kind_phys), pointer :: snohf(:) => null() !<
- real (kind=kind_phys), pointer :: snohf_snow(:) => null() !<
- real (kind=kind_phys), pointer :: snohf_frzgra(:) => null() !<
- real (kind=kind_phys), pointer :: snohf_snowmelt(:) => null() !<
real (kind=kind_phys), pointer :: snowmp(:) => null() !<
real (kind=kind_phys), pointer :: snowmt(:) => null() !<
- real (kind=kind_phys), pointer :: soilm_in_m(:) => null() !<
- real (kind=kind_phys), pointer :: stc_save(:,:) => null() !<
real (kind=kind_phys), pointer :: stress(:) => null() !<
real (kind=kind_phys), pointer :: stress_ice(:) => null() !<
real (kind=kind_phys), pointer :: stress_land(:) => null() !<
real (kind=kind_phys), pointer :: stress_water(:) => null() !<
real (kind=kind_phys), pointer :: t2mmp(:) => null() !<
real (kind=kind_phys), pointer :: theta(:) => null() !<
- real (kind=kind_phys), pointer :: th1(:) => null() !<
real (kind=kind_phys), pointer :: tlvl(:,:) => null() !<
real (kind=kind_phys), pointer :: tlyr(:,:) => null() !<
real (kind=kind_phys), pointer :: tprcp_ice(:) => null() !<
real (kind=kind_phys), pointer :: tprcp_land(:) => null() !<
real (kind=kind_phys), pointer :: tprcp_water(:) => null() !<
- real (kind=kind_phys), pointer :: tprcp_rate_land(:) => null() !<
integer :: tracers_start_index !<
integer :: tracers_total !<
integer :: tracers_water !<
@@ -2069,8 +2040,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: trans(:) => null() !<
real (kind=kind_phys), pointer :: tseal(:) => null() !<
real (kind=kind_phys), pointer :: tsfa(:) => null() !<
-! real (kind=kind_phys), pointer :: tsfc_ice(:) => null() !<
- real (kind=kind_phys), pointer :: tsfc_land_save(:) => null() !<
real (kind=kind_phys), pointer :: tsfc_water(:) => null() !<
real (kind=kind_phys), pointer :: tsfg(:) => null() !<
real (kind=kind_phys), pointer :: tsurf_ice(:) => null() !<
@@ -2086,10 +2055,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: w_upi(:,:) => null() !<
real (kind=kind_phys), pointer :: wcbmax(:) => null() !<
-! real (kind=kind_phys), pointer :: weasd_water(:) => null() !<
-! real (kind=kind_phys), pointer :: weasd_land(:) => null() !<
- real (kind=kind_phys), pointer :: weasd_land_save(:) => null() !<
-! real (kind=kind_phys), pointer :: weasd_ice(:) => null() !<
real (kind=kind_phys), pointer :: wind(:) => null() !<
real (kind=kind_phys), pointer :: work1(:) => null() !<
real (kind=kind_phys), pointer :: work2(:) => null() !<
@@ -2354,7 +2319,6 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
allocate (Sfcprop%weasdl (IM))
allocate (Sfcprop%snodi (IM))
allocate (Sfcprop%weasdi (IM))
-! allocate (Sfcprop%hprim (IM))
allocate (Sfcprop%hprime (IM,Model%nmtvr))
allocate(Sfcprop%albdirvis_lnd (IM))
allocate(Sfcprop%albdirnir_lnd (IM))
@@ -2384,7 +2348,6 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
Sfcprop%weasdl = clear_val
Sfcprop%snodi = clear_val
Sfcprop%weasdi = clear_val
-! Sfcprop%hprim = clear_val
Sfcprop%hprime = clear_val
Sfcprop%albdirvis_lnd = clear_val
Sfcprop%albdirnir_lnd = clear_val
@@ -2458,7 +2421,6 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
allocate (Sfcprop%albdifvis_ice (IM))
allocate (Sfcprop%albdirnir_ice (IM))
allocate (Sfcprop%albdifnir_ice (IM))
-! allocate (Sfcprop%sfalb_ice (IM))
endif
if (Model%lsm == Model%lsm_ruc) then
allocate (Sfcprop%sfalb_lnd (IM))
@@ -2484,7 +2446,6 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
Sfcprop%albdifvis_ice = clear_val
Sfcprop%albdirnir_ice = clear_val
Sfcprop%albdifnir_ice = clear_val
-! Sfcprop%sfalb_ice = clear_val
endif
if (Model%lsm == Model%lsm_ruc) then
Sfcprop%sfalb_lnd = clear_val
@@ -2566,106 +2527,98 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
!
if (Model%lsm == Model%lsm_noahmp ) then
- allocate (Sfcprop%snowxy (IM))
- allocate (Sfcprop%tvxy (IM))
- allocate (Sfcprop%tgxy (IM))
- allocate (Sfcprop%canicexy (IM))
- allocate (Sfcprop%canliqxy (IM))
- allocate (Sfcprop%eahxy (IM))
- allocate (Sfcprop%tahxy (IM))
- allocate (Sfcprop%cmxy (IM))
- allocate (Sfcprop%chxy (IM))
- allocate (Sfcprop%fwetxy (IM))
- allocate (Sfcprop%sneqvoxy (IM))
- allocate (Sfcprop%alboldxy (IM))
- allocate (Sfcprop%qsnowxy (IM))
- allocate (Sfcprop%wslakexy (IM))
- allocate (Sfcprop%zwtxy (IM))
- allocate (Sfcprop%waxy (IM))
- allocate (Sfcprop%wtxy (IM))
- allocate (Sfcprop%lfmassxy (IM))
- allocate (Sfcprop%rtmassxy (IM))
- allocate (Sfcprop%stmassxy (IM))
- allocate (Sfcprop%woodxy (IM))
- allocate (Sfcprop%stblcpxy (IM))
- allocate (Sfcprop%fastcpxy (IM))
- allocate (Sfcprop%xsaixy (IM))
- allocate (Sfcprop%xlaixy (IM))
- allocate (Sfcprop%taussxy (IM))
- allocate (Sfcprop%smcwtdxy (IM))
- allocate (Sfcprop%deeprechxy (IM))
- allocate (Sfcprop%rechxy (IM))
- allocate (Sfcprop%snicexy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
- allocate (Sfcprop%snliqxy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
- allocate (Sfcprop%tsnoxy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
- allocate (Sfcprop%smoiseq (IM, Model%lsoil_lsm))
- allocate (Sfcprop%zsnsoxy (IM, Model%lsnow_lsm_lbound:Model%lsoil_lsm))
-
- Sfcprop%snowxy = clear_val
- Sfcprop%tvxy = clear_val
- Sfcprop%tgxy = clear_val
- Sfcprop%canicexy = clear_val
- Sfcprop%canliqxy = clear_val
- Sfcprop%eahxy = clear_val
- Sfcprop%tahxy = clear_val
- Sfcprop%cmxy = clear_val
- Sfcprop%chxy = clear_val
- Sfcprop%fwetxy = clear_val
- Sfcprop%sneqvoxy = clear_val
- Sfcprop%alboldxy = clear_val
- Sfcprop%qsnowxy = clear_val
- Sfcprop%wslakexy = clear_val
- Sfcprop%zwtxy = clear_val
- Sfcprop%waxy = clear_val
- Sfcprop%wtxy = clear_val
- Sfcprop%lfmassxy = clear_val
- Sfcprop%rtmassxy = clear_val
- Sfcprop%stmassxy = clear_val
- Sfcprop%woodxy = clear_val
- Sfcprop%stblcpxy = clear_val
- Sfcprop%fastcpxy = clear_val
- Sfcprop%xsaixy = clear_val
- Sfcprop%xlaixy = clear_val
- Sfcprop%taussxy = clear_val
- Sfcprop%smcwtdxy = clear_val
- Sfcprop%deeprechxy = clear_val
- Sfcprop%rechxy = clear_val
-
- Sfcprop%snicexy = clear_val
- Sfcprop%snliqxy = clear_val
- Sfcprop%tsnoxy = clear_val
- Sfcprop%smoiseq = clear_val
- Sfcprop%zsnsoxy = clear_val
-
- allocate(Sfcprop%draincprv (IM))
- allocate(Sfcprop%drainncprv (IM))
- allocate(Sfcprop%diceprv (IM))
- allocate(Sfcprop%dsnowprv (IM))
- allocate(Sfcprop%dgraupelprv(IM))
-
- Sfcprop%draincprv = clear_val
- Sfcprop%drainncprv = clear_val
- Sfcprop%diceprv = clear_val
- Sfcprop%dsnowprv = clear_val
- Sfcprop%dgraupelprv = clear_val
-
- endif
+ allocate (Sfcprop%snowxy (IM))
+ allocate (Sfcprop%tvxy (IM))
+ allocate (Sfcprop%tgxy (IM))
+ allocate (Sfcprop%canicexy (IM))
+ allocate (Sfcprop%canliqxy (IM))
+ allocate (Sfcprop%eahxy (IM))
+ allocate (Sfcprop%tahxy (IM))
+ allocate (Sfcprop%cmxy (IM))
+ allocate (Sfcprop%chxy (IM))
+ allocate (Sfcprop%fwetxy (IM))
+ allocate (Sfcprop%sneqvoxy (IM))
+ allocate (Sfcprop%alboldxy (IM))
+ allocate (Sfcprop%qsnowxy (IM))
+ allocate (Sfcprop%wslakexy (IM))
+ allocate (Sfcprop%zwtxy (IM))
+ allocate (Sfcprop%waxy (IM))
+ allocate (Sfcprop%wtxy (IM))
+ allocate (Sfcprop%lfmassxy (IM))
+ allocate (Sfcprop%rtmassxy (IM))
+ allocate (Sfcprop%stmassxy (IM))
+ allocate (Sfcprop%woodxy (IM))
+ allocate (Sfcprop%stblcpxy (IM))
+ allocate (Sfcprop%fastcpxy (IM))
+ allocate (Sfcprop%xsaixy (IM))
+ allocate (Sfcprop%xlaixy (IM))
+ allocate (Sfcprop%taussxy (IM))
+ allocate (Sfcprop%smcwtdxy (IM))
+ allocate (Sfcprop%deeprechxy (IM))
+ allocate (Sfcprop%rechxy (IM))
+ allocate (Sfcprop%snicexy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
+ allocate (Sfcprop%snliqxy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
+ allocate (Sfcprop%tsnoxy (IM, Model%lsnow_lsm_lbound:Model%lsnow_lsm_ubound))
+ allocate (Sfcprop%smoiseq (IM, Model%lsoil_lsm))
+ allocate (Sfcprop%zsnsoxy (IM, Model%lsnow_lsm_lbound:Model%lsoil_lsm))
+
+ Sfcprop%snowxy = clear_val
+ Sfcprop%tvxy = clear_val
+ Sfcprop%tgxy = clear_val
+ Sfcprop%canicexy = clear_val
+ Sfcprop%canliqxy = clear_val
+ Sfcprop%eahxy = clear_val
+ Sfcprop%tahxy = clear_val
+ Sfcprop%cmxy = clear_val
+ Sfcprop%chxy = clear_val
+ Sfcprop%fwetxy = clear_val
+ Sfcprop%sneqvoxy = clear_val
+ Sfcprop%alboldxy = clear_val
+ Sfcprop%qsnowxy = clear_val
+ Sfcprop%wslakexy = clear_val
+ Sfcprop%zwtxy = clear_val
+ Sfcprop%waxy = clear_val
+ Sfcprop%wtxy = clear_val
+ Sfcprop%lfmassxy = clear_val
+ Sfcprop%rtmassxy = clear_val
+ Sfcprop%stmassxy = clear_val
+ Sfcprop%woodxy = clear_val
+ Sfcprop%stblcpxy = clear_val
+ Sfcprop%fastcpxy = clear_val
+ Sfcprop%xsaixy = clear_val
+ Sfcprop%xlaixy = clear_val
+ Sfcprop%taussxy = clear_val
+ Sfcprop%smcwtdxy = clear_val
+ Sfcprop%deeprechxy = clear_val
+ Sfcprop%rechxy = clear_val
+
+ Sfcprop%snicexy = clear_val
+ Sfcprop%snliqxy = clear_val
+ Sfcprop%tsnoxy = clear_val
+ Sfcprop%smoiseq = clear_val
+ Sfcprop%zsnsoxy = clear_val
+
+ allocate(Sfcprop%draincprv (IM))
+ allocate(Sfcprop%drainncprv (IM))
+ allocate(Sfcprop%diceprv (IM))
+ allocate(Sfcprop%dsnowprv (IM))
+ allocate(Sfcprop%dgraupelprv(IM))
+
+ Sfcprop%draincprv = clear_val
+ Sfcprop%drainncprv = clear_val
+ Sfcprop%diceprv = clear_val
+ Sfcprop%dsnowprv = clear_val
+ Sfcprop%dgraupelprv = clear_val
- ! HWRF NOAH LSM allocate and init when used
- !
- if (Model%lsm == Model%lsm_noah_wrfv4 ) then
- allocate(Sfcprop%snotime(IM))
- Sfcprop%snotime = clear_val
- end if
+ endif
- if (Model%do_myjsfc.or.Model%do_myjpbl.or.(Model%lsm == Model%lsm_noah_wrfv4)) then
+ if (Model%do_myjsfc .or. Model%do_myjpbl) then
allocate(Sfcprop%z0base(IM))
Sfcprop%z0base = clear_val
end if
- !if (Model%lsm == Model%lsm_noah_wrfv4 .or. Model%lsm == Model%lsm_ruc) then
- allocate(Sfcprop%semisbase(IM))
- Sfcprop%semisbase = clear_val
- !end if
+
+ allocate(Sfcprop%semisbase(IM))
+ Sfcprop%semisbase = clear_val
if (Model%lsm == Model%lsm_ruc) then
! For land surface models with different numbers of levels than the four NOAH levels
@@ -4102,11 +4055,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%lsm = lsm
Model%lsoil = lsoil
- ! Consistency check for HWRF Noah LSM
- if (Model%lsm == Model%lsm_noah_wrfv4 .and. Model%nscyc>0) then
- write(0,*) 'Logic error: NOAH WRFv4 LSM cannot be used with surface data cycling at this point (fhcyc>0)'
- stop
- end if
! Flag to read leaf area index from input files (initial conditions)
Model%rdlai = rdlai
if (Model%rdlai .and. .not. Model%lsm == Model%lsm_ruc) then
@@ -4134,18 +4082,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
end if
Model%zs = (/-0.1_kind_phys, -0.4_kind_phys, -1.0_kind_phys, -2.0_kind_phys/)
Model%dzs = (/ 0.1_kind_phys, 0.3_kind_phys, 0.6_kind_phys, 1.0_kind_phys/)
- elseif (Model%lsm==Model%lsm_ruc .or. Model%lsm==Model%lsm_noah_wrfv4) then
+ elseif (Model%lsm==Model%lsm_ruc) then
Model%zs = clear_val
Model%dzs = clear_val
end if
! *DH
- if (Model%lsm==Model%lsm_noah_wrfv4) then
- if (Model%lsoil_lsm/=4) then
- write(0,*) 'Error in GFS_typedefs.F90, number of soil layers must be 4 for Noah_WRFv4'
- stop
- end if
- elseif (Model%lsm==Model%lsm_ruc) then
+ if (Model%lsm==Model%lsm_ruc) then
if (Model%lsoil_lsm/=9) then
write(0,*) 'Error in GFS_typedefs.F90, number of soil layers must be 9 for RUC'
stop
@@ -4155,7 +4098,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
! Set number of ice model layers
Model%kice = kice
- if (Model%lsm==Model%lsm_noah .or. Model%lsm==Model%lsm_noahmp .or. Model%lsm==Model%lsm_noah_wrfv4) then
+ if (Model%lsm==Model%lsm_noah .or. Model%lsm==Model%lsm_noahmp) then
if (kice/=2) then
write(0,*) 'Error in GFS_typedefs.F90, number of ice model layers must be 2 for Noah/NoahMP/Noah_WRFv4'
stop
@@ -4938,8 +4881,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
print *,'iopt_stc = ', Model%iopt_stc
elseif (Model%lsm == Model%lsm_ruc) then
print *,' RUC Land Surface Model used'
- elseif (Model%lsm == Model%lsm_noah_wrfv4) then
- print *,' NOAH WRFv4 Land Surface Model used'
else
print *,' Unsupported LSM type - job aborted - lsm=',Model%lsm
stop
@@ -7136,7 +7077,6 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%sigmafrac (IM,Model%levs))
allocate (Interstitial%sigmatot (IM,Model%levs))
allocate (Interstitial%snowc (IM))
-! allocate (Interstitial%snowd_ice (IM))
allocate (Interstitial%snohf (IM))
allocate (Interstitial%snowmt (IM))
allocate (Interstitial%stress (IM))
@@ -7152,7 +7092,6 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%trans (IM))
allocate (Interstitial%tseal (IM))
allocate (Interstitial%tsfa (IM))
-! allocate (Interstitial%tsfc_ice (IM))
allocate (Interstitial%tsfc_water (IM))
allocate (Interstitial%tsfg (IM))
allocate (Interstitial%tsurf_ice (IM))
@@ -7165,9 +7104,6 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%vdftra (IM,Model%levs,Interstitial%nvdiff)) !GJF first dimension was set as 'IX' in GFS_physics_driver
allocate (Interstitial%vegf1d (IM))
allocate (Interstitial%wcbmax (IM))
-! allocate (Interstitial%weasd_ice (IM))
-! allocate (Interstitial%weasd_land (IM))
-! allocate (Interstitial%weasd_water (IM))
allocate (Interstitial%wind (IM))
allocate (Interstitial%work1 (IM))
allocate (Interstitial%work2 (IM))
@@ -7365,33 +7301,6 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%t2mmp (IM))
allocate (Interstitial%q2mp (IM))
end if
- if (Model%lsm == Model%lsm_noah_wrfv4) then
- allocate (Interstitial%canopy_save (IM))
- allocate (Interstitial%chk_land (IM))
- allocate (Interstitial%cmc (IM))
- allocate (Interstitial%dqsdt2 (IM))
- allocate (Interstitial%drain_in_m_sm1 (IM))
- allocate (Interstitial%flag_lsm (IM))
- allocate (Interstitial%flag_lsm_glacier(IM))
- allocate (Interstitial%qs1 (IM))
- allocate (Interstitial%qv1 (IM))
- allocate (Interstitial%rho1 (IM))
- allocate (Interstitial%runoff_in_m_sm1 (IM))
- allocate (Interstitial%slc_save (IM,Model%lsoil))
- allocate (Interstitial%smcmax (IM))
- allocate (Interstitial%smc_save (IM,Model%lsoil))
- allocate (Interstitial%snowd_land_save (IM))
- allocate (Interstitial%snow_depth (IM))
- allocate (Interstitial%snohf_snow (IM))
- allocate (Interstitial%snohf_frzgra (IM))
- allocate (Interstitial%snohf_snowmelt (IM))
- allocate (Interstitial%soilm_in_m (IM))
- allocate (Interstitial%stc_save (IM,Model%lsoil))
- allocate (Interstitial%th1 (IM))
- allocate (Interstitial%tprcp_rate_land (IM))
- allocate (Interstitial%tsfc_land_save (IM))
- allocate (Interstitial%weasd_land_save (IM))
- end if
!
! Set components that do not change
Interstitial%frain = Model%dtf/Model%dtp
@@ -7833,7 +7742,6 @@ subroutine interstitial_phys_reset (Interstitial, Model)
Interstitial%sigmafrac = clear_val
Interstitial%sigmatot = clear_val
Interstitial%snowc = clear_val
-! Interstitial%snowd_ice = Model%huge
Interstitial%snohf = clear_val
Interstitial%snowmt = clear_val
Interstitial%stress = clear_val
@@ -7846,7 +7754,6 @@ subroutine interstitial_phys_reset (Interstitial, Model)
Interstitial%tprcp_water = Model%huge
Interstitial%trans = clear_val
Interstitial%tseal = clear_val
-! Interstitial%tsfc_ice = Model%huge
Interstitial%tsfc_water = Model%huge
Interstitial%tsurf_ice = Model%huge
Interstitial%tsurf_land = Model%huge
@@ -7859,9 +7766,6 @@ subroutine interstitial_phys_reset (Interstitial, Model)
Interstitial%vegf1d = clear_val
Interstitial%lndp_vgf = clear_val
Interstitial%wcbmax = clear_val
-! Interstitial%weasd_ice = Model%huge
-! Interstitial%weasd_land = Model%huge
-! Interstitial%weasd_water = Model%huge
Interstitial%wind = Model%huge
Interstitial%work1 = clear_val
Interstitial%work2 = clear_val
@@ -7942,33 +7846,6 @@ subroutine interstitial_phys_reset (Interstitial, Model)
Interstitial%t2mmp = clear_val
Interstitial%q2mp = clear_val
end if
- if (Model%lsm == Model%lsm_noah_wrfv4) then
- Interstitial%canopy_save = clear_val
- Interstitial%chk_land = Model%huge
- Interstitial%cmc = clear_val
- Interstitial%dqsdt2 = clear_val
- Interstitial%drain_in_m_sm1 = clear_val
- Interstitial%flag_lsm = .false.
- Interstitial%flag_lsm_glacier= .false.
- Interstitial%qs1 = Model%huge
- Interstitial%qv1 = Model%huge
- Interstitial%rho1 = clear_val
- Interstitial%runoff_in_m_sm1 = clear_val
- Interstitial%slc_save = clear_val
- Interstitial%smcmax = clear_val
- Interstitial%smc_save = clear_val
- Interstitial%snowd_land_save = Model%huge
- Interstitial%snow_depth = clear_val
- Interstitial%snohf_snow = clear_val
- Interstitial%snohf_frzgra = clear_val
- Interstitial%snohf_snowmelt = clear_val
- Interstitial%soilm_in_m = clear_val
- Interstitial%stc_save = clear_val
- Interstitial%th1 = clear_val
- Interstitial%tprcp_rate_land = Model%huge
- Interstitial%tsfc_land_save = Model%huge
- Interstitial%weasd_land_save = Model%huge
- end if
!
! Set flag for resetting maximum hourly output fields
Interstitial%max_hourly_reset = mod(Model%kdt-1, nint(Model%avg_max_length/Model%dtp)) == 0
diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta
index bbba06ca4..d8bad3b03 100644
--- a/ccpp/data/GFS_typedefs.meta
+++ b/ccpp/data/GFS_typedefs.meta
@@ -1317,14 +1317,6 @@
type = real
kind = kind_phys
active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme)
-[snotime]
- standard_name = time_since_last_snowfall
- long_name = elapsed time since last snowfall
- units = s
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[albdirvis_lnd]
standard_name = surface_albedo_direct_visible_over_land
long_name = direct surface albedo visible band over land
@@ -3568,12 +3560,6 @@
units = flag
dimensions = ()
type = integer
-[lsm_noah_wrfv4]
- standard_name = identifier_for_noah_wrfv4_land_surface_scheme
- long_name = flag for NOAH WRFv4 land surface model
- units = flag
- dimensions = ()
- type = integer
[kice]
standard_name = vertical_dimension_of_sea_ice
long_name = vertical loop extent for ice levels, start at 1
@@ -7577,14 +7563,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[canopy_save]
- standard_name = canopy_water_amount_save
- long_name = canopy water amount before entering a physics scheme
- units = kg m-2
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[cd]
standard_name = surface_drag_coefficient_for_momentum_in_air
long_name = surface exchange coeff for momentum
@@ -7662,14 +7640,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[chk_land]
- standard_name = surface_conductance_for_heat_and_moisture_in_air_over_land
- long_name = surface conductance for heat & moisture over land
- units = m s-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[cf_upi]
standard_name = convective_cloud_fraction_for_microphysics
long_name = convective cloud fraction for microphysics
@@ -7819,14 +7789,6 @@
dimensions = (horizontal_loop_extent,4)
type = real
kind = kind_phys
-[cmc]
- standard_name = canopy_water_amount_in_m
- long_name = canopy water amount in m
- units = m
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[clxss]
standard_name = fraction_of_grid_box_with_subgrid_orography_higher_than_critical_height_small_scale
long_name = frac. of grid box with by subgrid height_above_mean_sea_level higher than critical height small scale
@@ -8067,14 +8029,6 @@
dimensions = (horizontal_loop_extent,vertical_layer_dimension)
type = real
kind = kind_phys
-[dqsdt2]
- standard_name = saturation_specific_humidity_slope
- long_name = saturation specific humidity slope at lowest model layer
- units = K-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[dqsfc1]
standard_name = instantaneous_surface_upward_latent_heat_flux
long_name = surface upward latent heat flux
@@ -8089,14 +8043,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[drain_in_m_sm1]
- standard_name = subsurface_runoff_flux_in_m_sm1
- long_name = subsurface runoff flux in m s-1
- units = m s-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[dtdt]
standard_name = process_split_cumulative_tendency_of_air_temperature
long_name = air temperature tendency due to model physics
@@ -8381,20 +8327,6 @@
units = flag
dimensions = (horizontal_loop_extent)
type = logical
-[flag_lsm]
- standard_name = flag_for_calling_land_surface_model
- long_name = flag for calling land surface model
- units = flag
- dimensions = (horizontal_loop_extent)
- type = logical
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[flag_lsm_glacier]
- standard_name = flag_for_calling_land_surface_model_glacier
- long_name = flag for calling land surface model over glacier
- units = flag
- dimensions = (horizontal_loop_extent)
- type = logical
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[ffmm_water]
standard_name = Monin_Obukhov_similarity_function_for_momentum_over_water
long_name = Monin-Obukhov similarity function for momentum over water
@@ -9172,22 +9104,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[qs1]
- standard_name = saturation_specific_humidity_at_lowest_model_layer
- long_name = saturation specific humidity at lowest model layer
- units = kg kg-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[qv1]
- standard_name = bounded_specific_humidity_at_lowest_model_layer_over_land
- long_name = specific humidity at lowest model layer over land bounded between a nonzero epsilon and saturation
- units = kg kg-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[radar_reset]
standard_name = flag_for_resetting_radar_reflectivity_calculation
long_name = flag for resetting radar reflectivity calculation
@@ -9298,14 +9214,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[runoff_in_m_sm1]
- standard_name = surface_runoff_flux_in_m_sm1
- long_name = surface runoff flux in m s-1
- units = m s-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[save_q(:,:,index_of_ozone_mixing_ratio_in_tracer_concentration_array)]
standard_name = ozone_mixing_ratio_save
long_name = ozone mixing ratio before entering a physics scheme
@@ -9472,30 +9380,6 @@
units = flag
dimensions = ()
type = logical
-[slc_save]
- standard_name = volume_fraction_of_unfrozen_soil_moisture_save
- long_name = liquid soil moisture before entering a physics scheme
- units = frac
- dimensions = (horizontal_loop_extent,vertical_dimension_of_soil)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[smcmax]
- standard_name = soil_porosity
- long_name = volumetric soil porosity
- units = frac
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[smc_save]
- standard_name = volume_fraction_of_soil_moisture_save
- long_name = total soil moisture before entering a physics scheme
- units = frac
- dimensions = (horizontal_loop_extent,vertical_dimension_of_soil)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[snowc]
standard_name = surface_snow_area_fraction
long_name = surface snow area fraction
@@ -9503,22 +9387,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[snowd_land_save]
- standard_name = surface_snow_thickness_water_equivalent_over_land_save
- long_name = water equivalent snow depth over land before entering a physics scheme
- units = mm
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[snow_depth]
- standard_name = actual_snow_depth
- long_name = actual snow depth
- units = m
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[snohf]
standard_name = snow_freezing_rain_upward_latent_heat_flux
long_name = latent heat flux due to snow and frz rain
@@ -9526,30 +9394,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[snohf_snow]
- standard_name = latent_heat_flux_from_precipitating_snow
- long_name = latent heat flux due to precipitating snow
- units = W m-2
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[snohf_frzgra]
- standard_name = latent_heat_flux_from_freezing_rain
- long_name = latent heat flux due to freezing rain
- units = W m-2
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[snohf_snowmelt]
- standard_name = latent_heat_flux_due_to_snowmelt
- long_name = latent heat flux due to snowmelt phase change
- units = W m-2
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[snowmp]
standard_name = lwe_thickness_of_snow_amount
long_name = explicit snow fall on physics timestep
@@ -9565,22 +9409,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[soilm_in_m]
- standard_name = soil_moisture_content_in_m
- long_name = soil moisture in meters
- units = m
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
-[stc_save]
- standard_name = soil_temperature_save
- long_name = soil temperature before entering a physics scheme
- units = K
- dimensions = (horizontal_loop_extent,vertical_dimension_of_soil)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[stress]
standard_name = surface_wind_stress
long_name = surface wind stress
@@ -9624,14 +9452,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[th1]
- standard_name = potential_temperature_at_lowest_model_layer
- long_name = potential_temperature_at_lowest_model_layer
- units = K
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[tlvl]
standard_name = air_temperature_at_interface_for_radiation
long_name = air temperature at vertical interface for radiation calculation
@@ -9667,14 +9487,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[tprcp_rate_land]
- standard_name = total_precipitation_rate_on_dynamics_timestep_over_land
- long_name = total precipitation rate in each time step over land
- units = kg m-2 s-1
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[tracers_start_index]
standard_name = start_index_of_other_tracers
long_name = beginning index of the non-water tracer species
@@ -9721,14 +9533,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[tsfc_land_save]
- standard_name = surface_skin_temperature_over_land_save
- long_name = surface skin temperature over land before entering a physics scheme
- units = K
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[tsfg]
standard_name = surface_ground_temperature_for_radiation
long_name = surface ground temperature for radiation
@@ -9827,14 +9631,6 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
-[weasd_land_save]
- standard_name = water_equivalent_accumulated_snow_depth_over_land_save
- long_name = water equiv of acc snow depth over land before entering a physics scheme
- units = mm
- dimensions = (horizontal_loop_extent)
- type = real
- kind = kind_phys
- active = (control_for_land_surface_scheme == identifier_for_noah_wrfv4_land_surface_scheme)
[wind]
standard_name = wind_speed_at_lowest_model_layer
long_name = wind speed at lowest model level
diff --git a/ccpp/physics b/ccpp/physics
index 530f597d3..6912955bc 160000
--- a/ccpp/physics
+++ b/ccpp/physics
@@ -1 +1 @@
-Subproject commit 530f597d34a4dab2bedf590480474e86a2e9bac1
+Subproject commit 6912955bcb4e0437f725fe88726c55954abb4b87
diff --git a/ccpp/suites/suite_FV3_HAFS_v0_hwrf.xml b/ccpp/suites/suite_FV3_HAFS_v0_hwrf.xml
deleted file mode 100644
index fbe105f67..000000000
--- a/ccpp/suites/suite_FV3_HAFS_v0_hwrf.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
- GFS_time_vary_pre
- GFS_rrtmg_setup
- GFS_rad_time_vary
- GFS_phys_time_vary
-
-
-
-
- GFS_suite_interstitial_rad_reset
- GFS_rrtmg_pre
- GFS_radiation_surface
- rrtmg_lw_pre
- rrtmg_lw
- rrtmg_lw_post
- rrtmg_sw_pre
- rrtmg_sw
- rrtmg_sw_post
- GFS_rrtmg_post
-
-
-
-
- GFS_suite_interstitial_phys_reset
- GFS_suite_stateout_reset
- get_prs_fv3
- GFS_suite_interstitial_1
- GFS_surface_generic_pre
- GFS_surface_composites_pre
- dcyc2t3
- GFS_surface_composites_inter
- GFS_suite_interstitial_2
-
-
-
- gfdl_sfc_layer
- GFS_surface_loop_control_part1
- sfc_nst_pre
- sfc_nst
- sfc_nst_post
- sfc_noah_wrfv4_pre
- sfc_noah_wrfv4
- sfc_noah_wrfv4_post
- sfc_sice
- GFS_surface_loop_control_part2
-
-
-
- GFS_surface_composites_post
- sfc_diag
- sfc_diag_post
- GFS_surface_generic_post
- GFS_PBL_generic_pre
- hedmf
- GFS_PBL_generic_post
- GFS_GWD_generic_pre
- cires_ugwp
- cires_ugwp_post
- GFS_GWD_generic_post
- GFS_suite_stateout_update
- ozphys_2015
- h2ophys
- GFS_DCNV_generic_pre
- get_phi_fv3
- GFS_suite_interstitial_3
- samfdeepcnv
- GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
- samfshalcnv
- GFS_SCNV_generic_post
- GFS_suite_interstitial_4
- cnvc90
- GFS_MP_generic_pre
- mp_fer_hires
- GFS_MP_generic_post
- maximum_hourly_diagnostics
- phys_tend
-
-
-
-
- GFS_stochastics
-
-
-
-
diff --git a/ccpp/suites/suite_FV3_HAFS_v0_hwrf_thompson.xml b/ccpp/suites/suite_FV3_HAFS_v0_hwrf_thompson.xml
index 5d894c2f2..2bc2f8592 100644
--- a/ccpp/suites/suite_FV3_HAFS_v0_hwrf_thompson.xml
+++ b/ccpp/suites/suite_FV3_HAFS_v0_hwrf_thompson.xml
@@ -45,9 +45,7 @@
sfc_nst_pre
sfc_nst
sfc_nst_post
- sfc_noah_wrfv4_pre
- sfc_noah_wrfv4
- sfc_noah_wrfv4_post
+ noahmpdrv
sfc_sice
GFS_surface_loop_control_part2
diff --git a/io/FV3GFS_io.F90 b/io/FV3GFS_io.F90
index 6dfe29a46..7b1becf10 100644
--- a/io/FV3GFS_io.F90
+++ b/io/FV3GFS_io.F90
@@ -233,7 +233,7 @@ subroutine FV3GFS_GFS_checksum (Model, GFS_Data, Atm_block)
temp2d(i,j,32) = GFS_Data(nb)%Sfcprop%f10m(ix)
temp2d(i,j,33) = GFS_Data(nb)%Sfcprop%tprcp(ix)
temp2d(i,j,34) = GFS_Data(nb)%Sfcprop%srflag(ix)
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
temp2d(i,j,35) = GFS_Data(nb)%Sfcprop%slc(ix,1)
temp2d(i,j,36) = GFS_Data(nb)%Sfcprop%slc(ix,2)
temp2d(i,j,37) = GFS_Data(nb)%Sfcprop%slc(ix,3)
@@ -775,7 +775,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta
allocate(sfc_name3(0:nvar_s3+nvar_s3mp))
allocate(sfc_var2(nx,ny,nvar_s2m+nvar_s2o+nvar_s2mp+nvar_s2r),sfc_var3ice(nx,ny,Model%kice))
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .or. (.not.warm_start)) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. (.not.warm_start)) then
allocate(sfc_var3(nx,ny,Model%lsoil,nvar_s3))
else if (Model%lsm == Model%lsm_ruc) then
allocate(sfc_var3(nx,ny,Model%lsoil_lsm,nvar_s3))
@@ -947,7 +947,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta
call register_axis(Sfc_restart, 'yaxis_1', 'Y')
call register_axis(Sfc_restart, 'zaxis_1', dimension_length=Model%kice)
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
call register_axis(Sfc_restart, 'zaxis_2', dimension_length=Model%lsoil)
else if(Model%lsm == Model%lsm_ruc) then
call register_axis(Sfc_restart, 'zaxis_2', dimension_length=Model%lsoil_lsm)
@@ -1031,7 +1031,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta
endif ! if not allocated
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .or. (.not.warm_start)) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. (.not.warm_start)) then
!--- names of the 3D variables to save
sfc_name3(1) = 'stc'
sfc_name3(2) = 'smc'
@@ -1385,7 +1385,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta
Sfcprop(nb)%rechxy(ix) = sfc_var2(i,j,nvar_s2m+47)
endif
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .or. (.not.warm_start)) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. (.not.warm_start)) then
!--- 3D variables
do lsoil = 1,Model%lsoil
Sfcprop(nb)%stc(ix,lsoil) = sfc_var3(i,j,lsoil,1) !--- stc
@@ -1723,7 +1723,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
call write_data(Sfc_restart, 'zaxis_1', buffer)
deallocate(buffer)
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
call register_axis(Sfc_restart, 'zaxis_2', dimension_length=Model%lsoil)
call register_field(Sfc_restart, 'zaxis_2', 'double', (/'zaxis_2'/))
call register_variable_attribute(Sfc_restart, 'zaxis_2', 'cartesian_axis', 'Z', str_len=1)
@@ -1770,7 +1770,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
allocate(sfc_name2(nvar2m+nvar2o+nvar2mp+nvar2r))
allocate(sfc_name3(0:nvar3+nvar3mp))
allocate(sfc_var2(nx,ny,nvar2m+nvar2o+nvar2mp+nvar2r))
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
allocate(sfc_var3(nx,ny,Model%lsoil,nvar3))
elseif (Model%lsm == Model%lsm_ruc) then
allocate(sfc_var3(nx,ny,Model%lsoil_lsm,nvar3))
@@ -1963,7 +1963,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
endif
nullify(var2_p)
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
!--- names of the 3D variables to save
sfc_name3(1) = 'stc'
sfc_name3(2) = 'smc'
@@ -2168,7 +2168,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
if (sfc_var3ice(i,j,k) < one) sfc_var3ice(i,j,k) = zero
enddo
- if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
+ if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp) then
!--- 3D variables
do lsoil = 1,Model%lsoil
sfc_var3(i,j,lsoil,1) = Sfcprop(nb)%stc(ix,lsoil) !--- stc