[Back to the main proposals page]Proposal 1: To increase the allowed length of FITS keyword names
Definition
A new type of 'free-format' FITS keyword is defined in which the `= ' value indicator (an equals sign followed by a space character) that separates the keyword name from the keyword value is no longer required to be in bytes 9 and 10 of the keyword record. The value indicator may instead be located anywhere between bytes 9 - 10 and bytes 55 - 56 in the keyword record. This allows keyword names that are up to 54 characters long.
These new long keyword names inherit the same restrictions that apply to the standard 8-character names. The names must be left-justified (starting in byte 1 of the keyword record) and can contain only the same set of characters that are allowed in standard FITS keyword names. Non-significant space characters may occur between the end of the keyword name and the `= ' value indicator.
Examples
The following keyword records conform to this convention:
00000000011111111112222222222333333333344444444445555555555666666666677777777778 12345678901234567890123456789012345678901234567890123456789012345678901234567890 MY_STRING_VALUED_KEYWORD = 'Mary had a little lamb' / string value MY_LOGICAL_KEYWORD= T / this keyword has a logical value MAXIMUM_ALLOWED_EXPOSURE_TIME = 3600 / [s] time in units of seconds FLUX_POLYNOMIAL_COEFFICIENT1 = 4500. / These are a series of FLUX_POLYNOMIAL_COEFFICIENT2 = 11.0 / indexed keywords which have FLUX_POLYNOMIAL_COEFFICIENT3 = 0.015 / the form KEYWORDn where FLUX_POLYNOMIAL_COEFFICIENT4 = 0.000078 / 'n' is the index numberThe following keyword records do not conform to this convention:
00000000011111111112222222222333333333344444444445555555555666666666677777777778 12345678901234567890123456789012345678901234567890123456789012345678901234567890 BACKGROUND FLUX VALUE = 0.01 / Embedded spaces are not allowed in name BATTERY_CHARGE% = 99.0 / Illegal '%' character in name USER_ADDRESS(STATE) = 'Texas' / Illegal '(' and ')' characters in name OBSERVATORY_NAME ='NOAO' / No space character following the equals sign CAMERA123_MICRO_SHUTTER_START_LATENCY_DELAY_COEFFICIENT= 17 / name is too longDiscussion
Limiting the length of the keyword name to 54 characters leaves a minimum of 24 characters in the keyword record for the value field. This is sufficient to express the value of the largest possible 64-bit integer (20 characters, including the plus or minus sign) or a floating point number in exponential notation with 16 digits of precision and a 3-digit exponent (24 characters).
Note that these free format keyword records are permitted by the existing FITS standard. Because these keywords do not have the `= ' value indicator in bytes 9 and 10, software that does not support this new convention should interpret these keywords as having no value field, similar to the COMMENT and HISTORY keywords.