Carlos Toledo
ReportsInstrumentsMachineAboutGitHub
instruments · return-level atlas

Every cell a certificate.

The global map of Reis, Guimarães et al. (Ocean Engineering, 2026) — which of six families fits significant wave height best, and the 100- and 1000-year wave — with each of the 2,589 open-sea cells of the paper's own hindcast certified, and its regional claims decided: 6 hold, 2 do not, 2 the refusals leave open. Beside the six, a seventh family — the GEV — and, drawn apart as statistical, the width another 32 years of the same sea could give each number.

Each claim is quoted from the paper's §3 and read as a region, the blocks it speaks of, and a rule over the certified cells there. A cell counts for a family only where the choice is DECIDED; a REFUSED cell counts for nobody and could count for anybody, so a claim holds when it is true however the refused cells fell, does not hold when it is false however they fell, and is undecided when they could make it either. Choose a claim to see its box.

the paper's ten

  • UNDECIDED
    “as the block size increased from daily to weekly and monthly, there was a marked reduction in the number of points classified as Exponentiated Weibull – the distribution that previously dominated – and a corresponding increase in the standard Weibull distribution” §3.1, Fig. 2
    the global 4° lattice · the exponentiated Weibull decided at fewer cells, and the Weibull at more, at each step daily → weekly → monthly (Anderson–Darling)
    exp. Weibull, daily: 977 decided, 19 refused of 1810 · exp. Weibull, weekly: 888 decided, 14 refused of 1810 · exp. Weibull, monthly: 728 decided, 42 refused of 1810 · Weibull, daily: 9 decided, 19 refused of 1810 · Weibull, weekly: 11 decided, 14 refused of 1810 · Weibull, monthly: 61 decided, 42 refused of 1810
  • DOES NOT HOLD
    “In the daily block, … the Generalized Gamma gains prominence along the coastal region south of South America” §3.2
    south of South America (40–58° S, 80–56° W) · the generalized gamma the most frequent decided choice in the box, daily maxima (Anderson–Darling)
    daily: 9 decided, 0 refused of 22
  • DOES NOT HOLD
    “In the weekly block, the distinction between the northern, central, and southern ACC sectors weakens substantially, with the Generalized Gamma expanding its spatial influence” §3.2
    the Southern Ocean (40–65° S) · the generalized gamma decided at more cells in the weekly block than in the daily (Anderson–Darling)
    gen. gamma, daily: 166 decided, 1 refused of 382 · gen. gamma, weekly: 131 decided, 3 refused of 382
  • HOLDS
    “By the monthly block, this diversity nearly disappears: the Exponentiated Weibull dominates most of the Southern Ocean, with only small residual areas of Gumbel” §3.2
    the Southern Ocean (40–65° S) · the exponentiated Weibull the decided choice at more than half the certified cells, monthly maxima (Anderson–Darling)
    monthly: 227 decided, 1 refused of 382
  • UNDECIDED
    “as the block size increases, a transition toward the standard Weibull distribution occurs” §3.2 (Indian Ocean)
    the monsoon Indian Ocean (0–25° N, 45–80° E) · the Weibull decided at more cells in the monthly block than in the daily (Anderson–Darling)
    Weibull, daily: 1 decided, 5 refused of 44 · Weibull, monthly: 3 decided, 6 refused of 44
  • HOLDS
    “in the monthly block, the Exponentiated Weibull again becomes dominant” §3.2 (western Pacific)
    the western Pacific south of Japan (24–36° N, 124–148° E) · the exponentiated Weibull the decided choice at more than half the certified cells, monthly maxima (Anderson–Darling)
    monthly: 16 decided, 3 refused of 26
  • HOLDS
    “Across most mid- and high-latitude ocean basins, including the North Atlantic, North Pacific, and Arabian Sea, a systematic reduction in estimated Hs values is observed as the block size increases” §3.3
    the North Atlantic (40–64° N, 60° W–0°) · at more than half the certified cells, the 100-year level of the monthly block's decided family lies wholly below the daily block's
    daily → monthly: lower at 38, not lower at 21, not decided at 3 of 62
  • HOLDS
    “Across most mid- and high-latitude ocean basins, including the North Atlantic, North Pacific, and Arabian Sea, a systematic reduction in estimated Hs values is observed as the block size increases” §3.3
    the North Pacific (40–60° N, 140° E–130° W) · at more than half the certified cells, the 100-year level of the monthly block's decided family lies wholly below the daily block's
    daily → monthly: lower at 70, not lower at 9, not decided at 2 of 81
  • HOLDS
    “The Arabian Sea displays a marked reduction in projected extremes as block size increases” §3.3
    the Arabian Sea (5–25° N, 50–75° E) · at more than half the certified cells, the 100-year level of the monthly block's decided family lies wholly below the daily block's
    daily → monthly: lower at 16, not lower at 0, not decided at 7 of 23
  • HOLDS
    “In the western Pacific south of Japan, return levels increase for longer block sizes, particularly for the 1000-year period” §3.3
    the western Pacific south of Japan (24–36° N, 124–148° E) · at more than half the certified cells, the 1000-year level of the monthly block's decided family lies wholly above the daily block's
    daily → monthly: higher at 17, not higher at 6, not decided at 3 of 26

