WIP: Opti restart dds

Open Maren Kaluza requested to merge kaluza/mhm:opti_restart_dds into develop

dds did not implement restart before. Now it is.

If opti method dds is active mHM now writes a file mo_dds.restart into the root directory where mhm is executed. I copied that from the scc method. If restart_opti is enabled, mHM does not start from the first iteration step but from the last executed instead.

mo_dds.restart is a namelist. It saves all the data needed for a restart including the save state of the random number generator.

There is a new mhm.nml-variable dIterations. It says how many iterations steps dds should do in the current run. The codes stops executing if either dIterations steps have been done or if nIterations is reached.

For discussion:

  • if dIteration is not defined, dIterations is set to nIterations + 1, so nIterations will determine the iterations steps. Can this be done more intuitive?
  • how can we create a test case? Usually a test case includes only one run for mHM. For this we would need to compare one run with a whole iteration and at least two with the same iteration separated into to sub-runs.
Edited by Sebastian Müller

Merge request reports