Quickstart: single cast
This guide walks through setting up and running caldip for one calibration dip cast from scratch.
Prerequisites
Install the package (see Installation):
pip install -e ".[dev]"
Directory structure
Each cast needs its own folder containing:
moor/proc_calib/{cruise_id}/cal_dip/cast{ID}/
├── {mooring_id}.caldip.yaml ← you create this
├── {cast}.cnv ← CTD reference cast (1 Hz, SBE processed)
├── {serial}_{date}.hex ← one file per SBE37 MicroCAT
├── {serial}_{date}.mat ← one file per RBR thermistor
└── ...
All instrument data files must be in the same folder as the YAML.
The directory field in the YAML tells caldip where that folder is.
Step 1 — Generate a stub YAML
Point caldip init at the cast folder and it will scan for recognised instrument files and write a skeleton configuration:
caldip init moor/proc_calib/msm142_2026/cal_dip/castM4/
Open the resulting YAML and fill in any fields left as null or .nan:
deployment_timeandrecovery_time(from the ship’s CTD log)latitude/longitudeclock_offsetfor any instrument whose clock was not set to UTC before deploymentctd_sensors— which CTD sensor pair to use (1= primary,2= secondary)
See the YAML configuration reference for a full field description.
Step 2 — Generate the interactive plot
caldip plot moor/proc_calib/msm142_2026/cal_dip/castM4/castM4.caldip.yaml \
--output castM4 -o outputs/
This produces a self-contained HTML file (outputs/castM4_plot.html) you can open in any browser.
No internet required — the file works at sea.
If you omit --output and -o, the plot opens interactively in your browser instead.
Inspecting a bottle stop in the plot: The plot has three synchronised panels (pressure, temperature, conductivity). To check instrument agreement within a single bottle stop:
Find the bottle stop in the pressure panel — it appears as a flat segment flanked by blue (start) and red (end) vertical lines.
Click and drag across that flat segment in the pressure panel to zoom in. All three panels zoom together on the time axis.
Check that instrument temperatures (and conductivities, if available) lie close to the CTD reference (black) within that window.
Double-click anywhere to zoom back out.
Step 3 — Generate statistics
caldip stats moor/proc_calib/msm142_2026/cal_dip/castM4/castM4.caldip.yaml \
--ctd-sensor 2 -o outputs/
This writes three files to outputs/:
castM4_summary_statistics.csv— one row per instrument (deepest bottle stop)castM4_detailed_statistics.csv— one row per instrument per bottle stopcastM4_timing.txt— bottle stop start/end times and pressures
Choosing the CTD sensor (--ctd-sensor)
CTD rosettes typically carry two independent sensor packages (primary=1, and secondary=2). Use --ctd-sensor 2 (secondary) if it is the more accurate sensor package.
Important:
--ctd-sensoronly applies tocaldip stats— the plot always shows both primary and secondary CTD data. Setctd_sensors: 2in the YAML to make sensor 2 the default for that cast, so you do not have to pass the flag each time.
Flag |
Sensor |
|---|---|
|
Primary (default if not set in YAML) |
|
Secondary |
Rerunning after CTD reprocessing: If the CTD
.cnvfile is updated (spike removal, pressure correction, salinity calibration, sensor swap), regenerate both the plot and statistics for corrections to be applied to moored instruments.