Differences between revisions 1 and 11 (spanning 10 versions)
Revision 1 as of 2014-06-13 08:22:05
Size: 3805
Editor: NicoleThomas
Comment:
Revision 11 as of 2016-07-06 09:02:29
Size: 3495
Editor: NicoleThomas
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= MESSy/CLaMS = = MESSy/CLaMS: Restarts =
Line 3: Line 3:
== Restarts == If the restart event is triggered, the status of the model is dumped with full precision to restart files
Line 5: Line 5:
 * Am Ende des Laufes werden Restart-Files geschrieben === Write restart files ===
Line 7: Line 7:
 * Es können zusaetzlich Restart-Files in einem vorgegebenen Zeittakt erstellt werden.
 Die entsprechenden Einstellungen werden in ''messy/nml/DEFAULTS/timer.nml'' vorgenommen:
 * At the end of a MESSy simulation restart files are written.

 * Restart files can be written in a given simulation time interval. The simulation can be interrupted and restarted automatically when a given number of cycles is reached (TIMER-User-Manual, 4.4). The interval and the number of cycles can be specified in '''messy/nml/DEFAULTS/timer.nml''', e.g.:
Line 10: Line 11:
    IO_RERUN_EV = 1,'month','first',0,
    NO_CYCLES = 12 ! restart cycles without break
IO_RERUN_EV = 1,'month','first',0,
NO_CYCLES = 12 ! restart cycles without break
Line 13: Line 14:
  => Restart-Files jeden Monat, nach 12 Zyklen wird der Lauf unterbrochen und neu gestartet (s. TIMER-User-Manual)
Line 15: Line 15:
 * Nach einer bestimmten Laufzeit (Anz. CPU-Stunden) kann ein automatischer Restart erfolgen.
 Die Anzahl Rechenstunden wird in ''qtimer.nml'' vorgegeben, z. B.:
 => Restart files are witten at the beginning of a new month and after 12 months the simulation will be interrupted and restarted automatically.


 * If starttime of model is noon and restart files should be written at noon:<<BR>>
   
  use unit 'hours'
  {{{
IO_RERUN_EV = 240,'hours','first',0
}}}
  or use unit 'days' and set offset to 86400 [sec]
  {{{
IO_RERUN_EV = 10,'days','first',86400
}}}
  This offset is not allowed for units 'years' and 'months'.



 * If the job is submitted to a queue manager, it might be necessary to split the simulation into chain elements. The submodel QTIMER triggers the restart just before the maximum time reserved by the scheduler is reached (Development cycle 2 of the Modular Earth Submodel System, section 4). The queue time limit and the usable fraction can be specified in '''qtimer.nml''', e.g.:
Line 19: Line 35:
QTIME = 4,0,0, ! Queue-Zeitlimit (hh,mm,se); 0,0,0: kein Limit
QCLOCK = 'wall', ! 'wall'|'cpu'|'user'|#sys'
QFRAC = 0.95 ! Anteil des Zeitlimits, nachdem der Lauf unterbrochen und Restart-Files geschrieben werden
 }}}
   (s. Development cycle 2 of the Modular Earth Submodel System)
    
QTIME = 4,0,0, ! queue time limit (hh,mm,se); 0,0,0 to switch off
QCLOCK = 'wall', ! queue clock type (wall|cpu|user|sys)
QFRAC = 0.95 ! usable fraction of queue time limit
}}}
Line 26: Line 40:
 * Folgende Restart-Files werden bei einem CLaMS-Lauf erstellt:  => When 95% of 4 hours CPU time are reached, restart files are written and the next chain-element is started.
