Skip to content

Commit

Permalink
Merge pull request #37 from climbfuji/dtc-hwrf-physics-add-moninedmf
Browse files Browse the repository at this point in the history
dtc/hwrf-physics: combined version of HAFS/GFS moninedmf scheme (hybrid EDMF PBL)
  • Loading branch information
climbfuji authored Apr 7, 2020
2 parents 33e01da + 1c35f1c commit fe3f57d
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 2 deletions.
2 changes: 1 addition & 1 deletion ccpp/physics
23 changes: 23 additions & 0 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,9 @@ module GFS_typedefs
logical :: shinhong !< flag for scale-aware Shinhong vertical turbulent mixing scheme
logical :: do_ysu !< flag for YSU turbulent mixing scheme
logical :: dspheat !< flag for tke dissipative heating
#ifdef CCPP
logical :: hurr_pbl !< flag for hurricane-specific options in PBL scheme
#endif
logical :: lheatstrg !< flag for canopy heat storage parameterization
logical :: cnvcld
logical :: random_clds !< flag controls whether clouds are random
Expand Down Expand Up @@ -874,6 +877,9 @@ module GFS_typedefs
integer :: bl_mynn_cloudmix !< flag to activate mixing of cloud species
integer :: bl_mynn_mixqt !< flag to mix total water or individual species
integer :: icloud_bl !< flag for coupling sgs clouds to radiation
real(kind=kind_phys) :: var_ric
real(kind=kind_phys) :: coef_ric_l
real(kind=kind_phys) :: coef_ric_s
! *DH
! MYJ switches
logical :: do_myjsfc !< flag for MYJ surface layer scheme
Expand Down Expand Up @@ -2912,6 +2918,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
logical :: shinhong = .false. !< flag for scale-aware Shinhong vertical turbulent mixing scheme
logical :: do_ysu = .false. !< flag for YSU vertical turbulent mixing scheme
logical :: dspheat = .false. !< flag for tke dissipative heating
#ifdef CCPP
logical :: hurr_pbl = .false. !< flag for hurricane-specific options in PBL scheme
#endif
logical :: lheatstrg = .false. !< flag for canopy heat storage parameterization
logical :: cnvcld = .false.
logical :: random_clds = .false. !< flag controls whether clouds are random
Expand Down Expand Up @@ -2950,6 +2959,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
integer :: bl_mynn_cloudmix = 1
integer :: bl_mynn_mixqt = 0
integer :: icloud_bl = 1
real(kind=kind_phys) :: var_ric = 1.0
real(kind=kind_phys) :: coef_ric_l = 0.16
real(kind=kind_phys) :: coef_ric_s = 0.25
! *DH
logical :: do_myjsfc = .false. !< flag for MYJ surface layer scheme
logical :: do_myjpbl = .false. !< flag for MYJ PBL scheme
Expand Down Expand Up @@ -3150,6 +3162,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
bl_mynn_cloudpdf, bl_mynn_edmf, bl_mynn_edmf_mom, &
bl_mynn_edmf_tke, bl_mynn_edmf_part, bl_mynn_cloudmix, &
bl_mynn_mixqt, icloud_bl, bl_mynn_tkeadvect, gwd_opt, &
var_ric, coef_ric_l, coef_ric_s, hurr_pbl, &
! *DH
do_myjsfc, do_myjpbl, &
#endif
Expand Down Expand Up @@ -3530,6 +3543,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%shinhong = shinhong
Model%do_ysu = do_ysu
Model%dspheat = dspheat
#ifdef CCPP
Model%hurr_pbl = hurr_pbl
#endif
Model%lheatstrg = lheatstrg
Model%cnvcld = cnvcld
Model%random_clds = random_clds
Expand Down Expand Up @@ -3570,6 +3586,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%bl_mynn_tkeadvect = bl_mynn_tkeadvect
Model%grav_settling = grav_settling
Model%icloud_bl = icloud_bl
Model%var_ric = var_ric
Model%coef_ric_l = coef_ric_l
Model%coef_ric_s = coef_ric_s
! *DH
Model%gwd_opt = gwd_opt
Model%do_myjsfc = do_myjsfc
Expand Down Expand Up @@ -4606,6 +4625,10 @@ subroutine control_print(Model)
print *, ' do_myjsfc : ', Model%do_myjsfc
print *, ' do_myjpbl : ', Model%do_myjpbl
print *, ' gwd_opt : ', Model%gwd_opt
print *, ' hurr_pbl : ', Model%hurr_pbl
print *, ' var_ric : ', Model%var_ric
print *, ' coef_ric_l : ', Model%coef_ric_l
print *, ' coef_ric_s : ', Model%coef_ric_s
#endif
print *, ' '
print *, 'Rayleigh friction'
Expand Down
29 changes: 28 additions & 1 deletion gfsphysics/GFS_layer/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -2896,6 +2896,12 @@
units = flag
dimensions = ()
type = logical
[hurr_pbl]
standard_name = flag_hurricane_PBL
long_name = flag for hurricane-specific options in PBL scheme
units = flag
dimensions = ()
type = logical
[lheatstrg]
standard_name = flag_for_canopy_heat_storage
long_name = flag for canopy heat storage parameterization
Expand Down Expand Up @@ -3282,7 +3288,7 @@
kind = kind_phys
[moninq_fac]
standard_name = atmosphere_diffusivity_coefficient_factor
long_name = multiplicative constant for atmospheric diffusivities
long_name = multiplicative constant for atmospheric diffusivities (AKA alpha)
units = none
dimensions = ()
type = real
Expand Down Expand Up @@ -4005,6 +4011,27 @@
units = flag
dimensions = ()
type = integer
[var_ric]
standard_name = flag_variable_bulk_richardson_number
long_name = flag for calculating variable bulk richardson number for hurricane PBL
units = flag
dimensions = ()
type = real
kind = kind_phys
[coef_ric_l]
standard_name = coefficient_for_variable_bulk_richardson_number_over_land
long_name = coefficient for calculating variable bulk richardson number for hurricane PBL over land
units = none
dimensions = ()
type = real
kind = kind_phys
[coef_ric_s]
standard_name = coefficient_for_variable_bulk_richardson_number_over_ocean
long_name = coefficient for calculating variable bulk richardson number for hurricane PBL over ocean
units = none
dimensions = ()
type = real
kind = kind_phys
[do_ugwp]
standard_name = do_ugwp
long_name = flag to activate CIRES UGWP
Expand Down

0 comments on commit fe3f57d

Please sign in to comment.