[fitsbits] once FITS always FITS
William Pence
pence at milkyway.gsfc.nasa.gov
Wed Aug 22 18:39:57 EDT 2007
Here are a few comments on several related recent FITS issues:
1. The EXTEND keyword: Since the STEREO mission has started producing
FITS files with EXTEND = F, it is too late to prohibit this usage in the
FITS Standard (because of the "once FITS, always FITS" rule). The
technical panel was not aware of this usage when it drafted the change
to the EXTEND keyword definition (which was modeled after the definition
of the BLOCKED keyword which can only have a T value, never F). The
definition of the EXTEND keyword should probably be revised to explain
what is meant by EXTEND = F, e.g., something perhaps like this:
"If the EXTEND keyword value is the logical constant F, then this
suggests that there are no extensions following the primary array.
This keyword is only advisory, however, so extensions may
follow the primary array even if EXTEND = F, but this is not
recommended."
2. Repeated keywords: Since the recent discussions have made it clear
that it is not a rare occurrence for existing FITS files to contain the
same keyword multiple times (the technical panel had hoped this was not
the case), it appears not feasible to simply declare that this practice
is prohibited in a conforming FITS file (again because of the "Once FITS
always FITS" rule). It seems that the most we can do at this point is
to strongly discourage this practice, because it is indeterminate which
of the keywords will read by software systems when retrieving the value.
3. On the "Once FITS, always FITS" rule: I'm not a true FITS 'old
timer' since I only seriously got into the FITS business in 1990, but I
believe the origin of this basic FITS rule can be traced back to the
following statement in the 1988 "Generalized Extensions" paper by
Grosbol, Harten, Greisen, and Wells:
"The most important rule for designing new extensions to FITS is that
existing FITS tapes must remain valid. We are not permitted to alter
the basic format in such a way as to make existing FITS tapes invalid or
unreadable by standard FITS tape reading programs".
When the FITS Standard was drafted in circa 1990, this rule was then
restated as "Any structure that is a valid FITS structure shall remain a
valid FITS structure at all future times." (see section 3.7 of the
proposed new Standard).
In practice, I believe this rule has generally been interpreted to mean
that if there are existing FITS files that implement a certain FITS
feature, then that feature must remain legal for all time in the FITS
Standard (although features can be deprecated, or strongly discouraged
from use). If, however, a *hypothetically* valid FITS feature has never
been used, then it is possible to revise the FITS rules to declare that
feature is not considered valid in a FITS file. (I listed a number of
these types of changes that have been made in a previous email).
Note also that this "Once FITS, Always FITS" rule does not provide
blanket protection to existing software packages from changes to FITS
that might break the software. I think we are in fact sensitive to any
changes that might disrupt existing software, but there is no absolute
ban on making such changes to FITS.
Bill Pence
--
____________________________________________________________________
Dr. William Pence pence at milkyway.gsfc.nasa.gov
NASA/GSFC Code 662 HEASARC +1-301-286-4599 (voice)
Greenbelt MD 20771 +1-301-286-1684 (fax)
More information about the fitsbits
mailing list