Choose a cell on the globe, or type a latitude and longitude: its choices open here, and it can be certified again in this tab from the pinned data, with the ledger's own code.

What is certified, and what is not

At every cell and block, each family's fit is a box the Krawczyk operator proves holds exactly one zero of the score, with the Hessian proved negative definite over it — the likelihood's one maximum there — or it is refused with the reason: the generalized gamma is left out only where its likelihood is proved to peak at its lognormal limit beside the lognormal fit; any other refusal blocks the choice. The four criteria and the levels are enclosures over the box; a family is chosen only where its enclosure lies wholly below every other's. That no better maximum lies elsewhere in a family is the search's claim, as it is any optimiser's. Not certified: that a family is the true law of the sea, the sampling width of a 100-year level, or the model's own error against the sea it simulates. A cell certified in your tab also draws its return-level plot from the same certificates: each family's quantile over return periods from two blocks to 10,000 years, every point an enclosure narrower than the line, beside the block maxima and the record.

The data: the Ifremer WAVEWATCH III hindcast GLOBMULTI_ERA5_GLOBCUR_01 (0.5°, 3-hourly, 1993-01-01 to 2024-12-31), the paper's own, CC BY-SA 4.0. Every hs chunk of every monthly file was read by byte range and hashed as read (the same hashes corpus/ww3-points pinned for the same files), and each UTC day's largest value kept at the nodes of a 4° global lattice, a 1° lattice of the Brazilian margin and the report's thirteen nodes; a cell is the node's series, not an area mean. 679 cells that the hindcast's own sea-ice field touches at some 3-hourly step of the 32 years are shown and not certified: under ice the model damps the waves to millimetres rather than leaving a gap, so the series is partly the ice's. The daily, weekly and monthly blocks are here; the unfiltered 3-hourly block is certified at the thirteen nodes of the return-level report, where six fits of 93,504 values take minutes each, and a report node's cell shows that record beside the atlas's own (certs/hseva-ledger.json of 2026-10-09, sha256 f7b037962511). Land: Natural Earth 1:50m, public domain.

A seventh family

