Time encoding¶
ISMIP7 uses the standard (Gregorian) CF calendar with time recorded as days since 1850-01-01 00:00:00. State and flux variables are stamped differently:
Variable type |
Time coordinate |
Time bounds |
|---|---|---|
State (ST), snapshots |
Jan 1 of year N+1 (the end of year N) |
none |
Flux (FL), annual averages |
Jul 1 of year N (mid-year) |
Jan 1 of year N to Jan 1 of year N+1 |
For a 286-year ctrl run covering nominal years 2015 to 2300:
ST files carry timestamps 2016-01-01 to 2301-01-01
FL files carry timestamps 2015-07-01 to 2300-07-01, with bounds [2015-01-01, 2016-01-01] to [2300-01-01, 2301-01-01]
The year range in the file name is always the nominal years, 2015-2300 here, whatever the variable type. The checker allows for this when it compares the name against the time axis.
Which variables are ST and which are FL is given in the data request, and the nominal years each experiment may cover under Experiments.
Snapshot variables (x,y,z,t, such as litemp)¶
Three-dimensional variables carry a few ST snapshots rather than an annual series. Which nominal years are required depends on the experiment:
Experiment |
Required snapshots |
|---|---|
historical |
first year of the run, 1900 (if in range), last year of the run (2014) |
projection (ssp585, ctrl, …) |
2100, 2200, 2300 (each if within the run) |
ocx |
first year of the run, last year of the run (2025) |
Together, a historical run and a projection give snapshots at the first historical year, 1900, 2014, 2100, 2200 and 2300. A projection’s initial state is the historical run’s final state, already reported as historical’s last snapshot.
A missing required snapshot is an error. A snapshot the experiment does not call for is a warning: the request gives these years as a minimum, so over-delivering is not non-compliance, but a year nobody asked for is usually a sign that something was written by mistake. The annual time axis is treated the other way round, an extra year there being an error, because that axis is pinned end to end by the experiment.
The year range in a litemp file name is the full run, 2015-2300 say, not the first and last snapshot years.
Note
A snapshot at 2000 is not required. Earlier versions of the documentation, the checker and the generator all required one; the data request does not ask for one. A file carrying one is warned about and not failed, until issue #12 settles it. Files written to the earlier guidance still pass.
Lookup tables¶
Reference lookup tables are in the companion repository ismip7-time-encoding.