Size: 4036
Comment:
|
Size: 2829
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Use JUBE = | = Use JUBE for messy-clams runs = |
Line 15: | Line 15: |
== Required files == | |
Line 16: | Line 17: |
== Run JUBE scripts == | * Dummy makefile '''''${BASEDIR}/messy/mbm/clams/Makefile_jube''''' * Dummy MESSy script '''''${BASEDIR}/messy/util/xmessy_mmd.jube''''' * Dummy namelist directory '''''${BASEDIR}/messy/nml/MBM/clams_jube''''' (''dir_dummy_nml'' specified in ''namelistParam'' in JUBE script) * JUBE script, e.g. '''''${BASEDIR}/messy/util/xmessy_jube_clim.xml''''' == JUBE script == |
Line 19: | Line 26: |
messy-clams/messy/util/xmessy_jube_clim.xml | '''''messy-clams/messy/util/xmessy_jube_clim.xml''''' |
Line 21: | Line 28: |
* copy JUBE script to working directory and change namelist data | * Inside the script there is one parameterset for each clams namelist. * The namelist input is specified in these parametersets. * The dummy entries in the namelists ''${BASEDIR}/messy/nml/MBM/clams_jube/*.nml'' will be substituted with this input and copied to the namelist directory (NML_SETUP). <<BR>> '''Attention:''' Namelists in directory NML_SETUP will be overwritten if they already exist ! * The specifications in the parametersets ''jobscriptParameter'' and ''xmessy_mmd'' are used to substitute the dummy entries in the messy script ''${BASEDIR}/messy/util/xmessy_mmd.jube''. * The messy-script ''xmessy_mmd.jube'' with substitutions is copied to the working directory (name: ''xmessy_mmd.$EXP_NAME''). == Run JUBE script == * copy JUBE script to working directory and change namelist data in the script |
Line 28: | Line 49: |
== JUBE script == * Benötigte Dateien (alle in Mercurial eingecheckt) * Dummy-Makefile ${BASEDIR}/messy/mbm/clams/Makefile_jube * Dummy MESSy-Skript ${BASEDIR}/messy/util/xmessy_mmd.jube * Dummy-Namelist-Verzeichnis ${BASEDIR}/messy/nml/MBM/clams_jube ("dir_dummy_nml" in "namelistParam" im JUBE-Skript) * Wird das Skript mit dem Tag "comp" aufgerufen, wird das Basemodel "clams" neu compiliert. Hierbei wird das Makefile im Verzeichnis "clams" durch das Dummy-Makefile mit den aktuellen Ersetzungen (parameterset "makeParam") überschrieben! * Für jede in Messy-Clams genutzte Namelist gibt es ein entsprechendes Parameterset. Die aktuellen Angaben zu den verschiedenen Namelists werden in die Dummy-Namelists eingetragen, und die "fertigen" Namelists werden in das unter "NML_SETUP" angegebene Verzeichnis kopiert. Existiert dieses Verzeichnis schon, werden die Namelists dort überschrieben! * Im Dummy-Messy-Skript werden die in den Parametersets "jobscriptParameter" und "xmessy_mmd" angegebenen Parameter durch die aktuellen Angaben ersetzt. * Das Skript mit Ersetzungen wird in das aktuelle Arbeitsverzeichnis unter den Namen "xmessy_mmd.$EXP_NAME" kopiert. * Perpetuum-Läufe: * im Parameterset "perpParam": * 'cycle' und 'messy_tools_dir' anpassen * alle weiteren Parameter können unverändert bleiben ! * Aufruf mit tag "perp" * in timer.nml: Einstellungen so setzen, dass innerhalb eines Jahres KEINE RESTARTS geschrieben werden (->timer_no_cycles hochsetzen!) == ACHTUNG == * Die Dateien im Namelist-Verzeichnis (NML_SETUP) werden überschrieben! * ${BASEDIR}/messy/mbm/clams/Makefile wird überschrieben! (Falls neu compiliert wird: Aufruf mit "-t comp"') * Für perpetuum-Läufe: initfile wird überschrieben! -> Das Initfile muss Schreibrechte gesetzt haben! -> Für einen erneuten Lauf ab Startzeit muss das Original-initfile wieder kopiert werden! -> Aufruf mit "-t perp" * clams.nml/clamsmix.nml: Die Anzahl der angegebenen Parameter kann variieren. => Im Moment sind 20 Platzhalter vorgesehen, nicht benötigte müssen mit einem Leerstring belegt werden! => Werden mehr Platzhalter benötigt, muss das in der Dummy-Namelist und im XML-Skript angepasst werden! * Bei Änderungen in den Namelists: => Änderung in Dummy-Namelist + Änderung in XML-Skript * Optionale Parameter: Sind in Messy vorbelegt, können angegeben oder weggelassen werden Mit JUBE: optionale Parameter müssen in Dummy-Namelist vorgesehen und in XML-Skript belegt werden! |
* If the script is called with tag ''comp'', the basemodel ''clams'' is recompiled. <<BR>> '''Attention:''' The ''Makefile'' in subdirectory ''clams'' is replaced by the dummy makefile ''Makefile_jube'' with the current substitutions (parameterset ''makeParam'') |
Use JUBE for messy-clams runs
Installation
- on JURECA:
module load JUBE
- Download and installation on cluster workstation:
JUBE is installed in ~/.local/bin
add ~/.local/bin to $PATH
Required files
Dummy makefile ${BASEDIR}/messy/mbm/clams/Makefile_jube
Dummy MESSy script ${BASEDIR}/messy/util/xmessy_mmd.jube
Dummy namelist directory ${BASEDIR}/messy/nml/MBM/clams_jube
(dir_dummy_nml specified in namelistParam in JUBE script)
JUBE script, e.g. ${BASEDIR}/messy/util/xmessy_jube_clim.xml
JUBE script
Example for JUBE script:
messy-clams/messy/util/xmessy_jube_clim.xml
- Inside the script there is one parameterset for each clams namelist.
- The namelist input is specified in these parametersets.
The dummy entries in the namelists ${BASEDIR}/messy/nml/MBM/clams_jube/*.nml will be substituted with this input and copied to the namelist directory (NML_SETUP).
Attention: Namelists in directory NML_SETUP will be overwritten if they already exist !The specifications in the parametersets jobscriptParameter and xmessy_mmd are used to substitute the dummy entries in the messy script ${BASEDIR}/messy/util/xmessy_mmd.jube.
The messy-script xmessy_mmd.jube with substitutions is copied to the working directory (name: xmessy_mmd.$EXP_NAME).
Run JUBE script
- copy JUBE script to working directory and change namelist data in the script
- run JUBE script:
jube run xmessy_jube_clim.xml [-t tag]
If the script is called with tag comp, the basemodel clams is recompiled.
Attention: The Makefile in subdirectory clams is replaced by the dummy makefile Makefile_jube with the current substitutions (parameterset makeParam)
JUBE commands
jube run xmessy_jube_clim.xml [-t tags] jube continue messy_bench jube analyse messy_bench [--id ID] jube result messy_bench jube info messy_bench [--id ID] [--step xxx] jube log messy_bench [--id ID] [--command cmd] jube help keyword jube comment [-a] "..." messy_bench [-i ID] jube comment -i ID -- "..." messy_bench
Online documentation
https://apps.fz-juelich.de/jsc/jube/jube2/docu/index.html
Run with Scalasca (on JURECA)
jube run messy_clim.xml -t time scorep_comp scorep module load Scalasca scalasca -examine messy_bench/00000x/000003_exe/work/scorep_clams24_run scalasca -examine -s messy_bench/00000x/000003_exe/work/scorep_clams24_run
-> scorep.score is created