Skip to content

Commit

Permalink
cleanup HAFS terminology
Browse files Browse the repository at this point in the history
  • Loading branch information
grantfirl committed Apr 18, 2020
1 parent a9671f6 commit dc54f48
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 48 deletions.
4 changes: 2 additions & 2 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,8 @@
'FV3/ccpp/physics/physics/sfc_cice.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_diff.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_drv.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_noah_GFS_interstitial.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_noah.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_noah_wrfv4_interstitial.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_noah_wrfv4.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_noahmp_drv.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_nst.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/sfc_ocean.F' : [ 'slow_physics' ],
Expand Down
6 changes: 3 additions & 3 deletions ccpp/suites/suite_FV3_GFS_v15p2_HWRF_NOAH.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@
<scheme>sfc_nst_pre</scheme>
<scheme>sfc_nst</scheme>
<scheme>sfc_nst_post</scheme>
<scheme>sfc_noah_GFS_pre</scheme>
<scheme>sfc_noah</scheme>
<scheme>sfc_noah_GFS_post</scheme>
<scheme>sfc_noah_wrfv4_pre</scheme>
<scheme>sfc_noah_wrfv4</scheme>
<scheme>sfc_noah_wrfv4_post</scheme>
<scheme>sfc_sice</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
</subcycle>
Expand Down
6 changes: 3 additions & 3 deletions ccpp/suites/suite_FV3_HWRF.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
<scheme>sfc_nst_pre</scheme>
<scheme>sfc_nst</scheme>
<scheme>sfc_nst_post</scheme>
<scheme>sfc_noah_GFS_pre</scheme>
<scheme>sfc_noah</scheme>
<scheme>sfc_noah_GFS_post</scheme>
<scheme>sfc_noah_wrfv4_pre</scheme>
<scheme>sfc_noah_wrfv4</scheme>
<scheme>sfc_noah_wrfv4_post</scheme>
<scheme>sfc_sice</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
</subcycle>
Expand Down
52 changes: 26 additions & 26 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -727,25 +727,25 @@ 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_hafs = 4 !< flag for NOAH land surface model for HAFS application
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)
!< ivegsrc = 2 => UMD (13 category)
!< ivegsrc = 3 => NLCD40 (40 category, NOAH/HAFS only)
!< ivegsrc = 4 => USGS-RUC (28 category, NOAH/HAFS only)
!< ivegsrc = 5 => MODI-RUC (21 category, NOAH/HAFS only)
!< ivegsrc = 3 => NLCD40 (40 category, NOAH WRFv4 only)
!< ivegsrc = 4 => USGS-RUC (28 category, NOAH WRFv4 only)
!< ivegsrc = 5 => MODI-RUC (21 category, NOAH WRFv4 only)
integer :: isot !< isot = 0 => Zobler soil type ( 9 category)
!< isot = 1 => STATSGO soil type (19 category, AKA 'STAS'(?))
!< isot = 2 => STAS-RUC soil type (19 category, NOAH/HAFS only)
!< isot = 2 => STAS-RUC soil type (19 category, NOAH WRFv4 only)
#ifdef CCPP
integer :: lsoil_lsm !< number of soil layers internal to land surface model
integer :: lsnow_lsm !< maximum number of snow layers internal to land surface model
integer :: lsnow_lsm_lbound!< lower bound for snow arrays, depending on lsnow_lsm
logical :: rdlai !< read LAI from input file (for RUC LSM or NOAH LSM HAFS)
logical :: ua_phys !< flag for using University of Arizona? extension to NOAH LSM HAFS
logical :: usemonalb !< flag to read surface diffused shortwave albedo from input file for NOAH LSM HAFS
real(kind=kind_phys) :: aoasis !< potential evaporation multiplication factor for NOAH LSM HAFS
logical :: rdlai !< read LAI from input file (for RUC LSM or NOAH LSM WRFv4)
logical :: ua_phys !< flag for using University of Arizona? extension to NOAH LSM WRFv4
logical :: usemonalb !< flag to read surface diffused shortwave albedo from input file for NOAH LSM WRFv4
real(kind=kind_phys) :: aoasis !< potential evaporation multiplication factor for NOAH LSM WRFv4
integer :: fasdas !< flag to use "flux-adjusting surface data assimilation system"; 0 = OFF, 1 = ON
integer :: isurban !< vegetation/land use type corresponding to the urban environment for the chosen ivegsrc
integer :: isice !< vegetation/land use type corresponding to permanent ice/snow for the chosen ivegsrc
Expand Down Expand Up @@ -2378,16 +2378,16 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
#ifdef CCPP
! HWRF NOAH LSM allocate and init when used
!
if (Model%lsm == Model%lsm_noah_hafs ) then
if (Model%lsm == Model%lsm_noah_wrfv4 ) then
allocate(Sfcprop%snotime(IM))
Sfcprop%snotime = clear_val
end if

