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 JASMIN as an additional site to the RTW #3302

Merged
merged 45 commits into from
Oct 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
69ae508
#3060: add jasmin framework
mo-tgeddes Feb 28, 2023
b06abbf
#3060: add jasmin specific requirements
mo-tgeddes Mar 7, 2023
c916ea4
#3060: modify platform settings
mo-tgeddes Mar 8, 2023
ca07fd5
#3060: modify platform settings
mo-tgeddes Mar 8, 2023
4509345
#3060: modify directives
mo-tgeddes Mar 8, 2023
bf6733c
#3060: add cloning urls to site specific config files
mo-tgeddes Mar 13, 2023
8cb0cf2
#3060: add cloning urls to general config
mo-tgeddes Mar 13, 2023
99708d3
#3060: add cloning urls to flow.cylc
mo-tgeddes Mar 13, 2023
92bf187
#3060: comment out install image hash
mo-tgeddes Mar 13, 2023
b0cea51
#3060: make rtw file executable
mo-tgeddes Mar 13, 2023
80f7d48
#3060: remove jasmin-env
mo-tgeddes Mar 13, 2023
3d735c8
#3060: add jasmin-env again
mo-tgeddes Mar 13, 2023
e13b95d
#3060 remove jasmin.cylc
mo-tgeddes Mar 13, 2023
fe01656
#3060 add jasmin.cylc
mo-tgeddes Mar 13, 2023
1f6d198
#3060: change localhost to batch system
mo-tgeddes Mar 14, 2023
522a480
#3060: change batch to platform
mo-tgeddes Mar 14, 2023
ac082cd
#3060: change batch to platform
mo-tgeddes Mar 14, 2023
b1242bb
#3060: update max tasks and time limit
mo-tgeddes Mar 14, 2023
6fb55c6
#3060: add batch system back
mo-tgeddes Mar 14, 2023
03c7df7
#3060: add method = slurm
mo-tgeddes Mar 14, 2023
85eb16d
#3060: add job submission
mo-tgeddes Mar 14, 2023
476040b
#3060: put it back to how it was
mo-tgeddes Mar 14, 2023
4115897
#3060: remove platform
mo-tgeddes Mar 14, 2023
f042102
#3060: revert changes back to working copy
mo-tgeddes Mar 14, 2023
5645c56
#3060: revert changes back to working copy
mo-tgeddes Mar 14, 2023
c35b24c
#3060: remove host specification
mo-tgeddes Mar 14, 2023
6462efc
#3060: add localhost declaration
mo-tgeddes Mar 14, 2023
184625a
#3060: chang max tasks
mo-tgeddes Mar 14, 2023
3331e1e
#3060: get rid of the jasmin specific things
mo-tgeddes Mar 14, 2023
0ce8576
#3060: checkout to non broken commit
mo-tgeddes Mar 14, 2023
2109ab1
#3060: fix configure step
mo-tgeddes Mar 14, 2023
dfe056d
#3060: update esmvaltool to checkout at non broken version
mo-tgeddes Mar 16, 2023
96120c6
#3060: add imagehash back in
mo-tgeddes Mar 16, 2023
d28f487
#3060: add KGO path to jasmin site conf
mo-tgeddes Mar 16, 2023
dccc4c6
#3060: set remove_preproc_dir to false
mo-tgeddes Mar 16, 2023
95ae33b
Merge branch 'recipe_test_workflow_prototype' into 3060_add_jasmin_to…
ehogan Aug 30, 2023
af5c09f
#3060: Keep ESMVal URLs with the clone app, fix typos, updates to att…
ehogan Aug 30, 2023
d3ea7d8
#3060: Revert ESMVal URLs
ehogan Sep 27, 2023
9546bb2
#3060: Add executable permissions to the jasmin-env file
ehogan Sep 27, 2023
cba54b2
Merge branch 'recipe_test_workflow_prototype' into 3060_add_jasmin_to…
ehogan Oct 6, 2023
2cb317b
#3060: Use 'execution time limit' rather than the '--time' directive
ehogan Oct 6, 2023
5d5cfb1
Merge branch '3060_add_jasmin_to_RTW' of github.com:ESMValGroup/ESMVa…
ehogan Oct 9, 2023
24a8e3b
Merge branch 'recipe_test_workflow_prototype' into 3060_add_jasmin_to…
ehogan Oct 18, 2023
49ac5ad
#3060: Update quick start documentation
ehogan Oct 18, 2023
63e8a73
#3060: Add cd command to JASMIN instructions
ehogan Oct 20, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,29 @@ Quick Start
cd ESMValTool/esmvaltool/utils/recipe_test_workflow/recipe_test_workflow
rose edit

