Subject: [Fwd: DATE-OBS and the millennium; the proposal.]

From: Peter Bunclark <psb at ast.cam.ac.uk>
Date: Tue, 19 Nov 1996 16:56:22 +0000

[This message was originally posted to newsgroup sci.astro.fits but
was not gateway-ed to the fitsbits Email exploder. -Don Wells]

The following proposal has been submitted to the European FITS Committee,
and is a distillation of all the previous discussion on the newsgroup, some
email interchanges, and discussion with Preben Grosbol, who helped enormously
in transforming an idea into a rigorous statement.

As you might expect, the proposal cannot please everyone, because there were
opposing views (for example, I wanted a new keyword!).  However, I believe
it reflects the majority view on the subject.  I hope that we can
move swiftly to the acceptance of this rather urgent modification to the
FITS standard.
--------------------------------%<----------------------------------------

                  Precise re-definition of DATE-OBS Keyword
                         encompassing the millennium

                         Peter Bunclark 1996 Nov 19

                             1) Introduction
The original DATExxxx keywords, including in particular DATE-OBS,  have
several shortcomings which make it desirable to alter the definition:
1.1) The year is expressed in only 2-digits;  currently, digitized astronomical
      data spans more than a century, and further, the implied most-significant
      two digits of the year will change from 19 to 20 shortly.
1.2) The timescale of DATExxxx is not defined.
1.3) The relation of DATE-OBS to the start, middle or end of an observation
     is not defined.
1.4) The order of day, month, year is least-significant first, so lists
     of dates cannot be sorted simply on the ASCII collating sequence.

                               2) Scope
There are several related issues to DATE-OBS, such as multiple timescales,
which will not be addressed in this proposal in order to keep it finite.
There are two main issues addressed;
2.1) the format of date strings to be used in any DATExxxx keyword.
2.2) the future of the DATE-OBS keyword itself

                    3) The Date-String format Proposal

3.1) A DATExxxx field in the old format of 'DD/MM/YY' will explicitly refer
   to a year 1900-1999.  The very few instances of digitized nineteenth-century
   plates represented as FITS files must be handled as special cases.

3.2) The new recommended format is a restricted subset of
   ISO-8601, being one of three options:
   a) 'ccyy-mm-dd'
   b) 'ccyy-mm-ddThh:mm:ss[.sss...]Z'
   c) 'ccyy-mm-ddThh:mm:ss[.sss...]'

   In the short form, there may not be any additional terminator/separator
   (such as T or Z).  In the long form, there must be a 'T' time designator
   between the date and the time. The presence of a 'Z' time-zone
   designator indicates UTC.
   The decimal point character is an ascii full-stop.
   The number of decimal places in the `seconds' field may be arbitrarily 
   long up to the FITS header-card limitations.

3.3) Only fully-specified date or date/time string are permitted. No fields
   may be defaulted, no leading zeroes omitted.  The decimal part of
   the seconds field is optional.

                    4) Use of the DATE-OBS keyword

4.1) The name of the keyword shall remain DATE-OBS.

4.2) It is suggested that the DATE-OBS refer to the start of an observation.
   This relationship should be clarified in the comment field.

4.3) The preferred timescale shall be Coordinated Universal Time (UTC),
   as measured at the detector (or in practical cases, at the observatory).
   The timescale may be explicitly specified to be Coordinated Universal
   Time (UTC) by using the 'Z' time-zone designator.

                          5) Examples
Four legal representations of the date of the first formal draft of this
proposal are possible:

DATE-OBS= '14/10/96'           / Original format, means 1996 Oct 14.
DATE-OBS= '1996-10-14'         / Date of start of observation in UTC.
DATE-OBS= '1996-10-14T10:14:36.123Z' / Date/time of start of observation in UTC.
DATE-OBS= '1996-11-19T13:37:34.123' / This comment specifies the time system.

                          6) Transition

FITS readers must continue to interpret the old format, as a twentieth
century date, for ever.  Readers should be altered as soon as possible
to cope with the new format.  In order to give adequate time for the
major package writers to adopt their systems, FITS writers should commence
writing the new format between 1998-01-01T00:00:00Z and 2000-01-01T00:00:00Z

                7) Appendix: Relevent ISO 8601 paragraphs

5.2.1.1 Complete representation
When the application clearly identifies the need for an expression only
of a calendar date, then the complete representation shall be a single
numeric data element comprising eight digits, where [CCYY] represents a 
calendar year, [MM] the ordinal number of a calendar month within the
calendar year, and [DD] the ordinal number of a day within the calendar month.

Basic format: CCYYMMDD
Example:      19850412
Extended format: CCYY-MM-DD
Example:         1985-04-12

5.3.1.3 Representation of decimal fractions
If necessary for a particular application a decimal fraction of hour, minute
or second may be included.  If a decimal fraction is included, lower order
components (if and) shall be omitted, and the decimal fraction shall be
divided from the integer par by the decimal sign specified in ISO 31-0:
ie the comma [,] or full stop [.].  Of these, the comma is the preferred sign.
If the magnitude of the number is less than unity, the decimal sign shall
be preceded by a zero (see ISO 31-0).
The number of digits in the decimal fraction shall be determined by the
interchange parties, dependent upon the application.  The format shall be
[hhmmss,s], [hhmm,m] or [hh,h] as appropriate (hour minute second, hour
minute and hour, respectively), with as many digits as necessary following
the decimal sign. If the extended format is required, separators may be
included in the decimal representation when the complete representation is
used, or when it is reduced by omission of [ss,s]
...
Example: 23:20:50,5
...

5.3.3 Coordinated Universal Time (UTC)

To express the time of the day in Coordinated Universal Time, the
representations specified in 5.3.1 shall be used, followed immediately,
without spaces, by the time-zone designator [Z].  The examples below are 
complete and reduced precision representations of the UTC time 20 minutes
and 30 seconds past 23 hours:
...
Example: 23:20:30Z
...

5.4.1 Complete Representation
The components of an instant of time shall be written in the following
sequence:
a) For calendar dates:
year-month-day-time designator-hour-minute-second
b) For ordinal dates:
   year-day-time designator-hour-minute-second
c) For dates identified by week and day numbers:
   year-week designator-week-day-time designator-hour-minute-second

The character [T] shall be used as time designator to indicate the start of
the representation of date time of day in combined date and time of day
expressions. The hyphen [-] and the colon [:] shall be used, in accordance
with 4.4, as separators within the date and time of the day expressions
respectively, when required.  When any of the date or time components are
omitted, the time designator shall always precede the remaining time of day
components.
...