From cfa4d1652518123ccdea43d25590ea8ced3d7397 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Tue, 10 Dec 2019 12:42:24 -0700 Subject: [PATCH 1/4] add hurricane-specific variables to GFS_typedefs.F90 for hurricane option in moninedmf --- gfsphysics/GFS_layer/GFS_typedefs.F90 | 23 ++++++++++++++++++++ gfsphysics/GFS_layer/GFS_typedefs.meta | 29 +++++++++++++++++++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index 8ab6d03c9..215ab9942 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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' diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 7d4bc6bdc..7d964fd9a 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -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 @@ -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 @@ -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 From a9ba3a6296268138e04c0b3d89c55a5a594be640 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 6 Apr 2020 10:07:37 -0600 Subject: [PATCH 2/4] Update .gitmodules and submodule pointer for ccpp/physics for code review and testing --- .gitmodules | 6 ++++-- ccpp/physics | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2fd86e7d8..49862c7bc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,5 +8,7 @@ branch = master [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = dtc/hwrf-physics + #url = https://github.com/NCAR/ccpp-physics + #branch = dtc/hwrf-physics + url = https://github.com/climbfuji/ccpp-physics + branch = dtc-hwrf-physics-add-moninedmf \ No newline at end of file diff --git a/ccpp/physics b/ccpp/physics index 1df7376ed..78c03e0bb 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 1df7376ed7293b29495f1b2b089cd6eb2862708b +Subproject commit 78c03e0bb3c43f737cbd9f7e0171164a32c2def2 From 338b0b156f47b8aa2d0ddd690e69dc41e70d5ef8 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 6 Apr 2020 15:18:03 -0600 Subject: [PATCH 3/4] Update submodule pointer for ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 78c03e0bb..b492f726d 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 78c03e0bb3c43f737cbd9f7e0171164a32c2def2 +Subproject commit b492f726db97a45a68baf5311a74ed10d882001a From 1c35f1c7332f218275836b6b80a0f364a37d5364 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 7 Apr 2020 08:07:13 -0600 Subject: [PATCH 4/4] Revert change to .gitmodules and update submodule pointer for ccpp-physics --- .gitmodules | 6 ++---- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 49862c7bc..2fd86e7d8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,7 +8,5 @@ branch = master [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/NCAR/ccpp-physics - #branch = dtc/hwrf-physics - url = https://github.com/climbfuji/ccpp-physics - branch = dtc-hwrf-physics-add-moninedmf \ No newline at end of file + url = https://github.com/NCAR/ccpp-physics + branch = dtc/hwrf-physics diff --git a/ccpp/physics b/ccpp/physics index b492f726d..0346c384f 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit b492f726db97a45a68baf5311a74ed10d882001a +Subproject commit 0346c384fd6c31fc6d0278259493a5474cd830d7