if (Model%do_myjsfc.or.Model%do_myjpbl.or.(Model%lsm == Model%lsm_noah_hafs)) then
if (Model%do_myjsfc.or.Model%do_myjpbl.or.(Model%lsm == Model%lsm_noah_wrfv4)) then
allocate(Sfcprop%z0base(IM))
Sfcprop%z0base = clear_val
end if
if (Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah_wrfv4) then
allocate(Sfcprop%semisbase(IM))
Sfcprop%semisbase = clear_val
end if
Expand Down Expand Up @@ -2913,10 +2913,10 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
#ifdef CCPP
integer :: lsoil_lsm = -1 !< number of soil layers internal to land surface model; -1 use lsoil
integer :: lsnow_lsm = 3 !< maximum number of snow layers internal to land surface model
logical :: rdlai = .false. !< read LAI from input file (for RUC LSM or NOAH LSM HAFS)
logical :: ua_phys = .false. !< flag for using University of Arizona? extension to NOAH LSM HAFS
logical :: usemonalb = .true. !< flag to read surface diffused shortwave albedo from input file for NOAH LSM HAFS
real(kind=kind_phys) :: aoasis = 1.0 !< potential evaporation multiplication factor for NOAH LSM HAFS
logical :: rdlai = .false. !< read LAI from input file (for RUC LSM or NOAH LSM WRFv4)
logical :: ua_phys = .false. !< flag for using University of Arizona? extension to NOAH LSM WRFv4
logical :: usemonalb = .true. !< flag to read surface diffused shortwave albedo from input file for NOAH LSM WRFv4
real(kind=kind_phys) :: aoasis = 1.0 !< potential evaporation multiplication factor for NOAH LSM WRFv4
integer :: fasdas = 0 !< flag to use "flux-adjusting surface data assimilation system"; 0 = OFF, 1 = ON
integer :: iopt_thcnd = 1 !< option to treat thermal conductivity in Noah LSM (new in 3.8)
!< = 1, original (default)
Expand Down Expand Up @@ -3519,8 +3519,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%lsoil = lsoil
#ifdef CCPP
! Consistency check for RUC LSM
if ((Model%lsm == Model%lsm_ruc .or. Model%lsm == Model%lsm_noah_hafs) .and. Model%nscyc>0) then
write(0,*) 'Logic error: RUC LSM and NOAH HAFS LSM cannot be used with surface data cycling at this point (fhcyc>0)'
if ((Model%lsm == Model%lsm_ruc .or. Model%lsm == Model%lsm_noah_wrfv4) .and. Model%nscyc>0) then
write(0,*) 'Logic error: RUC LSM and 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)
Expand All @@ -3543,9 +3543,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
! Set lower bound for LSM model, runs from negative (above surface) to surface (zero)
Model%lsnow_lsm_lbound = -Model%lsnow_lsm+1
end if
Model%isurban = -999 !GJF isurban is only used in NOAH/HAFS and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%isice = -999 !GJF isice is only used in NOAH/HAFS and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%iswater = -999 !GJF iswater is only used in NOAH/HAFS and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%isurban = -999 !GJF isurban is only used in NOAH WRFv4 and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%isice = -999 !GJF isice is only used in NOAH WRFv4 and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%iswater = -999 !GJF iswater is only used in NOAH WRFv4 and is initialized in sfc_noah_GFS_interstitial.F90/sfc_noah_GFS_pre_init
Model%iopt_thcnd = iopt_thcnd
Model%ua_phys = ua_phys
Model%usemonalb = usemonalb
Expand Down Expand Up @@ -4076,8 +4076,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
#ifdef CCPP
elseif (Model%lsm == Model%lsm_ruc) then
print *,' RUC Land Surface Model used'
elseif (Model%lsm == Model%lsm_noah_hafs) then
print *,' NOAH/HAFS Land Surface Model used'
elseif (Model%lsm == Model%lsm_noah_wrfv4) then
print *,' NOAH WRFv4 Land Surface Model used'
#else
elseif (Model%lsm == Model%lsm_ruc) then
print *,' RUC Land Surface Model only available through CCPP - job aborted'
Expand Down Expand Up @@ -6127,7 +6127,7 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%t2mmp (IM))
allocate (Interstitial%q2mp (IM))
end if
if (Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah_wrfv4) then
allocate (Interstitial%canopy_save (IM))
allocate (Interstitial%chk_land (IM))
allocate (Interstitial%cmc (IM))
Expand Down Expand Up @@ -6673,7 +6673,7 @@ subroutine interstitial_phys_reset (Interstitial, Model)
Interstitial%t2mmp = clear_val
Interstitial%q2mp = clear_val
end if
if (Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah_wrfv4) then
Interstitial%canopy_save = clear_val
Interstitial%chk_land = huge
Interstitial%cmc = clear_val
Expand Down Expand Up @@ -7049,7 +7049,7 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno)
write (0,*) 'sum(Interstitial%t2mmp ) = ', sum(Interstitial%t2mmp )
write (0,*) 'sum(Interstitial%q2mp ) = ', sum(Interstitial%q2mp )
end if
if (Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah_wrfv4) then
write (0,*) 'sum(Interstitial%canopy_save ) = ', sum(Interstitial%canopy_save )
write (0,*) 'sum(Interstitial%chk_land ) = ', sum(Interstitial%chk_land )
write (0,*) 'sum(Interstitial%cmc ) = ', sum(Interstitial%cmc )
Expand Down
14 changes: 7 additions & 7 deletions gfsphysics/GFS_layer/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -2657,9 +2657,9 @@
units = flag
dimensions = ()
type = integer
[lsm_noah_hafs]
standard_name = flag_for_noah_hafs_land_surface_scheme
long_name = flag for NOAH HAFS land surface model
[lsm_noah_wrfv4]
standard_name = flag_for_noah_wrfv4_land_surface_scheme
long_name = flag for NOAH WRFv4 land surface model
units = flag
dimensions = ()
type = integer
Expand Down Expand Up @@ -2695,26 +2695,26 @@
type = logical
[ua_phys]
standard_name = flag_for_noah_lsm_ua_extension
long_name = flag for using University of Arizona(?) extension for NOAH LSM HAFS (see module_sf_noahlsm.F)
long_name = flag for using University of Arizona(?) extension for NOAH LSM WRFv4 (see module_sf_noahlsm.F)
units = flag
dimensions = ()
type = logical
[usemonalb]
standard_name = flag_for_reading_surface_diffused_shortwave_albedo_from_input
long_name = flag for reading surface diffused shortwave albedo for NOAH LSM HAFS (see module_sf_noahlsm.F)
long_name = flag for reading surface diffused shortwave albedo for NOAH LSM WRFv4 (see module_sf_noahlsm.F)
units = flag
dimensions = ()
type = logical
[aoasis]
standard_name = potential_evaporation_multiplicative_factor
long_name = potential evaporation multiplicative factor for NOAH LSM HAFS (see module_sf_noahlsm.F)
long_name = potential evaporation multiplicative factor for NOAH LSM WRFv4 (see module_sf_noahlsm.F)
units = none
dimensions = ()
type = real
kind = kind_phys
[fasdas]
standard_name = flag_flux_adjusting_surface_data_assimilation_system
long_name = flag to use the flux adjusting surface data assimilation system for NOAH LSM HAFS (see module_sf_noahlsm.F)
long_name = flag to use the flux adjusting surface data assimilation system for NOAH LSM WRFv4 (see module_sf_noahlsm.F)
units = flag
dimensions = ()
type = integer
Expand Down
14 changes: 7 additions & 7 deletions io/FV3GFS_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ subroutine FV3GFS_IPD_checksum (Model, IPD_Data, Atm_block)
temp2d(i,j,33) = IPD_Data(nb)%Sfcprop%tprcp(ix)
temp2d(i,j,34) = IPD_Data(nb)%Sfcprop%srflag(ix)
#ifdef CCPP
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
#endif
temp2d(i,j,35) = IPD_Data(nb)%Sfcprop%slc(ix,1)
temp2d(i,j,36) = IPD_Data(nb)%Sfcprop%slc(ix,2)
Expand Down Expand Up @@ -647,7 +647,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain)
allocate(sfc_name3(nvar_s3+nvar_s3mp))

