-
Notifications
You must be signed in to change notification settings - Fork 23
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
Leap year offsets with multiple IAF forcing cycles #149
Comments
My feeling is that these runs should be treated as an ensemble of 60 year experiments with different initial conditions rather than a single time series. Doing this allows each experiment to be extended whenever new forcing becomes available. This isn't really possible with the single time series approach. It also makes it easy to compare across cycles. Also note that the ocean outputs from the current experiments are already out of whack by 2 days from the start due to using 0001-01-01 as the offset time. |
Thanks @russfiedler. I'll link the start date issue for reference: #117 |
Here's how to restart a new cycle from the final restart of the previous one: https://github.com/COSIMA/access-om2/wiki/Tutorials#Starting-an-experiment-from-existing-restarts |
In theory (although perhaps not with this forcing date range), the problem could be the other way around as well - i.e. a leap year in the experiment date that does not exist in the forcing. So, I think the fix will be in two parts:
In addition to fixing the bug, I'd like to put in a check to make sure that the experiment and forcing times only differ on the year. The check can be switched to a warning with a namelist parameter for use cases like rerunning the same month etc. |
This has been fixed and a test added which checks dates for a full IAF 5 cycle run. |
Reopening - see COSIMA/cice5#38 (comment) |
For the record, here's how I set up a new cycle for 01deg_jra55v140_iaf_cycle2 to start from the end of 01deg_jra55v140_iaf, based on https://github.com/COSIMA/access-om2/wiki/Tutorials#starting-a-new-experiment-using-restarts-from-a-previous-experiment
Note: needed to have reset run start date, in this case to 1 Jan 1958:
|
In our 1deg and 0.25deg IAF runs we cycle through 60 years of JRA55-do data starting 1 Jan 1958. This uses a Gregorian calendar (set in the JRA55 forcing files), i.e. years divisible by 400 are always leap years, as are years divisible by 4 unless they are divisible by 100.
So 2000, 2400 are leap years but 2100, 2200, 2300 are not.
Here's how the 5 cycles pan out:
In cycle 3 in
/g/data3/hh5/tmp/cosima/access-om2-025/025deg_jra55v13_iaf_gmredi6/output071/atmosphere/log/matmxx.pe00000.log
we have
i.e. the dates slip out of sync on 1 Mar 2100, which uses 29 Feb 1980 forcing.
This offset persists in all subsequent runs, e.g.
Cycle 4 has a 1-day offset throughout.
In cycle 5 we start with a 1-day offset and then have a 2-day offset from 1 March 2200 to the end of the cycle:
This would have been a much bigger problem if the cycle length hadn't been divisible by 4.
To avoid this issue it may be better practice to restart each cycle as a new experiment so the forcing and model dates stay aligned. However timeseries of all cycles would then require post-processing with date shifts (which also produces the same kind of problems).
This is not an issue with the RYF runs because they use a noleap calendar (at least, this set in the JRA55 forcing files and presumably applies to all model components?)
@nichannah - any thoughts?
The text was updated successfully, but these errors were encountered: