module load jaspy/2.7
virtualenv ~/jdma_venv_py2
source ~/jdma_venv_py2/bin/activate
pip install git+https://github.com/cedadev/jdma_client
cd app/fcm_make_pp
rose app-upgrade -a postproc_2.4
cd app/postproc
rose app-upgrade -M /home/ros/um/um_work/postproc_2.4_archer2_jasmin_rewrite/rose-meta -a pp24_t588
app/postproc/rose-app.conf
:meta=/home/ros/um/um_work/postproc_2.4_archer2_jasmin_rewrite/rose-meta/archive_and_meaning/postproc/pp24_t588
cp -r ~um/metadata/ncas_extras <suite>/meta
<suite>/meta/rose-meta.conf
to add to the top:import=meta/ncas_extras
As suites vary in their structure it is impossible to provide instructions that will cover all eventualities. The following points are provided for guidance only. We need to add the build of postproc jdma scripts and the jdma
task to the suite graph so that it runs after the pptransfer
task has run.
fcm_make_pp_jamsin
tasks to cylc graph in [[[R1]]]
. After the line: {{ 'fcm_make_pp => fcm_make2_pp' + (' => POSTPROC_GROUP' if RUN else '')}}
insert
{{ 'fcm_make_pp_jasmin => fcm_make2_pp_jasmin => jdma' if JDMA else '' }}
pptransfer
in the cylc graph. For UKESM and GA suites this is something like: graph =
...
{% if PPTRANSFER %}
pptransfer {{'=> \\' if HOUSEKEEP else '' }}
{% endif %}
...
Change this to be:
graph =
...
{% if PPTRANSFER %}
pptransfer {{'=> \\' if JDMA or HOUSEKEEP else '' }}
{% endif %}
{% if JDMA %}
jdma {{'=> \\' if HOUSEKEEP else '' }}
{% endif %}
...
{% if JDMA %}
[[JASMIN]]
[[[environment]]]
PLATFORM = Linux
UMDIR = ~um
OCEANDIR = ~um
[[[remote]]]
host = sci5.jasmin.ac.uk
[[[job]]]
batch system = background
[[PPBUILD_RESOURCE_JASMIN]]
inherit = JASMIN
[[[job]]]
execution time limit = PT20M
[[fcm_make_pp_jasmin]]
inherit = None, EXTRACT_RESOURCE
[[[environment]]]
ROSE_TASK_APP = fcm_make_pp
[[fcm_make2_pp_jasmin]]
inherit = None, PPBUILD_RESOURCE_JASMIN
[[[environment]]]
ROSE_TASK_APP = fcm_make_pp
[[JDMA_RESOURCE]]
inherit = JASMIN
pre-script = "PS1=${PS1:-}; source /home/users/rshatcher/venvs/jdma_venv_py2/bin/activate"
[[[job]]]
execution time limit = PT1H
[[jdma]]
inherit = JDMA_RESOURCE
[[[environment]]]
CYCLEPERIOD = {{FMT}}
ROSE_TASK_APP = postproc
{% endif %}
~/.ssh/config
file on PUMA:# JASMIN
Host login1
Hostname login1.jasmin.ac.uk
User <jasmin_username>
IdentityFile ~/.ssh/<jasmin-ssh-key>
ForwardAgent yes
ControlMaster auto
ControlPath /tmp/ssh-socket-%r@%h-%p
ControlPersist yes
Host sci? cylc1
Hostname %h.jasmin.ac.uk
Host sci* cylc*
User <jasmin_username>
IdentityFile ~/.ssh/<jasmin-ssh-key>
ForwardAgent yes
ProxyCommand ssh -Y login1 -W %h:%p
ControlMaster auto
ControlPath /tmp/ssh-socket-%r@%h-%p
ControlPersist yes
ssh-add ~/.ssh/<jasmin-ssh-key>
ssh sci3.jasmin.ac.uk
~/.bash_profile
on JASMIN:if [[ $(hostname) = sci*.jasmin.ac.uk || $(hostname) = cylc*.jasmin.ac.uk ]]; then
# Rose/cylc on jasmin-sci & Lotus nodes
export PATH=/apps/jasmin/metomi/bin:$PATH
fi
If you haven’t already done so follow the instructions for configuring PPTransfer and setting up Gridftp certificate: Configuring PPTransfer
You may wish to consider using the JASMIN transfer cache disk as the JASMIN transfer destination. This is a large temporary storage area separate to the Group Workspaces. See JASMIN Transfer Cache for more information.