openwatersio / openwatersio/tide-database
Discrepancies in TICON constituent definitions
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 25
- Forks
- 6
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 10
Description
The TICON-4 User Manual includes constituent definitions used for generating the harmonics. Most of the definitions match what is used internally in @neaps/tide-predictor, but there are 6 discrepancies:
1. SA (Sa) — Doodson mismatch
- TICON: Doodson
056554 - Neaps: Doodson
056555(xdo[0, 5, 6, 5, 5, 5, 5]) - The 6th digit is
5in Neaps but4in the TICON manual.
2. MKS2 — Wrong Doodson and speed
- TICON: Doodson
245555, speed28.4350877 - Neaps: Doodson
257555, speed29.0662415(xdo[2, 5, 7, 5, 5, 5, 5]) - The JSON values for MKS2 actually correspond to what the TICON manual calls 3N2 (Doodson
257555, speed29.0662415). There is no entry in Neaps with the correct MKS2 values.
3. 3N2 — Missing as a semidiurnal constituent
- TICON: Doodson
257555, speed29.0662415 - Neaps: The alias "3N2" exists on
N6(a species-6 constituent with speed85.3191886), which is an entirely different thing. There is no semidiurnal 3N2 in Neaps. The Doodson/speed slot that should belong to 3N2 is currently occupied by the misidentified MKS2.
4. 3L2 — Null Doodson + wrong speed
- TICON: Doodson
265555, speed29.5331208 - Neaps: xdo
null, speed88.5854367, defined as compound[["L2", 3]] - Neaps treats 3L2 as 3× the L2 frequency rather than as its own semidiurnal constituent with Doodson number
265555.
5. T3 — Null Doodson + wrong speed
- TICON: Doodson
381555, speed44.9589333 - Neaps: xdo
null, speed44.9384 - Missing Doodson number. Speed is off by
0.0205deg/hr.
6. R3 — Null Doodson + wrong speed
- TICON: Doodson
383555, speed45.0410706 - Neaps: xdo
null, speed45.0616001 - Missing Doodson number. Speed is off by
0.0205deg/hr.
This exposes a fundamental issue with the current Neaps implementation, which is that it assumes constituent definitions are standard and shared. Ultimately, I think it needs to support loading external definitions.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing packages/tide-predictor/src/constituents/data.json with the six entries documented in the TICON-4 User Manual. Confirm the corrected Doodson numbers, speeds, aliases, and constituent types, then investigate how Neaps currently represents definitions and what external loading would require. Done should include an agreed approach for correcting these discrepancies and supporting external constituent definitions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100