The paper's six hold one extreme-value law, the Gumbel, and it is the ξ = 0 member of the generalized extreme value law (GEV), the limit law of block maxima. Here the GEV joins the six at every cell and block — written so that ξ = 0 is an ordinary point, as Prentice's Q = 0 is for the generalized gamma, and refused where its box reaches ξ = −0.5, where the maximum is no longer regular (Smith 1985) — and never ranked among them: the claims and the six-family views are the paper's. It is certified at 7,765 cell-blocks, refused at ξ ≤ −0.5 at 2; its ξ is certified above 0 (a Fréchet-type tail, heavier than any exponential) at 2,840 and below 0 (a finite upper end) at 4,925. Anderson–Darling's choice among the seven (the seventh-family view) follows the paper's rank rule unchanged — a family refused other than at its proved edge blocks it, so the GEV can decide only where the six are decided or tied — and names the GEV at 1,489 cell-blocks and one of the six at 6,193; at 1,488 the GEV displaces the family the six decided, and at 1 it decides a tie among them. Where it wins it can run as far from the sea as the six do: at 12° N 52° E (daily maxima, the Arabian Sea's two-mode monsoon climate) its 100-year wave is 397.2 m against a record of 5.23 m. At the 45 cell-blocks where the exponentiated Weibull runs toward k → 0 — its Fréchet corner: a Gumbel law of ln Hs is a Fréchet law — the GEV is certified at 45, its ξ positive at 45 and its A² below every certified family's at 45: the tail the corner points to. The choice among seven stays REFUSED there, because the exponentiated Weibull's supremum is not yet proved to be that Fréchet limit itself — the generalized gamma's lognormal limit is decided that way, and this is the next proof.

Statistical, not certified

A certificate says what a fit IS on these 32 years. It does not say how far another 32 years of the same sea could move it: that is a statement of another kind, and it is drawn apart — screened cells, dashed lines and dash-underlined numbers are STATISTICAL, asserted and not decided (design/grammar.js). The uncertainty view, the cell's intervals and the band on its return-level plot are the delta method's 95% intervals, taken on the log of the level so they stay positive: the observed information at the fitted point in the certificate's own coordinates, the level's gradient by central differences — asymptotic, with the blocks taken as independent and the family as right. A cell certified in your tab can also profile the likelihood of its 100-year wave, an interval that need not be symmetric. The decided family's 100-year wave carries an interval 7% of its level wide at the median cell (daily maxima), 12% (weekly), 17% (monthly); at 144 monthly cells it is wider than 40% of the level. The GEV's ξ: its 95% interval lies above 0 at 2,048 cell-blocks, below it at 3,591, and holds 0 — the Gumbel not ruled out — at 2,126 (dashed outlines in the tail view). Daily maxima come in storms: the runs estimator of the extremal index (days above the series' 95th percentile, a new storm after 3 quiet days) runs from 0.16 (15° N 62° E) to 0.68 (32° S 52° W), median 0.44 over 2,589 cells — so the design-life level's "successive maxima independent" counts more independent chances than the sea gives.

A fit someone printed

A design table, a report or a pipeline prints a fitted distribution for a place: a family, a block, parameters to so many digits. In a cell's tab it is decided against that cell's block maxima by the rule of the return-level check — one module, playground/return-level-check/printed.js, decides on both pages. The printed family is certified on the printed block by the ledger's own code, in a worker (the annual block too, which is not one of the paper's), and the digits are read as the box they allow: REPRODUCED when they are the rounding of the certified fit; CONSISTENT when they lie inside its box; OFF THE MAXIMUM when their likelihood is proved lower than the certified maximum's; NOT THE CERTIFIED FIT when the digits exclude the maximum but cannot separate the likelihoods; OUTSIDE ITS SUPPORT when a printed location, or a printed GEV's end, leaves observed values where the density is zero; NOT A MEMBER OF THE FAMILY when the digits allow a scale or a shape at or below zero; NOT DECIDED when they are too few to say. A fit made from the paper's hindcast at a cell's node is decided exactly; one made from another record is decided against this one, and the tab says how far the node lies from the place typed — to decide it on its own record, bring that record as your own site. What is typed stays in the tab: nothing is sent, and the address does not carry it.

A printed table, decided

