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

rrfs_ci: Merge authoritative develop #273

Merged
merged 16 commits into from
Feb 4, 2022
Merged
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
25 changes: 13 additions & 12 deletions jobs/JREGIONAL_GET_EXTRN_MDL_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -167,28 +167,29 @@ check_var_valid_value "ICS_OR_LBCS" "valid_vals_ICS_OR_LBCS"
#
#-----------------------------------------------------------------------
#
# Set the parameter anl_or_fcst that determines whether we want to get
# analysis or forecast files. This depends on whether we want these files
# to generate initial condition and surface field files or lateral boundary
# condition files. Also, set time_offset_hrs, which is the offset in
# hours between the current cycle's starting time and the starting time
# of the external model providing the LBCs.
# Set parameters for grabbing either the initial conditions from analysis or
# forecast files of external models, or the lateral boundary conditions
# from external models. The script has been called to do the work for
# one or the other.
#
#-----------------------------------------------------------------------
#
if [ "${ICS_OR_LBCS}" = "ICS" ]; then
anl_or_fcst="ANL"
time_offset_hrs="0"
if [ ${EXTRN_MDL_ICS_OFFSET_HRS} -eq 0 ] ; then
anl_or_fcst="ANL"
time_offset_hrs=0
else
anl_or_fcst="FCST"
time_offset_hrs=${EXTRN_MDL_ICS_OFFSET_HRS:-0}
fi
elif [ "${ICS_OR_LBCS}" = "LBCS" ]; then
anl_or_fcst="FCST"
time_offset_hrs="${EXTRN_MDL_LBCS_OFFSET_HRS}"
time_offset_hrs=${EXTRN_MDL_LBCS_OFFSET_HRS:-0}
fi
#
#-----------------------------------------------------------------------
#
# Set the name of and then create the directory in which to stage the
# external model files for the current cycle (if it doesn't already exist).
# Then change location to that directory.
# Create the directory where the exetrnal model files should be stored
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_CCPA
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_MRMS
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_NDAS
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_ICS
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_POST
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSGRID
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSGRID_MEAN
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSGRID_PROB
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSPOINT
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSPOINT_MEAN
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_ENSPOINT_PROB
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_GRIDSTAT
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_RUN_VX_POINTSTAT
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#
#-----------------------------------------------------------------------
#
{ save_shell_opts; set -u -x; } > /dev/null 2>&1
{ save_shell_opts; set -u +x; } > /dev/null 2>&1
#
#-----------------------------------------------------------------------
#
Expand Down
1 change: 1 addition & 0 deletions scripts/exregional_make_ics.sh
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ case "${CCPP_PHYS_SUITE}" in
"FV3_GSD_SAR" | \
"FV3_RRFS_v1alpha" | \
"FV3_RRFS_v1beta" | \
"FV3_GFS_v15_thompson_mynn_lam3km" | \
"FV3_HRRR" )
if [ "${EXTRN_MDL_NAME_ICS}" = "RAP" ] || \
[ "${EXTRN_MDL_NAME_ICS}" = "HRRR" ]; then
Expand Down
1 change: 1 addition & 0 deletions scripts/exregional_make_lbcs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ case "${CCPP_PHYS_SUITE}" in
"FV3_GSD_SAR" | \
"FV3_RRFS_v1alpha" | \
"FV3_RRFS_v1beta" | \
"FV3_GFS_v15_thompson_mynn_lam3km" | \
"FV3_HRRR" )
if [ "${EXTRN_MDL_NAME_LBCS}" = "RAP" ] || \
[ "${EXTRN_MDL_NAME_LBCS}" = "HRRR" ]; then
Expand Down
28 changes: 26 additions & 2 deletions scripts/exregional_run_fcst.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ case "$MACHINE" in
if [ ${PE_MEMBER01} -gt 24 ];then
APRUN="aprun -b -j1 -n${PE_MEMBER01} -N24 -d1 -cc depth"
else
APRUN="aprun -b -j1 -n24 -N24 -d1 -cc depth"
APRUN="aprun -b -j1 -n${PE_MEMBER01} -N${PE_MEMBER01} -d1 -cc depth"
fi
;;

Expand All @@ -127,7 +127,7 @@ case "$MACHINE" in
"ORION")
ulimit -s unlimited
ulimit -a
APRUN="srun"
APRUN="srun -n ${PE_MEMBER01}"
;;

