Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2017-05-03 07:54:43
Size: 4198
Editor: NicoleThomas
Comment:
Revision 8 as of 2017-05-24 11:24:22
Size: 2829
Editor: NicoleThomas
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Use JUBE = = Use JUBE for messy-clams runs =
Line 10: Line 10:
 * Download und Installation im Cluster:
   http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/JUBE/JUBE2/jube-installation_node.html
   -> JUBE wird unter ~/.local/bin installiert
   -> ~/.local/bin zu $PATH zufügen
 * Download and installation on cluster workstation:
  * http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/JUBE/JUBE2/jube-installation_node.html
  * 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: <<BR>>
   '''''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). <<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

 * run JUBE script:
 {{{
jube run xmessy_jube_clim.xml [-t tag]
}}}

 * 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'')
Line 16: Line 53:
Ausführen des JUBE-Skripts:
---------------------------
== JUBE commands ==
Line 19: Line 55:
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!)

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!


JUBE-Kommandos:
---------------
 {{{
Line 106: Line 68:
Kommentare aus xml-Skript nachträglich ändern:
Line 109: Line 70:
}}}
Line 110: Line 72:

Online-Doku zu JUBE:
--------------------
== Online documentation ==
Line 117: Line 77:
Mit Scalasca (auf JURECA):
--------------------------
== Run with Scalasca (on JURECA) ==
Line 120: Line 79:
   jube run messy_clim.xml -t time scorep_comp scorep  {{{
jube run messy_clim.xml -t time scorep_comp scorep
Line 122: Line 82:
   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
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

Use JUBE for messy-clams runs

Installation

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

messy/UseJube (last edited 2018-04-25 08:14:54 by NicoleThomas)