Add support of OPL files
The package should be able to read and write OPL files (as csv and json files).
Juice observation plan files (OPL) come with two flavors, a legacy one in plain text file in CSV format and a new one in JSON format.
The CSV only contains an observation key, the start and end times, the observation name and the name of the instrument:
# obs_key, start, end, bane, instrument
MAJIS_PRIME_OBSERVATION,2032-12-19T07:10:47Z,2032-12-19T07:19:32Z,MAJ_JUP_DISK_SCAN_ORB17_DES0001,MAJIS
MAJIS_PRIME_OBSERVATION,2032-12-19T07:30:36Z,2032-12-19T07:45:00Z,MAJ_JUP_AURORAL_MAPPING_ORB17_DES0001,MAJIS
Note: The OPL CSV header is often missing.
In the case of the JSON format, a JSON schema is defined by the JUICE SOC here. For example:
{
"header": {
"filename": "OPL_example.json",
"creation_date": "2026-01-01T00:00:00Z",
"author": "Majis Operations Toolbox"
},
"timeline": [
{
"name": "MAJ_JUP_DISK_SCAN_ORB17_DES0001",
"instrument": "MAJIS",
"type": "OBSERVATION",
"observation_type": "PRIME",
"start_time": "2032-12-19T07:10:47Z",
"end_time": "2032-12-19T07:19:32Z",
},
{
"name": "MAJ_JUP_AURORAL_MAPPING_ORB17_DES0001",
"instrument": "MAJIS",
"type": "OBSERVATION",
"observation_type": "PRIME",
"start_time": "2032-12-19T07:30:36Z",
"end_time": "2032-12-19T07:45:00Z",
},
],
}
The package should simplify as much as possible the reader, exporter and convertor of these files.
/cc @nmanaud
Edited by Benoît SEIGNOVERT