* Run the |RTW| at the Met Office, where ``<run-name>`` is a unique run name
relevant to the current configuration::
* Run the |RTW|:

cylc install --run-name=<run-name> -O metoffice
cylc play recipe_test_workflow/<run-name>
* at the Met Office::

export CYLC_VERSION=8
cylc vip -O metoffice

* on JASMIN:

* add the following line to your ``~/.bashrc`` file to ensure the Cylc and
Rose executables can be found::

export PATH=/apps/jasmin/metomi/bin:$PATH

* SSH to the Rose and Cylc server::

ssh -X cylc

* run the RTW on JASMIN::

cd ESMValTool/esmvaltool/utils/recipe_test_workflow/recipe_test_workflow
export CYLC_VERSION=8
cylc vip -O jasmin

* Browse the logs using `Cylc Review`_, a web service for browsing logs via an
HTTP interface.
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
platform = localhost

[[configure]]
pre-script = "mkdir -p ${USER_CONFIG_DIR}"
platform = localhost
pre-script = "mkdir -p ${USER_CONFIG_DIR}"
[[[environment]]]
ROSE_TASK_APP = configure
DRS_CMIP3 = {{ DRS_CMIP3 }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,4 @@ compulsory=true
description=The site at which the Rose suite will run.
help=This value must be set in a site-specific configuration file located in
=the 'opt/' directory.
values="metoffice"
values="metoffice, jasmin"
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[template variables]
DRS_CMIP5="BADC"
DRS_CMIP6="BADC"
KGO_ROOT_PATH="/gws/nopw/j04/esmeval/KGO_v2.7.0/"
MODULE_NAME="esmvaltool/2.7"
ROOTPATH_CMIP5="/badc/cmip5/data/cmip5/output1"
ROOTPATH_CMIP6="/badc/cmip6/data/CMIP6"
ROOTPATH_OBS="/gws/nopw/j04/esmeval/obsdata-v2"
ROOTPATH_OBS4MIPS="/gws/nopw/j04/esmeval/obsdata-v2"
SITE="jasmin"
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash -l
#
# USAGE jasmin-env COMMAND
#
# ENVIRONMENT
# MODULE_NAME The name of the module to load
# PYTHONPATH_PREPEND The path to prepend to PYTHONPATH after loading the
# module
# QUIET_MODE Don't print confirmation messages
#
# OPTIONS
# COMMAND The command to execute with options
set -eu

module_count(){
module list -t 2>&1 | wc -l
}

safe_load(){
PRE_LOAD_COUNT=$(module_count)

module load "${1}"
# Check module count to determine whether module load was successful.
if (( PRE_LOAD_COUNT == $(module_count) )); then
echo "[ERROR] Failed to load: ${1}"
exit 1
fi
}

# Must be run before importing numpy, see
# https://www-avd/sci/dask_best_practice/numpy-threads.html.
export OMP_NUM_THREADS=1
export OPENBLAS_NUM_THREADS=1
export MKL_NUM_THREADS=1
export VECLIB_MAXIMUM_THREADS=1
export NUMEXPR_NUM_THREADS=1

# Ensure '~/.local' isn't added to 'sys.path'.
export PYTHONNOUSERSITE=True

safe_load "${MODULE_NAME}"

# If PYTHONPATH_PREPEND has been set, prepend it to PYTHONPATH to extend the
# Python environment.
if [[ ! -z ${PYTHONPATH_PREPEND:-} ]]; then
echo "[INFO] Prepending the following to PYTHONPATH: ${PYTHONPATH_PREPEND}"
export PYTHONPATH=${PYTHONPATH_PREPEND}:${PYTHONPATH:-}
fi

if [[ -z ${QUIET_MODE:-} ]]; then
echo "[OK] Modules loaded."
fi

command="/usr/bin/time -v -o ${CYLC_TASK_LOG_ROOT}.time $@"
exec ${command}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!jinja2
[runtime]
[[COMPUTE]]
platform = lotus
[[[directives]]]
--wckey = RTW
--ntasks = 1

[[process<fast>]]
execution time limit = PT2M
[[[directives]]]
--mem = 2G

[[process<medium>]]
execution time limit = PT6M
[[[directives]]]
--mem = 2G
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
--ntasks = {{ MAX_PARALLEL_TASKS }}

[[process<fast>]]
execution time limit = PT2M
[[[directives]]]
--time = 2
--mem = 2G

[[process<medium>]]
execution time limit = PT6M
[[[directives]]]
--time = 6
--mem = 2G
Loading