Line 28: Line 42:
  * restart_cccc_clams.nc:
    * dnparts
    * grid_switch
    * year_uvfirst, month_uvfirst, day_uvfirst, hour_uvfirst
    * chem. Spezies
  * restart_cccc_CLAMS.nc
  * restart_cccc_clamstraj.nc
    * JULSEC
    * LAT, LAT_OLD, LAT_OLD_MIX
    * LON, LON_OLD, LON_OLD_MIX
    * LEV, LEV_OLD
    * TEMP, TEMP_OLD
    * PRESS, PRESS_OLD
  * restart_cccc_winddata.nc
    * LAT, LON, LEV
    * UDT, VDT, WDT, LEVELDT
    * UFUT, VFUT, WFUT, LEVELFUT
    * PREDATA_TEMP, FUTDATA_TEMP
    * PREDATA_PRESS, FUTDATA_PRESS
    
 * Es werden Restart-Files für jeweils bis zu 5 Zyklen erstellt (da in jeder der entsprechenden SMIL-Routinen ''messy_write_output'' aufgerufen wird!) :
    * nach traj
    * nach dissoc
    * nach chem
    * nach mix
    * nach bmix
   => FÜr jedes dieser Submodule läßt sich der Output (und damit auch das Restartfile) ausschalten (in Namelist: ''loutput_paketname=.false.'')
=== Restart model ===
Line 56: Line 44:
 * Die Nummer des letzten Laufes steht auf der Datei ''MSH_NO''.
 Die ab der aktuellen Zeit zu nutzenden Restart-Files sind in das Ausgabeverzeichns gelinkt. <<BR>>
   * Bei einem Neustart wird dort aufgesetzt <<BR>>
   * Soll von Beginn neu gestartet werden, muss die Datei ''MSH_NO'' gelöscht werden <<BR>>
   * Soll an einer anderen Stelle wieder aufgesetzt werden, kann man die entsprechenden Einstellungen mit dem folgenden Skript vornehmen:
  {{{
  init_restart -r nnnn -c mmmm [-d dir]
  }}}
  nnnn: restart number <<BR>>
  mmmm: cycle number
 * If the file '''MSH_NO''' is in the working-directory, the model is started in rerun-mode. MSH_NO contains the number of the last chain-element. <<BR>>
 If you want run the simulation again from the beginning, remove file MSH_NO before starting the run script.
Line 67: Line 47:
 * Ausgabe auf Restart-Files:  * All files needed for a rerun starting from a specific chain element are saved in the subdirectory ''save/NNNN'' of the working directory.<<BR>>
Line 69: Line 49:
  * In einzelnen Submodules (aus SMIL-Routinen) wird ''messy_write_output'' aufgerufen (''messy_main_control_clams.f90'') <<BR>>
  In ''messy_write_output'' wird ''messy_channel_write_output'' aufgerufen (''messy_main_channel_bi.f90'') mit IOMODE_OUT und mit IOMODE_RST <<BR>>
  => schreibe Channels/Channelobjekte für IOMODE_OUT auf Output-File, für IOMODE_RST auf Restart-File
 NNNN is the 4-digit number of the last complete chain element. <<BR>>
Line 73: Line 51:
  * program clams (clams_main.f90)
    innerhalb der Zeitschleife:
    -> sub. messy_global_start (messy_main_control_clams.f90)
       -> sub. main_timer_global_start (messy_main_timer_bi.f90)
          -> setze l_rerun: (true, wenn event auftritt oder Ende des Laufes)
 The restart files of the last chain-element are linked into the working directory.<<BR>><<BR>>
Line 79: Line 53:
 * Restart-Files einlesen:  In order to start a rerun with chain element NNNN+1, the script '''messy/util/init_restart''' can be used to link the correct restart files:
 {{{
messy-dir/messy/util/init_restart -r NNNN -c MMMM [-d dir]
}}}
Line 81: Line 58:
  clams_main
    -> messy_channel_read_restart (messy_main_channel_bi.f90)
      -> channel_read_data (messy_main_channel_io.f90)
 NNNN: restart number <<BR>>
 MMMM: cycle number
Line 85: Line 61:
 * Restart-Files in ECHAM:  * Restarts after abnormal termination:
