[fitsbits] Proposed Changes to the FITS Standard
Rob Seaman
seaman at noao.edu
Fri Aug 17 14:43:15 EDT 2007
Bill said:
> The "once FITS always FITS" philosophy captures the spirit of FITS,
> but
> in practice each new version of the FITS Standard has imposed new
> requirements that in principle could invalidate existing FITS files.
> For example, version 2.0 of the FITS Standard introduced a new
> requirement that the value and comment fields in a keyword MUST be
> separated by a slash character.
It would be interesting to review past such instances. I don't
personally recall changes of this mandatory nature. The example
regarding comments is pretty tame since any reasonable implementation
would already be ignoring the comments. Do you have another example
to quote?
> Of course, if the FITS community thinks a new requirement would cause
> too much dislocation to existing data or software, then an alternative
> would be to just "strongly recommend" instead of "require" the new
> feature.
Indeed. I think that would be best in all three instances quoted below.
> It's also possible to specify that a new requirement will come
> into effect at some point in the future to allow time for software
> systems to adapt, as was done with the Y2000 change to the
> DATE keyword format.
Obviously the scheduling for the Y2K changes was forced, but I agree
with Steve that any such new requirements should be announced well in
advance of taking effect.
I think, however, that there is a misapprehension about the DATE/DATE-
OBS changes. The new ISO date format was very carefully designed to
only be required for post-Y2K data (there was also some overlap
period as I recall). The old format remained - and remains - valid
to describe 20th century data. In fact, the old dd/mm/yy format was
clarified to explicitly denote such dates. No after-the-fact
requirements were leveraged onto archival data. This is very
different than attempting to place new absolute requirements that
would invalidate old data sets. I say "attempting to place", because
there is no mechanism for enforcement.
> There are only 3 proposed new absolute requirements in this list:
>
> 1. Keywords that have a value shall not be repeated in a header.
I have many examples (hundreds of thousands?) of files in which
keywords are repeated. Rather than the wording in the current
proposal, I would replace the attempt at a requirement with a strong
recommendation and a clarification that the final copy of any such
repeated keyword should take precedence.
> 2. PCOUNT and GCOUNT must immediately follow the last NAXISn
> keyword in all conforming extensions (as is already required
> in IMAGE, TABLE, and BINTABLE extensions).
I guess I'd like to know if there are any such extensions. If not,
this is relatively safe. If so, make it a strong recommendation for
an explicit list of grandfathered extension types and an absolute
requirement for any newly defined extensions.
> 3. Embedded space characters are now forbidden within numeric
> values in an ASCII Table (e.g. "1 23 4.5" is no longer
> allowed to represent the decimal value 1234.5)
Again - are there any examples of such usage in the field?
I think the general principle, however, should reflect the "letter of
the law", not "spirit of the law".
I should end here by repeating my earlier appreciation of the
excellent effort that has gone into the revision. If this careful
revision has not uncovered any other critical new requirements that
must be applied ex post facto, one can opine that there are no
lurking dragons that need to be fought. That being the case, it
seems to me that the responsibility lies rather to preserve the great
investment in archival data products rather than to attempt to
legislate these new requirements on the back of our current holdings
and current software investment.
And should new dragons appear that the community deems must be slain,
it does indeed appear to this observer that an explicit version
keyword (whether a comment or not) should be simultaneously required
to trigger new conformance restrictions. The loose wording about pre-
existing data is unenforceable since there is no requirement (whether
or not there ought to be) for a DATE keyword to separate old from
new. Perhaps the new version tag could itself supply a date - in
that case, I'd recommend that any revisions of the standard should
contain explicit references to the date(s) that apply for different
feature(s).
Rob
More information about the fitsbits
mailing list