Running an ensemble#
About#
This example demonstrates how to run ensemble simulations combined with time cycles, along with advanced extension capabilities.
The workflow runs a task across multiple ensemble members and cycles, showcasing woom’s ability to handle both temporal and ensemble dimensions simultaneously.
The example demonstrates two powerful extension mechanisms:
1. Custom Jinja2 filter (ext/jinja_filters.py):
Adds a
member2letterfilter that converts member IDs to letters (1→A, 2→B, etc.)Shows how to extend woom’s templating system with domain-specific transformations
Used in task command lines:
{{ member|member2letter }}Illustrates how to add custom formatting for ensemble parameters
2. Custom validator function (ext/validator_functions.py):
Extends workflow configuration validation with a custom
ksparameterGenerates lognormal random numbers from mean, standard deviation, and size arguments
Demonstrates how to add complex parameter types beyond woom’s built-in types
Defined via a custom
workflow.inispecification file that merges with woom’s defaults
This example is ideal for users running ensemble forecasts, sensitivity studies, or Monte Carlo simulations who need to extend woom’s capabilities with custom functionality.
Path: examples/academic/ensemble.
Configuring#
workflow.cfg#[app]
name=academic_ensemble
[cycles]
begin_date=2020-01-01
end_date=2020-01-02
round=D
freq=12h
[ensemble]
#size=5 # commented because inferred from iterators below
skip=3,6- # we skip members 3, 6 and 7
tasks=task0 # only this task is ran in ensemble mode
[[iters]]
cd=0.1,0.3,0.5,0.7,0.9,1.1,1.3
ks=0.1,0.2,7
[stages]
[[cycles]]
seq0=task0,task1
tasks.cfg#[task0]
[[content]]
commandline="""echo this is member {{ member }}/{{ nmembers }}
echo label={{ member.label }}, rank={{ member.rank }}
echo now it is a letter: {{ member|member2letter }}
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value {{ member.cd }}
echo ks has value {{ member.ks }}
"""
[task1]
[[content]]
commandline=echo task not distributed across members
hosts.cfg#[datarmor]
patterns=datavisu*,*.ice.ifremer.fr,datarmor*
scheduler=pbspro
module_setup=. /etc/profile.d/modules.sh
[[queues]]
seq=sequentiel
omp=omp
[[dirs]]
scratch=$SCRATCH
work=$DATAWORK
Extending#
ext/jinja_filters.py#import string
def filter_member2letter(member):
"""Convert a int to an uppercase letter"""
return string.ascii_uppercase[member.id - 1]
JINJA_FILTERS = {"member2letter": filter_member2letter}
workflow.ini#[ensemble]
[[iters]]
ks=random_lognormal(default=None)
ext/validator_functions.py#import random
def random_lognormal(specs):
if str(specs) == "None":
return
mu = float(specs[0])
sigma = float(specs[1])
size = int(specs[2])
return [random.lognormvariate(mu, sigma) for i in range(size)]
VALIDATOR_FUNCTIONS = {"random_lognormal": random_lognormal}
Running#
Overview#
Let’s have an overview of stages before running the workflow.
$ woom show overview
##################################### APP ######################################
name: academic_ensemble
################################## TASK TREE ###################################
cycles:
- seq0: task0 // task1
#################################### CYCLES ####################################
2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)
2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)
################################### ENSEMBLE ###################################
size: 4
tasks: task0
cd: 0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3
ks: 1.3968899691072918, 0.8769433007269686, 1.1200024651483216, 1.3039580658420438, 0.9068199083575591, 0.9202032513029302, 0.96262174971494
Dry run#
Now let’s run the workflow in test (dry) and debug modes.
$ woom run --log-no-color --log-level debug --dry-run
woom.log : DEBUG *** STARTED LOG SESSION ***
woom.cli : DEBUG Run the workflow
woom.cli : DEBUG Loading extensions
woom.cli : INFO Loaded extensions: jinja_filters, validator_functions
woom.cli : INFO Using user specific file for workflow configuration specifications: workflow.ini
woom.cli : DEBUG Load workflow config: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg
woom.cli : INFO Loaded workflow config
woom.cli : INFO App name: academic_ensemble
woom.cli : DEBUG Initialize the host manager
woom.cli : INFO Initialized the host manager
woom.cli : DEBUG Load hosts config file: hosts.cfg
woom.cli : INFO Loaded hosts config file: hosts.cfg
woom.cli : DEBUG Infer host
woom.cli : INFO Infered host: local
woom.cli : DEBUG Initialize the task manager
woom.cli : INFO Initialized the task manager
woom.cli : DEBUG Load the task config file: tasks.cfg
woom.cli : INFO Loaded the task config file: tasks.cfg
woom.cli : DEBUG Initialize the workflow
woom.workflow: DEBUG Task tree:
cycles:
- seq0: task0 // task1
woom.cli : INFO Initialized the workflow
woom.cli : INFO Successfully setup the workflow!
woom.cli : DEBUG Run the workflow
woom.workflow: DEBUG Running the workflow in fake mode
woom.workflow: DEBUG Entering stage: prolog
woom.workflow: DEBUG No sequence of task. Skipping...
woom.workflow: DEBUG Entering stage: cycles
woom.workflow: INFO Cycling on intervals from 2020-01-01 00:00:00+00:00 to 2020-01-02 00:00:00+00:00 in 2 time(s)
woom.workflow: DEBUG Running cycle: 2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)
woom.workflow: DEBUG Entering sequence: seq0
woom.workflow: DEBUG Running task: cycles/seq0/task0/member1
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member1
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.job : INFO Started job manager: BackgroundJobManager()
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member1
woom.workflow: DEBUG Dependencies:
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="1"
export WOOM_CYCLE_IS_LAST="0"
export WOOM_CYCLE_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV=""
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member1"
export WOOM_KS="1.3168351028329879"
export WOOM_CD="0.1"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/context.json"
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1; } || exit 1
# Run the commandline(s)
echo this is member member1/7
echo label=member1, rank=1/7
echo now it is a letter: A
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.1
echo ks has value 1.3168351028329879
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member1 with job id 497665
woom.workflow: DEBUG Running task: cycles/seq0/task0/member2
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member2
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member2
woom.workflow: DEBUG Dependencies:
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="1"
export WOOM_CYCLE_IS_LAST="0"
export WOOM_CYCLE_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV=""
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member2"
export WOOM_KS="1.4864172036136776"
export WOOM_CD="0.3"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/context.json"
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2; } || exit 1
# Run the commandline(s)
echo this is member member2/7
echo label=member2, rank=2/7
echo now it is a letter: B
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.3
echo ks has value 1.4864172036136776
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member2 with job id 326452
woom.workflow: DEBUG Running task: cycles/seq0/task0/member4
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member4
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member4
woom.workflow: DEBUG Dependencies:
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="1"
export WOOM_CYCLE_IS_LAST="0"
export WOOM_CYCLE_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV=""
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member4"
export WOOM_KS="0.9306536313646606"
export WOOM_CD="0.7"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/context.json"
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4; } || exit 1
# Run the commandline(s)
echo this is member member4/7
echo label=member4, rank=4/7
echo now it is a letter: D
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.7
echo ks has value 0.9306536313646606
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member4 with job id 242904
woom.workflow: DEBUG Running task: cycles/seq0/task0/member5
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member5
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member5
woom.workflow: DEBUG Dependencies:
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="1"
export WOOM_CYCLE_IS_LAST="0"
export WOOM_CYCLE_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV=""
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member5"
export WOOM_KS="1.1656734806522526"
export WOOM_CD="0.9"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/context.json"
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5; } || exit 1
# Run the commandline(s)
echo this is member member5/7
echo label=member5, rank=5/7
echo now it is a letter: E
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.9
echo ks has value 1.1656734806522526
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member5 with job id 4025
woom.workflow: DEBUG Running task: cycles/seq0/task1
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1
woom.workflow: DEBUG Cleaning task: cycles/seq0/task1
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00
woom.workflow: DEBUG Submitting task: cycles/seq0/task1
woom.workflow: DEBUG Dependencies:
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task1"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="4"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="1"
export WOOM_CYCLE_IS_LAST="0"
export WOOM_CYCLE_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV=""
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER=""
export WOOM_TASK="task1"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/context.json"
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1; } || exit 1
# Run the commandline(s)
echo task not distributed across members
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task1 with job id 930125
woom.workflow: INFO Successfully submitted cycle: 2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)
woom.workflow: DEBUG Running cycle: 2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)
woom.workflow: DEBUG Entering sequence: seq0
woom.workflow: DEBUG Running task: cycles/seq0/task0/member1
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member1
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member1
woom.workflow: DEBUG Dependencies: 497665, 326452, 242904, 4025, 930125
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="0"
export WOOM_CYCLE_IS_LAST="1"
export WOOM_CYCLE_NEXT=""
export WOOM_CYCLE_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member1"
export WOOM_KS="1.3168351028329879"
export WOOM_CD="0.1"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/context.json"
export WOOM_CYCLE_BEGIN_DATE_PREV="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL_PREV="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE_PREV="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION_PREV="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_PREV="1"
export WOOM_CYCLE_IS_LAST_PREV="0"
export WOOM_CYCLE_NEXT_PREV="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV_PREV=""
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1; } || exit 1
# Run the commandline(s)
echo this is member member1/7
echo label=member1, rank=1/7
echo now it is a letter: A
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.1
echo ks has value 1.3168351028329879
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member1 with job id 157331 depending on [497665, 326452, 242904, 4025, 930125]
woom.workflow: DEBUG Running task: cycles/seq0/task0/member2
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member2
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member2
woom.workflow: DEBUG Dependencies: 497665, 326452, 242904, 4025, 930125
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="0"
export WOOM_CYCLE_IS_LAST="1"
export WOOM_CYCLE_NEXT=""
export WOOM_CYCLE_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member2"
export WOOM_KS="1.4864172036136776"
export WOOM_CD="0.3"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/context.json"
export WOOM_CYCLE_BEGIN_DATE_PREV="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL_PREV="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE_PREV="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION_PREV="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_PREV="1"
export WOOM_CYCLE_IS_LAST_PREV="0"
export WOOM_CYCLE_NEXT_PREV="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV_PREV=""
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2; } || exit 1
# Run the commandline(s)
echo this is member member2/7
echo label=member2, rank=2/7
echo now it is a letter: B
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.3
echo ks has value 1.4864172036136776
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member2 with job id 20180 depending on [497665, 326452, 242904, 4025, 930125]
woom.workflow: DEBUG Running task: cycles/seq0/task0/member4
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member4
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member4
woom.workflow: DEBUG Dependencies: 497665, 326452, 242904, 4025, 930125
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="0"
export WOOM_CYCLE_IS_LAST="1"
export WOOM_CYCLE_NEXT=""
export WOOM_CYCLE_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member4"
export WOOM_KS="0.9306536313646606"
export WOOM_CD="0.7"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/context.json"
export WOOM_CYCLE_BEGIN_DATE_PREV="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL_PREV="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE_PREV="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION_PREV="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_PREV="1"
export WOOM_CYCLE_IS_LAST_PREV="0"
export WOOM_CYCLE_NEXT_PREV="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV_PREV=""
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4; } || exit 1
# Run the commandline(s)
echo this is member member4/7
echo label=member4, rank=4/7
echo now it is a letter: D
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.7
echo ks has value 0.9306536313646606
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member4 with job id 891891 depending on [497665, 326452, 242904, 4025, 930125]
woom.workflow: DEBUG Running task: cycles/seq0/task0/member5
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5
woom.workflow: DEBUG Cleaning task: cycles/seq0/task0/member5
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: DEBUG Submitting task: cycles/seq0/task0/member5
woom.workflow: DEBUG Dependencies: 497665, 326452, 242904, 4025, 930125
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task0"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="7"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="0"
export WOOM_CYCLE_IS_LAST="1"
export WOOM_CYCLE_NEXT=""
export WOOM_CYCLE_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER="member5"
export WOOM_KS="1.1656734806522526"
export WOOM_CD="0.9"
export WOOM_TASK="task0"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/context.json"
export WOOM_CYCLE_BEGIN_DATE_PREV="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL_PREV="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE_PREV="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION_PREV="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_PREV="1"
export WOOM_CYCLE_IS_LAST_PREV="0"
export WOOM_CYCLE_NEXT_PREV="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV_PREV=""
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5; } || exit 1
# Run the commandline(s)
echo this is member member5/7
echo label=member5, rank=5/7
echo now it is a letter: E
echo this is really $WOOM_MEMBER/$WOOM_NMEMBERS
echo cd has value 0.9
echo ks has value 1.1656734806522526
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task0/member5 with job id 929169 depending on [497665, 326452, 242904, 4025, 930125]
woom.workflow: DEBUG Running task: cycles/seq0/task1
woom.workflow: DEBUG Task path: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1
woom.workflow: DEBUG Cleaning task: cycles/seq0/task1
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00
woom.workflow: DEBUG Submitting task: cycles/seq0/task1
woom.workflow: DEBUG Dependencies: 497665, 326452, 242904, 4025, 930125
woom.workflow: DEBUG Creating directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1
woom.workflow: INFO Fake submission: academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1 → bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.sh
woom.workflow: DEBUG Fake submission:
--------------- submission command ---------------
bash /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.sh
-------------- batch script content --------------
#!/bin/bash
# Prolog
set -eo pipefail
# - handler for graceful termination
on_sigterm() {
echo "Received termination signal, cleaning up..."
# Just exit cleanly, let on_exit handle status
exit 0
}
# - handler for killing termination
on_sigkill() {
echo "Received kill signal, cleaning up..." >&2
# Just exit cleanly, let on_exit handle status
exit 1
}
# - handler for exit (always called)
on_exit() {
status=$?
if [ ! -f "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.terminating" ]; then
echo $status > "/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.status"
fi
exit $status
}
trap on_sigterm SIGKILL
trap on_sigkill SIGTERM SIGINT
trap on_exit EXIT
# Environment variables
export WOOM_TASK_NAME="task1"
export WOOM_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1"
export WOOM_WORKFLOW="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/workflow.cfg"
export WOOM_HOST="local"
export WOOM_TASKMANAGER="/home/docs/checkouts/readthedocs.org/user_builds/woom/envs/latest/lib/python3.11/site-packages/woom/tasks.cfg:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/tasks.cfg"
export WOOM_JOBMANAGER="BackgroundJobManager"
export WOOM_TASK_TREE_CYCLES_SEQ0="['task0']:['task1']"
export WOOM_CYCLES="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00:2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_NMEMBERS="4"
export WOOM_MEMBERS="member1:member2:member4:member5"
export WOOM_PATHS_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin"
export WOOM_PATHS_PYTHONPATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python"
export WOOM_PATHS_LIBRARY_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib"
export WOOM_PATHS_INCLUDE_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include"
export WOOM_APP_PATH="academic_ensemble"
export WOOM_APP_NAME="academic_ensemble"
export WOOM_APP_CONF=""
export WOOM_APP_EXP=""
export WOOM_CYCLES_BEGIN_DATE="2020-01-01T00:00:00+00:00"
export WOOM_CYCLES_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLES_ROUND="D"
export WOOM_CYCLES_FREQ="12h"
export WOOM_CYCLES_NCYCLES="0"
export WOOM_CYCLES_INDEP="0"
export WOOM_CYCLES_AS_INTERVALS="1"
export WOOM_CYCLES_HORIZON=""
export WOOM_SCRATCH_DIR="/home/docs/woom/scratch"
export WOOM_WORK_DIR="/home/docs/woom/work"
export WOOM_WORKFLOW_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble"
export WOOM_LOG_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/log"
export WOOM_CYCLE="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST="0"
export WOOM_CYCLE_IS_LAST="1"
export WOOM_CYCLE_NEXT=""
export WOOM_CYCLE_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_BEGIN_DATE_NEXT="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_LABEL_NEXT="2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_NEXT="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_END_DATE_NEXT="2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_DURATION_NEXT="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_NEXT="0"
export WOOM_CYCLE_IS_LAST_NEXT="1"
export WOOM_CYCLE_NEXT_NEXT=""
export WOOM_CYCLE_PREV_NEXT="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_MEMBER=""
export WOOM_TASK="task1"
export WOOM_TASK_PATH="academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1"
export WOOM_TASK_RUN_DIR="/home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1"
export WOOM_TASK_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1"
export WOOM_TASK_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.sh"
export WOOM_SUBMISSION_DIR="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1"
export WOOM_SCRIPT_PATH="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.sh"
export WOOM_TASK_ENV=""
export WOOM_ENV=""
export WOOM_TASK_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/context.json"
export WOOM_CONTEXT_JSON="/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/context.json"
export WOOM_CYCLE_BEGIN_DATE_PREV="2020-01-01T00:00:00+00:00"
export WOOM_CYCLE_LABEL_PREV="2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)"
export WOOM_CYCLE_TOKEN_PREV="2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_END_DATE_PREV="2020-01-01T12:00:00+00:00"
export WOOM_CYCLE_DURATION_PREV="P0DT12H0M0S"
export WOOM_CYCLE_IS_FIRST_PREV="1"
export WOOM_CYCLE_IS_LAST_PREV="0"
export WOOM_CYCLE_NEXT_PREV="2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00"
export WOOM_CYCLE_PREV_PREV=""
export PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/bin:$PATH
export PYTHONPATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib/python:$PYTHONPATH
export LIBRARY_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/lib:$LIBRARY_PATH
export INCLUDE_PATH=/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:/home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/include:$INCLUDE_PATH
# Go to run dir
{ mkdir -p /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1; cd /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1; } || exit 1
# Run the commandline(s)
echo task not distributed across members
--------------------------------------------------
woom.workflow: INFO Submitted task: cycles/seq0/task1 with job id 353130 depending on [497665, 326452, 242904, 4025, 930125]
woom.workflow: INFO Successfully submitted cycle: 2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)
woom.workflow: DEBUG Entering stage: epilog
woom.workflow: DEBUG No sequence of task. Skipping...
woom.workflow: DEBUG Terminating non-blocking jobs
woom.cli : INFO Successfully ran the workflow!
Normal run#
And finally in run it.
$ woom run --log-no-color
woom.cli : INFO Loaded extensions: jinja_filters, validator_functions
woom.cli : INFO Using user specific file for workflow configuration specifications: workflow.ini
woom.cli : INFO Loaded workflow config
woom.cli : INFO App name: academic_ensemble
woom.cli : INFO Initialized the host manager
woom.cli : INFO Loaded hosts config file: hosts.cfg
woom.cli : INFO Infered host: local
woom.cli : INFO Initialized the task manager
woom.cli : INFO Loaded the task config file: tasks.cfg
woom.cli : INFO Initialized the workflow
woom.cli : INFO Successfully setup the workflow!
woom.workflow: INFO Cycling on intervals from 2020-01-01 00:00:00+00:00 to 2020-01-02 00:00:00+00:00 in 2 time(s)
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0
woom.job : INFO Started job manager: BackgroundJobManager()
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member1 with job id 875
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member2 with job id 877
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member4 with job id 879
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member5 with job id 881
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task1 with job id 883
woom.workflow: INFO Successfully submitted cycle: 2020-01-01T00:00:00+00:00 -> 2020-01-01T12:00:00+00:00 (0 days 12:00:00)
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member1 with job id 885 depending on [875, 877, 879, 881, 883]
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member2 with job id 887 depending on [875, 877, 879, 881, 883]
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member4 with job id 889 depending on [875, 877, 879, 881, 883]
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task0/member5 with job id 891 depending on [875, 877, 879, 881, 883]
woom.workflow: INFO Created directory: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1
woom.workflow: INFO Created batch script: /home/docs/checkouts/readthedocs.org/user_builds/woom/checkouts/latest/examples/academic/ensemble/jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1/job.sh
woom.workflow: INFO Submitted task: cycles/seq0/task1 with job id 893 depending on [875, 877, 879, 881, 883]
woom.workflow: INFO Successfully submitted cycle: 2020-01-01T12:00:00+00:00 -> 2020-01-02T00:00:00+00:00 (0 days 12:00:00)
woom.cli : INFO Successfully ran the workflow!
Check status#
Check what is running or finished.
$ woom show status
╭──────────┬─────────┬────────┬─────────────────────────────────────────────────────┬───────────┬──────────────────────────────────────────────────────────────────────────────────────────╮
│ STATUS │ JOBID │ TASK │ CYCLE │ MEMBER │ SUBMISSION DIR │
├──────────┼─────────┼────────┼─────────────────────────────────────────────────────┼───────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
│ SUCCESS │ 875 │ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member1/4 │ jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1 │
│ SUCCESS │ 877 │ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member2/4 │ jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2 │
│ SUCCESS │ 879 │ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member4/4 │ jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4 │
│ SUCCESS │ 881 │ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member5/4 │ jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5 │
│ SUCCESS │ 883 │ task1 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ │ jobs/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1 │
│ SUCCESS │ 885 │ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member1/4 │ jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1 │
│ SUCCESS │ 887 │ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member2/4 │ jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2 │
│ SUCCESS │ 889 │ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member4/4 │ jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4 │
│ SUCCESS │ 891 │ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member5/4 │ jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5 │
│ SUCCESS │ 893 │ task1 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ │ jobs/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1 │
╰──────────┴─────────┴────────┴─────────────────────────────────────────────────────┴───────────┴──────────────────────────────────────────────────────────────────────────────────────────╯
Show run directories#
Show where tasks were executed.
$ woom show run_dirs
╭────────┬─────────────────────────────────────────────────────┬───────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ TASK │ CYCLE │ MEMBER │ RUN DIR │
├────────┼─────────────────────────────────────────────────────┼───────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member1/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member1 │
│ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member2/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member2 │
│ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member4/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member4 │
│ task0 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ member5/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task0/member5 │
│ task1 │ 2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00 │ │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T00:00:00+00:00-2020-01-01T12:00:00+00:00/task1 │
│ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member1/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member1 │
│ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member2/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member2 │
│ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member4/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member4 │
│ task0 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ member5/4 │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task0/member5 │
│ task1 │ 2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00 │ │ /home/docs/woom/scratch/woom/academic_ensemble/2020-01-01T12:00:00+00:00-2020-01-02T00:00:00+00:00/task1 │
╰────────┴─────────────────────────────────────────────────────┴───────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