Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Section


Column

What's a model restart?

Excerpt

A restart allows the model to continue a forecast with a succession of  individual runs, each one starting where the other one left off. e.g. running an extended forecast of 100 days with 5 separate runs of 20 days each.

A restart will always be exact, that is, the results of the restarted forecast should always match a single run of the model for the same total length (assuming all settings remain the same).

This page describes how to configure and use the model restart facility.n.b. the


Warning

The restarted run must always have the same parallel decomposition (TASKS x THREADS) otherwise the restart will fail.



Column
width250px


Panel
borderColorgrey
bgColorwhite
titleBGColorlightlightgrey
titleOn this page

square
Table of Contents
indent12px
style



How to configure restarts

The namelist NAMRES controls model restarts (see ifs/namelist/namres.h). The most useful variables in this namelist are: NFRRES and NRESTS.

...

The first value for NRESTS must indicate the number of valid restarts required and be of the same sign as the rest of the entries. See examples below.

Examples

Code Block
languagenone
titleExample 1: Regular output frequency
 &NAMRES
       NFRRES=-24,
 /

...

The value of NFRRES is normally set to 1 if using NRESTS. If NFRRES is set > 1 it is multiplied to the restart time. In the above example, if NFRRES was changed to 2, the model would still give 3 restart files but this time at 96hrs, 240hrs and 384hrs.

Files created

Restart files

The output files all begin with the name 'srf'. One file will be created per MPI task. The files are written as unformatted binary (not GRIB) in order to preserve precision.

The file name includes a date as : srfddddhhmm, where dddd is the day number of the run, hh is the hour and mm is the minutes. e.g. srf00000120.0002 would be for day 1 and 20mins into the run written from MPI task 2.

Wave model restart files

If the wave model is active, it writes its own restart files (the wave model acts as a sub-model inside OpenIFS).  The wave model is active if the logical variable LWCOU is set .true. in the model namelist fort.4.

The wave model restart files begin with the names 'LAW' and 'BLS', each followed by a date substring. A small text file 'waminfo' is also created.

Deletion of old restart files

By default, old restart files are not deleted which might be a concern at high resolutions. One . This might cause problems with limited file quotas e.g. one restart file at T1279 is approx 500Mb when using 128 MPI tasks, giving a total restart file requirement of approx 64Gb per output instance. Changing

To change this behaviour is not possible via NAMRES. Instead, edit the namelist file ifs/setup/sures.F90 fort.4 and change the default value of LDELRES to TRUE. This will be changed for a future release of OpenIFS.. e.g.

Code Block
&NAMRES
    LDELRES=.true.,
/

Restart namelist

A file, 'rcf' will be created by the model at each timestep when the restart files are written. This file contains the NAMELIST NAMRCF that informs the model what it needs to know to restart the model.

Info

If the file rcf is present in the same directory as the restart files (srf*), the model will always assume it is doing a restart.

Do not delete or edit this file, otherwise the model will be unable to restart - regardless of whether the actual restart files (those beginning with srf) are present.

Conversely, if you don't want to run a restart but want to repeat the run, do delete rename the rcf file (e.g. rcf.old) or delete it (and the srf files). If you don't the model will attempt to continue the run according to the namelist in the rcf file as this takes precedence over the namelists read from fort.4.

Changing location or name of restart files

The restart file by default is written to the same directory as the model grib output files. The files all begin with the prefix 'srf'.

To change this prefix or the directory the files are written to, use the CIOSPRF character variable in the namelist NAMIOS:

Code Block
&NAMIOS
   CIOSPRF='./myrestarts/srf',
   CFRCF='./myrestarts/rcf',
/

Note that the location of the 'rcf' file, which contains the restart namelist, is also changed for consistency (recommended).

Continuing the forecast

Namelist changes

There is only 1 change required to the model namelist, fort.4, in order to continue the forecast.

Increase the value of NSTOP in NAMCT0 to ensure the model runs past the timestep of the last restart. If this is not done the model will start but see that NSTOP matches the time of the restart it's using and immediately finish.

Note the model will still expect to find the initial files in the experiment directory. It reads these files to get information about the grid.

How to use a specific restart

This can be done by careful editing of the NAMELIST NAMRCF contained in the 'rcf' file and best explained by an example. In order to restart successfully you must have all the restart files for the model tasks; there is one restart file per task.

...

  • if restarting from an earlier restart, the model will overwrite any existing output and restart files for the subsequent timesteps.
  • always keep the 'rcf' and 'srf' files together. The rcf namelist contains important information about the grid decomposition and mass fixes to ensure an exact restart.

Model code

The key subroutines for restarts are:

monio.F90 - sets up the internal arrays to determine write times.

wrresf.F90 - calls the I/O subsystem to write out the restart files. If you add more arrays to the model and want them to appear in restart files, change this routine.

reresf.F90 - calls the I/O subsystem to read the restart files. Counterpart to wrresf.F90. Any changes to wrresf must be mirrored by changes to reresf.F90

...

 

 

 

...

.

...



Excerpt Include
Credits
Credits
nopaneltrueCredits