While validating #110, I benchmarked our datums against the CHS API for the 186 quality-accepted -can-meds stations. CHS metadata publishes each station's chart-datum offset, so we can compare their real chart datum against what we compute.
The result: computed LLWLT is a worse stand-in for CHS chart datum than LAT was.
|
CHS CD above LAT |
Our LLWLT above LAT |
median error with CD=LAT |
median error with CD=LLWLT |
| All (n=186) |
0.09 m |
0.27 m |
0.13 m |
0.19 m |
| Pacific (n=102) |
0.11 m |
0.38 m |
0.13 m |
0.23 m |
| Atlantic/Arctic (n=84) |
0.04 m |
0.13 m |
0.12 m |
0.12 m |
The cause is not a bug in the LLWLT math. CHS chart datum is a frozen benchmark: it was established decades ago and is deliberately not recomputed, while our LLWLT is the textbook construct derived from today's constituents over the current epoch. Decades of relative sea-level change leave the operational datum much closer to modern LAT than a fresh LLWLT calculation, and occasionally below it. No constituent-derived datum can reproduce a fixed benchmark.
The saving grace of LLWLT is direction: our zero now sits about 0.17 m above CHS's, so predictions understate water depth, which is the safe error for navigation. The old LAT fallback overstated depth by about 0.09 m.
Proposal
For -can-meds stations, fetch the station's chart-datum offset from the CHS API (api-sine.dfo-mpo.gc.ca, the same metadata endpoint the neaps benchmark uses) during import and reference chart_datum to that published value instead of the computed LLWLT. That makes the error zero by construction, since we would be using the agency's own number.
Open questions:
- Where to store it. Probably overwrite the
LLWLT value with the official offset (keeping the name), or add a separate datum entry so the computed value stays available.
- Terms of use for the CHS API data in a redistributed dataset need a check before we bake values into the repo.
- The same reasoning applies to any agency with a fixed benchmark. Japan (NLLW) and China (TLT) may have the same drift between the official surface and our computed one; worth checking if an equivalent API or table exists before trusting the computed values there.
Benchmark data and method are in the PR discussion for #110; the comparison used cached CHS metadata from neaps/benchmarks.
While validating #110, I benchmarked our datums against the CHS API for the 186 quality-accepted
-can-medsstations. CHS metadata publishes each station's chart-datum offset, so we can compare their real chart datum against what we compute.The result: computed LLWLT is a worse stand-in for CHS chart datum than LAT was.
The cause is not a bug in the LLWLT math. CHS chart datum is a frozen benchmark: it was established decades ago and is deliberately not recomputed, while our LLWLT is the textbook construct derived from today's constituents over the current epoch. Decades of relative sea-level change leave the operational datum much closer to modern LAT than a fresh LLWLT calculation, and occasionally below it. No constituent-derived datum can reproduce a fixed benchmark.
The saving grace of LLWLT is direction: our zero now sits about 0.17 m above CHS's, so predictions understate water depth, which is the safe error for navigation. The old LAT fallback overstated depth by about 0.09 m.
Proposal
For
-can-medsstations, fetch the station's chart-datum offset from the CHS API (api-sine.dfo-mpo.gc.ca, the same metadata endpoint the neaps benchmark uses) during import and referencechart_datumto that published value instead of the computed LLWLT. That makes the error zero by construction, since we would be using the agency's own number.Open questions:
LLWLTvalue with the official offset (keeping the name), or add a separate datum entry so the computed value stays available.Benchmark data and method are in the PR discussion for #110; the comparison used cached CHS metadata from
neaps/benchmarks.