allocate(sfc_var2(nx,ny,nvar_s2m+nvar_s2o+nvar_s2mp+nvar_s2r))
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs .or. (.not.warm_start)) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .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))
Expand Down Expand Up @@ -819,7 +819,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain)


#ifdef CCPP
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs .or. (.not.warm_start)) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .or. (.not.warm_start)) then
!--- names of the 3D variables to save
sfc_name3(1) = 'stc'
sfc_name3(2) = 'smc'
Expand Down Expand Up @@ -1042,7 +1042,7 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain)
endif

#ifdef CCPP
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs .or. (.not.warm_start)) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4 .or. (.not.warm_start)) then
!--- 3D variables
do lsoil = 1,Model%lsoil
Sfcprop(nb)%stc(ix,lsoil) = sfc_var3(i,j,lsoil,1) !--- stc
Expand Down Expand Up @@ -1552,7 +1552,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
allocate(sfc_name2(nvar2m+nvar2o+nvar2mp+nvar2r))
allocate(sfc_name3(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_hafs) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) 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))
Expand Down Expand Up @@ -1716,7 +1716,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
nullify(var2_p)

#ifdef CCPP
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
!--- names of the 3D variables to save
sfc_name3(1) = 'stc'
sfc_name3(2) = 'smc'
Expand Down Expand Up @@ -1890,7 +1890,7 @@ subroutine sfc_prop_restart_write (Sfcprop, Atm_block, Model, fv_domain, timesta
endif

#ifdef CCPP
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_hafs) then
if (Model%lsm == Model%lsm_noah .or. Model%lsm == Model%lsm_noahmp .or. Model%lsm == Model%lsm_noah_wrfv4) then
!--- 3D variables
do lsoil = 1,Model%lsoil
sfc_var3(i,j,lsoil,1) = Sfcprop(nb)%stc(ix,lsoil) !--- stc
Expand Down

0 comments on commit dc54f48

Please sign in to comment.