Certify a return level. Your file never leaves this page.
Bring a significant-wave-height record; declare the block. The six families of Reis, Guimarães, Farina, Paul, de Paula and Ribeiro (Ocean Engineering, 2026) are fitted by maximum likelihood and each fit is certified — a box the Krawczyk operator proves holds exactly one zero of the score, over which the likelihood is proved concave, so that zero is its maximum there; all of it evaluated in outward-rounded interval arithmetic over every value — or refused with the reason. The paper's four criteria and the 100- and 1000-year levels come back as enclosures, the choice of family as DECIDED or REFUSED, and you can download the certificate: it carries your file's sha256 and the digest of every file of code that ran, the rule that read your file included, never the data. The code is the one that certified the return-level table, running in your browser; your file is read here and sent nowhere.
Drop a text or CSV file here, or , or . One line per time: a timestamp first (2004-03-01 06:00, 2004-03-01T06:00Z, 2004-03-01-06; a zone written with it is applied), then fields split by spaces, tabs, commas or semicolons; Hs is the . Lines without a timestamp, fields that are not a number, and NDBC's missing marks (99, 999, 9999) are skipped and counted; the lines are put in time order.
Decide a fit someone printed
A report, a colleague or a pipeline printed a fitted distribution. Type its parameters as printed; they are decided against the series and block above, over every value the printed digits allow — REPRODUCED when the digits are the rounding of the certified maximum-likelihood fit; CONSISTENT when they carry more digits than the certified box resolves and lie inside it; OFF THE MAXIMUM when its likelihood is provably lower; NOT THE CERTIFIED FIT when the digits exclude the maximum but cannot separate the likelihoods; BELOW ITS LIMIT when the family peaks at its lognormal limit and the printed point is provably less likely than that limit; OUTSIDE ITS SUPPORT when a location leaves observed values with zero density; NOT DECIDED when the digits are too few to say.
What is certified, and what is not
Certified: that each fit is the unique stationary point of the likelihood in its box, and its maximum there — the Hessian is proved negative definite over the whole box; that each criterion and level is what that box implies; that a ranking follows from the enclosures. The float search that finds a candidate is never trusted for a number — the box is. The generalized gamma tends to the lognormal as its shape grows, and on many records its likelihood peaks there: where the certificate proves that next to the limit (the derivative in Prentice's Q negative over a stated neighbourhood of the lognormal fit) and a search from both ends of the family finds no maximum inside it above the lognormal's, the family is left out of the ranking, named — the lognormal it tends to is ranked. Any other family without a certified maximum — the exponentiated Weibull whose climb passes α = 104 still rising, say — makes the ranking REFUSED rather than handing the choice to the families that did converge. A certified maximum is a maximum in its box; that no better one exists elsewhere in the family is the search's claim, as it is any optimiser's. The location is fixed at zero, as the paper writes the families: with a free location the likelihood of every one of them is unbounded, and a number printed for it is where an optimiser stopped.
Not certified: that any family is the true law of the sea, that the data are right, or how uncertain a 100- or 1000-year level is — that uncertainty is statistical and is not in these enclosures. Values are treated as independent draws, as the paper treats them. And "certified" here is the arithmetic's word, not a regulator's: offshore units are approved by classification societies under their own rules. A certificate from this page is evidence anyone can re-check without trusting the page — the same code, the same digest, the same boxes.
The code, as inlined here: playground/return-level-check/app.js a73a5d681d0c · playground/return-level-check/worker.js b3703e66d6b1 · instruments/interval/interval.js 59556ef98bdd · instruments/interval/rational.js 59e97fc40328 · instruments/interval/transcendental.js 29da890cec15 · instruments/interval/radii.js 38f29dfe4d5e · instruments/hseva/special.js cdfa6ac130b8 · instruments/hseva/families.js 89e90a7f0f86 · instruments/hseva/fit.js 0ded0a8d47a8 · instruments/hseva/blockrule.js 375250f46ae1. The preset is the Campos Basin node of the paper's own hindcast: 93,504 three-hourly values, 1993-01-01 to 2024-12-31, sha256 6c6bd5d5a49f…, CC BY-SA 4.0 (Ifremer; Alday et al. 2021).
node instruments/hseva/battery.js
node tools/run-hseva-ledger.js
node playground/build.js