-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate input output #629
base: main
Are you sure you want to change the base?
Conversation
Some questions:
|
I think For |
Ah, I meant the time coding for the raw and bin restart files, not mesh.diag or blowup. |
Separating the inputs from the outputs. This should enable us to have more 'predictable' runs, in that running with the same inputs and the same config/namelists should lead to the same results. We can save time because we do not need to wait during backuping the restart files (this is the main motivation in DestinE project). Still this is done so that the old default behaviour is not changed.
251ff33
to
9abad7d
Compare
What would be your preference with the clock file(s)? keep it in one central place ( |
Since I discussed this a little bit with @JanStreffing , we thought that it might be better if we don't separate the input and output through namelist options, but rather encode into the path for the restart files the date of the restarts, so it would always be clear how they are being written and they would never be overwritten. So it would not be e.g. I would still like to keep this PR as a base, because I think that the logic for reading and writing is a bit more clear now with a separate function for reading and for writing. What do you think? |
I see there one small issue: when you do something like with year|mon|day you always assume that model finishes an entire day, but especially for debugging purposes you might want to make an restart at an specific time point before the model blows up which does not correspond to a full day in that case the restart might not fully work especially if we want to get rid of the clock files? In that case it might be maybe smart to use instead year|mon|day, to use something like year|secondsinyear to describe the restart moment although it might be less convenient to be humanly read. Or maybe even do year|mon|day|secondsinday. |
Good point! For our runs we usually don't do so short runs, but for debugging it makes sense. I would prefer your second option About the clock files, I also discussed that a little bit with Jan and I can now see their value (even if I don't really love them ;) ). Somewhere the model needs to keep track of where it currently is in time. Without clock files we would need to give that information in the namelists (e.g. always give For the clockfiles I would still like to get rid of the first line though, I don't see why we need to have both time periods. If the time step that was used in the previous step is important (maybe for multi-step numerical methods, no idea if that is used??), we should just give that explicitly, resulting in a clock file like this:
Or maybe the other way round?
|
Separating the inputs from the outputs. This should enable us to have more 'predictable' runs, in that running with the same inputs and the same config/namelists should lead to the same results.
We can save time because we do not need to wait during backuping the restart files (this is the main motivation in DestinE project). Still this is done so that the old default behavior is not changed.
It introduces a new namelist option
RestartPath
that by default is set to the stringsame-as-result
. if that is the case, it will be set to the same value asResultPath
, so the default behavior is not changed.I also want a separate namelist option for
RestartOutPath
or similar, so that the restarts can be completely uncoupled from the outputs.So far, I have only tested raw restarts.