Skip to content

Commit

Permalink
Convert machine scripts to yaml format. (#388)
Browse files Browse the repository at this point in the history
* Make machine files yaml.

* Remove redundant SR_WX dir

* Remove some duplicate derived types.

* Convert constants to yaml.

* Bug fix GFDL grid.

* Bug fix machine lower/upper case.

* Fix unittest to capture exit code.

* Gaea lmod setup fix with tcsh.

* Add missing gaea commands.

* Remove obsolete module-setup scripts.

* Fix linux modulefile name.
  • Loading branch information
danielabdi-noaa authored Oct 4, 2022
1 parent dd0677b commit cc96304
Show file tree
Hide file tree
Showing 52 changed files with 574 additions and 1,214 deletions.
12 changes: 6 additions & 6 deletions docs/UsersGuide/source/WE2Etests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,12 @@ The examples below demonstrate several common ways that ``run_WE2E_tests.sh`` ca
./run_WE2E_tests.sh tests_file="my_tests.txt" machine="hera" account="rtrr"
This will create the experiment subdirectories for the two sample WE2E tests in the directory ``${SR_WX_APP_TOP_DIR}/../expt_dirs``, where ``SR_WX_APP_TOP_DIR`` is the top-level directory for the ufs-srweather-app repository (usually set to something like ``/path/to/ufs-srweather-app``). Thus, the following two experiment directories will be created:
This will create the experiment subdirectories for the two sample WE2E tests in the directory ``${HOMEdir}/../expt_dirs``, where ``HOMEdir`` is the top-level directory for the ufs-srweather-app repository (usually set to something like ``/path/to/ufs-srweather-app``). Thus, the following two experiment directories will be created:

.. code-block::
${SR_WX_APP_TOP_DIR}/../expt_dirs/custom_ESGgrid
${SR_WX_APP_TOP_DIR}/../expt_dirs/grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16
${HOMEdir}/../expt_dirs/custom_ESGgrid
${HOMEdir}/../expt_dirs/grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16
In addition, by default, cron jobs will be added to the user's cron table to relaunch the workflows of these experiments every 2 minutes.

Expand All @@ -95,7 +95,7 @@ The examples below demonstrate several common ways that ``run_WE2E_tests.sh`` ca
In this case, the user will have to go into each test's experiment directory and either manually call the ``launch_FV3LAM_wflow.sh`` script or use the Rocoto commands described in :numref:`Chapter %s <RocotoInfo>` to (re)launch the workflow. Note that if using the Rocoto commands directly, the log file ``log.launch_FV3LAM_wflow`` will not be created; in this case, the status of the workflow can be checked using the ``rocotostat`` command (see :numref:`Section %s <RocotoManualRun>` or :numref:`Section %s <RocotoStatCmd>`).

#. To place the experiment subdirectories in a subdirectory named ``test_set_01`` under
``${SR_WX_APP_TOP_DIR}/../expt_dirs`` (instead of immediately under ``expt_dirs``), use:
``${HOMEdir}/../expt_dirs`` (instead of immediately under ``expt_dirs``), use:

.. code-block::
Expand All @@ -105,8 +105,8 @@ The examples below demonstrate several common ways that ``run_WE2E_tests.sh`` ca

.. code-block::
${SR_WX_APP_TOP_DIR}/../expt_dirs/test_set_01/custom_ESGgrid
${SR_WX_APP_TOP_DIR}/../expt_dirs/test_set_01/grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16
${HOMEdir}/../expt_dirs/test_set_01/custom_ESGgrid
${HOMEdir}/../expt_dirs/test_set_01/grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16
This is useful for grouping various sets of tests.

Expand Down
15 changes: 11 additions & 4 deletions etc/lmod-setup.csh
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,24 @@ if ( "$L_MACHINE" == macos ) then

module purge

else if ( "$L_MACHINE" == linux ) then
setenv ENV "/usr/share/lmod/lmod/init/csh"
source $ENV

module purge

else if ( "$L_MACHINE" == singularity ) then
set ENV="/usr/share/lmod/lmod/init/csh"
source $ENV

module purge

else if ( "$L_MACHINE" == gaea ) then
export LMOD_SYSTEM_DEFAULT_MODULES=modules/3.2.11.4
export BASH_ENV=/lustre/f2/dev/role.epic/contrib/apps/lmod/lmod/init/profile
source $BASH_ENV
module --initial_load restore
set ENV="/lustre/f2/dev/role.epic/contrib/apps/lmod/lmod/init/csh"
source $ENV

setenv LMOD_SYSTEM_DEFAULT_MODULES "modules/3.2.11.4"
module --initial_load --no_redirect restore

else if ( "$L_MACHINE" == odin ) then
module unload modules
Expand Down
12 changes: 9 additions & 3 deletions etc/lmod-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,24 @@ if [ "$L_MACHINE" = macos ]; then

module purge

elif [ "$L_MACHINE" = linux ]; then
export BASH_ENV="/usr/share/share/lmod/init/bash"
source $BASH_ENV

module purge

elif [ "$L_MACHINE" = singularity ]; then
export BASH_ENV="/usr/share/lmod/lmod/init/bash"
source $BASH_ENV

module purge

elif [ "$L_MACHINE" = gaea ]; then
export LMOD_SYSTEM_DEFAULT_MODULES=modules/3.2.11.4
export BASH_ENV=/lustre/f2/dev/role.epic/contrib/apps/lmod/lmod/init/profile
export BASH_ENV="/lustre/f2/dev/role.epic/contrib/apps/lmod/lmod/init/bash"
source $BASH_ENV
module --initial_load restore

export LMOD_SYSTEM_DEFAULT_MODULES="modules/3.2.11.4"
module --initial_load --no_redirect restore
elif [ "$L_MACHINE" = odin ]; then
module unload modules
unset -f module
Expand Down
File renamed without changes.
63 changes: 0 additions & 63 deletions modulefiles/module-setup.csh.inc

This file was deleted.

81 changes: 0 additions & 81 deletions modulefiles/module-setup.sh.inc

This file was deleted.

5 changes: 4 additions & 1 deletion modulefiles/wflow_noaacloud
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@ module load rocoto
module use /contrib/GST/miniconda3/modulefiles
module load miniconda3/4.10.3

setenv PROJ_LIB "/contrib/GST/miniconda/envs/regional_workflow/share/proj"
setenv OPT "/contrib/EPIC/hpc-modules"
append-path PATH "/contrib/GST/miniconda/envs/regional_workflow/bin"

if { [module-info mode load] } {
puts stderr "Please do the following to activate conda:
> conda activate regional_workflow"
}


1 change: 0 additions & 1 deletion scripts/exregional_make_grid.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ This is the ex-script for the task that generates grid files.
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

if [ -z "${RUN_CMD_SERIAL:-}" ] ; then
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_make_ics.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ export OMP_STACKSIZE=${OMP_STACKSIZE_MAKE_ICS}
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

nprocs=$(( NNODES_MAKE_ICS*PPN_MAKE_ICS ))
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_make_lbcs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ export OMP_STACKSIZE=${OMP_STACKSIZE_MAKE_LBCS}
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

nprocs=$(( NNODES_MAKE_LBCS*PPN_MAKE_LBCS ))
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_make_orog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ export OMP_STACKSIZE=${OMP_STACKSIZE_MAKE_OROG}
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

if [ -z "${RUN_CMD_SERIAL:-}" ] ; then
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_make_sfc_climo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ EOF
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

nprocs=$(( NNODES_MAKE_SFC_CLIMO*PPN_MAKE_SFC_CLIMO ))
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_run_fcst.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ export OMP_STACKSIZE=${OMP_STACKSIZE_RUN_FCST}
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

nprocs=$(( NNODES_RUN_FCST*PPN_RUN_FCST ))
Expand Down
1 change: 0 additions & 1 deletion scripts/exregional_run_post.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ export OMP_STACKSIZE=${OMP_STACKSIZE_RUN_POST}
#
#-----------------------------------------------------------------------
#
. ${MACHINE_FILE}
eval ${PRE_TASK_CMDS}

nprocs=$(( NNODES_RUN_POST*PPN_RUN_POST ))
Expand Down
8 changes: 4 additions & 4 deletions test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ The CMake build is done in the ``build_${compiler}`` directory.
The executables for each build are installed under the ``bin_${compiler}`` directory.

NOTE: To run the regional workflow using these executables, the ``EXECDIR`` variable in the
``${SR_WX_APP_TOP_DIR}/regional_workflow/ush/setup.sh`` file must be set to the
appropiate directory, for example: ``EXECDIR="${SR_WX_APP_TOP_DIR}/bin_intel/bin"``,
where ``${SR_WX_APP_TOP_DIR}`` is the top-level directory of the cloned ufs-srweather-app repository.
``${HOMEdir}/ush/setup.py`` file must be set to the
appropiate directory, for example: ``EXECDIR="${HOMEdir}/bin_intel/bin"``,
where ``${HOMEdir}`` is the top-level directory of the cloned ufs-srweather-app repository.

## Usage

Expand All @@ -36,4 +36,4 @@ cd test
./build.sh cheyenne >& build.out &
```

Check the ``${SR_WX_APP_TOP_DIR}/test/build_test$PID.out`` file for PASS/FAIL.
Check the ``${HOMEdir}/test/build_test$PID.out`` file for PASS/FAIL.
19 changes: 8 additions & 11 deletions tests/WE2E/get_WE2Etest_names_subdirs_descs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,14 @@ function get_WE2Etest_names_subdirs_descs() {
#
#-----------------------------------------------------------------------
#
# Source constant files.
#
#-----------------------------------------------------------------------
#
source_config $USHdir/constants.yaml
#
#-----------------------------------------------------------------------
#
# Specify the set of valid argument names for this script or function.
# Then process the arguments provided to it on the command line (which
# should consist of a set of name-value pairs of the form arg1="value1",
Expand Down Expand Up @@ -411,14 +419,6 @@ function get_WE2Etest_names_subdirs_descs() {
#
#-----------------------------------------------------------------------
#
# Source files.
#
#-----------------------------------------------------------------------
#
. $USHdir/constants.sh
#
#-----------------------------------------------------------------------
#
# Set variables associated with the CSV (comma-separated value) file that
# this function may generate. The conditions under which such a file is
# generated are described above in the description of this function.
Expand Down Expand Up @@ -1136,9 +1136,6 @@ configuration files of the primary WE2E tests...
params=$(\
PREDEF_GRID_NAME="${PREDEF_GRID_NAME}" \
QUILTING="FALSE" \
RADIUS_EARTH=${RADIUS_EARTH} \
DEGS_PER_RADIAN=${DEGS_PER_RADIAN} \
NH4=${NH4} \
$USHdir/calculate_cost.py -c "${test_configs_basedir}/$subdir/${config_fn}")

read dta nxny dta_r nxny_r <<< "${params}"
Expand Down
Loading

0 comments on commit cc96304

Please sign in to comment.