| | 24 | |
| | 25 | = Configuration = |
| | 26 | |
| | 27 | Due to the potential for changes in both input and output for {{{ippToPsps}}}, the code is heavily configurable. Config files are in an XML format as this affords the most flexibility. {{{ippToPsps}}} is pointed to a config directory, under which subdirectories for each batch type hold the various XML config files. |
| | 28 | |
| | 29 | == Table shapes == |
| | 30 | |
| | 31 | All FITS tables mirror PSPS database tables. Since the schema may change, {{{ippToPsps}}} reads table shapes from an XML config. This config can be regenerated from the master PSPS schema using a script ({{{pspsSchema2xml.pl}}}) in the scripts directory. |
| | 32 | |
| | 33 | == Initialisation data == |
| | 34 | |
| | 35 | The table shapes of the initialisation batch are handled as above. The actual initialisation data (lists of filters etc), which is liable to change, is held in an XML config and used by {{{ippToPsps}}} to populate the tables in the FITS file. This data is also used when generating other batch types, detections for example, as look-up tables for setting survey ID etc. |
| | 36 | |
| | 37 | == IPP to PSPS mappings == |
| | 38 | |
| | 39 | Most data to be loaded into the FITS tables comes from IPP {{{smf}}} or {{{cmf}}} files. For many columns, there is a direct mapping between these files and the PSPS database column. These mappings are detailed in a config. |
| | 40 | |
| | 41 | |
| 28 | | {{{ippToPsps}}} is a C program within the IPP build. When given the correct arguments it will generate a single FITS for the specified product (above). The program is run from a perl script, which itself generates a list of exposure IDs based on arguments provided by the user (label etc). An instance of {{{ippToPsps}}} is run per exposure ID. Upon completion, the calling script bundles the resultant FITS files up as a ''job'', then publishes it to the datastore, ready for collection by the DXLayer. |
| 29 | | |
| 30 | | = Configuration = |
| 31 | | |
| 32 | | Due to the potential for changes in both input and output for {{{ippToPsps}}}, the code is heavily configurable. Config files are in an XML format as this affords the most flexibility. {{{ippToPsps}}} is pointed to a config directory, under which subdirectories for each batch type hold the various XML config files. |
| 33 | | |
| 34 | | == Table shapes == |
| 35 | | |
| 36 | | All FITS tables mirror PSPS database tables. Since the schema may change, {{{ippToPsps}}} reads table shapes from an XML config. This config can be regenerated from the master PSPS schema using a script ({{{pspsSchema2xml.pl}}}) in the scripts directory. |
| 37 | | |
| 38 | | == Initialisation data == |
| 39 | | |
| 40 | | The table shapes of the initialisation batch are handled as above. The actual initialisation data (lists of filters etc), which is liable to change, is held in an XML config and used by {{{ippToPsps}}} to populate the tables in the FITS file. This data is also used when generating other batch types, detections for example, as look-up tables for setting survey ID etc. |
| 41 | | |
| 42 | | == IPP to PSPS mappings == |
| 43 | | |
| 44 | | Most data to be loaded into the FITS tables comes from IPP {{{smf}}} or {{{cmf}}} files. For many columns, there is a direct mapping between these files and the PSPS database column. These mappings are detailed in a config. |
| 45 | | |
| 46 | | = DXLayer = |
| 47 | | |
| 48 | | ... |
| 49 | | |
| 50 | | = Loader = |
| 51 | | |
| 52 | | ... |
| | 46 | {{{ippToPsps}}} is a C program within the IPP build. When given the correct arguments it will generate a single FITS for the specified product (above). The program is run from a Perl script, which itself generates a list of exposure IDs based on arguments provided by the user (label etc). An instance of {{{ippToPsps}}} is run per exposure ID. Upon completion, the calling script bundles the resultant FITS files up as a ''job'', then publishes it to the datastore, ready for collection by the DXLayer. |
| | 47 | |
| | 48 | == DXLayer == |
| | 49 | |
| | 50 | The DXLayer polls the datastore waiting for new batches. Upon receipt of a new batch, the FITS files are converted to a csv format, suitable for ingest by the ODM. |
| | 51 | |
| | 52 | == ODM Loader == |
| | 53 | |
| | 54 | Performs validation on incoming data based on metadata previously loaded as an initialisation batch (see above). If validation is successfully, new batches are merged into the PSPS database. |