Hi @dkhutch, I’ve taken a look at the restart directories with @anton and I think we have an idea of what’s happened.
CICE’s calendar can get a bit complicated in ESM1.5 due to the multiple sources of information it uses. The binary iced.YYYYMMDD
contains a time used to set CICE’s internal date, in turn controlling when it writes restart and history files. Meanwhile, Payu uses the dates specified in the restart_date.nml
file when calculating the run duration.
The changes in payu/1.1.6 check that the time in the binary iced
file matches the dates in the restart_date.nml
file, as it’s often a sign that something has gone wrong when they don’t match. This check is raising an error in your simulation as the times in the iced
restart files look like they are ~100 years ahead of the times in the restart_date.nml
file and also the atmosphere and ocean components.
Taking a look at the the restart directories from earlier in the experiment, it looks like this offset may have been present from the beginning of the experiment. This causes the ice history files to have different dates to the atmosphere and ocean, but the offset will also cause problems in the leap years that occur on years 400, 800, etc:
When the atmosphere, ocean, and restart_date.nml
file are at year 300, the iced
file is at year 400, and there’s a discrepancy between some calculations that think it’s a leap year, and others that don’t. I.e. payu will set the run duration as 365 days, while CICE’s internal calendar will think it’s a 366 day year. Due to this discrepancy, CICE’s internal date will be 30/12/400 at the end of the 365 days of simulation, and it won’t write a history or restart file – the last restart file produced will have been `iced.04001201’.
As payu/1.1.5 didn’t have any safeguards around this, it then picked up the December restart for the next simulation while the other components were in January. The same issue occured at year 700/800 where another ice restart would be skipped, and would happen again every 400 years.
To continue the simulation, I think the best option might be to modify the time in the latest iced
restart file so that it matches the restart_date.nml
file and the other components. The cicedumpdatemodify.py script from the warm start scripts looks like it should be able to do this. I’ll test this out and get back to you with more information.