Size: 3805
Comment:
|
Size: 4266
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= MESSy/CLaMS = == Restarts == |
= MESSy/CLaMS: Restarts = |
Line 7: | Line 5: |
* Es können zusaetzlich Restart-Files in einem vorgegebenen Zeittakt erstellt werden. | * Es können zusätzlich Restart-Files in einem vorgegebenen Zeittakt erstellt werden. |
Line 13: | Line 11: |
=> Restart-Files jeden Monat, nach 12 Zyklen wird der Lauf unterbrochen und neu gestartet (s. TIMER-User-Manual) | => Restart-Files jeden Monat, nach 12 Zyklen (im Beispiel also nach einem Jahr) wird der Lauf unterbrochen und neu gestartet (s. TIMER-User-Manual) |
Line 20: | Line 18: |
QCLOCK = 'wall', ! 'wall'|'cpu'|'user'|#sys' | QCLOCK = 'wall', ! 'wall'|'cpu'|'user'|'sys' |
Line 23: | Line 21: |
(s. Development cycle 2 of the Modular Earth Submodel System) | => Wenn 95% der 4 Stunden Rechenzeit erreicht werden, werden Restart-Files geschrieben und der Lauf an dieser Stelle neu gestartet <<BR>> (s. Development cycle 2 of the Modular Earth Submodel System) <<BR>> |
Line 33: | Line 32: |
* restart_cccc_CLAMS.nc * restart_cccc_clamstraj.nc |
|
Line 41: | Line 38: |
* restart_cccc_CLAMS.nc | |
Line 54: | Line 52: |
=> FÜr jedes dieser Submodule läßt sich der Output (und damit auch das Restartfile) ausschalten (in Namelist: ''loutput_paketname=.false.'') | => Für jedes dieser Submodule läßt sich der Output (und damit auch das Restartfile) ausschalten (in zugehöriger Namelist: ''loutput_paketname=.false.'') |
Line 67: | Line 65: |
* Ausgabe auf Restart-Files: | * Ausgabe auf Restart-Files in MESSy-CLaMS: |
Line 69: | Line 67: |
* 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 |
* 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) |
Line 73: | Line 77: |
* 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) |
* Einlesen der Restart-Files in MESSy-CLaMS: |
Line 79: | Line 79: |
* Restart-Files einlesen: clams_main -> messy_channel_read_restart (messy_main_channel_bi.f90) -> channel_read_data (messy_main_channel_io.f90) |
clams_main <<BR>> -> messy_channel_read_restart (messy_main_channel_bi.f90) <<BR>> -> channel_read_data (messy_main_channel_io.f90) <<BR>> |
Line 87: | Line 85: |
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) |
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>> |
Line 93: | Line 91: |
Z.B. restart-Files einmal pro Monat: messy/nml/DEFAULTS/timer.nml: |
Z.B. Restart-Files einmal pro Monat: <<BR>> In ''messy/nml/DEFAULTS/timer.nml'': <<BR>> |
MESSy/CLaMS: Restarts
- Am Ende des Laufes werden Restart-Files geschrieben
- Es können zusätzlich Restart-Files in einem vorgegebenen Zeittakt erstellt werden.
Die entsprechenden Einstellungen werden in messy/nml/DEFAULTS/timer.nml vorgenommen:
IO_RERUN_EV = 1,'month','first',0, NO_CYCLES = 12 ! restart cycles without break
=> Restart-Files jeden Monat, nach 12 Zyklen (im Beispiel also nach einem Jahr) wird der Lauf unterbrochen und neu gestartet (s. TIMER-User-Manual)
- Nach einer bestimmten Laufzeit (Anz. CPU-Stunden) kann ein automatischer Restart erfolgen.
Die Anzahl Rechenstunden wird in qtimer.nml vorgegeben, z. B.:
&CTRL 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
=> Wenn 95% der 4 Stunden Rechenzeit erreicht werden, werden Restart-Files geschrieben und der Lauf an dieser Stelle neu gestartet
(s. Development cycle 2 of the Modular Earth Submodel System)
- Folgende Restart-Files werden bei einem CLaMS-Lauf erstellt:
- 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
- restart_cccc_clams.nc:
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.)
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.
Bei einem Neustart wird dort aufgesetzt
Soll von Beginn neu gestartet werden, muss die Datei MSH_NO gelöscht werden
- 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
mmmm: cycle number
- Ausgabe auf Restart-Files in MESSy-CLaMS:
In einzelnen Submodules (aus SMIL-Routinen) wird messy_write_output (messy_main_control_clams.f90) aufgerufen
In messy_write_output wird messy_channel_write_output (messy_main_channel_bi.f90) mit IOMODE_OUT aufgerufen
=> schreibe Channels/Channelobjekte auf Output-FileIn messy_write_output wird messy_channel_write_output mit IOMODE_RST aufgerufen, falls l_rerun=.true.
=> schreibe Channels/Channelobjekte auf Restart-File (falls Restart-Event gesetzt)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 nächster Rerun-Ausgabezeitschritt oder maximale Rechenzeit erreicht)
- Einlesen der Restart-Files in MESSy-CLaMS:
clams_main
-> messy_channel_read_restart (messy_main_channel_bi.f90)
-> channel_read_data (messy_main_channel_io.f90)
- Restart-Files in ECHAM:
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)
Z.B. Restart-Files einmal pro Monat:
In messy/nml/DEFAULTS/timer.nml:
- IO_RERUN_EV = 1,'months','first',0,