# Coastal Data Explorer

A static website with separate USGS and NOAA CO-OPS station browsers. Both provide water-level/NTR comparisons among observations, CORA, and STOFS-3D.

Local preview:

```bash
cd /sciclone/vims/data/sgao08
python -m http.server 8000
```

Open the USGS browser at
`http://localhost:8000/STOFS_evaluation/06_deliverables/webs/usgs/` or the CO-OPS browser at
`http://localhost:8000/STOFS_evaluation/06_deliverables/webs/coops/`. Serving the workspace root
keeps the hourly source CSV files available. The USGS map itself can also be opened directly as
`usgs/usgs_station_map.html`; its markers are embedded in the file.

Station pages load full-resolution hourly CSV data using the same display logic. The year selector
and drag zoom only change the visible range; they do not change data resolution. Rebuild the USGS
map after updating its source tables with
`python STOFS_evaluation/06_deliverables/webs/usgs/build_map.py`.

## 时间序列展示笔记（2026-09-18，后续沿用）

网站展示各数据集自身可用的数据，统一按 UTC 时间戳对齐，不使用共同有效掩码。
某一数据源缺测，只在该曲线上留空，不删除其他来源同一时刻的数据，不跨缺口连线。
此原则适用于 TWL、UTide NTR 和低通曲线；共同掩码只用于配对评估指标。

当前 26 个 USGS 站点页面使用完整的 2000–2022 小时时间轴，三者分别以 -32768
编码缺测，精度为 1 mm。TWL 直接读取各自源数据；UTide NTR 使用自身原始水位减去
已有的完整潮汐重建序列，保留原来的拟合口径，不重新拟合。CORA 的 NAVD88 转换
只用于 TWL，NTR 的水位和重建序列保持原有基准一致。

低通曲线逐来源独立计算，沿用四阶 Butterworth、48 h 截止、每端裁剪 144 h。
小于 24 h 的内部缺口可以在滤波计算中临时插值，但展示时重新置空原始缺测时刻。
滤波窗口不足或边缘裁剪造成的缺测也只影响自身。评估用低通文件与网页展示分开。

重建 TWL、NTR、低通网页数据：

```bash
sbatch STOFS_evaluation/06_deliverables/webs/usgs/build_station_pages.sbatch
```

Greenwich Harbor 的例子：2015-01-15 10:00 至 2022-12-31 23:00 UTC，
69,782 小时中 OBS 缺 132 小时、STOFS 缺 0 小时、CORA 缺 47,439 小时。
旧页面的共同掩码让 CORA 缺测同时切断 STOFS；新页面分别保留各自有效时刻。