"JET")
Expand Down Expand Up @@ -405,6 +405,30 @@ done
#
#-----------------------------------------------------------------------
#
# Create links in the current run directory to the MERRA2 aerosol
# climatology data files and lookup table for optics properties.
#
#-----------------------------------------------------------------------
#
if [ "${USE_MERRA_CLIMO}" = "TRUE" ]; then
for f_nm_path in ${FIXclim}/*; do
f_nm=$( basename "${f_nm_path}" )
pre_f="${f_nm%%.*}"

if [ "${pre_f}" = "merra2" ]; then
mnth=$( printf "%s\n" "${f_nm}" | grep -o -P '(?<=2014.m).*(?=.nc)' )
symlink="${run_dir}/aeroclim.m${mnth}.nc"
else
symlink="${run_dir}/${pre_f}.dat"
fi
target="${f_nm_path}"
create_symlink_to_file target="$target" symlink="$symlink" \
relative="${relative_link_flag}"
done
fi
#
#-----------------------------------------------------------------------
#
# If running this cycle/ensemble member combination more than once (e.g.
# using rocotoboot), remove any time stamp file that may exist from the
# previous attempt.
Expand Down
4 changes: 2 additions & 2 deletions scripts/exregional_run_post.sh
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ tmmark="tm00"
# minutes and seconds of the corresponding output forecast time.
#
# Note that if the forecast model is instructed to output at some hourly
# interval (via the nfhout and nfhout_hf parameters in the MODEL_CONFIG_FN
# file, with nsout set to a non-positive value), then the write-component
# interval (via the output_fh parameter in the MODEL_CONFIG_FN file,
# with nsout set to a non-positive value), then the write-component
# output file names will not contain any suffix for the minutes and seconds.
# For this reason, when SUB_HOURLY_POST is not set to "TRUE", mnts_sec_str
# must be set to a null string.
Expand Down
4 changes: 2 additions & 2 deletions tests/WE2E/get_WE2Etest_names_subdirs_descs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -759,7 +759,7 @@ This is probably because it is a directory. Please correct and rerun."
test_names=("${prim_test_names[@]}")
test_subdirs=("${prim_test_subdirs[@]}")
if [ "${num_alt_tests}" -gt "0" ]; then
test_names+=("${alt_test_subdirs[@]:-}")
test_names+=("${alt_test_names[@]:-}")
test_subdirs+=("${alt_test_subdirs[@]:-}")
fi
#
Expand Down Expand Up @@ -1025,7 +1025,7 @@ Please correct and rerun."
# listed first.
#
# Finally, we extract from test_ids_and_inds_sorted the second number
# in each element (the one afte the first number, which is the test ID,
# in each element (the one after the first number, which is the test ID,
# and the test type, which we no longer need), which is the original
# array index before sorting, and save the results in the array sort_inds.
# This array will contain the original indices in sorted order that we
Expand Down
2 changes: 1 addition & 1 deletion tests/WE2E/get_expts_status.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ scrfunc_dir=$( dirname "${scrfunc_fp}" )
#
#-----------------------------------------------------------------------
#
homerrfs=${scrfunc_dir%/*}
homerrfs=${scrfunc_dir%/*/*}
#
#-----------------------------------------------------------------------
#
Expand Down
6 changes: 3 additions & 3 deletions tests/WE2E/run_WE2E_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -538,8 +538,8 @@ accordingly and rerun."
if [ "${match_found}" = "FALSE" ]; then
avail_WE2E_test_names_str=$( printf " \"%s\"\n" "${avail_WE2E_test_names[@]}" )
print_err_msg_exit "\
The name current user-specified test to run (user_spec_test) does not
match any of the names (either primary or alternate) of the available
The name of the current user-specified test to run (user_spec_test) does
not match any of the names (either primary or alternate) of the available
WE2E tests:
user_spec_test = \"${user_spec_test}\"
Valid values for user_spec_test consist of the names (primary or alternate)
Expand Down Expand Up @@ -938,7 +938,7 @@ PTMP=\"${PTMP}\""
elif [ "$MACHINE" = "HERA" ]; then
extrn_mdl_source_basedir="/scratch2/BMC/det/Gerard.Ketefian/UFS_CAM/staged_extrn_mdl_files"
elif [ "$MACHINE" = "JET" ]; then
extrn_mdl_source_basedir="/mnt/lfs1/BMC/fim/Gerard.Ketefian/UFS_CAM/staged_extrn_mdl_files"
extrn_mdl_source_basedir="/mnt/lfs1/BMC/gsd-fv3/Gerard.Ketefian/UFS_CAM/staged_extrn_mdl_files"
elif [ "$MACHINE" = "CHEYENNE" ]; then
extrn_mdl_source_basedir="/glade/p/ral/jntp/UFS_SRW_app/staged_extrn_mdl_files"
elif [ "$MACHINE" = "ORION" ]; then
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# TEST PURPOSE/DESCRIPTION:
# ------------------------
#
# This test is to ensure that the workflow running in community mode
# completes successfully on the RRFS_CONUS_3km grid using the GFS_v15_
# thompson_mynn_lam3km physics suite with ICs and LBCs derived from FV3GFS.
#

