Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thompson semi lag rain #382

Merged
merged 11 commits into from
Oct 28, 2021
16 changes: 16 additions & 0 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -826,6 +826,9 @@ module GFS_typedefs
logical :: ext_diag_thompson !< flag for extended diagnostic output from Thompson
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

!--- GFDL microphysical paramters
logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency
Expand Down Expand Up @@ -3236,6 +3239,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
real(kind=kind_phys) :: ttendlim = -999.0 !< temperature tendency limiter, set to <0 to deactivate
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

!--- GFDL microphysical parameters
logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction
Expand Down Expand Up @@ -3604,6 +3610,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, &
!--- max hourly
avg_max_length, &
!--- land/surface model control
Expand Down Expand Up @@ -4078,6 +4085,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
else
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
!--- F-A MP parameters
Model%rhgrd = rhgrd
Model%spec_adv = spec_adv
Expand Down Expand Up @@ -5165,6 +5175,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
' ttendlim =',Model%ttendlim, &
' 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, &
' effr_in =',Model%effr_in, &
' lradar =',Model%lradar, &
' nsradar_reset =',Model%nsradar_reset, &
Expand Down Expand Up @@ -5582,6 +5595,9 @@ subroutine control_print(Model)
print *, ' ttendlim : ', Model%ttendlim
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 *, ' '
endif
if (Model%imp_physics == Model%imp_physics_mg) then
Expand Down
24 changes: 24 additions & 0 deletions ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -3514,6 +3514,30 @@
dimensions = ()
type = real
kind = kind_phys
[sedi_semi]
standard_name = flag_for_semi_Lagrangian_sedi_rain
long_name = flag for semi Lagrangian sedi of rain
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[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
optional = F
[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
dimensions = ()
type = logical
intent = in
optional = F
[lgfdlmprad]
standard_name = flag_for_GFDL_microphysics_radiation_interaction
long_name = flag for GFDL microphysics-radiation interaction
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics