[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