NOTE: This is both an RAD and RDM issue, more so a RDM issue insofar-as implementation; however, the stakeholders for this mostly follow RAD much more closely than RDM.
TLDR: have rdm.open open Fps and Tvac directly as a ScienceRawModel rather than as their own unique datamodel types.
FPS/TVAC are realistically the main sticking points for implementing #860 this is because internally they have nested tags and tagged scalars. In RCAL, they are immediately converted into ScienceRawModel as soon as they are opened
https://github.com/spacetelescope/romancal/blob/487096953036ac57ab0b82bdddfac395997c4d78/romancal/dq_init/dq_init_step.py#L52-L59
and there is only one small area of special processing for these files here:
https://github.com/spacetelescope/romancal/blob/487096953036ac57ab0b82bdddfac395997c4d78/romancal/dq_init/dq_init_step.py#L83-L90
As such we could basically open those files as ScienceRawModel and apply the necessary special processing so that the data users get out of rdm.open is consistent with how the normal ScienceRawModel data acts. asdf.open would still open things using the structure we see now so users could interact with it directly if they so desire. We have no real need to support the TvacModel and FpsModel directly for the pipeline so we have no real reason to support these as datamodels directly. Note that we could add an optional field such as meta.ground that lists if the ScienceRawModel came from FPS or TVAC (it being missing would indicate that the model is the normal case). The pipeline would have no reason to use this, but it could be useful for end users.
In the end this would allow is to simplify RDM significantly and reduce complexity inside it.
NOTE: This is both an RAD and RDM issue, more so a RDM issue insofar-as implementation; however, the stakeholders for this mostly follow RAD much more closely than RDM.
TLDR: have
rdm.openopenFpsandTvacdirectly as aScienceRawModelrather than as their own unique datamodel types.FPS/TVAC are realistically the main sticking points for implementing #860 this is because internally they have nested tags and tagged scalars. In RCAL, they are immediately converted into
ScienceRawModelas soon as they are openedhttps://github.com/spacetelescope/romancal/blob/487096953036ac57ab0b82bdddfac395997c4d78/romancal/dq_init/dq_init_step.py#L52-L59
and there is only one small area of special processing for these files here:
https://github.com/spacetelescope/romancal/blob/487096953036ac57ab0b82bdddfac395997c4d78/romancal/dq_init/dq_init_step.py#L83-L90
As such we could basically open those files as
ScienceRawModeland apply the necessary special processing so that the data users get out ofrdm.openis consistent with how the normalScienceRawModeldata acts.asdf.openwould still open things using the structure we see now so users could interact with it directly if they so desire. We have no real need to support theTvacModelandFpsModeldirectly for the pipeline so we have no real reason to support these as datamodels directly. Note that we could add an optional field such asmeta.groundthat lists if theScienceRawModelcame from FPS or TVAC (it being missing would indicate that the model is the normal case). The pipeline would have no reason to use this, but it could be useful for end users.In the end this would allow is to simplify RDM significantly and reduce complexity inside it.