cert-machine · the registry · every fit re-certified at this build

The return-level table as a certificate.

An offshore structure is designed to a wave height with a return period, and that number comes out of a chain: block the record, fit a distribution, pick one by a goodness-of-fit statistic, invert its tail. Reis, Guimarães, Farina, Paul, de Paula and Ribeiro (Ocean Engineering, 2026) ran the chain over a global hindcast with six families and four criteria. This page runs the same chain — the same six families, the same blocks, the same four criteria — on 3 NDBC buoys and on the paper's own hindcast at 13 grid points, and certifies every link: each fit is proved to be the likelihood's one maximum in a box, every statistic and level is an enclosure over that box, and every choice of family is DECIDED or REFUSED. Then it decides the Hs marginals other people printed for the same buoys.

tl;dr
  • The finding. 78 of 90 fits certified — six families × five block sizes × three buoys — each a box, at most ±6.3e-7 wide, proved to hold the likelihood's one maximum in it. Of the other twelve, ten are the generalized gamma, whose likelihood is proved to peak at the family's lognormal limit — on every series of A; on B's hourly, daily, weekly and monthly series; and on C's annual maxima — so the lognormal, which is ranked, stands for it; and two are the exponentiated Weibull on A's and C's annual maxima, whose climb, carried to the family's Gumbel coordinates, runs on toward k → 0, where nothing is proved: those two choices are REFUSED. The other 13 Anderson–Darling choices are DECIDED. The paper's "exponentiated Weibull best for high-frequency data" holds on one buoy of three — the lognormal wins B's hourly series and the generalized gamma wins C's; its "Weibull more appropriate as the block size increases" holds on none — the Weibull is the decided best of nothing; its "the choice of criterion changes the selection" holds, on two of twelve series; and the block size moves the preferred family's 100-year wave by a factor of up to 1.51. The generalized gamma, which the paper maps as prominent at high southern latitudes, is here the decided best on two series of twelve and peaks at its lognormal limit on eight. On the paper's own hindcast at 13 nodes — the Campos and Santos basins among them — the unfiltered 3-hourly series go the same several ways: the exponentiated Weibull is the decided best at 6, the lognormal at 5 and the generalized gamma at 2; the Weibull is the decided best of none of the 52 paper-block series; the four criteria split on 20. On six series the generalized gamma's maximum sits beside its lognormal limit, at α from 951 to 2,323: the generalized gamma wins 17 of their 24 choices, and a fit that stops at α = 500 and calls it the limit hands every one of them to another family. At the Arabian Sea node the exponentiated Weibull, certified in its Gumbel coordinates at α up to 1027, is the decided choice at every block, with 100-year waves of 361, 129, 46 and 24 m against a 32-year record of 6.87 m: the selector decides, it does not check. Then the same data, other people's numbers: the Hs marginals the benchmark's teams printed for the same ten years of buoy A put the 100-year wave anywhere from 5.25 m to 14.53 m; one printed row is the fit of the wave period; one leaves 10,426 observed hours outside its distribution. And scipy, called as the paper writes the families, agrees with the certificate on 45 fits of 48 — and prints a generalized-gamma fit for each of the ten series where the family peaks at its limit, every one of them below it.
  • The mechanism. A maximum-likelihood estimate is a zero of the score equations. A float climb (Nelder–Mead, then Levenberg–Marquardt on the likelihood) finds a candidate; the Krawczyk operator then evaluates the score and its Jacobian in outward-rounded interval arithmetic over a box around it — every datum enclosed by its neighbouring doubles, every sum over the data taken by Sum2 with its rounding-error bound added outward — and a box the operator maps strictly inside itself holds exactly one zero; the Hessian is then proved negative definite over the same box (Sylvester's criterion, or definiteness at the candidate with every Hessian in the box nonsingular), so that zero is the likelihood's maximum there. The generalized gamma needs lnΓ, the digamma and trigamma functions and the regularized incomplete gamma: the first three are enclosed from their asymptotic series with the first omitted term as a proved bound (Binet's formula), the last from its power series with a geometric tail. Its maximum is searched for from both ends of the family — from the Weibull, and from the lognormal it tends to as α → ∞ — and certified in Prentice's (μ, σ, Q), whose likelihood is written as power series in Q with proved tails, so that the lognormal, Q = 0, is an ordinary point. Where no maximum lies above the lognormal's, ∂ℓ/∂Q is proved negative over a stated neighbourhood of the lognormal fit: the family peaks at its limit. Where the exponentiated Weibull's climb runs past α = 10⁴, it is carried to (k, θ = λk, β = θ ln α), in which the same family is exp(eβ/θ ln(1 − e−xk/θ)) — a Gumbel law of Hsk once e−xk/θ is small — with nothing of order α in it, and certified there. Each criterion is an enclosure over the box; χ² bins every datum exactly, as a rational; a family is ranked below another only when its enclosure lies wholly below.
  • Check it. node instruments/hseva/battery.js — 1678 checks, 20 red controls that must fire (among them: logarithms skewed to the right refuse the generalized gamma at its limit, with the proof; a 40,000-point generalized gamma at α = 900 is certified beside its limit, where a stop at α = 500 misses it; a family stopped at its boundary blocks the ranking; a saddle is not a maximum; an expected count straddling 5 refuses χ²; a location above the data leaves them outside the support), every family's derivatives against finite differences, the gamma family against its closed forms, the Prentice series against the direct form, and the daily, weekly, monthly and annual blocks re-certified live. node tools/run-hseva-ledger.js rebuilds the whole ledger in about 8 minutes.
fits certified
78 of 90
each the likelihood's one maximum in a box within ±6.3e-7; 10 generalized-gamma fits proved to peak at the lognormal limit; 2 refused
choices decided
13 of 15
by Anderson–Darling, the paper's selector; the two refused are A's and C's annual maxima
exp. Weibull, unfiltered
1 of 3 · 6 of 13
the paper's "best for high-frequency data": on one buoy of three, and at 6 of the 13 nodes of its own hindcast
generalized gamma
best 2 · at its limit 8
of twelve paper-block buoy series: the decided best on C's hourly and daily; its likelihood peaks at the lognormal limit on every one of A's and B's
100-year Hs, buoy A, printed
5.3–14.5 m
five marginals the benchmark's teams printed for the same ten years
scipy, floc = 0
45 of 48
agree with the certificate to half a centimetre; 10 generalized-gamma fits printed below the limit the family peaks at
§1 · the certificate

What "fitted" means here

familyparameterscertified pointbox half-widthA² enclosure
normalμ, σ1.43585, 0.9011795.0e-12162.4210146 … 162.4210147
lognormalμ, σ0.174180, 0.6288791.0e-1213.13397991 … 13.13397995
Weibullk, λ1.71123, 1.619061.0e-1132.31566369 … 32.31566371
exp. Weibullα, k, λ5.35091, 0.822718, 0.4937871.4e-105.644564013 … 5.644569233
gen. gammaμ, σ, Q (Prentice)0.254174, 0.619326, 0.2555484.6e-115.089166364 … 5.089215776
Gumbelμ, β1.04739, 0.6339085.0e-1229.41085778 … 29.41087069

Buoy C, daily maxima, 7,437 points. A fitted distribution is usually a number an optimiser stopped at; here it is a box the Krawczyk operator has proved to contain exactly one stationary point of the likelihood — the score and its Jacobian evaluated over the whole box in arithmetic that rounds outward at every step — and over which the Hessian is proved negative definite, so the point is the likelihood's maximum there. Every later number is computed over that box, so a statistic or a level is an enclosure whose width is stated, not a float's last digits. The widest box here is the exponentiated Weibull's, ±1.4e-10. The generalized gamma is certified in Prentice's coordinates (μ, σ, Q), the same distribution with its long (α, c, λ) ridge straightened. On buoys A and B its likelihood peaks at the family's lognormal limit: the derivative of the likelihood in Q is proved negative over a stated neighbourhood of the lognormal fit, so every member there is less likely than the lognormal's maximum, and the search — started from both ends of the family — found no maximum inside it above that. It is left out of the ranking, named, because the lognormal it tends to is ranked. Where the exponentiated Weibull's climb runs past α = 10⁴ it is carried to its Gumbel coordinates and certified there, as it is at five hindcast series; on A's and C's annual maxima it 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 — so nothing is proved and those choices are REFUSED rather than handed to the families that did converge.

§2 · the four criteria

Anderson–Darling, enclosed, and what the other three say

0.1 1 10 100 1,000 10,000 hourly · normal 4,399 hourly · lognormal 252 hourly · Weibull 862 hourly · exp. Weibull 110 hourly · gen. gamma 98 hourly · Gumbel 804 daily maxima · normal 162 daily maxima · lognormal 13 daily maxima · Weibull 32 daily maxima · exp. Weibull 5.64 daily maxima · gen. gamma 5.09 daily maxima · Gumbel 29 weekly maxima · normal 9.22 weekly maxima · lognormal 6.53 weekly maxima · Weibull 2.28 weekly maxima · exp. Weibull 2.00 weekly maxima · gen. gamma 2.02 weekly maxima · Gumbel 2.83 monthly maxima · normal 1.93 monthly maxima · lognormal 2.50 monthly maxima · Weibull 2.04 monthly maxima · exp. Weibull 1.07 monthly maxima · gen. gamma 1.10 monthly maxima · Gumbel 1.36 annual maxima · normal 1.88 annual maxima · lognormal 1.08 annual maxima · Weibull 1.84 annual maxima · Gumbel 0.84 Anderson–Darling A² (upper end of the enclosure), log scale — bars grow from 0.1 preferred at that block (DECIDED) the other certified families
Buoy C: the upper end of the Anderson–Darling enclosure for every certified family at every block size, on a log axis. Lower is better; the family the statistic prefers at each block size is bright. Hover for the enclosure and the parameters.
buoy · blocknnormallognormalWeibullexp. Weibullgen. gammaGumbelAnderson–Darling picks
A · hourly175,3208,4051613,49615.106at its limit1,559DECIDED: exp. Weibull
A · daily maxima7,40537016.8191771.139at its limit77.938DECIDED: exp. Weibull
A · weekly maxima1,07140.7062.87921.5330.706at its limit9.458DECIDED: exp. Weibull
A · monthly maxima2504.5360.6922.5130.718at its limit1.254DECIDED: lognormal
A · annual maxima221.4630.7711.766REFUSEDat its limit0.417REFUSED
B · hourly175,3204,31677.8571,82290.026at its limit684DECIDED: lognormal
B · daily maxima7,4091744.36189.6554.789at its limit24.419DECIDED: lognormal
B · weekly maxima1,06819.0941.37713.7991.508at its limit0.994DECIDED: Gumbel
B · monthly maxima2526.0431.3385.7051.426at its limit1.126DECIDED: Gumbel
B · annual maxima220.8600.5350.7830.5700.5800.516DECIDED: Gumbel
C · hourly175,3204,39925286211097.554804DECIDED: gen. gamma
C · daily maxima7,43716213.13432.3165.6455.08929.411DECIDED: gen. gamma
C · weekly maxima1,0779.2246.5302.2842.0002.0172.831DECIDED: exp. Weibull
C · monthly maxima2561.9332.4992.0361.0681.1031.357DECIDED: exp. Weibull
C · annual maxima231.8761.0831.836REFUSEDat its limit0.844REFUSED
buoy · blockAnderson–DarlingKolmogorov–SmirnovMSEχ²the four
A · hourlyexp. Weibullexp. Weibullexp. Weibullexp. Weibullthey agree
A · daily maximaexp. Weibullexp. Weibullexp. Weibullexp. Weibullthey agree
A · weekly maximaexp. Weibullexp. Weibullexp. Weibullexp. Weibullthey agree
A · monthly maximalognormalexp. Weibulllognormallognormalthey differ
A · annual maximaREFUSEDREFUSEDREFUSEDREFUSEDthey agree
B · hourlylognormallognormallognormallognormalthey agree
B · daily maximalognormallognormallognormallognormalthey agree
B · weekly maximaGumbelGumbelGumbelGumbelthey agree
B · monthly maximaGumbelGumbelGumbelGumbelthey agree
B · annual maximaGumbelexp. Weibulllognormalnot definedthey differ
C · hourlygen. gammagen. gammagen. gammagen. gammathey agree
C · daily maximagen. gammagen. gammagen. gammagen. gammathey agree
C · weekly maximaexp. Weibullexp. WeibullWeibullWeibullthey differ
C · monthly maximaexp. Weibullexp. Weibullexp. Weibullexp. Weibullthey agree
C · annual maximaREFUSEDREFUSEDREFUSEDREFUSEDthey agree

The first table is the paper's selector: A² for every family, "at its limit" where the generalized gamma's likelihood peaks at the lognormal, REFUSED where no maximum is certified. The unfiltered hourly series go three ways — the exponentiated Weibull on A (15.1 against the lognormal's 161), the lognormal on B (77.9 against 90.0), the generalized gamma on C (97.6 against 110.1). As the blocks grow, the winner moves, but never to the Weibull. On the annual maxima the Gumbel — the classical law of block maxima, one of the paper's six — is the decided best on B; on A and C the choice is refused, the exponentiated Weibull's climb running on toward k → 0 in its Gumbel coordinates. The second table asks the paper's other question: do the four criteria pick the same family? Mostly yes; on A's monthly maxima they split — Anderson–Darling, MSE and χ² pick the lognormal, Kolmogorov–Smirnov the exponentiated Weibull; on C's weekly maxima they split — Anderson–Darling and Kolmogorov–Smirnov pick the exponentiated Weibull, MSE and χ² the Weibull. χ² is undefined on the annual maxima of B, where no bin keeps an expected count of five — undefined, as the paper has it, not guessed. Every DECIDED choice here is decided in the sense that the enclosures do not overlap; that ranks the criterion's arithmetic on this sample, and it is not a test that one family is the truer model.

§3 · the return levels

The 100- and 1000-year wave, by block

4 m 8 m 12 m 16 m 20 m hourly daily maxima weekly maxima monthly maxima annual maxima the block the maxima are taken over (buoy A) 100-year significant wave height, m the largest hour observed: 11.80 m the exponentiated Weibull the lognormal diamond: the family the statistic prefers there
Buoy A: the certified 100-year significant wave height for the families the statistic picks somewhere on this buoy, at each block size; the diamond is the family it picks at that block (none on the annual maxima, where the choice is refused). The dashed line is the largest hour in the record.
buoy · blockfamily the statistic picks100-year Hs, m1000-year Hs, mlargest hour, m
A · hourlyexp. Weibull15.2019.6411.7976
A · daily maximaexp. Weibull15.0521.0011.7976
A · weekly maximaexp. Weibull17.3825.3611.7976
A · monthly maximalognormal13.0517.3211.7976
A · annual maximaREFUSED——11.7976
B · hourlylognormal12.2115.439.7975
B · daily maximalognormal9.4112.069.7975
B · weekly maximaGumbel8.109.819.7975
B · monthly maximaGumbel9.3211.529.7975
B · annual maximaGumbel12.1215.829.7975
C · hourlygen. gamma12.2115.0011.2460
C · daily maximagen. gamma10.5113.2111.2460
C · weekly maximaexp. Weibull9.1910.9411.2460
C · monthly maximaexp. Weibull9.3711.1411.2460
C · annual maximaREFUSED——11.2460

The paper's third finding — that the temporal aggregation moves the return level — is here with numbers under it. Reading only the family the statistic picks at each of the paper's four blocks, the 100-year wave at buoy B runs from 8.10 m (weekly maxima, the Gumbel) to 12.21 m (hourly, the lognormal), a factor of 1.51 from the same years of the same buoy; at A the factor is 1.33 and at C 1.33. On six of the 13 decided buoy series the family the statistic prefers puts the 100-year wave below the largest hour the buoy has already recorded — on B from the daily, weekly and monthly maxima (9.41, 8.10, 9.32 m against 9.80 m), and on C from the daily, weekly and monthly maxima (10.51, 9.19, 9.37 m against 11.25 m): the best fit by Anderson–Darling is not a fit that respects the extreme already on the record. Each level is the quantile at 1 − b/(T·8766) for a block of b hours, over the certified box; the enclosures are narrower than a millimetre and printed at their upper end. That width is the arithmetic's: the sampling uncertainty of a 1000-year level from twenty years is statistical, and it is not in these numbers — a certified fit is a certified point estimate.

§4 · the paper

Its findings, read against three buoys and its own hindcast

"The Exponentiated Weibull distribution performs best for high-frequency data." With all six families, decided for it on buoy A's hourly series and against it on B's and C's. "The traditional Weibull becomes more appropriate as the block size increases." Not on these buoys: the Weibull is the decided best of none of the twelve series at the paper's blocks, nor of the annual maxima where a choice is decided. "Both the choice of goodness-of-fit test and the temporal aggregation significantly influence the selected distribution and the resulting return-level estimates for long return periods." Both halves hold: the criteria split on two series, and the block size moves the 100-year wave by up to a factor of 1.51. The generalized gamma — which the paper finds prominent at higher southern latitudes and in the daily blocks south of South America — is here certified on every paper-block series of buoy C, the best on two of them, and on buoys A and B peaks at its lognormal limit: whatever a fitting routine prints for it there is a point below the lognormal it is heading to (scipy's, §6, by 0.69 to 2,529 log-likelihood units). On the paper's own hindcast the family is the decided best on 12 of 52 series — five of them with its maximum beside that limit, at α near a thousand or more. The paper reads its grid; this page reads three buoys and 13 of the grid's own points (§5), and says where the two agree and where they do not.

§5 · the paper's own data

The same method on the paper's hindcast

grid point3-hourly valuesunfiltered: A² picksunfiltered · daily · weekly · monthlygen. gamma, by block100-year Hs, mlargest value, m
campos93,504lognormallognormal · exp. Weibull · exp. Weibull · gen. gammalimit · limit · limit · best6.095.5560
santos93,504lognormallognormal · exp. Weibull · exp. Weibull · exp. Weibulllimit · limit · limit · limit7.327.0100
espirito-santo93,504exp. Weibullexp. Weibull · exp. Weibull · exp. Weibull · gen. gammalimit · limit · limit · best5.774.6680
pelotas93,504exp. Weibullexp. Weibull · exp. Weibull · exp. Weibull · exp. Weibulllimit · limit · limit · limit11.2410.1080
potiguar93,504gen. gammagen. gamma · gen. gamma · gen. gamma · gen. gammabest · best · best · best3.323.1780
foz-amazonas93,504lognormallognormal · lognormal · Gumbel · gen. gammafit · fit · fit · best5.963.7760
drake93,504exp. Weibullexp. Weibull · gen. gamma · gen. gamma · Gumbellimit · best · best · limit17.4517.0660
acc-central93,504gen. gammagen. gamma · gen. gamma · exp. Weibull · Gumbelbest · best · limit · limit18.4518.4520
southern-high93,504lognormallognormal · lognormal · lognormal · exp. Weibulllimit · limit · limit · limit17.8216.4960
subantarctic-north93,504exp. Weibullexp. Weibull · exp. Weibull · lognormal · Gumbellimit · limit · limit · limit18.6016.7700
arabian-sea93,504exp. Weibullexp. Weibull · exp. Weibull · exp. Weibull · exp. Weibulllimit · limit · limit · limit360.856.8720
south-of-japan93,504exp. Weibullexp. Weibull · exp. Weibull · exp. Weibull · exp. Weibulllimit · limit · limit · limit21.6920.1080
north-atlantic93,504lognormallognormal · lognormal · gen. gamma · exp. Weibulllimit · limit · best · limit28.4819.5500

Ifremer's WAVEWATCH III hindcast GLOBMULTI_ERA5_GLOBCUR_01 — the paper's data, 3-hourly on a 0.5° grid, 1993–2024 — read at 13 of its nodes: the Campos and Santos basins and four more on the Brazilian margin, and points in the regions the paper describes by name. Every hs chunk of every monthly file was fetched by byte range and hashed as read (corpus/ww3-points). On these points: the exponentiated Weibull is the decided best of the unfiltered series on 6 of 13; the Weibull is the decided best of none of the 52 paper-block series; the four criteria split on 20; the generalized gamma is certified on 15 and the decided best on 12, and on the other 37 its likelihood peaks at the lognormal limit.

Three things a fitting routine can do silently are decided here. On six series — the monthly maxima at Campos (α 1,287), the weekly maxima at Foz do Amazonas (α 951), the daily maxima in the Drake Passage (α 1,670), the unfiltered series in the central Antarctic Circumpolar Current (α 1,370), the daily maxima in the central Antarctic Circumpolar Current (α 2,323) and the weekly maxima in the North Atlantic (α 2,315) — the generalized gamma's maximum lies beside its lognormal limit, far out on the ridge where α, c and λ run together; certified there, it wins 17 of their 24 choices — Anderson–Darling's on five of the six — and a climb that stops at α = 500 and takes the limit for the answer hands every one of them to another family. Its certificate there is in Prentice's coordinates, with the likelihood written as power series in Q so that nothing is divided by the small number the ridge is made of. On five series the exponentiated Weibull's climb runs to α of 104, 109, 1010, 1017, 1027: in its Gumbel coordinates the same family is a Gumbel law of Hsk, its maximum an ordinary point, and it is certified there. And the Arabian Sea shows what the selector does with that: the exponentiated Weibull is the decided choice at every block, and its 100-year wave is 360.9 m, 128.5 m, 46.3 m and 23.6 m from the 3-hourly, daily, weekly and monthly maxima, against a largest value in thirty-two years of 6.87 m. Its A² on the 3-hourly series is 965 — the best of six families none of which captures what the paper itself calls, there, "effectively multimodal or strongly skewed distributions that are poorly captured by a single parametric model" (§3.2) — and the "marked reduction in projected extremes as block size increases" the paper reports there comes out of a tail no sea has. Where the unfiltered choice is decided, the preferred family's 100-year wave runs from the record itself (at the central Antarctic Circumpolar Current) to 53 times it (at the Arabian Sea), and stays within 10 % of it at Campos and Santos. A handful of nodes is not the paper's global map — the return-level atlas certifies the same method at every cell of its lattices — but it is the paper's method, decided, on the paper's own numbers, at places anyone can name.

§6 · the same data, different numbers

What other people printed for these buoys

4 m 8 m 12 m 16 m 20 m contrib. 8 · Weibull the maximum-likelihood fit, to the digit contrib. 1 & 2 · Weibull location = the smallest hour contrib. 9 · Weibull 10,426 hours outside its support contrib. 4 · exp. Weibull least squares, by design contrib. 3 · 3-p lognormal a local maximum (scipy) certified MLE · Weibull certified MLE · lognormal certified MLE · exp. Weibull hourly sea-state 100-year Hs, buoy A, the ten provided years printed, over its digits certified MLE, same hours
Buoy A, the provided ten years every benchmark team fitted: the hourly 100-year Hs implied by five printed marginals (each over every value its printed digits allow) and by three certified maximum-likelihood fits on the same hours.
whobuoyfamilyprinteddecided100-year Hs, m
contributions 1 & 2AWeibull0.944, 1.48, 0.0981the location is the smallest hour to the printed digits: undecided whether it lies below it5.59–5.66
contributions 1 & 2BWeibull1.14, 1.60, 0.188the location is the smallest hour to the printed digits: undecided whether it lies below it5.98–6.09
contributions 1 & 2CWeibull1.16, 1.56, 0.0566the location is the smallest hour to the printed digits: undecided whether it lies below it6.20–6.32
contribution 3A3-p lognormal0.717, 0.635, 0.0634a certified local maximum (Hessian negative definite) of its unbounded likelihood; the digits are its rounding14.44–14.53
contribution 3B3-p lognormal0.972, 0.572, 0.0633a certified local maximum (Hessian negative definite) of its unbounded likelihood; the digits are its rounding14.54–14.62
contribution 3C3-p lognormal0.937, 0.620, -0.0318a certified local maximum (Hessian negative definite) of its unbounded likelihood; the digits are its rounding17.48–17.58
contribution 4Aexp. Weibull0.207, 0.684, 7.79below the certified maximum by 877 or more (a least-squares fit, by design)11.57–11.70
contribution 4Bexp. Weibull0.0988, 0.584, 36.6not a maximum-likelihood fit (weighted least squares); too few printed digits to bound the gap12.94–13.06
contribution 4Cexp. Weibull0.227, 0.697, 9.85not a maximum-likelihood fit (weighted least squares); too few printed digits to bound the gap12.03–12.15
contribution 8AWeibull1.0651, 1.6399the rounding of the certified maximum-likelihood fit5.25–5.25
contribution 8BWeibull1.3654, 1.8893the rounding of the certified maximum-likelihood fit5.45–5.45
contribution 8CWeibull5.0475, 5.5633the certified Weibull MLE of the zero-up-crossing period Tz, not of Hs8.08–8.08
contribution 9AWeibull0.4983, 0.8573, 0.418710,426 hours below the printed location: zero density10.96–10.96
contribution 9BWeibull0.6539, 0.9710, 0.565810,904 hours below the printed location: zero density10.24–10.24
contribution 9CWeibull0.7291, 1.0134, 0.39109,410 hours below the printed location: zero density10.03–10.03

The environmental-contour benchmark (Haselsteiner et al., Ocean Engineering 2021) gave nine teams the same ten years of buoy data; its appendix prints the Hs marginal each fitted. Every printed row is decided here against those hours. Contribution 8's two-parameter Weibull for A and B is exactly the maximum-likelihood fit, to its last digit; its row for C is also a certified maximum-likelihood Weibull — of the zero-up-crossing period, not of the wave height, so the table's Hs marginal for C describes the wrong variable. Contribution 3's three-parameter lognormal, fitted with scipy, is a certified local maximum on all three buoys, of a likelihood that has no global maximum (it grows without bound as the location approaches the smallest hour; Hill 1963) — which is what a free location buys. The baseline's location sits on the smallest hour of each buoy to every printed digit; whether that hour is inside the support is below the printed precision, and the page leaves it undecided. Contribution 9's locations leave 10,426, 10,904, 9,410 hours of A, B and C below the support — hours its model says cannot happen, among the low sea states where the benchmark paper found that contribution's thousands of exceedances. Contribution 4 fitted by weighted least squares, deliberately not by likelihood, and sits 877 or more log-likelihood units below the exponentiated Weibull's maximum on A — a different estimator, not an error. Together: from the same ten years of one buoy, a 100-year wave anywhere from 5.25 to 14.53 m.

seriesfamilycalldecided100-yr Hs, m (vs certified)ℓ below
A hourlyexp. Weibullloc freebelow a member7.08 (−8.12)19,850
A hourlygen. gammaloc freebelow a member8.152,521
A dailyexp. Weibullloc freebelow a member13.34 (−1.70)3.963
A dailygen. gammaloc freebelow a member6.47776.2
A weeklyexp. Weibullfloc=0off the maximum17.31 (−0.07)0.001
A monthlyWeibullloc freeoutside its support11.371 datum below
B weeklygen. gammaloc freebelow a member8.790.292
B monthlygen. gammaloc freebelow a member9.740.357
C hourlygen. gammafloc=0off the maximum10.96 (−1.25)60.79
C hourlygen. gammaloc freebelow a member7.18 (−5.03)1,409
C dailygen. gammafloc=0off the maximum9.93 (−0.58)1.337

scipy 1.18.1, the routine a Python pipeline reaches for, called on the same block maxima two ways. With the location fixed at zero — the families as the paper writes them — it agrees with the certificate to half a centimetre on 45 fits of 48; on 3 it stops short — the generalized gamma on C's hourly series 60.8 log-likelihood units below the maximum, its 100-year wave 1.25 m low; the exponentiated Weibull on A's weekly maxima just 0.00082 units below, and 7.4 cm low, because that likelihood is nearly flat along a ridge; for the ten generalized-gamma series whose likelihood peaks at the lognormal limit it prints a point on the way — 0.69 to 2,529 log-likelihood units below the lognormal's maximum — and a return level with it; and where the certificate refuses the exponentiated Weibull (A's and C's annual maxima) it prints one too, which nothing here can decide. Called the default way, location free, it fits a different model whose likelihood is unbounded (Smith 1985), and prints where its optimiser stopped: the 100-year wave moves by −8.12 to +4.01 m against the certified fixed-location fit; one Weibull puts its location above one of A's monthly maxima (1.265 m against 0.7390 m), so an observed month has zero density; and 7 default fits lie below a member of their own family — on A's hourly series by 19,850 log-likelihood units, with a 100-year wave of 7.08 m against the certified 15.20. None of this is a bug in scipy. It is what "fit the family by maximum likelihood" leaves unsaid: where the location sits, what to do when the likelihood runs to the edge of the family, and when to stop. That packages disagree on the three-parameter Weibull is old news (Harper, Eschenbach & James, The American Statistician, 2011); what is new here is that each disagreement is decided.

§7 · a seventh family

The GEV beside the six, and the width a certificate does not give

seriesGEV ξ by blockA² among sevendaily 100-yr Hs (95%)
buoy A0.26 0.28 0.26 0.12 0.26GEV EW EW LN —15.05 (13.71–16.51)
buoy B0.17 0.15 0.08 0.05 -0.09LN LN Gu Gu Gu9.41 (9.103–9.732)
buoy C0.19 0.17 0.02 -0.03 0.31GG GG EW EW —10.51 (9.724–11.36)
campos-0.05 -0.04 -0.07 -0.14LN EW EW GEV6.01 (5.841–6.184)
santos-0.03 -0.02 -0.04 -0.03LN EW GEV EW7.04 (6.826–7.264)
espirito-santo-0.03 -0.02 -0.08 -0.22EW GEV GEV GEV5.72 (5.538–5.904)
pelotas0.05 0.06 0.04 0.01GEV GEV EW EW11.23 (10.74–11.74)
potiguar-0.16 -0.18 -0.20 -0.21GG GEV GEV GG3.32 (3.263–3.386)
foz-amazonas-0.09 -0.08 -0.11 -0.17LN LN Gu GG5.37 (5.289–5.458)
drake0.03 0.01 -0.05 0.02EW GG GG Gu16.95 (16.17–17.76)
acc-central-0.03 -0.03 -0.03 -0.03GG GG EW Gu18.28 (17.63–18.96)
southern-high-0.01 -0.01 -0.05 -0.09LN LN LN EW17.84 (17.53–18.16)
subantarctic-north0.05 0.04 -0.01 0.01EW EW LN Gu17.76 (16.99–18.56)
arabian-sea0.57 0.55 0.49 0.45GEV GEV GEV GEV128.53 (95.57–172.9)
south-of-japan0.21 0.19 0.14 0.25EW EW GEV GEV17.99 (16.79–19.28)
north-atlantic0.13 0.12 0.07 0.06LN LN GG EW27.36 (26.63–28.10)

Blocks in the order unfiltered, daily, weekly, monthly (and annual for the buoys). ξ: the GEV's, certified (each the upper end of a box narrower than its last digit). Among seven: the family Anderson–Darling decides once the GEV joins the paper's six — N normal, LN lognormal, W Weibull, EW exponentiated Weibull, GG generalized gamma, Gu Gumbel; — refused. The daily 100-year Hs of the family the six decide, in metres, certified; in brackets its 95% interval from the delta method, which is STATISTICAL, not certified.

The paper's six hold one extreme-value law, the Gumbel — the generalized extreme value law (GEV) at ξ = 0, the limit law of block maxima. Here the GEV joins the six on every series, 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 tables above are the paper's. It is certified on 67 of 67 series; its ξ is certified above zero — a Fréchet-type tail, heavier than any exponential — on 35 and below zero — a finite upper end — on 32. Anderson–Darling's choice among the seven names the GEV on 16 of the 65 series where it is decided, displacing the family the six decided on 16. On three unfiltered series the statistic has weighed the bulk of every value and names it — buoy A's hourly series (a 100-year wave of 43.22 m against a record of 11.80 m), the 3-hourly series at Pelotas (a 100-year wave of 12.80 m against a record of 10.11 m) and the 3-hourly series in the Arabian Sea (a 100-year wave of 1,278 m against a record of 6.87 m): a fit to the bulk, read in the tail. On the block maxima of the Brazilian margin it wins with its ξ certified below zero — Campos monthly, Santos weekly, Espírito Santo daily, weekly and monthly and Potiguar daily and weekly — that is, with a finite upper end, which none of the paper's six can have. On A's and C's annual maxima the choice stays refused: the exponentiated Weibull runs to its Fréchet corner there — a Gumbel law of ln Hs is a Fréchet law — and the GEV, certified with ξ = 0.257 and 0.311, finds that tail; deciding the choice needs the proof that the exponentiated Weibull's supremum is the Fréchet limit itself, the way the generalized gamma's lognormal limit is decided.

What no certificate here says is how far another record of the same length could move a number — the sampling width. The ledger carries it apart, STATISTICAL and labelled so: the delta method's 95% intervals, from the observed information at the fitted point in the certificate's own coordinates, asymptotic, with the blocks taken as independent and the family as right. Buoy A's daily maxima: the exponentiated Weibull's certified 100-year wave, 15.05 m, carries 13.71–16.51 m. The interval is what a design basis would argue about; the certificate is what it would not have to.

§8 · who certifies

A certificate anyone can check, and nobody has to trust

In the regulatory sense nothing on this page certifies anything: offshore units are approved by classification societies under the rules of the national regulators, and a design basis is theirs to accept. What is offered here is a different object — a certificate of the arithmetic, and a file anyone can check. For each fit it records the digest of the data, the choices made (the family, the block, the criterion, the return period, where the location sits), a box the Krawczyk operator proved to hold exactly one stationary point of the likelihood with the Hessian negative definite over it — the likelihood's maximum in that box — and an enclosure of every criterion and level over the box; for the generalized gamma at its lognormal limit, the proof that its likelihood peaks there; or REFUSED, with the reason, where no maximum is certified or the enclosures overlap. Checking it needs the data and a verifier that shares no code with whoever fitted the model — not the fitter's trust, and not this page's. So confidential data can stay where they are held: the check runs there, and only the certificate travels. A standard for marginal fits then has two halves — the choices it fixes, and a certificate that shows each deliverable computed exactly those — and a disagreement between two laboratories becomes one of three things, each decidable: a different declared choice, an arithmetic that did not reach the maximum, or a fit printed where the certificate finds none.

To try it on a series of your own: the return-level check runs this same code in your browser — on any record you drop there, or on the Campos Basin node of the paper's hindcast — certifies the six fits, and writes the certificate for download; the file is read in the tab and sent nowhere. It also decides a fit someone printed. And the return-level atlas is this whole page's method at every cell of the paper's hindcast on a 4° globe and a 1° Brazilian margin: each cell a certificate, the paper's regional claims decided as boxes, any cell certified again in your tab.

what this page does NOT claim

It does not decide the paper's global maps: three buoys and 13 hindcast nodes are points, not a grid. What is certified is the arithmetic of the method: that each fit is the likelihood's one maximum in its box, that every statistic and level is what the box implies, that each ranking follows from the enclosures. That no better maximum exists elsewhere in a family is the search's claim — for the generalized gamma three climbs, from the Weibull and from the lognormal — as it is any optimiser's. "At its limit" means the generalized gamma's likelihood is proved to fall as Q grows from 0 over a stated neighbourhood of the lognormal fit (∂ℓ/∂Q < 0 there, recorded with each), and the search found no maximum inside the family above the lognormal's: a local proof, like every certified maximum here. An exponentiated Weibull whose climb passes α = 10⁴ is carried to its Gumbel coordinates (k, θ = λk, β = θ ln α), where the same distribution's maximum is an ordinary point; where the climb runs on there too, toward k → 0, nothing is proved and the choice it touches is refused. The certificate is of the point estimate given the data; the sampling width of a 100- or 1000-year level is a different, statistical quantity and is not enclosed. Hours and block maxima are treated as independent draws by every family, as they are in the paper. The buoys are the benchmark's A, B and C with provided and retained years joined; the printed marginals are decided on the provided years alone, the hours they were fitted to. The paper's χ² and MSE are reconstructed from its §2.2 (Sturges bins with at least eight, expected counts of five, the empirical CDF with ties); its code is not held. The data are NDBC's and Ifremer's, pinned by digest; the hindcast's extracted series are CC BY-SA 4.0 as the dataset is. At two of the hindcast nodes — the high southern latitudes (16 three-hourly steps in 2 months, up to 44 % cover) and the Drake Passage (64 three-hourly steps in 8 months, up to 60 % cover) — the hindcast's own sea-ice field is above zero at some step of the thirty-two years, where the model damps the waves: their series are certified here as the model gives them, and the atlas, which certifies only water the ice never touches, leaves them out.