-
Notifications
You must be signed in to change notification settings - Fork 86
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
Add SPP to the SRW App #685
Add SPP to the SRW App #685
Conversation
… namelist when not using SPP.
…alues are now handled in the generate script if using SPP.
… LSM SPP is turned on.
@@ -275,7 +275,6 @@ | |||
"gfs_phys", "sppt_wts", "sppt_wts", "fv3_history", "all", .false., "none", 2 | |||
"gfs_phys", "skebu_wts", "skebu_wts", "fv3_history", "all", .false., "none", 2 | |||
"gfs_phys", "skebv_wts", "skebv_wts", "fv3_history", "all", .false., "none", 2 | |||
"dynamics", "diss_est", "diss_est", "fv3_history", "all", .false., "none", 2 | |||
"gfs_phys", "shum_wts", "shum_wts", "fv3_history", "all", .false., "none", 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove tendency-based stochastic physics dissipation estimate (diss_est) from diag_table files. It doesn't exist (yet).
@@ -141,9 +141,6 @@ | |||
debug = .false. | |||
do_mynnedmf = .true. | |||
do_mynnsfclay = .false. | |||
do_shum = .false. | |||
do_skeb = .false. | |||
do_sppt = .false. | |||
dspheat = .true. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove stochastic physics settings from the input namelist template file, as they are not static values applicable to all potential configurations of the SRW App. They are filled in based on choices made by the user in config.sh.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are default values in the model, anyway, no? Removing them makes sense. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, exactly!
lradar = .true. | ||
lsm = 3 | ||
lsoil_lsm = 9 | ||
ltaerosol = .true. | ||
lwhtr = .true. | ||
n_var_lndp = 0 | ||
nsradar_reset = 3600 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as above for lndp_type and n_var_lndp.
lndp_prt_list = 0.2,0.1, | ||
/ | ||
|
||
&nam_sppperts | ||
/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The &nam_sfcperts stanza (LSM-based SPP) should be empty and only filled in based on user-defined settings in the config.sh file.
lndp_prt_list = 0.2,0.1, | ||
/ | ||
|
||
&nam_sppperts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The &nam_sppperts namelist stanza is set to be empty in the namelist template file and only used for MYNN PBL, MYNN SFC, GSL GWD, Thompson MP, and RRTMG SPP based on user-defined options in the config.sh file.
@@ -3,3 +3,4 @@ EARTH_component_list: ATM | |||
runSeq:: | |||
ATM | |||
:: | |||
logKindFlag: ESMF_LOGKIND_MULTI_ON_ERROR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to nems.configure file required to suppress PET file output in the run directory with new(er) hash of ufs-weather-model.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
@@ -141,9 +141,6 @@ | |||
debug = .false. | |||
do_mynnedmf = .true. | |||
do_mynnsfclay = .false. | |||
do_shum = .false. | |||
do_skeb = .false. | |||
do_sppt = .false. | |||
dspheat = .true. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are default values in the model, anyway, no? Removing them makes sense. :)
# soon, at which point, this requirement can be removed from regional_workflow. | ||
# | ||
#----------------------------------------------------------------------- | ||
# |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the variables N_VAR_LNDP
, LNDP_TYPE
, and FHCYC_LSM_SPP_OR_NOT
are used in at least one other script (generate_FV3LAM_wflow.sh
), they are not local variables. So we should treat them as experiment variables and record them in var_defns.sh
(at the end of setup.sh
).
# | ||
settings="$settings | ||
'nam_sppperts': {" | ||
if [ "${DO_SPP}" = "TRUE" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indent settings="$settings"
line.
# | ||
settings="$settings | ||
'nam_sfcperts': {" | ||
if [ "${DO_LSM_SPP}" = "TRUE" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indent settings="$settings"
line.
@@ -3,3 +3,4 @@ EARTH_component_list: ATM | |||
runSeq:: | |||
ATM | |||
:: | |||
logKindFlag: ESMF_LOGKIND_MULTI_ON_ERROR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this line do?
ush/setup.sh
Outdated
# an "FHCYC_LSM_SPP" variable to 0 and set it to 999 if LSM SPP is turned | ||
# on. This requirement is necessary since LSM SPP cannot run with | ||
# FHCYC=0 at the moment, but FHCYC cannot be set to anything less than the | ||
# length of the forecast either. A bug fix will be issued ufs-weather-model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issued "in" ufs-weather-model
[ "${#SPP_STDDEV_CUTOFF[@]}" != "${N_VAR_SPP}" ] || \ | ||
[ "${#ISEED_SPP[@]}" != "${N_VAR_SPP}" ]; then | ||
print_err_msg_exit "\ | ||
All MYNN PBL, MYNN SFC, GSL GWD, Thompson MP, or RRTMG SPP-related namelist |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the message, replace config.sh
with ${CONFIG_FN}
so that it changes in case the name of the config file is changed.
[ "${#LSM_SPP_LSCALE[@]}" != "${N_VAR_LNDP}" ] || \ | ||
[ "${#LSM_SPP_TSCALE[@]}" != "${N_VAR_LNDP}" ]; then | ||
print_err_msg_exit "\ | ||
All Noah or RUC-LSM SPP-related namelist variables (except ISEED_LSM_SPP) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above for config.sh
.
…settings in config.sh
… SPP, LSM SPP, SPPT, SHUM, or SKEB.
DESCRIPTION OF CHANGES:
This PR adds SPP to the SRW App. Options exist to perturb RUC and Noah LSM (with the &nam_sfcperts namelist block) and MYNN PBL, MYNN SFC, Thompson MP, RRTMG, and GSL GWD (with the &nam_sppperts namelist block). Default values for these namelist entries can be found in config_defaults.sh. For a full description of SPP, please refer to the ufs-weather-model PR here and related GitHub issue here.
TESTS CONDUCTED:
Simulations were run on Hera with and without SPP from both namelist blocks using the RRFS_CONUS_3km and the "ensemble_2mems" WE2E tests. All tests completed successfully.
DEPENDENCIES:
PR #218 in ufs-srweather-app depends on this PR.
DOCUMENTATION:
A PR updating the Users' Guide for SPP will be opened in the ufs-srweather-app repo once major documentation changes associated with PR #212 are merged.
CONTRIBUTORS (optional):
Thanks are due to @gsketefian for his help with namelist entry creation and @ericaligo-NOAA for help with nems.configure.