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
5 in Neaps but 4 in the TICON manual.
2. MKS2 — Wrong Doodson and speed
- TICON: Doodson
245555, speed 28.4350877
- Neaps: Doodson
257555, speed 29.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, speed 29.0662415). There is no entry in Neaps with the correct MKS2 values.
3. 3N2 — Missing as a semidiurnal constituent
- TICON: Doodson
257555, speed 29.0662415
- Neaps: The alias "3N2" exists on
N6 (a species-6 constituent with speed 85.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, speed 29.5331208
- Neaps: xdo
null, speed 88.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, speed 44.9589333
- Neaps: xdo
null, speed 44.9384
- Missing Doodson number. Speed is off by
0.0205 deg/hr.
6. R3 — Null Doodson + wrong speed
- TICON: Doodson
383555, speed 45.0410706
- Neaps: xdo
null, speed 45.0616001
- Missing Doodson number. Speed is off by
0.0205 deg/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.
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
056554056555(xdo[0, 5, 6, 5, 5, 5, 5])5in Neaps but4in the TICON manual.2. MKS2 — Wrong Doodson and speed
245555, speed28.4350877257555, speed29.0662415(xdo[2, 5, 7, 5, 5, 5, 5])257555, speed29.0662415). There is no entry in Neaps with the correct MKS2 values.3. 3N2 — Missing as a semidiurnal constituent
257555, speed29.0662415N6(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
265555, speed29.5331208null, speed88.5854367, defined as compound[["L2", 3]]265555.5. T3 — Null Doodson + wrong speed
381555, speed44.9589333null, speed44.93840.0205deg/hr.6. R3 — Null Doodson + wrong speed
383555, speed45.0410706null, speed45.06160010.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.