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#

  1. Mission constants and ID parsing in cryoswath.misc.

    • antenna_baseline, Ku_band_freq, sample_width

    • cryosat_id_pattern

  2. L1b filename and track ID assumptions in cryoswath.l1b.

    • read_esa_l1b filename match: *CS_????_SIR_SIN_1B_*.nc

    • track time slicing from filenames, e.g. remote_file[19:34]

    • local path conventions for L1b products

  3. Remote data endpoint and folder layout in cryoswath.misc and cryoswath.l1b.

    • ftp_cs2_server host: science-pds.cryosat.esa.int

    • remote 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

  4. L1b flag semantics in cryoswath.l1b and cryoswath.misc.

    • build_flag_mask and flag_translator rely on flag_masks or flag_values metadata and current CryoSat naming.

    • Ensure CRISTAL flag attributes and meanings are mapped consistently.

  5. Auxiliary databases and paths in cryoswath.misc.

    • file name catalog: CryoSat-2_SARIn_file_names.pkl

    • track table: CryoSat-2_SARIn_ground_tracks.feather

    • default path layout rooted at data/ and data/auxiliary/

CRISTAL adaptation checklist#

  1. Define mission-specific constants (frequency/baseline/sample geometry).

  2. Replace filename pattern checks and timestamp extraction logic.

  3. Implement mission-specific remote discovery/download paths.

  4. Validate flag decoding against CRISTAL metadata fields.

  5. Introduce mission-specific auxiliary catalog file names if needed.

  6. 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.