diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index 6ea13baf8..fc2bd565e 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -823,6 +823,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 @@ -902,6 +905,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 @@ -3022,6 +3028,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 @@ -3060,6 +3069,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 @@ -3268,6 +3280,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 @@ -3671,6 +3684,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 @@ -3711,6 +3727,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 @@ -4766,6 +4785,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' diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 8963bde8f..5d0de8084 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -3026,6 +3026,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 @@ -3412,7 +3418,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 @@ -4135,6 +4141,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