RUN_ENVIR="community"
PREEXISTING_DIR_METHOD="rename"

PREDEF_GRID_NAME="RRFS_CONUS_3km"
CCPP_PHYS_SUITE="FV3_GFS_v15_thompson_mynn_lam3km"

USE_MERRA_CLIMO="TRUE"

EXTRN_MDL_NAME_ICS="FV3GFS"
EXTRN_MDL_NAME_LBCS="FV3GFS"
USE_USER_STAGED_EXTRN_FILES="TRUE"

DATE_FIRST_CYCL="20190701"
DATE_LAST_CYCL="20190701"
CYCL_HRS=( "00" )

FCST_LEN_HRS="6"
LBC_SPEC_INTVL_HRS="3"
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#
# TEST PURPOSE/DESCRIPTION:
# ------------------------
#
# This test has two purposes:
#
# 1) It checks that the various workflow tasks can be deactivated, i.e.
# removed from the Rocoto XML.
# 2) It checks the capability of the workflow to use "template" experiment
# variables, i.e. variables whose definitions include references to
# other variables, e.g.
#
# MY_VAR='\${ANOTHER_VAR}'
#
# Note that we do not deactivate all tasks in the workflow; we leave the
# MAKE_GRID_TN, MAKE_OROG_TN, and MAKE_SFC_CLIMO_TN activated because:
#
# 1) There is already a WE2E test that runs with these three tasks
# deactivated (that test is to ensure that pre-generated grid,
# orography, and surface climatology files can be used).
# 2) In checking the template variable capability, we want to make sure
# that the variable defintions file (GLOBAL_VAR_DEFNS_FN) generated
# does not have syntax or other errors in it by sourcing it in these
# three tasks.
#

RUN_ENVIR="community"
PREEXISTING_DIR_METHOD="rename"

PREDEF_GRID_NAME="RRFS_CONUS_25km"
CCPP_PHYS_SUITE="FV3_GFS_v15p2"

EXTRN_MDL_NAME_ICS="FV3GFS"
EXTRN_MDL_NAME_LBCS="FV3GFS"
USE_USER_STAGED_EXTRN_FILES="TRUE"

DATE_FIRST_CYCL="20190701"
DATE_LAST_CYCL="20190701"
CYCL_HRS=( "00" )

FCST_LEN_HRS="6"
LBC_SPEC_INTVL_HRS="3"

RUN_TASK_GET_EXTRN_ICS="FALSE"
RUN_TASK_GET_EXTRN_LBCS="FALSE"
RUN_TASK_MAKE_ICS="FALSE"
RUN_TASK_MAKE_LBCS="FALSE"
RUN_TASK_RUN_FCST="FALSE"
RUN_TASK_RUN_POST="FALSE"
#
# The following shows examples of how to define template variables. Here,
# we define RUN_CMD_UTILS, RUN_CMD_FCST, and RUN_CMD_POST as template
# variables. Note that during this test, these templates aren't actually
# expanded/used (something that would be done using bash's "eval" built-in
# command) anywhere in the scripts. They are included here only to verify
# that the test completes with some variables defined as templates.
#
RUN_CMD_UTILS='cd $yyyymmdd'
RUN_CMD_FCST='mpirun -np ${PE_MEMBER01}'
RUN_CMD_POST='echo hello $yyyymmdd'
Loading