Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 2.21 KB

checkpointing.md

File metadata and controls

30 lines (19 loc) · 2.21 KB

Checkpointing

Checkpointing is the ability to "save" a computation so that it can be resumed later, rather than started again. The NanoFASE model offers limited checkpointing capability, in CheckpointModule.f90.

Config file options

Checkpointing is configured by the model config file, specifically the &checkpoint group:

&checkpoint
checkpoint_file = "./checkpoint.dat"                    ! Location of checkpoint file to read from and/or save to
save_checkpoint = .true.                                ! Save a checkpoint file when the run is finished? Defaults to false
reinstate_checkpoint = .false.                          ! Reinstate a checkpoint from checkpoint_file? Defaults to false
preserve_timestep = .false.                             ! Should the timestep from the checkpoint be used as a starting timestep in a reinstated run?
/

Saving a checkpoint

A checkpoint can be saved at the end of a model run by setting save_checkpoint to .true.. When a checkpoint is saved, a binary file is created in a specified location with the current values of all dynamic variables (the variables whose value on a particular timestep is a function of their value on the previous timestep). The location of this checkpoint is given by checkpoint_file. Make sure the directory you wish to save the checkpoint to exists.

Reinstating a checkpoint

A previously saved checkpoint can be reinstated at the beginning of a model run, from the checkpoint at checkpoint_file, by setting reinstate_checkpoint to .true..

Interoperability and checkpoint file size

The checkpoint file is saved as a binary (unformatted) file. This ensures complete accuracy (no data loss) and speed in saving/reinstate, but at the expense of interoperability. Notably, binary checkpoint files created on one operating system may not be usable on a different operating system.

Whilst the checkpoint module only saves a subset of the model variables to file, checkpoint file sizes can still be fairly large for geographical scenarios with a large number of grid cells, sediment size classes and nanomaterial size classes. The example Thames scenario, when saved to a checkpoint, creates a file that is ~500 MB.