-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The current restart file does not contain all fields, with the idea that many fields can be repopulated at the moment of restarting. This appears to be complicated in practice. For example the field now%z_ss does not get calculated unless update_diagnostics=.true. within isos_update. This leads to a different initial state passed to the ice sheet, leading to a divergence when starting a simulation from a restart file.
This is mostly resolved by including z_ss in the isos_restart_write / isos_restart_read routines, which I did in #26. And this may be solved in the future with more rigorous treatment of bsl.
But I do think it is a good idea to populate the restart file with the entire model state saved in a given isos_class instance. I think this would be the cleanest option to avoid any hidden issues we haven't thought about. It also adds convenience for inspecting various variables at any moment in time (model exploding? save a restart; etc).
And I think we need to take good care with current "time" of the model components and how dt and dt_now are applied. Will the choices make sense after a restart?