Skip to content

Commit e3d536f

Browse files
authored
Sync from NCAR/main + Thompson params (NOAA-EMC#1007)
* make some Thompson MP tuning parameters externally visible * update ccpp/physics pointer * add some missing metadata for Thompson parameters * update submodule pointer * update ccpp/physics
1 parent c230e5c commit e3d536f

3 files changed

Lines changed: 90 additions & 4 deletions

File tree

ccpp/data/GFS_typedefs.F90

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,7 +1050,15 @@ module GFS_typedefs
10501050
integer :: decfl !< deformed CFL factor
10511051
type(ty_tempo_cfg) :: tempo_cfg !< Thompson MP configuration information.
10521052
logical :: thompson_mp_is_init=.false. !< Local scheme initialization flag
1053-
1053+
real(kind=kind_phys) :: nt_c_l !< prescribed cloud liquid water number concentration over land
1054+
real(kind=kind_phys) :: nt_c_o !< prescribed cloud liquid water number concentration over ocean
1055+
real(kind=kind_phys) :: av_i !< transition value of coefficient matching at crossover from cloud ice to snow
1056+
real(kind=kind_phys) :: xnc_max !< maximum mass number concentration of cloud liquid water particles in air used in deposition nucleation
1057+
real(kind=kind_phys) :: ssati_min !< minimum supersaturation over ice threshold for deposition nucleation
1058+
real(kind=kind_phys) :: Nt_i_max !< maximum threshold number concentration of cloud ice water crystals in air
1059+
real(kind=kind_phys) :: rr_min !< multiplicative tuning parameter for microphysical sedimentation minimum threshold
1060+
1061+
10541062
!--- GFDL microphysical paramters
10551063
logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency
10561064

@@ -3651,7 +3659,14 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
36513659
real(kind=kind_phys) :: dt_inner = -999.0 !< time step for the inner loop
36523660
logical :: sedi_semi = .false. !< flag for semi Lagrangian sedi of rain
36533661
integer :: decfl = 8 !< deformed CFL factor
3654-
3662+
real(kind=kind_phys) :: nt_c_l = 150.e6 !< prescribed cloud liquid water number concentration over land
3663+
real(kind=kind_phys) :: nt_c_o = 50.e6 !< prescribed cloud liquid water number concentration over ocean
3664+
real(kind=kind_phys) :: av_i = -999.0 !< transition value of coefficient matching at crossover from cloud ice to snow
3665+
real(kind=kind_phys) :: xnc_max = 1000.e3 !< maximum mass number concentration of cloud liquid water particles in air used in deposition nucleation
3666+
real(kind=kind_phys) :: ssati_min = 0.15 !< minimum supersaturation over ice threshold for deposition nucleation
3667+
real(kind=kind_phys) :: Nt_i_max = 4999.e3 !< maximum threshold number concentration of cloud ice water crystals in air
3668+
real(kind=kind_phys) :: rr_min = 1000.0 !< multiplicative tuning parameter for microphysical sedimentation minimum threshold
3669+
36553670
!--- GFDL microphysical parameters
36563671
logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction
36573672

@@ -4160,7 +4175,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
41604175
mg_ncnst, mg_ninst, mg_ngnst, sed_supersat, do_sb_physics, &
41614176
mg_alf, mg_qcmin, mg_do_ice_gmao, mg_do_liq_liu, &
41624177
ltaerosol, lthailaware, lradar, nsfullradar_diag, lrefres, &
4163-
ttendlim, ext_diag_thompson, dt_inner, lgfdlmprad, &
4178+
ttendlim, ext_diag_thompson, nt_c_l, nt_c_o, av_i, xnc_max, &
4179+
ssati_min, Nt_i_max, rr_min, dt_inner, lgfdlmprad, &
41644180
sedi_semi, decfl, &
41654181
nssl_cccn, nssl_alphah, nssl_alphahl, &
41664182
nssl_alphar, nssl_ehw0, nssl_ehlw0, &
@@ -4881,6 +4897,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
48814897
endif
48824898
Model%sedi_semi = sedi_semi
48834899
Model%decfl = decfl
4900+
Model%nt_c_l = nt_c_l
4901+
Model%nt_c_o = nt_c_o
4902+
Model%av_i = av_i
4903+
Model%xnc_max = xnc_max
4904+
Model%ssati_min = ssati_min
4905+
Model%Nt_i_max = Nt_i_max
4906+
Model%rr_min = rr_min
48844907

48854908
!--- TEMPO MP parameters
48864909
! DJS to Anders: Maybe we put more of these nml options into the TEMPO configuration type?
@@ -6331,6 +6354,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
63316354
' dt_inner =',Model%dt_inner, &
63326355
' sedi_semi=',Model%sedi_semi, &
63336356
' decfl=',decfl, &
6357+
' nt_c_l=',nt_c_l, &
6358+
' nt_c_o=',nt_c_o, &
6359+
' av_i=',av_i, &
6360+
' xnc_max=',xnc_max, &
6361+
' ssati_min',ssati_min, &
6362+
' Nt_i_max',Nt_i_max, &
6363+
' rr_min',rr_min, &
63346364
' effr_in =',Model%effr_in, &
63356365
' lradar =',Model%lradar, &
63366366
' nsfullradar_diag =',Model%nsfullradar_diag, &
@@ -6890,6 +6920,13 @@ subroutine control_print(Model)
68906920
print *, ' dt_inner : ', Model%dt_inner
68916921
print *, ' sedi_semi : ', Model%sedi_semi
68926922
print *, ' decfl : ', Model%decfl
6923+
print *, ' nt_c_l : ', Model%nt_c_l
6924+
print *, ' nt_c_o : ', Model%nt_c_o
6925+
print *, ' av_i : ', Model%av_i
6926+
print *, ' xnc_max : ', Model%xnc_max
6927+
print *, ' ssati_min : ', Model%ssati_min
6928+
print *, ' Nt_i_max : ', Model%Nt_i_max
6929+
print *, ' rr_min : ', Model%rr_min
68936930
print *, ' '
68946931
endif
68956932
if (Model%imp_physics == Model%imp_physics_nssl) then

ccpp/data/GFS_typedefs.meta

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4999,6 +4999,55 @@
49994999
units = flag
50005000
dimensions = ()
50015001
type = logical
5002+
[nt_c_l]
5003+
standard_name = prescribed_number_concentration_of_cloud_liquid_water_particles_in_air_over_land
5004+
long_name = volumetric number concentration of cloud liquid water droplets in air over land points
5005+
units = m-3
5006+
dimensions = ()
5007+
type = real
5008+
kind = kind_phys
5009+
[nt_c_o]
5010+
standard_name = prescribed_number_concentration_of_cloud_liquid_water_particles_in_air_over_ocean
5011+
long_name = volumetric number concentration of cloud liquid water droplets in air over ocean points
5012+
units = m-3
5013+
dimensions = ()
5014+
type = real
5015+
kind = kind_phys
5016+
[av_i]
5017+
standard_name = cloud_ice_to_snow_tuning_parameter
5018+
long_name = transition value of coefficient matching at crossover from cloud ice to snow
5019+
units = 1
5020+
dimensions = ()
5021+
type = real
5022+
kind = kind_phys
5023+
[xnc_max]
5024+
standard_name = maximum_mass_number_concentration_of_cloud_liquid_water_particles_in_air_used_in_deposition_nucleation
5025+
long_name = maximum mass number concentration of cloud liquid water particles in air
5026+
units = kg-1
5027+
dimensions = ()
5028+
type = real
5029+
kind = kind_phys
5030+
[ssati_min]
5031+
standard_name = minimum_threshold_supersaturation_over_ice_for_deposition_nucleation
5032+
long_name = minimum supersaturation over ice threshold for deposition nucleation
5033+
units = fraction
5034+
dimensions = ()
5035+
type = real
5036+
kind = kind_phys
5037+
[Nt_i_max]
5038+
standard_name = maximum_threshold_number_concentration_of_cloud_ice_water_crystals_in_air
5039+
long_name = maximum threshold number concentration of cloud ice water crystals in air
5040+
units = m-3
5041+
dimensions = ()
5042+
type = real
5043+
kind = kind_phys
5044+
[rr_min]
5045+
standard_name = multiplicative_tuning_parameter_for_microphysical_sedimentation_minimum_threshold
5046+
long_name = multiplicative tuning parameter for microphysical sedimentation minimum threshold
5047+
units = 1
5048+
dimensions = ()
5049+
type = real
5050+
kind = kind_phys
50025051
[gfs_phys_time_vary_is_init]
50035052
standard_name = flag_for_gfs_phys_time_vary_interstitial_initialization
50045053
long_name = flag carrying interstitial initialization status

ccpp/physics

Submodule physics updated 39 files

0 commit comments

Comments
 (0)