These changes are making me a little nervous. Can I check that I've properly grasped what's happening?
As I understand it, when data is being written to FITS, HIERARCH keywords are being magically upper-cased. We then get the uppercase version of the keyword when we read it back. Thus, base_CircularApertureFlux_radii becomes BASE_CIRCULARAPERTUREFLUX_RADII on read. Right?
That seems problematic — it means that the data no longer cleanly round trips, and the consumer has to know whether their data has previously been written to FITS or not (or, alternatively I guess, just assume it might have been and sprinkle calls to upper across their code). That seems unfortunate.
Off the top of my head, preferable might be to:
- Modify PropertySet (or List, or whatever the relevant container is) to uppercase everything which might be serialized to FITS as soon as it's added to the PropertySet, so at least the representation doesn't vary with round-tripping;
- Ensure that we automatically upper-case everything we read, so that, on read, the results look the same regardless of whether the data was persisted with an old or a new version of CFITSIO.
(And even that seems pretty ugly, to be honest.)
Am I worried about nothing? Can you explain to my why this isn't a big deal?