It would help to know what use case you had in mind when proposing this. However, if it is in the context of supporting time-varying data then I don’t think it will suffice.
A simple use case for time-varying data is as follows: to reprocess data from 5 years ago we want the flat fields, bias frames, etc. that were current when the image was taken. A wrinkle is that there may be other parameters whose values improve with time and knowledge, and we may want to use current (or at least more recent) values for those.
If your proposal is intended to address this use case, and if I am reading it correctly, we would be expected to put each version/date range of every time-varying data product into a different repository. That does not sound like a good fit for calibration data, as we may have updates for different bits of related data (data that belongs in the same repository) at different times. It could probably be done by fragmenting the repos, but it sounds messy and unnatural to me. I think this sort of thing is much better solved by keeping the related data in one place and using a database to sort out which items are wanted.
A more difficult use case that I am concerned about is obtaining suitable color term correction coefficients. This adds at least one additional dimension, because we color terms are defined by:
- the camera and filter used to take the science image
- the camera and filter of the reference data relative to which the corrections apply
and both of these can have a time-varying element. For example a filter may degrade with time or be swapped out (either in the science camera or the reference camera). I think we will always use the latest reference data when we want the best results (even when reprocessing older science data), but we may also want to try to reproduce old results exactly, in which case we must process it using the older reference data. Again, this sounds like a problem best solved with a database, though it may also benefit from multiple repositories.