Mission Portability (CRISTAL Readiness)#
This page lists the main CryoSat-2 assumptions in CryoSwath and where to adapt them when porting to a different mission such as CRISTAL.
Code locations to review first#
Mission constants and ID parsing in
cryoswath.misc.antenna_baseline,Ku_band_freq,sample_widthcryosat_id_pattern
L1b filename and track ID assumptions in
cryoswath.l1b.read_esa_l1bfilename match:*CS_????_SIR_SIN_1B_*.nctrack time slicing from filenames, e.g.
remote_file[19:34]local path conventions for
L1bproducts
Remote data endpoint and folder layout in
cryoswath.miscandcryoswath.l1b.ftp_cs2_serverhost:science-pds.cryosat.esa.intremote directories under
/SIR_SIN_L1/<year>/<month>HTTPS URL templates in
download_single_file(primary path for L1b downloads); FTP remains fallback and metadata update transport
L1b flag semantics in
cryoswath.l1bandcryoswath.misc.build_flag_maskandflag_translatorrely onflag_masksorflag_valuesmetadata and current CryoSat naming.Ensure CRISTAL flag attributes and meanings are mapped consistently.
Auxiliary databases and paths in
cryoswath.misc.file name catalog:
CryoSat-2_SARIn_file_names.pkltrack table:
CryoSat-2_SARIn_ground_tracks.featherdefault path layout rooted at
data/anddata/auxiliary/
CRISTAL adaptation checklist#
Define mission-specific constants (frequency/baseline/sample geometry).
Replace filename pattern checks and timestamp extraction logic.
Implement mission-specific remote discovery/download paths.
Validate flag decoding against CRISTAL metadata fields.
Introduce mission-specific auxiliary catalog file names if needed.
Run L1b -> L2 smoke tests on a small set of known CRISTAL tracks.
Notes#
The current implementation is explicitly CryoSat-2 focused. Portability is practical, but not yet abstracted behind a mission interface.
Start by isolating mission-specific literals, then move them into a small mission configuration layer before broader refactors.