From d0a05914b924404a678184841288d4e00301893c Mon Sep 17 00:00:00 2001 From: Ruiyu Sun Date: Thu, 18 Nov 2021 20:26:14 +0000 Subject: [PATCH 1/3] add semi-lagrangian sedimentation of graupel and update the namelist variables to control semi-lagrangian sedimentation --- .gitmodules | 6 ++++-- ccpp/data/GFS_typedefs.F90 | 17 ++++++----------- ccpp/data/GFS_typedefs.meta | 17 +++++------------ 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/.gitmodules b/.gitmodules index a54f243ae..95bb6fa2b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,5 +8,7 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = main + #url = https://github.com/NCAR/ccpp-physics + #branch = main + url = https://github.com/RuiyuSun/ccpp-physics + branch = semi-lagrangian_sedi_graupel diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 177a920a3..872661f5f 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -823,8 +823,7 @@ module GFS_typedefs integer :: thompson_ext_ndiag3d=37 !< number of 3d arrays for extended diagnostic output from Thompson real(kind=kind_phys) :: dt_inner !< time step for the inner loop in s logical :: sedi_semi !< flag for semi Lagrangian sedi of rain - logical :: sedi_semi_update!< flag for v update in semi Lagrangian sedi of rain - logical :: sedi_semi_decfl !< flag for interation with semi Lagrangian sedi of rain + integer :: decfl !< deformed CFL factor !--- GFDL microphysical paramters logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency @@ -3193,8 +3192,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: ext_diag_thompson = .false. !< flag for extended diagnostic output from Thompson real(kind=kind_phys) :: dt_inner = -999.0 !< time step for the inner loop logical :: sedi_semi = .false. !< flag for semi Lagrangian sedi of rain - logical :: sedi_semi_update = .false. !< flag for v update in semi Lagrangian sedi of rain - logical :: sedi_semi_decfl = .false. !< flag for interation with semi Lagrangian sedi of rain + integer :: decfl = 8 !< deformed CFL factor !--- GFDL microphysical parameters logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction @@ -3563,7 +3561,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & mg_alf, mg_qcmin, mg_do_ice_gmao, mg_do_liq_liu, & ltaerosol, lradar, nsradar_reset, lrefres, ttendlim, & ext_diag_thompson, dt_inner, lgfdlmprad, & - sedi_semi, sedi_semi_update, sedi_semi_decfl, & + sedi_semi, decfl, & !--- max hourly avg_max_length, & !--- land/surface model control @@ -4039,8 +4037,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%dt_inner = Model%dtp endif Model%sedi_semi = sedi_semi - Model%sedi_semi_update = sedi_semi_update - Model%sedi_semi_decfl = sedi_semi_decfl + Model%decfl = decfl !--- F-A MP parameters Model%rhgrd = rhgrd Model%spec_adv = spec_adv @@ -5117,8 +5114,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & ' ext_diag_thompson =',Model%ext_diag_thompson, & ' dt_inner =',Model%dt_inner, & ' sedi_semi=',Model%sedi_semi, & - ' sedi_semi_update=',sedi_semi_update, & - ' sedi_semi_decfl=',sedi_semi_decfl, & + ' decfl=',decfl, & ' effr_in =',Model%effr_in, & ' lradar =',Model%lradar, & ' nsradar_reset =',Model%nsradar_reset, & @@ -5537,8 +5533,7 @@ subroutine control_print(Model) print *, ' ext_diag_thompson : ', Model%ext_diag_thompson print *, ' dt_inner : ', Model%dt_inner print *, ' sedi_semi : ', Model%sedi_semi - print *, ' sedi_semi_update : ', Model%sedi_semi_update - print *, ' sedi_semi_decfl : ', Model%sedi_semi_decfl + print *, ' decfl : ', Model%decfl print *, ' ' endif if (Model%imp_physics == Model%imp_physics_mg) then diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index e9860eecb..f9a7b04e2 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -3513,19 +3513,12 @@ dimensions = () type = logical intent = in -[sedi_semi_update] - standard_name = flag_for_v_update_in_semi_Lagrangian_sedi - long_name = flag for v update in semi Lagrangian sedi of rain - units = flag - dimensions = () - type = logical - intent = in -[sedi_semi_decfl] - standard_name = flag_for_iteration_with_semi_Lagrangian_sedi - long_name = flag for interation with semi Lagrangian sedi of rain - units = flag +[decfl] + standard_name = deformed_CFL_factor + long_name = deformed CFL factor + units = count dimensions = () - type = logical + type = integer intent = in [lgfdlmprad] standard_name = flag_for_GFDL_microphysics_radiation_interaction From 8eb08d1f2068a0cb9d2c178bea62d161d72b931c Mon Sep 17 00:00:00 2001 From: Ruiyu Sun Date: Mon, 22 Nov 2021 15:54:00 +0000 Subject: [PATCH 2/3] sync FV3 --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index eb2875603..bd4710a05 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit eb28756036b280c2c1a741112045fefd5639c6a9 +Subproject commit bd4710a0511a1a0c6bd6850ce3b7630e9a356df5 From 88108acf7d91cd18513f7f23b110320c14a67067 Mon Sep 17 00:00:00 2001 From: Ruiyu Sun Date: Tue, 23 Nov 2021 14:25:56 +0000 Subject: [PATCH 3/3] update ccpp physics branch and .gitmodules --- .gitmodules | 6 ++---- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 7b4c6d91b..6bb663df1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,10 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/NCAR/ccpp-physics - #branch = main - url = https://github.com/RuiyuSun/ccpp-physics - branch = semi-lagrangian_sedi_graupel + url = https://github.com/NCAR/ccpp-physics + branch = main [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/physics b/ccpp/physics index 35cf7eb8a..c3627d901 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 35cf7eb8a01572371777fafc07387d57dff8e8ee +Subproject commit c3627d901574b25673782e39a46d0905e8e0dc5d