Skip to content
Merged
Show file tree
Hide file tree
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
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ else (PROJECT STREQUAL "CCPP-FV3")
./physics/ozphys.f
./physics/GFS_DCNV_generic.f90
./physics/GFS_zhao_carr_pre.f90
./physics/mfdeepcnv.f
./physics/samfdeepcnv.f
./physics/gwdc.f
./physics/GFS_SCNV_generic.f90
./physics/mfshalcnv.f
Expand Down Expand Up @@ -213,7 +213,7 @@ else (PROJECT STREQUAL "CCPP-FV3")
./physics/GFS_suite_interstitial_1_cap.F90
./physics/GFS_rrtmg_post_cap.F90
./physics/GFS_suite_interstitial_2_cap.F90
./physics/GFS_surface_generic_pre_cap.F90
./physics/samfdeepcnv_cap.F90
./physics/rrtmg_lw_pre_cap.F90
./physics/GFS_rad_time_vary_cap.F90
./physics/sasas_shal_post_cap.F90
Expand All @@ -224,7 +224,7 @@ else (PROJECT STREQUAL "CCPP-FV3")
./physics/sfc_ex_coef_cap.F90
./physics/gwdc_post_cap.F90
./physics/GFS_suite_update_stateout_cap.F90
./physics/sasas_deep_cap.F90
./physics/GFS_phys_time_vary_1_cap.F90
./physics/gwdc_pre_cap.F90
./physics/sfc_sice_cap.F90
./physics/sfc_nst_post_cap.F90
Expand All @@ -243,7 +243,7 @@ else (PROJECT STREQUAL "CCPP-FV3")
./physics/sfc_nst_pre_cap.F90
./physics/GFS_SCNV_generic_post_cap.F90
./physics/GFS_suite_setup_scm_cap.F90
./physics/GFS_phys_time_vary_1_cap.F90
./physics/dcyc2t3_pre_cap.F90
./physics/dcyc2t3_cap.F90
./physics/GFS_DCNV_generic_pre_cap.F90
./physics/zhaocarr_gscond_cap.F90
Expand All @@ -254,7 +254,7 @@ else (PROJECT STREQUAL "CCPP-FV3")
./physics/sfc_nst_cap.F90
./physics/gwdps_cap.F90
./physics/get_prs_fv3_cap.F90
./physics/dcyc2t3_pre_cap.F90
./physics/GFS_surface_generic_pre_cap.F90
./physics/ozphys_cap.F90
./physics/GFS_calpreciptype_cap.F90
./physics/rayleigh_damp_cap.F90
Expand Down
67 changes: 67 additions & 0 deletions GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -516,6 +516,24 @@ module GFS_typedefs
real(kind=kind_phys) :: prslrd0 !< pressure level from which Rayleigh Damping is applied
real(kind=kind_phys) :: ral_ts !< time scale for Rayleigh damping in days

!--- mass flux deep convection
real(kind=kind_phys) :: clam_deep !< c_e for deep convection (Han and Pan, 2011, eq(6))
real(kind=kind_phys) :: c0s_deep !< convective rain conversion parameter
real(kind=kind_phys) :: c1_deep !< conversion parameter of detrainment from liquid water into grid-scale cloud water
real(kind=kind_phys) :: betal_deep !< fraction factor of downdraft air mass reaching ground surface over land
real(kind=kind_phys) :: betas_deep !< fraction factor of downdraft air mass reaching ground surface over sea
real(kind=kind_phys) :: evfact_deep !< evaporation factor from convective rain
real(kind=kind_phys) :: evfactl_deep !< evaporation factor from convective rain over land
real(kind=kind_phys) :: pgcon_deep !< reduction factor in momentum transport due to convection induced pressure gradient force
!< 0.7 : Gregory et al. (1997, QJRMS)
!< 0.55: Zhang & Wu (2003, JAS)
real(kind=kind_phys) :: asolfac_deep !< aerosol-aware parameter based on Lim (2011)
!< asolfac= cx / c0s(=.002)
!< cx = min([-0.7 ln(Nccn) + 24]*1.e-4, c0s)
!< Nccn: CCN number concentration in cm^(-3)
!< Until a realistic Nccn is provided, Nccns are assumed
!< as Nccn=100 for sea and Nccn=1000 for land

!--- near surface temperature model
logical :: nst_anl !< flag for NSSTM analysis in gcycle/sfcsub
integer :: lsea
Expand Down Expand Up @@ -954,6 +972,7 @@ module GFS_typedefs
integer, pointer :: mbota(:,:) => null() !<
integer, pointer :: mtopa(:,:) => null() !<
integer :: nday !<
integer :: nsamftrac !<
integer :: ntk !<
integer :: nvdiff !<
real (kind=kind_phys), pointer :: oa4(:,:) => null() !<
Expand Down Expand Up @@ -1683,6 +1702,24 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
real(kind=kind_phys) :: prslrd0 = 0.0d0 !< pressure level from which Rayleigh Damping is applied
real(kind=kind_phys) :: ral_ts = 0.0d0 !< time scale for Rayleigh damping in days