Line 87: Line 63:
  messy/echam5/bmil/messy_main_control_e5.f90:
    sub. messy_write_output
      -> messy_channel_write_output(IOMODE_OUT) (messy_main_channel_bi.f90)
    in echam5/src/stepon.f90
      -> messy_channel_write_output(IOMODE_RST)
 If the model stops due to an occured error or a hardware problem, it can be restarted manually.<<BR>>
 In this case all restart files are located in the working directory and not saved to subdirectories ''save/NNNN''.<<BR>>
 To clean up the working directory and move the restart files to subdirectories call the run-script with option '-c':
 {{{
xmessy_mmd -c
}}}
Line 93: Line 70:
  Z.B. restart-Files einmal pro Monat:
    messy/nml/DEFAULTS/timer.nml:
      IO_RERUN_EV = 1,'months','first',0,
 Then the recent restart files can be linked into the working directory
 {{{
messy-dir/messy/util/init_restart -r NNNN -c CCCC
}}}
 Now the model can be restarted.

 * The name of the experiment (''EXP_NAME'' in run-script) must not contain the substring ''restart''. <<BR>>
 All files ''*restart*'' are removed before linking the current restart files.

MESSy/CLaMS: Restarts

If the restart event is triggered, the status of the model is dumped with full precision to restart files

Write restart files

  • At the end of a MESSy simulation restart files are written.
  • Restart files can be written in a given simulation time interval. The simulation can be interrupted and restarted automatically when a given number of cycles is reached (TIMER-User-Manual, 4.4). The interval and the number of cycles can be specified in messy/nml/DEFAULTS/timer.nml, e.g.:

    IO_RERUN_EV = 1,'month','first',0,
    NO_CYCLES   = 12           ! restart cycles without break

    => Restart files are witten at the beginning of a new month and after 12 months the simulation will be interrupted and restarted automatically.

  • If starttime of model is noon and restart files should be written at noon:

    • use unit 'hours'
      IO_RERUN_EV = 240,'hours','first',0
      or use unit 'days' and set offset to 86400 [sec]
      IO_RERUN_EV = 10,'days','first',86400
      This offset is not allowed for units 'years' and 'months'.
  • If the job is submitted to a queue manager, it might be necessary to split the simulation into chain elements. The submodel QTIMER triggers the restart just before the maximum time reserved by the scheduler is reached (Development cycle 2 of the Modular Earth Submodel System, section 4). The queue time limit and the usable fraction can be specified in qtimer.nml, e.g.:

    &CTRL
    QTIME  =  4,0,0,  ! queue time limit (hh,mm,se); 0,0,0  to switch off
    QCLOCK = 'wall',  ! queue clock type (wall|cpu|user|sys)
    QFRAC  = 0.95     ! usable fraction of queue time limit

    => When 95% of 4 hours CPU time are reached, restart files are written and the next chain-element is started.

Restart model

  • If the file MSH_NO is in the working-directory, the model is started in rerun-mode. MSH_NO contains the number of the last chain-element.
    If you want run the simulation again from the beginning, remove file MSH_NO before starting the run script.

  • All files needed for a rerun starting from a specific chain element are saved in the subdirectory save/NNNN of the working directory.

    NNNN is the 4-digit number of the last complete chain element.

    The restart files of the last chain-element are linked into the working directory.

    In order to start a rerun with chain element NNNN+1, the script messy/util/init_restart can be used to link the correct restart files:

    messy-dir/messy/util/init_restart -r NNNN -c MMMM [-d dir]

    NNNN: restart number
    MMMM: cycle number

  • Restarts after abnormal termination:

    If the model stops due to an occured error or a hardware problem, it can be restarted manually.
    In this case all restart files are located in the working directory and not saved to subdirectories save/NNNN.
    To clean up the working directory and move the restart files to subdirectories call the run-script with option '-c':

    xmessy_mmd -c
    Then the recent restart files can be linked into the working directory
    messy-dir/messy/util/init_restart -r NNNN -c CCCC
    Now the model can be restarted.
  • The name of the experiment (EXP_NAME in run-script) must not contain the substring restart.
    All files *restart* are removed before linking the current restart files.

messy/Restart (last edited 2023-01-31 10:52:36 by NicoleThomas)