Use JUBE
Installation
- on JURECA:
module load JUBE
- Download und Installation im Cluster:
- JUBE wird unter ~/.local/bin installiert
- ~/.local/bin zu $PATH zufügen
Ausführen des JUBE-Skripts
Beispiel-JUBE-Skript eingecheckt unter
- messy-clams/messy/util/xmessy_jube_clim.xml
- JUBE-Skript ins Arbeitsverzeichnis kopieren und Namelist-Angaben anpassen.
- JUBE-Skript ausführen mit:
jube run xmessy_jube_clim.xml [-t tag]
JUBE-Skript
- 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!)
- im Parameterset "perpParam":
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!
- Die Anzahl der angegebenen Parameter kann variieren.
- 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!
- Sind in Messy vorbelegt, können angegeben oder weggelassen werden Mit JUBE: optionale Parameter müssen in Dummy-Namelist vorgesehen und in
JUBE-Kommandos
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 Kommentare aus xml-Skript nachträglich ändern: jube comment [-a] "..." messy_bench [-i ID] jube comment -i ID -- "..." messy_bench
Online-Doku zu JUBE
https://apps.fz-juelich.de/jsc/jube/jube2/docu/index.html
Mit Scalasca (auf 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