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
43 changes: 40 additions & 3 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1050,7 +1050,15 @@ module GFS_typedefs
integer :: decfl !< deformed CFL factor
type(ty_tempo_cfg) :: tempo_cfg !< Thompson MP configuration information.
logical :: thompson_mp_is_init=.false. !< Local scheme initialization flag

real(kind=kind_phys) :: nt_c_l !< prescribed cloud liquid water number concentration over land
real(kind=kind_phys) :: nt_c_o !< prescribed cloud liquid water number concentration over ocean
real(kind=kind_phys) :: av_i !< transition value of coefficient matching at crossover from cloud ice to snow
real(kind=kind_phys) :: xnc_max !< maximum mass number concentration of cloud liquid water particles in air used in deposition nucleation
real(kind=kind_phys) :: ssati_min !< minimum supersaturation over ice threshold for deposition nucleation
real(kind=kind_phys) :: Nt_i_max !< maximum threshold number concentration of cloud ice water crystals in air
real(kind=kind_phys) :: rr_min !< multiplicative tuning parameter for microphysical sedimentation minimum threshold


!--- GFDL microphysical paramters
logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency

Expand Down Expand Up @@ -3651,7 +3659,14 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
real(kind=kind_phys) :: dt_inner = -999.0 !< time step for the inner loop
logical :: sedi_semi = .false. !< flag for semi Lagrangian sedi of rain
integer :: decfl = 8 !< deformed CFL factor

real(kind=kind_phys) :: nt_c_l = 150.e6 !< prescribed cloud liquid water number concentration over land
real(kind=kind_phys) :: nt_c_o = 50.e6 !< prescribed cloud liquid water number concentration over ocean
real(kind=kind_phys) :: av_i = -999.0 !< transition value of coefficient matching at crossover from cloud ice to snow
real(kind=kind_phys) :: xnc_max = 1000.e3 !< maximum mass number concentration of cloud liquid water particles in air used in deposition nucleation
real(kind=kind_phys) :: ssati_min = 0.15 !< minimum supersaturation over ice threshold for deposition nucleation
real(kind=kind_phys) :: Nt_i_max = 4999.e3 !< maximum threshold number concentration of cloud ice water crystals in air
real(kind=kind_phys) :: rr_min = 1000.0 !< multiplicative tuning parameter for microphysical sedimentation minimum threshold

!--- GFDL microphysical parameters
logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction

Expand Down Expand Up @@ -4160,7 +4175,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
mg_ncnst, mg_ninst, mg_ngnst, sed_supersat, do_sb_physics, &
mg_alf, mg_qcmin, mg_do_ice_gmao, mg_do_liq_liu, &
ltaerosol, lthailaware, lradar, nsfullradar_diag, lrefres, &
ttendlim, ext_diag_thompson, dt_inner, lgfdlmprad, &
ttendlim, ext_diag_thompson, nt_c_l, nt_c_o, av_i, xnc_max, &
ssati_min, Nt_i_max, rr_min, dt_inner, lgfdlmprad, &
sedi_semi, decfl, &
nssl_cccn, nssl_alphah, nssl_alphahl, &
nssl_alphar, nssl_ehw0, nssl_ehlw0, &
Expand Down Expand Up @@ -4881,6 +4897,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
endif
Model%sedi_semi = sedi_semi
Model%decfl = decfl
Model%nt_c_l = nt_c_l
Model%nt_c_o = nt_c_o
Model%av_i = av_i
Model%xnc_max = xnc_max
Model%ssati_min = ssati_min
Model%Nt_i_max = Nt_i_max
Model%rr_min = rr_min

