[fitsbits] further reopening of Public Comment Period on the CONTINUE convention
William Pence
William.Pence at nasa.gov
Tue Apr 19 20:21:13 EDT 2016
On 4/19/2016 6:07 AM, Mark Calabretta wrote:
> On Tue, 19 Apr 2016 00:19:43 -0400
> William Pence <William.Pence at nasa.gov> wrote:
>
>> "The CONTINUE keyword must not be used with of any of the mandatory or
>> reserved keywords defined in this standard unless explicitly stated
>> otherwise."
>>
>> Would adding this restrictive language to the current proposal make it
>> acceptable to everyone? If not, please speak up.
>
> That would address my immediate concern, though I feel that it misses
> the point that CONTINUE'd strings are effectively a different data type.
I think the argument that CONTINUE'd strings are a fundamentally
different data type is tenuous at best. For one thing, if the CONTINUE
convention is used to represent a string value that is less then 68
characters long (and hence could have been represented on a single
header keyword), then this is simply a different way to represent (or
serialize) the exact same character string. In this case, both the
nom-tam-fits Java library and the CFITSIO library (beginning with the
next release) will transparently read either method of representing the
keyword and the application program that is reading the string keyword
value will be unaware of which method was used to originally write the
keyword.
Similarly, it is hard to see why a CONTINUE'd string value that is 69
characters long should be considered a different data type from a string
value that is 68 characters long (whether it is represented as a single
keyword or uses the CONTINUE'd convention).
I think the most that can be said is that the string length *might*
present some language-dependent software implementation issues, but this
is not a fundamental property of the FITS keyword itself. For example,
the string length is a non-issue for programs written in java because
there is no need to allocate or free the memory needed to store the
string value.
Memory management for the string values can be more of an issue with C
and Fortran programs, but it depends greatly on exactly how the program
is written. For example, if the program calls the so-called
'long-string' keyword reading routine in CFITSIO, then CFITSIO itself
takes care of most of the memory management issues. The next release of
CFITSIO, next week, will also introduce a new string keyword reading
routine which lets the reading program decide the maximum length of
string that it is prepared to read, thus eliminating the arbitrary
68-character demarkation point.
Finally, perhaps the most important thing to keep in mind is that when
the CONTINUE convention was invented 20-some years ago, the HEASARC
*never* intended to use it with any of the string-valued keywords that
were already defined in the FITS standard. It was *only* intended for
use for new mission-dependent keywords that were created by the HEASARC.
This is why I suggested adding that sentence that prohibits using
CONTINUE with any of the existing keywords unless explicitly stated
otherwise. If and when new reserved string-valued keywords are added to
the standard, a decision can be made at that time as to whether that
keyword may be CONTINUE'd or not.
regards,
Bill
--
____________________________________________________________________
Dr. William Pence Astrophysicist William.Pence at nasa.gov
NASA/GSFC Code 662 [Emeritus] +1-301-286-4599 (voice)
Greenbelt MD 20771 +1-301-286-1684 (fax)
More information about the fitsbits
mailing list