Tidal harmonic analysis · reference & data registry Data access Sign in Contact
tidalcore water-level time-series analysis - documentation & datasets release 0.9.3 · MIT

Home › tutorial › short records

Fitting a short record

Not every record is a year long. A fortnight of data still has a usable tide in it, provided you ask only for what a fortnight can separate and are honest about the rest. Here is that fit, on a 15-day slice of the same station.

Ask what fits

Take the first fifteen days of station-7 and let the library choose the resolvable set rather than naming constituents by hand. Fifteen days separates eleven terms: the four largest semidiurnal and diurnal lines and the shallow-water overtides, but nothing elliptic, because N2 needs most of a month to pull away from M2.

short = rec.subset("2025-10-01", "2025-10-16")
print(tc.resolvable(short.span))
# 11 constituents: M2 S2 K1 O1 M4 MS4 M6 M8 M3 Mf MSf
sol = tc.analyse(short)
# ShortRecordError if you force N2 or K2 onto this span

The error is deliberate and useful. Asking a 15-day record for N2 does not give you a worse N2; it gives you an M2 that has quietly absorbed part of N2 and is now wrong by an amount you cannot see. Refusing the request keeps that contamination out of the term you actually trust.

Inference, marked

When you genuinely need the terms a short record cannot resolve, infer them from their resolved partners at the equilibrium ratios, and let the solution record that you did. On this slice that means pulling P1 from K1 and K2 from S2.

sol = tc.infer(sol)
print([(t.name, t.inferred) for t in sol if t.inferred])
# [('P1', 'K1 x 0.331'), ('K2', 'S2 x 0.272')]

An inferred amplitude is an assumption wearing a measurement's number, good in open coastal water and poor in a sharply non-linear estuary. The inferred attribute exists so that nobody downstream can mistake the two, and so that a comparison between stations can drop every inferred term before it starts.

What to write down

A short-record result is publishable if, and only if, it carries its own caveats. State the fifteen-day span beside every amplitude, list which terms were inferred and at what ratio, and never set a short-record amplitude next to a year-record amplitude for the same constituent as though the two were measured the same way. Do that, and a fortnight of data earns an honest place in the record; skip it, and the numbers will be quoted out of context within a month.

See also: the Rayleigh table for exactly which span buys which term, and the reconstructor to feel how dropping a term changes the curve.