Skip to content

Commit

Permalink
qualify midnight with 0 degrees_east
Browse files Browse the repository at this point in the history
  • Loading branch information
JonathanGregory committed Sep 19, 2024
1 parent e752696 commit 89a865b
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion ch03.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ Unless it is dimensionless, a variable with a **`standard_name`** attribute must

Units of time coordinates (<<time-coordinate>>), whose **`units`** attribute includes the word **`since`**, are _not_ physically equivalent to time units that do not include **`since`** in the **`units`**.
To mark this distinction, the canonical unit given for quantities used for time coordinates is **`s since 1958-1-1`**.
The reference date/time in the canonical unit (midnight on 1st January 1958) is not restrictive; the time coordinate variable's own **`units`** may contain any reference date/time (after **`since`**) that is valid in its calendar.
The reference date/time in the canonical unit (midnight at 0 `degrees_east` on 1st January 1958) is not restrictive; the time coordinate variable's own **`units`** may contain any reference date/time (after **`since`**) that is valid in its calendar.
(We use `1958-1-1` because it is the beginning of International Atomic Time, and a valid date/time in all CF calendars; see also <<leap-seconds>>.)
In both kinds of time **`units`** attribute (with or without **`since`**), any unit for measuring time can be used i.e. any unit which is physically equivalent to the SI base unit of time, namely the second.

Expand Down
4 changes: 2 additions & 2 deletions ch04.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ Its format is __y__-__m__-__d__ [__H__:__M__:__S__ [__Z__]], where [...] indicat
The default time zone offset is zero.
In a time zone with zero offset, time (approximately) equals mean solar time for 0 `degrees_east` of longitude.
(Although this may be exact in a model, in reality the time with zero time zone offset differs by some seconds from mean solar time; see the discussion of UTC and leap seconds in <<calendar>>.)
If both time and time zone offset are omitted the time is 00:00:00 (midnight, the start of the day).
If both time and time zone offset are omitted the time is 00:00:00 (midnight at 0 `degrees_east`, the start of the day).
Thus, **`units = "days since 1990-1-1"`** means the same as **`units = "days since 1990-1-1 0:0:0"`**.

The time zone offset _Z_ has four possible formats, any of which may be prefixed with a sign:
Expand All @@ -272,7 +272,7 @@ Subtracting the time zone offset from a given date/time converts it to the equiv
==== Calendar

In order to calculate a time coordinate value from a date/time, or the reverse, one must know the **`units`** attribute of the time coordinate variable (containing the time unit of the coordinate values and the reference date/time, see <<time-coordinate-units>>) and the calendar, indicated by the **`calendar`** attribute.
The choice of calendar defines the set of dates (year-month-day combinations) which are permitted, and therefore it specifies the number of days between the times of **`0:0:0`** (midnight) on any two dates.
The choice of calendar defines the set of dates (year-month-day combinations) which are permitted, and therefore it specifies the number of days between the times of **`0:0:0`** (midnight at 0 `degrees_east`) on any two dates.
Date/times which are not permitted in a given calendar are prohibited both in the time coordinate values and in the reference date/time string.

A given time coordinate value can represent different date/times in different calendars; conversely, a given date/time is represented by different time coordinate values in different calendars.
Expand Down
2 changes: 1 addition & 1 deletion ch07.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ Instead, it has a **`climatology`** attribute, which names a variable with dimen
Using the units and calendar of the time coordinate variable, element (i,0) of the climatology variable specifies the beginning of the first subinterval and element (i,1) the end of the last subinterval used to evaluate the climatological statistics with index i in the time dimension.
The time coordinates should be values that are representative of the climatological time intervals, such that an application which does not recognise climatological time will nonetheless be able to make a reasonable interpretation.

For compatibility with the COARDS standard, a climatological time coordinate in the default **`standard`** and **`julian`** calendars may be indicated by setting the date/time reference string in the time coordinate's **`units`** attribute to midnight on 1 January in year 0 (i.e., **`since 0-1-1`**).
For compatibility with the COARDS standard, a climatological time coordinate in the default **`standard`** and **`julian`** calendars may be indicated by setting the date/time reference string in the time coordinate's **`units`** attribute to midnight at 0 `degrees_east` on 1 January in year 0 (i.e., **`since 0-1-1`**).
This convention is deprecated because it does not provide any information about the intervals used to compute the climatology, and there may be inconsistencies among software packages in the interpretation of the time coordinates with a reference time of year 0.
Use of year 0 for this purpose is impossible in all other calendars, because year 0 is a valid year.

Expand Down

0 comments on commit 89a865b

Please sign in to comment.