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

[production/RRFS.v1] saSAS sigmab initialization changes to reduce large initial reflectivity in RRFS and inline post bug fix for RUC LSM #869

Open
wants to merge 7 commits into
base: production/RRFS.v1
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
branch = production/RRFS.v1
[submodule "ccpp/physics"]
path = ccpp/physics
url = https://github.com/ufs-community/ccpp-physics
branch = production/RRFS.v1
# url = https://github.com/ufs-community/ccpp-physics
# branch = production/RRFS.v1
url = https://github.com/JiliDong-NOAA/ccpp-physics
branch = sigmab_fix
[submodule "upp"]
path = upp
url = https://github.com/NOAA-EMC/UPP
Expand Down
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 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