Getting Started
This dashboard performs tide gauge quality control per AHO HIPP Guidance Notes. It supports CSV files from WinSitu, Valeport, RBR, Solinst loggers, and CARIS TID files.
Workflow: Upload files → Select gauges → Run Analysis → Review results → Export report.
Sidebar — Step 1: Upload & Import
Logger Format: Select your instrument type, or leave as "Auto-Detect" (recommended). The system recognises WinSitu, Valeport, RBR, Solinst, and CARIS TID formats automatically.
CARIS TID files: Files with .TID extension are automatically converted to CSV on upload. No manual configuration needed.
Pending basket: Files that fail auto-detection appear here with a ⚠ icon. Click "Configure these files" to open the Column Mapper and manually assign date/time and depth columns.
Auto-detection: The system scans the header row for keywords like "Date", "Depth", "Temperature", "Pressure" to map columns. If the file has no recognisable header, it falls back to the Column Mapper.
Sidebar — Step 2: Select Gauges
Reference / Standard Port: The primary tide gauge against which all others are compared. Shown in red on plots.
Comparison Gauges: Click gauge names to select/deselect. Use "All" to select all, "Clear" to deselect all. Selected gauges are highlighted in teal.
Sidebar — Step 3: Project Details
Enter project name, survey phase (Pre/Post/Operational), and author details. These appear on the PDF and Word reports.
Survey Phase determines the required minimum duration: Pre-Survey = 25h, Post-Survey = 25h, Operational = 35 days.
Sidebar — Display Settings
Variable: Switch between Depth, Temperature, and Baro Pressure for all plots and statistics.
Gauge Label Format: Controls how gauge names appear in legends and tables. Options: Full name, Before first underscore, Custom Substring (start position + length).
Sidebar — QC Parameters
Spike Threshold (m): Minimum depth jump between consecutive samples to flag as a spike. Default: 0.1 m.
Expected Interval (min): Normal sampling interval. Used for gap detection and segment splitting. Auto-detected from data.
Gap Tolerance (min): Extra time beyond the expected interval before a gap is flagged.
Sidebar — Vertical Alignment
Align to Reference at: Select a date/time. All comparison gauges are shifted so their depth matches the reference gauge's depth at that moment. Useful for aligning gauges deployed at different datums.
Manual Shift (m): Apply a constant vertical offset to all selected gauges. Positive = raise, negative = lower.
Dashboard Tabs
Overview
Displays all loaded gauges on a single time-series plot. The reference gauge is shown in red; comparison gauges in coloured lines. Use the range slider at the bottom to zoom into specific time periods, or click 1d / 7d / 14d / 1M / All buttons to jump to preset windows.
Shows: Total gauges loaded, reference gauge name, number of comparison gauges selected.
Comparison
Two plots: Gauge Comparison (all gauges overlaid with Y-axis auto-scaled to data range) and Difference from Reference (each gauge's depth minus the reference). Both have range sliders for zooming.
The y-axis is trimmed to the 5th–95th percentile of data values, with 5% padding, to focus on the main tidal signal rather than outliers.
Differences
Displays the Mean Absolute Difference Matrix — a colour-coded heatmap showing the mean absolute difference (in metres) between every pair of gauges. Values in each cell are computed over the overlapping time period. Darker red = larger difference.
Below the heatmap: a Difference Table with Mean, Std Dev, Min, Max, and RMS for each gauge relative to the reference.
Van de Casteele
Implements the AHO HIPP Guidance Note BN102441223 and Miguez, Testut & Wöppelmann (2008) methodology for revealing systematic errors between instruments.
Axes: X = ΔH (secondary − reference, in metres), Y = Reference Tide Height H (m). A near-vertical scatter band at ΔH = 0 indicates excellent agreement.
Pattern interpretation:
| Narrow vertical band at ΔH ≈ 0 | ✓ Excellent — secondary tracks reference |
| Vertical band offset from 0 | Systematic bias — datum correction needed |
| Inclined / banana shape | Scale error — tidal range mismatch |
| Ellipsoidal / oval shape | Clock / time-shift error |
| Periodic loops | Sensor artefact or malfunction |
| Wider scatter at low water | Sensor noise at low tide |
Note: The VdC test compares data within the same location (mob vs demob, GNSS vs tide gauge, gauge vs reference port).
Filter Range: Exclude ΔH values beyond ±N metres. Axis Limits: Set custom X/Y ranges.
Results table: Mean ΔH (cm), Std Dev (cm), RMS (cm), Slope, and Interpretation for each gauge.
Spike Detection
Flags consecutive depth samples where the absolute difference exceeds the Spike Threshold. The plot shows the full tidal curve for each affected gauge with red ✗ markers at spike locations.
Use the range slider to zoom into individual spikes. The text list below shows gauge name, timestamp, depth values, and jump magnitude for each detected spike.
Gap Analysis
Detects time gaps where the interval between consecutive samples exceeds Expected Interval + Gap Tolerance. Reports gap start time, end time, and duration for each gauge.
Statistics
Comprehensive statistical summary for the selected variable (Depth/Temperature/Pressure): Min, Max, Range, Mean, Standard Deviation, and Sample Count for each gauge. The reference gauge is highlighted.
If a gauge has no data for the selected variable (e.g., TID files have no temperature), the row shows "N/A".
Daily Means — Demerliac H72 Filter
Computes daily mean water levels using the Demerliac 72-hour filter, which suppresses all semidiurnal and diurnal tidal signals. Requires at least 73 hours of continuous data.
Algorithm:
- Raw depth data → resample to 1-hour means
- Apply 73-point centred rolling mean on hourly data (±36 hours, minimum 60 valid points)
- Filtered hourly data → resample to daily means
Method 1 Residual: Each gauge's daily mean minus its own Day-1 reference value. Drift from zero indicates a datum shift. Red dashed lines at ±0.15 m mark the alert threshold.
Summary table: Days computed, Day-1 reference, overall mean, std dev, max residual, and stability status (✓ Stable if max residual < 0.15 m, ⚠ Check otherwise).
Compliance
Checks against AHO HIPP requirements: minimum data duration, spike count, gap count, and Van de Casteele test completion. Shows PASS/FAIL for each criterion.
Export Options
JSON Results: Raw QC results (spikes, gaps, VdC stats) as a downloadable JSON file.
PDF Report: Professional multi-page A4 landscape report with title page, compliance summary, all plots (high-resolution), statistical tables, and VdC interpretation. Includes baro pressure and temperature sections when data is available.
Word Report: Similar content in a Word-compatible HTML document.
All Plots (JPEG): Downloads all visible plots as individual JPEG images.
Per-Gauge Plots: One plot per gauge showing its depth time series.
Tables (CSV): Statistical tables exported as CSV files.
Differences (CSV): Difference matrix and per-gauge difference data as CSV.
Plots (HTML): Interactive Plotly plots as standalone HTML files.
Supported File Formats
| Format | Extension | Columns |
| WinSitu Level TROLL | .csv | Date/Time, Elapsed, Pressure, Temperature, Depth, Baro |
| Valeport | .csv | Date/Time, Pressure, Temperature, Depth |
| RBR | .csv | Date/Time, Pressure, Depth, Temperature |
| Solinst | .csv | Date, Time, Level, Temperature |
| CARIS TID | .tid / .TID | Date Time Value (space-delimited, auto-converted) |
| Generic CSV | .csv / .txt | Any CSV with Date/Time and Depth columns |
References:
AHO HIPP Guidance Note BN102441223 — Van de Casteele Test
Miguez, Testut & Wöppelmann (2008) J. Atm. Ocean. Tech. 25(7)
Demerliac (1974) — H72 tidal filter for daily mean computation