!--- mass flux deep convection
real(kind=kind_phys) :: clam_deep = 0.1 !< c_e for deep convection (Han and Pan, 2011, eq(6))
real(kind=kind_phys) :: c0s_deep = 0.002 !< convective rain conversion parameter
real(kind=kind_phys) :: c1_deep = 0.002 !< conversion parameter of detrainment from liquid water into grid-scale cloud water
real(kind=kind_phys) :: betal_deep = 0.05 !< fraction factor of downdraft air mass reaching ground surface over land
real(kind=kind_phys) :: betas_deep = 0.05 !< fraction factor of downdraft air mass reaching ground surface over sea
real(kind=kind_phys) :: evfact_deep = 0.3 !< evaporation factor from convective rain
real(kind=kind_phys) :: evfactl_deep = 0.3 !< evaporation factor from convective rain over land
real(kind=kind_phys) :: pgcon_deep = 0.55 !< reduction factor in momentum transport due to convection induced pressure gradient force
!< 0.7 : Gregory et al. (1997, QJRMS)
!< 0.55: Zhang & Wu (2003, JAS)
real(kind=kind_phys) :: asolfac_deep = 0.958 !< aerosol-aware parameter based on Lim (2011)
!< asolfac= cx / c0s(=.002)
!< cx = min([-0.7 ln(Nccn) + 24]*1.e-4, c0s)
!< Nccn: CCN number concentration in cm^(-3)
!< Until a realistic Nccn is provided, Nccns are assumed
!< as Nccn=100 for sea and Nccn=1000 for land

!--- near surface temperature model
logical :: nst_anl = .false. !< flag for NSSTM analysis in gcycle/sfcsub
integer :: lsea = 0
Expand Down Expand Up @@ -1734,6 +1771,10 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
dlqf, &
!--- Rayleigh friction
prslrd0, ral_ts, &
!--- mass flux deep convection
clam_deep, c0s_deep, c1_deep, betal_deep, &
betas_deep, evfact_deep, evfactl_deep, pgcon_deep, &
asolfac_deep, &
!--- near surface temperature model
nst_anl, lsea, xkzm_m, xkzm_h, xkzm_s, nstf_name, &
!--- stochastic physics
Expand Down Expand Up @@ -1916,6 +1957,17 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%prslrd0 = prslrd0
Model%ral_ts = ral_ts

!--- mass flux deep convection
Model%clam_deep = clam_deep
Model%c0s_deep = c0s_deep
Model%c1_deep = c1_deep
Model%betal_deep = betal_deep
Model%betas_deep = betas_deep
Model%evfact_deep = evfact_deep
Model%evfactl_deep = evfactl_deep
Model%pgcon_deep = pgcon_deep
Model%asolfac_deep = asolfac_deep

!--- near surface temperature model
Model%nst_anl = nst_anl
Model%lsea = lsea
Expand Down Expand Up @@ -2350,6 +2402,19 @@ subroutine control_print(Model)
print *, ' prslrd0 : ', Model%prslrd0
print *, ' ral_ts : ', Model%ral_ts
print *, ' '
if (Model%imfdeepcnv >= 0) then
print *, 'mass flux deep convection'
print *, ' clam_deep : ', Model%clam_deep
print *, ' c0s_deep : ', Model%c0s_deep
print *, ' c1_deep : ', Model%c1_deep
print *, ' betal_deep : ', Model%betal_deep
print *, ' betas_deep : ', Model%betas_deep
print *, ' evfact_deep : ', Model%evfact_deep
print *, ' evfactl_deep : ', Model%evfactl_deep
print *, ' pgcon_deep : ', Model%pgcon_deep
print *, ' asolfac_deep : ', Model%asolfac_deep
print *, ' '
endif
print *, 'near surface temperature model'
print *, ' nst_anl : ', Model%nst_anl
print *, ' lsea : ', Model%lsea
Expand Down Expand Up @@ -3151,6 +3216,7 @@ subroutine interstitial_phys_reset (Interstitial)
Interstitial%kinver = 0
Interstitial%kpbl = 0
Interstitial%ktop = 0
Interstitial%nsamftrac = 0
Interstitial%oa4 = clear_val
Interstitial%oc = clear_val
Interstitial%qss = clear_val
Expand Down Expand Up @@ -3215,6 +3281,7 @@ subroutine interstitial_print(Interstitial, mpirank, omprank, blkno)
write (0,*) 'Interstitial%lm = ', Interstitial%lm
write (0,*) 'Interstitial%lmk = ', Interstitial%lmk
write (0,*) 'Interstitial%lmp = ', Interstitial%lmp
write (0,*) 'Interstitial%nsamftrac = ', Interstitial%nsamftrac
write (0,*) 'Interstitial%nvdiff = ', Interstitial%nvdiff
write (0,*) 'Interstitial%oz_coeff = ', Interstitial%oz_coeff
write (0,*) 'Interstitial%oz_pres = ', Interstitial%oz_pres
Expand Down
4 changes: 2 additions & 2 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ SRCS_f = \
./physics/h2o_def.f \
./physics/iounitdef.f \
./physics/mersenne_twister.f \
./physics/mfdeepcnv.f \
./physics/mfpbl.f \
./physics/mfshalcnv.f \
./physics/module_bfmicrophysics.f \
Expand All @@ -71,6 +70,7 @@ SRCS_f = \
./physics/radsw_param.f \
./physics/rascnvv2.f \
./physics/rayleigh_damp.f \
./physics/samfdeepcnv.f \
./physics/set_soilveg.f \
./physics/GFS_surface_loop_control.f \
./physics/sfc_diag.f \
Expand Down Expand Up @@ -139,7 +139,7 @@ SRCS_c =
ifneq (,$(findstring CCPP,$(CPPDEFS)))
include ./CCPP_CAPS.mk
else
CAPS_F90 =
CAPS_F90 =
endif

DEPEND_FILES = $(SRCS_f) $(SRCS_f90) $(SRCS_F) $(SRCS_F90) $(CAPS_F90)
Expand Down
Loading