!--- TEMPO MP parameters
! DJS to Anders: Maybe we put more of these nml options into the TEMPO configuration type?
Expand Down Expand Up @@ -6331,6 +6354,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
' dt_inner =',Model%dt_inner, &
' sedi_semi=',Model%sedi_semi, &
' decfl=',decfl, &
' nt_c_l=',nt_c_l, &
' nt_c_o=',nt_c_o, &
' av_i=',av_i, &
' xnc_max=',xnc_max, &
' ssati_min',ssati_min, &
' Nt_i_max',Nt_i_max, &
' rr_min',rr_min, &
' effr_in =',Model%effr_in, &
' lradar =',Model%lradar, &
' nsfullradar_diag =',Model%nsfullradar_diag, &
Expand Down Expand Up @@ -6890,6 +6920,13 @@ subroutine control_print(Model)
print *, ' dt_inner : ', Model%dt_inner
print *, ' sedi_semi : ', Model%sedi_semi
print *, ' decfl : ', Model%decfl
print *, ' nt_c_l : ', Model%nt_c_l
print *, ' nt_c_o : ', Model%nt_c_o
print *, ' av_i : ', Model%av_i
print *, ' xnc_max : ', Model%xnc_max
print *, ' ssati_min : ', Model%ssati_min
print *, ' Nt_i_max : ', Model%Nt_i_max
print *, ' rr_min : ', Model%rr_min
print *, ' '
endif
if (Model%imp_physics == Model%imp_physics_nssl) then
Expand Down
49 changes: 49 additions & 0 deletions ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -4999,6 +4999,55 @@
units = flag
dimensions = ()
type = logical
[nt_c_l]
standard_name = prescribed_number_concentration_of_cloud_liquid_water_particles_in_air_over_land
long_name = volumetric number concentration of cloud liquid water droplets in air over land points
units = m-3
dimensions = ()
type = real
kind = kind_phys
[nt_c_o]
standard_name = prescribed_number_concentration_of_cloud_liquid_water_particles_in_air_over_ocean
long_name = volumetric number concentration of cloud liquid water droplets in air over ocean points
units = m-3
dimensions = ()
type = real
kind = kind_phys
[av_i]
standard_name = cloud_ice_to_snow_tuning_parameter
long_name = transition value of coefficient matching at crossover from cloud ice to snow
units = 1
dimensions = ()
type = real
kind = kind_phys
[xnc_max]
standard_name = maximum_mass_number_concentration_of_cloud_liquid_water_particles_in_air_used_in_deposition_nucleation
long_name = maximum mass number concentration of cloud liquid water particles in air
units = kg-1
dimensions = ()
type = real
kind = kind_phys
[ssati_min]
standard_name = minimum_threshold_supersaturation_over_ice_for_deposition_nucleation
long_name = minimum supersaturation over ice threshold for deposition nucleation
units = fraction
dimensions = ()
type = real
kind = kind_phys
[Nt_i_max]
standard_name = maximum_threshold_number_concentration_of_cloud_ice_water_crystals_in_air
long_name = maximum threshold number concentration of cloud ice water crystals in air
units = m-3
dimensions = ()
type = real
kind = kind_phys
[rr_min]
standard_name = multiplicative_tuning_parameter_for_microphysical_sedimentation_minimum_threshold
long_name = multiplicative tuning parameter for microphysical sedimentation minimum threshold
units = 1
dimensions = ()
type = real
kind = kind_phys
[gfs_phys_time_vary_is_init]
standard_name = flag_for_gfs_phys_time_vary_interstitial_initialization
long_name = flag carrying interstitial initialization status
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
Submodule physics updated 39 files
+2 −3 physics/GWD/cires_ugwpv1_oro.F90
+4 −0 physics/GWD/ugwpv1_gsldrag.F90
+18 −25 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90
+23 −23 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.F90
+13 −3 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90
+5 −2 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90
+6 −6 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90
+13 −4 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90
+14 −5 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.F90
+1 −3 physics/Interstitials/UFS_SCM_NEPTUNE/gcycle.F90
+3 −3 physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.F90
+1 −0 physics/MP/GFDL/v1_2019/gfdl_cloud_microphys_mod.F90
+3 −38 physics/MP/Morrison_Gettelman/aer_cloud.F
+0 −2 physics/MP/Morrison_Gettelman/m_micro.F90
+2 −0 physics/MP/NSSL/module_mp_nssl_2mom.F90
+2 −6 physics/MP/TEMPO/mp_tempo_post.F90
+0 −21 physics/MP/TEMPO/mp_tempo_post.meta
+27 −23 physics/MP/Thompson/module_mp_thompson.F90
+25 −2 physics/MP/Thompson/mp_thompson.F90
+63 −0 physics/MP/Thompson/mp_thompson.meta
+1 −1 physics/PBL/SATMEDMF/satmedmfvdifq.meta
+0 −3 physics/Radiation/RRTMG/radlw_main.F90
+16 −35 physics/Radiation/radiation_aerosols.f
+0 −6 physics/Radiation/radiation_astronomy.f
+0 −12 physics/Radiation/radiation_clouds.f
+9 −24 physics/Radiation/radiation_gases.f
+3 −0 physics/SFC_Layer/GFDL/gfdl_sfc_layer.F90
+0 −1 physics/SFC_Layer/GFDL/module_sf_exchcoef.f90
+1 −5 physics/SFC_Layer/MYJ/module_SF_JSFC.F90
+1 −0 physics/SFC_Layer/MYJ/myjsfc_wrapper.F90
+3 −52 physics/SFC_Layer/MYNN/module_sf_mynn.F90
+0 −2 physics/SFC_Layer/UFS/sfc_diff.f
+1 −1 physics/SFC_Models/Land/Noah/lsm_noah.f
+0 −1 physics/SFC_Models/Land/Noah/set_soilveg.f
+2 −30 physics/SFC_Models/Land/Noah/sflx.f
+7 −4 physics/SFC_Models/Land/Noahmp/noahmpdrv.F90
+2 −2 physics/SFC_Models/Land/RUC/lsm_ruc.F90
+0 −4 physics/SFC_Models/Land/RUC/set_soilveg_ruc.F90
+5 −4 physics/tools/canopy_utils_mod.f