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

Add SPP to the SRW App #685

Merged
merged 60 commits into from
Mar 9, 2022

Conversation

JeffBeck-NOAA
Copy link
Collaborator

@JeffBeck-NOAA JeffBeck-NOAA commented Feb 26, 2022

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.

…alues are now handled in the generate script if using SPP.
@@ -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
Copy link
Collaborator Author

@JeffBeck-NOAA JeffBeck-NOAA Mar 3, 2022

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.
Copy link
Collaborator Author

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.

Copy link
Contributor

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. :)

Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
/
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

@JeffBeck-NOAA JeffBeck-NOAA Mar 3, 2022

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.

Copy link
Contributor

@christinaholtNOAA christinaholtNOAA left a 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.
Copy link
Contributor

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. :)

ush/generate_FV3LAM_wflow.sh Show resolved Hide resolved
# soon, at which point, this requirement can be removed from regional_workflow.
#
#-----------------------------------------------------------------------
#
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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
Copy link
Collaborator

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)
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants