Skip to content

Commit

Permalink
[production/RRFS.v1] saSAS sigmab initialization changes to reduce la…
Browse files Browse the repository at this point in the history
…rge initial reflectivity in RRFS and inline post bug fix for RUC LSM (#869)

* add namelist parameter sigmab_coldstart
* fix for inline post when using RUC LSM
* pass landsfcmdl to iSF_SURFACE_PHYSICS in post_fv3
* update ccpp/physics
* another bug fix for LSM soil output with inline post
* update ccpp/physics and revert .gitmodules
  • Loading branch information
JiliDong-NOAA authored Jan 27, 2025
1 parent d1e73a4 commit 81e6d10
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 3 deletions.
5 changes: 5 additions & 0 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1231,6 +1231,7 @@ module GFS_typedefs
real(kind=kind_phys) :: betascu !< Tuning parameter for prog. closure shallow clouds
real(kind=kind_phys) :: betamcu !< Tuning parameter for prog. closure midlevel clouds
real(kind=kind_phys) :: betadcu !< Tuning parameter for prog. closure deep clouds
logical :: sigmab_coldstart !< flag to cold start sigmab

!--- MYNN parameters/switches
logical :: do_mynnedmf
Expand Down Expand Up @@ -4036,6 +4037,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
real(kind=kind_phys) :: betascu = 8.0 !< Tuning parameter for prog. closure shallow clouds
real(kind=kind_phys) :: betamcu = 1.0 !< Tuning parameter for prog. closure midlevel clouds
real(kind=kind_phys) :: betadcu = 2.0 !< Tuning parameter for prog. closure deep clouds
logical :: sigmab_coldstart = .false. !< flag to cold start sigmab
! *DH
logical :: do_myjsfc = .false. !< flag for MYJ surface layer scheme
logical :: do_myjpbl = .false. !< flag for MYJ PBL scheme
Expand Down Expand Up @@ -4367,6 +4369,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
do_myjsfc, do_myjpbl, &
hwrf_samfdeep, hwrf_samfshal,progsigma,betascu,betamcu, &
betadcu,h2o_phys, pdfcld, shcnvcw, redrag, hybedmf, satmedmf,&
sigmab_coldstart, &
shinhong, do_ysu, dspheat, lheatstrg, lseaspray, cnvcld, &
random_clds, shal_cnv, imfshalcnv, imfdeepcnv, isatmedmf, &
conv_cf_opt, do_deep, jcap, &
Expand Down Expand Up @@ -5176,6 +5179,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%betascu = betascu
Model%betamcu = betamcu
Model%betadcu = betadcu
Model%sigmab_coldstart = sigmab_coldstart

if (oz_phys .and. oz_phys_2015) then
write(*,*) 'Logic error: can only use one ozone physics option (oz_phys or oz_phys_2015), not both. Exiting.'
Expand Down Expand Up @@ -7202,6 +7206,7 @@ subroutine control_print(Model)
print *, 'betascu : ', Model%betascu
print *, 'betamcu : ', Model%betamcu
print *, 'betadcu : ', Model%betadcu
print *, 'sigmab_coldstart : ', Model%sigmab_coldstart
print *, ' '
print *, 'cellular automata'
print *, ' nca : ', Model%nca
Expand Down
6 changes: 6 additions & 0 deletions ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -5566,6 +5566,12 @@
dimensions = ()
type = real
kind = kind_phys
[sigmab_coldstart]
standard_name = flag_to_cold_start_for_sigmab_init
long_name = flag to cold start for sigmab initialization
units = flag
dimensions = ()
type = logical
[isatmedmf]
standard_name = choice_of_scale_aware_TKE_moist_EDMF_PBL
long_name = choice of scale-aware TKE moist EDMF PBL scheme
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
2 changes: 1 addition & 1 deletion io/fv3atm_history_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ subroutine history_type_register(hist, Diag, Time, Atm_block, Model, xlon, xlat,
hist%fhzero = nint(Model%fhzero)
! hist%ncld = Model%ncld
hist%ncld = Model%imp_physics
hist%nsoil = Model%lsoil
hist%nsoil = Model%lsoil_lsm
hist%dtp = Model%dtp
hist%imp_physics = Model%imp_physics
hist%landsfcmdl = Model%lsm
Expand Down
1 change: 1 addition & 0 deletions io/module_write_internal_state.F90
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ module write_internal_state
integer :: ncld !< Number of hydrometeors.
integer :: nsoil !< Number of soil layers.
integer :: imp_physics !< Choice of microphysics scheme.
integer :: landsfcmdl !< Choice of land surface model
integer :: dtp !< Physics timestep.
real,dimension(:),allocatable :: ak !< a parameter for sigma pressure level calculations.
real,dimension(:),allocatable :: bk !< b parameter for sigma pressure level calculations.
Expand Down
3 changes: 2 additions & 1 deletion io/post_fv3.F90
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,7 @@ subroutine post_getattr_fv3(wrt_int_state,grid_id)
if (trim(attName) == 'nsoil') wrt_int_state%nsoil=varival
if (trim(attName) == 'fhzero') wrt_int_state%fhzero=varival
if (trim(attName) == 'imp_physics') wrt_int_state%imp_physics=varival
if (trim(attName) == 'landsfcmdl') wrt_int_state%landsfcmdl=varival
endif
else if (typekind==ESMF_TYPEKIND_R4) then
if(n==1) then
Expand Down Expand Up @@ -624,7 +625,7 @@ subroutine set_postvars_fv3(wrt_int_state,grid_id,mype,mpicomp)
!
imp_physics = wrt_int_state%imp_physics !set GFS mp physics to 99 for Zhao scheme
dtp = wrt_int_state%dtp
iSF_SURFACE_PHYSICS = 2
iSF_SURFACE_PHYSICS = wrt_int_state%landsfcmdl
spval = 9.99e20
!
! nems gfs has zhour defined
Expand Down

0 comments on commit 81e6d10

Please sign in to comment.