Size: 5147
Comment:
|
Size: 5282
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
* If the restart event is triggered, the status of the model is dumped with full precision to restart files | If the restart event is triggered, the status of the model is dumped with full precision to restart files === Write restart files === |
Line 7: | Line 9: |
* 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 the messy-script and are replaced in '''timer.nml''', e.g.:<<BR>><<BR>> | |
Line 8: | Line 11: |
* 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.: | timer.nml: |
Line 10: | Line 13: |
IO_RERUN_EV = 1,'month','first',0, NO_CYCLES = 12 ! restart cycles without break |
IO_RERUN_EV = ${RESTART_INTERVAL},'${RESTART_UNIT}','last',0, NO_CYCLES = ${NO_CYCLES}, |
Line 13: | Line 16: |
=> Restart files are witten at the beginning of a new month After 12 months the simulation will be interrupted and restarted automatically |
messy-script: {{{ ### INTERVAL FOR WRITING (REGULAR) RESTART FILES ### Note: This has only an effect, if it is not explicitely overwritten ### in your timer.nml; i.e., make sure that in timer.nml ### IO_RERUN_EV = ${RESTART_INTERVAL},'${RESTART_UNIT}','last',0, ### is active! ### RESTART_UNIT: steps, hours, days, months, years RESTART_INTERVAL=1 RESTART_UNIT=months NO_CYCLES=12 }}} => Restart files are witten at the beginning of a new month and after 12 months the simulation will be interrupted and restarted automatically. |
Line 18: | Line 31: |
* 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.: | * 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 QWCH can be specified the messy-script and is replaced in '''qtimer.nml''', e.g.:<<BR>><<BR>> qtimer.nml |
Line 21: | Line 50: |
QTIME = 4,0,0, ! queue time limit (hh,mm,se); 0,0,0 to switch off | QTIME = $QWCH,0,0, ! queue time limit (hh,mm,se); 0,0,0 to switch off |
Line 26: | Line 55: |
messy-script: {{{ QWCH=4 }}} |
|
Line 28: | Line 62: |
=== Restart model === | |
Line 29: | Line 64: |
* If 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 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>> |
Line 32: | Line 67: |
* 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. |
* 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 35: | Line 69: |
* The restart file of the last chain-element are linked into the working directory | NNNN is the 4-digit number of the last complete chain element. <<BR>> |
Line 37: | Line 71: |
* 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: | The restart files of the last chain-element are linked into the working directory.<<BR>><<BR>> 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: |
Line 39: | Line 75: |
init_restart -r NNNN -c MMMM [-d dir] | messy-dir/messy/util/init_restart -r NNNN -c MMMM [-d dir] |
Line 41: | Line 77: |
NNNN: restart number MMMM: cycle number |
|
Line 44: | Line 78: |
NNNN: restart number (number of batch job in a job chain) <<BR>> MMMM: cycle number (number of restart within a batch job) |
|
Line 45: | Line 81: |
* A file END is written at the end of the simulation or if an error occurs. => If there are files ''END*'' in the working directory, no restart is done. |
* Get restart and cycle number <<BR>><<BR>> |
Line 48: | Line 83: |
* 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. |
The script {{{ messy-dir/messy/util/show_restarts.tcsh -c clams }}} (called in working directory) lists all restart and cycle numbers and corresponding dates in the subdirectory ''save'' * Continue a previous simulation: |
Line 51: | Line 92: |
* Create a new output directory and call ''init_restart'' '''from within this directory''': {{{ mkdir newdir cd newdir ~/messy-2.54.0-clams/messy/util/init_restart -d olddir -r NNNN -c CCCC }}} * The executable and the messy-script are copied to the new directory * The save-directory with namelists is copied and the namelists for the specified rerun and cycle number are linked * If you do not create a new output directory: * check, that the namelists with the correct rerun and cycle number are linked * remove '''END''' files |
|
Line 52: | Line 104: |
* Changes in messy-script: * Change WORKDIR to new output directory * Change the stop date * Do not change the start date ! |
|
Line 53: | Line 109: |
* If you want to modify the namelists, edit the namelist files '''in subdirectory ''nml'' ''' | |
Line 54: | Line 111: |
* Start the messy-script in the new output directory | |
Line 55: | Line 113: |
* Folgende Restart-Files werden bei einem CLaMS-Lauf erstellt: | * Restarts after abnormal termination: |
Line 57: | Line 115: |
* restart_cccc_clams.nc: * dnparts * grid_switch * year_uvfirst, month_uvfirst, day_uvfirst, hour_uvfirst * chem. Spezies * JULSEC * LAT, LAT_OLD, LAT_OLD_MIX * LON, LON_OLD, LON_OLD_MIX * LEV, LEV_OLD * TEMP, TEMP_OLD * PRESS, PRESS_OLD * restart_cccc_CLAMS.nc * 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 zugehöriger Namelist: ''loutput_paketname=.false.'') |
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 84: | Line 122: |
* Ausgabe auf Restart-Files in MESSy-CLaMS: | 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. |
Line 86: | Line 128: |
* In einzelnen Submodules (aus SMIL-Routinen) wird ''messy_write_output'' (''messy_main_control_clams.f90'') aufgerufen <<BR>> * In ''messy_write_output'' wird ''messy_channel_write_output'' (''messy_main_channel_bi.f90'') mit ''IOMODE_OUT'' aufgerufen <<BR>> => schreibe Channels/Channelobjekte auf Output-File *In ''messy_write_output'' wird ''messy_channel_write_output'' mit ''IOMODE_RST'' aufgerufen, falls ''l_rerun=.true.'' <<BR>> => schreibe Channels/Channelobjekte auf Restart-File (falls Restart-Event gesetzt) * program clams (clams_main.f90), innerhalb der Zeitschleife: <<BR>> -> sub. messy_global_start (messy_main_control_clams.f90) <<BR>> -> sub. main_timer_global_start (messy_main_timer_bi.f90) <<BR>> -> setze l_rerun: (true, wenn nächster Rerun-Ausgabezeitschritt oder maximale Rechenzeit erreicht) * Einlesen der Restart-Files in MESSy-CLaMS: clams_main <<BR>> -> messy_channel_read_restart (messy_main_channel_bi.f90) <<BR>> -> channel_read_data (messy_main_channel_io.f90) <<BR>> * Restart-Files in ECHAM: messy/echam5/bmil/messy_main_control_e5.f90: <<BR>> sub. messy_write_output <<BR>> -> messy_channel_write_output(IOMODE_OUT) (messy_main_channel_bi.f90) <<BR>> in echam5/src/stepon.f90 <<BR>> -> messy_channel_write_output(IOMODE_RST) <<BR>> Z.B. Restart-Files einmal pro Monat: <<BR>> In ''messy/nml/DEFAULTS/timer.nml'': <<BR>> IO_RERUN_EV = 1,'months','first',0, |
* 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 the messy-script and are replaced in timer.nml, e.g.:
timer.nml:IO_RERUN_EV = ${RESTART_INTERVAL},'${RESTART_UNIT}','last',0, NO_CYCLES = ${NO_CYCLES},
messy-script:### INTERVAL FOR WRITING (REGULAR) RESTART FILES ### Note: This has only an effect, if it is not explicitely overwritten ### in your timer.nml; i.e., make sure that in timer.nml ### IO_RERUN_EV = ${RESTART_INTERVAL},'${RESTART_UNIT}','last',0, ### is active! ### RESTART_UNIT: steps, hours, days, months, years RESTART_INTERVAL=1 RESTART_UNIT=months NO_CYCLES=12
=> 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'.
- use unit 'hours'
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 QWCH can be specified the messy-script and is replaced in qtimer.nml, e.g.:
qtimer.nml&CTRL QTIME = $QWCH,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
messy-script:QWCH=4
=> 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 (number of batch job in a job chain)
MMMM: cycle number (number of restart within a batch job)Get restart and cycle number
The scriptmessy-dir/messy/util/show_restarts.tcsh -c clams
(called in working directory) lists all restart and cycle numbers and corresponding dates in the subdirectory save
- Continue a previous simulation:
Create a new output directory and call init_restart from within this directory:
mkdir newdir cd newdir ~/messy-2.54.0-clams/messy/util/init_restart -d olddir -r NNNN -c CCCC
- The executable and the messy-script are copied to the new directory
- The save-directory with namelists is copied and the namelists for the specified rerun and cycle number are linked
- If you do not create a new output directory:
- check, that the namelists with the correct rerun and cycle number are linked
remove END files
- Changes in messy-script:
- Change WORKDIR to new output directory
- Change the stop date
- Do not change the start date !
If you want to modify the namelists, edit the namelist files in subdirectory nml
- Start the messy-script in the new output directory
- 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 directorymessy-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.