Bhaskaran et al. (2023), Energies 16, 6935 (doi:10.3390/en16196935, CC BY) print the annual-maximum Hs fits of offshore-wind lease areas — the Gumbel by least squares, by maximum likelihood and by moments, the GEV by maximum likelihood — from a commercial hindcast (WaveClimate, 1992–2022) that cannot be re-run outside it. Their five South Atlantic sites, decided against the nearest cells of this public hindcast (31–61 km away; certs/design-table-audit.json): of the 20 printed fits, 19 are OFF THE MAXIMUM and 1 is OUTSIDE ITS SUPPORT. The printed 100-year waves differ from the certified fits' on these annual maxima by −2.03 to +3.14 m, outside the certified fit's statistical 95% interval at 19 of 20. That is not an error in the table. It is the distance between two records: another model, another point — two of the five sit in 27 m of water, where the portal offers a wave-ray translation inshore — and at Projeto Açu the two nearest cells, one degree apart, put the Gumbel's 100-year wave at 3.21 and 5.47 m. A printed number can be certified only against a record anyone can re-run. Each site opens its nearest cell, where every row is decided again in your tab: .

decided
exact arithmetic backs it
computed
float; nothing decided it
refused
no mark — the void is drawn

What this opens

The map answers where the paper's selection is a decision and where it is not, and two of the six families needed other coordinates to be decided at all. Where the exponentiated Weibull's climb runs past α = 104, write θ = λk and β = θ ln α: the family reads F = exp(eβ/θ ln(1 − e−xk/θ)), a Gumbel law of Hsk with location β and scale θ once e−xk/θ is small over the data. The runaway α is a regime the (α, k, λ) coordinates place in the millions or beyond, not an edge: in (k, θ, β) the family's maximum is an ordinary point, certified here at 219 cell-blocks. At 53 more the family is still refused, 45 of them because the climb runs on even there, toward k → 0 — a Gumbel law of ln Hs, the Fréchet tail the family reaches only in a double limit: there the seventh family below, the GEV, finds a Fréchet tail; the extended generalized Pareto of Naveau et al. (Water Resources Research, 2016) — the exponentiated Weibull’s own construction, a power of a distribution function, on a Pareto base — is the other candidate. The exp. Weibull view maps where each coordinate system holds. The generalized gamma's maximum sits beside its lognormal limit (α above 500) at 444 cell-blocks and is certified there, in Prentice's coordinates; its likelihood is proved to peak at the limit itself at 5,751. A fitter that stops at a threshold and calls it the limit names another family, or none, at 544 cell-blocks. And the choice the statistic makes is not a sanity check: the decided family’s 100-year wave reaches 18.7× the largest day on record (the exponentiated Weibull, 128.5 m against 6.87 m, 15° N 62° E, daily). The other way round proves less: the 100-year wave lies below the record at 2,607 of the 7,663 decided cell-blocks with a level (34%), and a 32-year record exceeds even a correct 100-year level with probability 1 − e−0.32 ≈ 27%. A standard for marginal fits can be read off this map — which choices it must fix, and where a certificate, not an optimiser, has to say what the fit is.

The code in your tab: playground/return-level-atlas/app.js 8838b9318484 · playground/return-level-atlas/worker.js c2d98e753808 · playground/return-level-check/parse.js 7bf7c1eed533 · playground/return-level-check/printed.js 8f54767742da · instruments/interval/interval.js 9891280d08e5 · instruments/interval/rational.js 59e97fc40328 · instruments/interval/transcendental.js 29da890cec15 · instruments/interval/radii.js 2d89926b8ee9 · instruments/hseva/special.js cdfa6ac130b8 · instruments/hseva/ad2.js 39e88af94e66 · instruments/hseva/families.js 027a859c72d7 · instruments/hseva/fit.js b6b67a513590 · instruments/hseva/blockrule.js 375250f46ae1 · instruments/hseva/atlas.js 113d8ce95d13 · instruments/hseva/atlas-claims.js 6159360b8170. Cell files served from the public repository at commit 151262781b90, each checked against its sha256 before it is used; the whole ledger is certs/hseva-atlas.json at the same commit.

instruments/hseva/.venv/bin/python3 tools/fetch-ww3-grid.py
instruments/hseva/.venv/bin/python3 tools/fetch-ww3-grid.py --ice
instruments/hseva/.venv/bin/python3 tools/build-ww3-atlas-corpus.py
node tools/run-hseva-atlas.js
node instruments/hseva/battery.js
node tools/run-design-table-audit.js
node playground/return-level-check/battery.js

nothing here is gated · every number came out of the record beside the page