diff --git a/.gitmodules b/.gitmodules index 22c723ac1..6e2193f4c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + url = https://github.com/joeolson42/ccpp-physics + branch = mynn_01March [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index d950e39e6..4c9ce5298 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -1112,7 +1112,7 @@ module GFS_typedefs logical :: do_mynnedmf logical :: do_mynnsfclay ! DH* TODO - move this to MYNN namelist section - logical :: bl_mynn_tkebudget !< flag for activating TKE budget + integer :: tke_budget !< flag for activating TKE budget logical :: bl_mynn_tkeadvect !< activate computation of TKE advection (not yet in use for FV3) integer :: bl_mynn_cloudpdf !< flag to determine which cloud PDF to use integer :: bl_mynn_mixlength !< flag for different version of mixing length formulation @@ -3320,7 +3320,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: do_mynnedmf = .false. !< flag for MYNN-EDMF logical :: do_mynnsfclay = .false. !< flag for MYNN Surface Layer Scheme ! DH* TODO - move to MYNN namelist section - logical :: bl_mynn_tkebudget = .false. + integer :: tke_budget = 0 logical :: bl_mynn_tkeadvect = .false. integer :: bl_mynn_cloudpdf = 2 integer :: bl_mynn_mixlength = 1 @@ -3618,7 +3618,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_mixlength, bl_mynn_cloudmix, & bl_mynn_mixqt, bl_mynn_output, icloud_bl, bl_mynn_tkeadvect, & - bl_mynn_closure, bl_mynn_tkebudget, & + bl_mynn_closure, tke_budget, & isftcflx, iz0tlnd, sfclay_compute_flux, sfclay_compute_diag, & ! *DH gwd_opt, do_ugwp_v0, do_ugwp_v0_orog_only, & @@ -4432,7 +4432,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%bl_mynn_output = bl_mynn_output Model%bl_mynn_tkeadvect = bl_mynn_tkeadvect Model%bl_mynn_closure = bl_mynn_closure - Model%bl_mynn_tkebudget = bl_mynn_tkebudget + Model%tke_budget = tke_budget Model%icloud_bl = icloud_bl Model%isftcflx = isftcflx Model%iz0tlnd = iz0tlnd @@ -7189,7 +7189,7 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%det_thl (IM,Model%levs)) allocate (Diag%det_sqv (IM,Model%levs)) endif - if (Model%bl_mynn_tkebudget) then + if (Model%tke_budget .gt. 0) then allocate (Diag%dqke (IM,Model%levs)) allocate (Diag%qwt (IM,Model%levs)) allocate (Diag%qshear (IM,Model%levs)) @@ -7213,7 +7213,7 @@ subroutine diag_create (Diag, IM, Model) Diag%det_thl = clear_val Diag%det_sqv = clear_val endif - if (Model%bl_mynn_tkebudget) then + if (Model%tke_budget .gt. 0) then Diag%dqke = clear_val Diag%qwt = clear_val Diag%qshear = clear_val diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index f6a426c43..b388cc783 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6316,12 +6316,12 @@ units = flag dimensions = () type = logical -[bl_mynn_tkebudget] +[tke_budget] standard_name = control_for_tke_budget_output long_name = flag for activating TKE budget units = flag dimensions = () - type = logical + type = integer [bl_mynn_tkeadvect] standard_name = flag_for_tke_advection long_name = flag for activating TKE advection diff --git a/ccpp/physics b/ccpp/physics index 630d37494..f7a4342ab 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 630d37494a9e32690131b0af0ea367886581ecba +Subproject commit f7a4342ab3ca27d95060e67175db2dcd818b92ed diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml new file mode 100644 index 000000000..f77c71cc5 --- /dev/null +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -0,0 +1,98 @@ + + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + sgscloud_radpre + GFS_rrtmg_pre + GFS_radiation_surface + rad_sw_pre + rrtmg_sw + rrtmg_sw_post + rrtmg_lw_pre + rrtmg_lw + sgscloud_radpost + rrtmg_lw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + GFS_surface_composites_pre + dcyc2t3 + GFS_surface_composites_inter + GFS_suite_interstitial_2 + + + + sfc_diff + GFS_surface_loop_control_part1 + sfc_nst_pre + sfc_nst + sfc_nst_post + noahmpdrv + sfc_sice + GFS_surface_loop_control_part2 + + + + GFS_surface_composites_post + sfc_diag + sfc_diag_post + GFS_surface_generic_post + + + + mynnedmf_wrapper + GFS_GWD_generic_pre + unified_ugwp + unified_ugwp_post + GFS_GWD_generic_post + GFS_suite_stateout_update + ozphys_2015 + h2ophys + get_phi_fv3 + GFS_suite_interstitial_3 + GFS_DCNV_generic_pre + samfdeepcnv + GFS_DCNV_generic_post + + + + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + mp_thompson_pre + + + mp_thompson + + + mp_thompson_post + GFS_MP_generic_post + maximum_hourly_diagnostics + + + + + GFS_stochastics + phys_tend + + + +