Skip to content

isos_class state still shows discrepancies after a restart. #28

@alex-robinson

Description

@alex-robinson

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions