Skip to contentCALCHIS

All hazard scores are deterministic. Calchis uses no LLM-generated content in any score, trigger evaluation, or consequence zone calculation. Every result is reproducible from cited public data under known licenses and the parameters disclosed below.

Hazard Scoring Methodology

Model version 4.2 · Effective October 14, 2026 · what changed

Calchis produces hazard scores for 7 perils across the United States. Every score returns its component breakdown and links to this methodology. Parameters cite their sources where established; we openly track those still being verified. No black boxes. A climate trend adjustment is applied to one component of one peril — California wildfire frequency — and is disclosed in the Wildfire section below rather than claimed across the model.

Scoring Architecture

Each hazard score (0–10) is composed of 2–4 sub-components. All components are returned in the score_components field of every API response. The chain is always traceable: score → parameter → source publication.

Every component carries a role. A hazard component is a measured or fitted property of the physical hazard at the site — a rate, a return period, a distance, a source zone. A proxy component is a regional constant standing in for the vulnerability or consequence of the building stock, not the hazard. Only hazard components enter the headline score:

hazard_score = 10 × Σ hazard / Σ hazard max, capped at 10 and rounded to one decimal.

The proxies are summed separately and returned as proxy_score, named for what they are (for example “Roof vulnerability proxy — not part of the hazard score”). Until model 2.0 the headline was an unweighted sum of every component, so half of a tornado score was manufactured- housing share and nocturnal fraction, half of a hail score was roof stock, and 30% of a wildfire score was an unsourced fuel constant. Those rows are marked in the tables below.

What a 7.3 estimates. The score is an ordinal index of physical-hazard intensity likelihood for the peril at the site. It is not a probability, a loss ratio, or a return period — the component labels carry those. The display bands (8.5 extreme, 6.5 high, 4.0 moderate) are presentation thresholds chosen for a readable color scale, not calibrated to any loss quantity.

Each component's curve from input to points is a pure function in lib/modeling/hazard-curves.ts; docs/hazard-score-calibration.md is generated from those functions and the seeded constants, and a test holds the document byte-equal to the code, so the published calibration figures are the figures the scorer produces.

A score of 0 with an empty lookup_failed list means the peril is not relevant at the site. A score of 0 with entries in lookup_failed means a required input could not be fetched; the product shows it as “—” / NO DATA, never as a zero.

These are hazard scores — physical intensity likelihood only. They do not include property exposure or vulnerability; the vulnerability proxies are reported beside the score, not inside it. We never call a hazard score a risk score.

Earthquake (0–10)

ComponentMax WeightSource
Ground motion (USGS NSHM 2023)10.0Peak ground acceleration with a 2% chance of exceedance in 50 years, site class BC — USGS uniform-hazard values (doi:10.5066/P14VGAV4): CONUS 2023.R2, Alaska 2023.R1, Hawaii 2021.R2
Historical damage potentialproxy — not in score3.5FEMA Hazus v6.1 W1 damage-state threshold — a construction-vulnerability constant, reported under proxy_score

Since model 3.6 the score reads the USGS 2023 National Seismic Hazard Model directly (Petersen et al., Earthquake Spectra 40(1), 2024): the peak ground acceleration with a 2% chance of being exceeded in 50 years, interpolated between USGS's published grid points (0.05° for the conterminous US, 0.1° for Alaska, 0.02° for Hawaii), on a log scale between two seeded anchors: score = 10 · ln(PGA / 0.02 g) / ln(1.5 g / 0.02 g), clamped to 0–10. Checked against USGS's own values at 42 cities, the scores rank the cities as the NSHM does (Spearman 0.999); the previous method ranked the conterminous cities at 0.23 and those in Alaska and Hawaii at 0.62.

Outside the grids — Puerto Rico and the other territories — the score falls back to two components: source-zone activity (3.5 points, the Gutenberg-Richter relation log₁₀(N) = a - b·M per seismic source zone, b from the NSHM, a fitted to the declustered USGS catalog) and proximity to mapped faults (3.0 points, USGS Quaternary Fault and Fold Database), and the score says which method it used.

Site intensity in the stochastic earthquake set (model 3.1) follows the USGS hazard model's own chain for active crust: the Boore, Stewart, Seyhan & Atkinson (2014) NGA-West2 ground-motion model gives peak ground acceleration on reference rock at the Joyner-Boore distance to the rupture, with its inter-event and intra-event variability realised per event and per site, and the Worden et al. (2012) relation converts it to Modified Mercalli intensity. Sources are the USGS 2023 fault system (every rupture at its published rate) plus a catalog-fitted background. For the stable continental interior, and for the deterministic scenario paths, the Atkinson & Wald (2007) Intensity Prediction Equation, Seismological Research Letters Vol. 78 No. 3, validated against >200,000 "Did You Feel It?" reports: MMI = 12.27 + 2.27(M-6) + 0.13(M-6)² - 1.30·log₁₀(R) - 0.00071·R + 1.95·B - 0.577·M·log₁₀(R)

Hurricane (0–10)

ComponentMax WeightSource
CAT3+ landfall return period3.5NOAA HRD continental-US landfall catalog 1950–2024, fitted per coastal segment
Coastal proximity3.0Haversine distance to NOAA shoreline
Storm surge exposure3.5Ground elevation bands near the coast (USGS 3DEP), with coastal proximity; not SLOSH model output

Return periods are per coastal segment — Texas 10.7 yr, Louisiana-Mississippi 12.5, Gulf-Panhandle 7.5, Florida-Gulf 10.7, Florida-Atlantic 15, Southeast-Atlantic 10.7, Mid-Atlantic-Northeast 75 — each the 1950–2024 window divided by that segment's CAT3+ landfall count in the NOAA HRD catalog. A site within 250 km of a segment's coastline reads that segment; until model 2.1 all of Florida read a single Miami-radius value, so the Panhandle scored on South Florida's return period. Wind decay after landfall follows Kaplan & DeMaria (1995): V(t) = Vb + (V₀ - Vb)·exp(-α·t). The storm surge component reads ground elevation near the coast in bands; it is not SLOSH model output.

Wildfire (0–10)

ComponentMax WeightSource
Large fire frequency3.5Wildfires of 1,000+ acres within ~83 km, MTBS satellite record 1984–2024, against the 99th percentile of the same grid (model 3.9); the regional NIFC fit outside MTBS coverage
WUI exposure3.5Share of homes in the Direct or Indirect wildfire exposure zones, USDA Forest Service Wildfire Risk to Communities (RDS-2024-0030), for the Census place containing the site, else its county (model 3.9); NLCD development/wildland mixture outside its coverage
Vegetation/fuel loadproxy — not in score3.0Unsourced regional constant, reported under proxy_score; flammability-weighted NLCD/LANDFIRE replacement is known debt #115

Since model 3.9 both hazard components are local. Frequency is the density of wildfires of 1,000 acres or more within about 83 km of the site in the MTBS satellite burn-severity record, 1984–2024 (15,570 fires), scaled against the 99th percentile of the same grid. MTBS maps every fire of that size, so a place with none reads 0; until 3.9 the component was one rate per wildfire region, and every point in a region scored the full 3.5. Exposure is the Forest Service's own share of homes in its Direct or Indirect exposure zones, mapped from LANDFIRE fuels and simulated burn probability, for the Census place the site is in, else its county. A place's figure is its average: a hillside street in a large city reads the city's share. The territories outside MTBS keep the regional rate, and outside the Forest Service's coverage the exposure term falls back to an NLCD land-cover mixture. The stochastic wildfire event set still samples from the four fitted wildfire regions (California, Pacific Northwest, Mountain West, Southern US).

No climate adjustment. Until 2026-09-04 the California rate carried a 1.4× multiplier attributed to Abatzoglou & Williams (2016). That paper reports burned area roughly doubling with anthropogenic warming; 1.4× was an inference from it, not a fitted quantity, and the event set never applied it. The multiplier was retired rather than kept as a number no source states. Every wildfire score now rests on the unadjusted historical record, which understates a warming trend, and each score's climate_adjusted flag is false.

Flood (0–10)

ComponentMax WeightSource
FEMA flood zone4.0FEMA National Flood Hazard Layer
Elevation relative to flood level3.0USGS NED / 3DEP elevation data
NFIP loss density3.0NFIP flood claims per 1,000 homes per year in the county, 1978–2024, against the 99th percentile of counties; the state's FEMA flood declarations where no county housing count exists (API key nfip_loss_density)

Depth-damage functions from FEMA Hazus Flood Model v5.1. These are the US standard used by USACE, FEMA, and all major catastrophe modelers.

Hail & Tornado

Since model 4.2 the hail score reads radar, not reports: the days per year with a significant hail signature within 80 km of the site in NOAA NCEI's NEXRAD Hail Detection Algorithm record, 2005–2024 (estimated size 2 in or more, SPC's significant-hail threshold, at 90% or greater probability of severe hail, from any radar within 124 nm), scaled against the 99th percentile of covered cells. Reports follow people, so the old report density put its top cells over Oklahoma City, Dallas and Minneapolis; the radar record puts them over the Texas panhandle, where published radar climatologies place the US maximum. Two limits: the algorithm over-detects in humid tropical convection, so central Florida reads about as high as Denver, and the 2-inch threshold counts large stones only. Outside radar coverage the state report rate remains. The hail damage curve is a piecewise line informed by published IBHS (Insurance Institute for Business & Home Safety) roof damage research, with estimated anchor points — Calchis holds no IBHS test data or PCS claims data. The regional roof-stock constant is a proxy reported under proxy_score. Tornado scoring uses the density of significant (EF2+) tornadoes within about 83 km of the site, from NOAA SPC's rated tornado track file (1980–2024), scaled against the 99th percentile of the same grid (model 3.8). Significant tornadoes are surveyed wherever they strike, so unlike weak-tornado reports the count does not follow population. Where no tornado of any rating is on record nearby, the score falls back to the state rate and then to the state's FEMA tornado declarations. The manufactured-housing share and the Southeast nocturnal fraction are consequence proxies, also reported beside the score rather than in it.

Winter Storm (0–10)

ComponentMax WeightSource
Winter events per forecast zone5.0NOAA NCEI Storm Events winter records 1996–2024, counted per NWS forecast zone and scaled against the 99th percentile of zones (model 4.1); the state average per zone elsewhere
Ice storm and blizzard share5.0Share of the zone's or state's winter events that are ice storms or blizzards

NCEI records winter weather by forecast-zone name, with no coordinates. Since model 4.1 those names are matched to the NWS zone map and the events counted per zone. That works only where the names still match: a state is localized when its dominant unit (forecast zone, or county where the office records by county) matches at least 90% of its winter events, which 31 states do. The other 20, mostly in the West where the NWS redrew its zones, keep the state average, as does a zone with no matched event. Counts depend partly on how many minor events each NWS office logs.

Consequence Zone Generation

When an event activates, Calchis generates four concentric consequence zones (Catastrophic, Severe, Moderate, Affected) to estimate the geographic extent of impact. Zone generation varies by peril:

Earthquake

Primary: USGS ShakeMap MMI contours, per event, when USGS publishes them; an earthquake’s zones are rebuilt from ShakeMap when it arrives. Before that: a ground-motion estimate, the relation ShakeMap itself falls back on without stations — median PGA from BSSA14 (Boore et al. 2014) converted to intensity by Worden et al. (2012), with distance from the rupture (Wells & Coppersmith 1994 rupture length). A zone whose intensity the estimate never reaches is not drawn.

Hurricane

Primary: NHC forecast wind radii (34kt/50kt/64kt — knots, nautical miles per hour) from the official advisory, producing asymmetric zones reflecting actual wind field geometry. Fallback: Saffir-Simpson category-based radii (used only when NHC wind radii data is unavailable).

Wildfire

Primary: NIFC official fire perimeter polygon (per-event, updated twice daily). Outer evacuation and smoke zones are derived from acreage-based buffer distances.

Flood

Three tiers, and each ring says which it is in parameters.methodology. For a flood warning with an NWS polygon, Zone 1 is the modeled inundation inside that polygon: the National Water Center’s National Water Model analysis extent, the polygons per stream reach that intersect the warning, simplified to about 30 m and stamped with the analysis time and the peak streamflow. (The NWC’s CREST FLASH layer is the better fit for flash flooding and is wired; it is not read until it answers in time — it timed out at 60 s on every query when this was built.) The NWS polygon is then Zone 2, the official boundary. Where the model does not cover the reach, or the read fails, the NWS polygon is the only zone — nothing is drawn inside it. A flood watch is a forecast and never gets water drawn, and a coastal flood warning is tidal, not riverine, so the river model is not drawn inside it. With no NWS polygon at all, the zones are circles from the alert centroid scaled by the severity label, and the ring says so.

The NWC labels both inundation layers EXPERIMENTAL, and so does every ring built from them (parameters.experimental). It is where a model puts water at its last analysis, not an observation, and it can trail the river by an hour. The circular fallback remains severity arithmetic: it does not account for terrain, river geometry or floodplain width.

Severe Weather

Uses NWS Storm Prediction Center polygon geometries directly (tornado/severe thunderstorm watch/warning areas).

Exposure Estimation

Population and infrastructure exposure within each zone is estimated using state-level density data (US Census Bureau 2020 for population, HIFLD archive for infrastructure, Census AHS 2021 for housing density). When available, census-tract-level sampling via the FCC Area API and Census Bureau ACS 5-Year 2022 provides more accurate local density. All exposure figures are estimates and are labeled as such.

B-Deck Reconciliation

Wind Radii Source

Calchis uses the National Hurricane Center's advisory text product as the primary source for tropical cyclone wind radii. Advisory text products are issued by NHC forecasters and represent the official wind field estimate at the time of issuance. Once published, advisory values are immutable — they are the historical record of what was communicated to the public at that moment.

What the B-Deck Is

The NHC best-track file (b-deck, ATCF format) is a post-analysis dataset. After each advisory cycle, NHC analysts may revise wind radii values based on additional observations, satellite imagery, or reconnaissance data that arrived after the advisory was issued. The b-deck represents the NHC's best estimate of the storm's wind field at each analysis time, incorporating all available data.

How Calchis Computes the Delta

When a b-deck entry exists at the exact same timestamp as an advisory's analysis time, Calchis computes a per-quadrant delta for each wind radii threshold (34-knot, 50-knot, 64-knot). The delta is defined as:

delta = b-deck value minus advisory value

A positive delta means the b-deck revised the quadrant radius upward relative to what the advisory reported. A negative delta means the b-deck revised it downward.

Deltas are computed only on exact timestamp matches. Regular advisories and best-track entries follow schedules that usually differ by a few hours, so for most advisories no best-track entry exists at the same hour and no delta is produced. The timestamps align in specific cases — for example, a special advisory issued on a synoptic hour, or an intense storm whose best track is analyzed at more frequent intervals. When they do not align, no delta is computed: comparing an advisory at one hour against a best-track entry at a different hour conflates source differences with the storm's own evolution and is meteorologically invalid.

What Deltas Represent

Deltas are normal post-analysis revisions. They reflect the routine process by which NHC refines its wind field estimates as additional data becomes available. A non-zero delta is not an error in either source. It is the expected outcome of a system where operational advisories are issued under time pressure and best-track analysis incorporates data that arrived later.

Calchis provides wind radii and delta values for situational awareness only. The National Hurricane Center is the authoritative source for all tropical cyclone wind field data. Users requiring official wind radii for operational, contractual, or regulatory purposes should consult NHC products directly.

Data Provenance

Every ingested record stores: source, source_url, ingested_at, and confidence_score. Every model parameter stores source_description with a full publication citation, validation_note, and effective_date. Each parameter is keyed by peril and region (region_system, region_code) and resolved along one chain: the state, then the state's model region where one is mapped, then the national row. The response's provenance lists which region answered each name, so a Colorado score that read a Mountain-region value says so.

The FEMA declaration record and every NHC-derived hurricane input are United States sources. They exist only for a covered US state and are absent, not borrowed from a neighbour, anywhere else.

Full data lineage documentation is available at /docs/data-lineage.md in the repository.

Severity Forecast — Validation Record

Active hurricanes, wildfires, floods and earthquakes carry an indicative severity forecast: a published model plus the event’s own trend, marked low confidence. The table below is the model run against seven historical events with the clock wound back to the hour shown, on the observations a feed would have carried at that hour, transcribed from the sources beside each case at six-hour resolution and rounded. It is rendered from the same code that produces the live forecast, and a test pins each verdict, so a change to the model must change this record.

The peak is judged in the model’s own units against the tolerance shown. The probabilities are reported, not judged — one event cannot grade a probability — so a reader can see whether the model leaned the right way. Failures stay in the table.

Event · as ofPredicted peakActualToleranceVerdictP(worse)P(major)Escalated
Hurricane Milton, 7 Oct 2024 06Z — rapid intensification in progress
2024-10-07 06:00 UTC · NHC Tropical Cyclone Report AL142024 (Milton), best track; NHC forecast/advisory 7, al142024.fstadv.007 (NHC archive)
Peak 155 kt / 897 mb at ~2030 UTC 7 Oct; landfall Siesta Key 10 Oct at 105 kt.
140 kt155 kt±20pass0.550.23yes
Hurricane Ian, 28 Sep 2022 00Z — after Cuba, before the Gulf RI
2022-09-28 00:00 UTC · NHC Tropical Cyclone Report AL092022 (Ian), best track; NHC forecast/advisory 19, al092022.fstadv.019 (NHC archive)
Peak 140 kt / 936 mb at 1200 UTC 28 Sep; landfall Cayo Costa at 130 kt.
115 kt140 kt±20fail0.230.11yes
Lahaina fire, Maui, 9 Aug 2023 16Z — WUI fire, small in acres
2023-08-09 16:00 UTC · Maui County / Hawaii DLNR incident updates, Aug 2023; NIFC ICS-209
Held at 2,170 acres; 90% contained by 15 Aug. The harm was in the WUI, not the acreage.
5,290 acres2,170 acres±2,170fail0.450.02no
Dixie Fire, 23 Jul 2021 — ten days in, 143k acres, 18% contained
2021-07-23 18:00 UTC · CAL FIRE incident page, Dixie Fire; NIFC ICS-209 daily reports, Jul 2021
Final 963,309 acres; 100% contained 25 Oct 2021. Daily ICS-209 figures, so one snapshot is one day, not six hours.
2,519,300 acres963,309 acres±481,655fail0.750.02yes
Noto Peninsula earthquake, 1 Jan 2024 — M7.5 outside California
2024-01-01 13:10 UTC · USGS event us7000lp0n; JMA aftershock bulletin, Jan 2024
Largest aftershock M6.1–6.2 within the first hour; the mainshock stayed the peak. Bath's Law expected M6.3.
7.5 M7.5 M±0.5pass0.080.03no
Kahramanmaraş earthquake, 6 Feb 2023 — M7.8 with an M7.5 nine hours later
2023-02-06 04:17 UTC · USGS events us6000jllz and us6000jlqa
A second M7.5 mainshock (Elbistan) at 10:24 UTC — a doublet, 0.3 below the first. Bath's Law expected M6.6.
7.8 M7.8 M±0.5pass0.080.03yes
French Broad River at Asheville, Helene, 27 Sep 2024 06Z — rising fast
2024-09-27 06:00 UTC · USGS 03451500 French Broad River at Asheville, NC; NWS AHPS gauge ASVN7
Record crest 24.67 ft on 27 Sep (previous record 23.1 ft, 1916). Stages before the crest rounded to the foot from the hydrograph.
22.3 ft24.7 ft±3.0pass0.800.25yes

What the failures say. Ian: with a flat wind trend and no NHC forecast in the feed, the model has no rapid-intensification skill of its own; live, the advisory’s forecast peak is carried and used. Lahaina: growth is extrapolated from acreage, and a fire whose harm was in the wildland–urban interface is not measured by acres. Dixie: growth is extrapolated linearly with no landscape ceiling, so a mega-fire ten days in is forecast at 2.6 times its final size — the direction was right, the magnitude was not. The two earthquakes pass because the mainshock stayed the peak; Bath’s Law put the largest aftershock at M6.3 for Noto (M6.1–6.2 observed) and M6.6 for Kahramanmaraş, where an M7.5 followed nine hours later — a doublet, which the model gave three percent.

Hurricane Loss Hindcast — 1996–2024

The residential wind loss estimate Calchis freezes the moment a live storm’s center crosses onto US land, run unchanged over every continental US hurricane strike in NOAA/HRD’s list since 1996 at each crossing in the post-season best track, and set against NCEI’s billion-dollar record of what each storm cost in total. 53 of 56 strikes were estimated; 40 of those reached NCEI’s list. Run 2026-10-28, model 4.2; regenerated with the model, never typed by hand.

The two figures measure different things. The modeled figure is residential wind only, on the 2020 housing stock; NCEI’s is the whole event — insured and uninsured, every line, wind, surge and rain together, in 2024 dollars. A ratio below one is expected by construction. The spread of the ratio across storms is the skill signal, not its level.

Modeled ÷ NCEI total costMedian (p10–p90), storms
2010–20240.27 (p10–p90 0.09–1.44), n=23
1996–2024 (older storms sit on 2020’s housing, so their ratios run high)0.40 (p10–p90 0.09–1.87), n=40

Furthest below the band

  • Irene 2011Cat 1 · size derived0.01×$0.3bn vs $18.8bn
  • Sandy 2012Cat 1 · size derived0.03×$3.0bn vs $88.5bn
  • Katrina 2005Cat 3 · size derived0.06×$11.1bn vs $201.3bn
  • Matthew 2016Cat 2 · size derived0.09×$1.2bn vs $13.1bn
  • Debby 2024Cat 1 · size derived0.09×$0.2bn vs $2.5bn

Surge and rain. The model estimates wind on houses; these storms’ cost was water, and the figure declines to estimate what the model does not model.

Furthest above the band

  • Charley 2004Cat 4 · size derived9.33×$249.2bn vs $26.7bn
  • Dennis 2005Cat 3 · size derived5.90×$23.9bn vs $4.0bn
  • Bonnie 1998Cat 2 · size derived4.50×$8.5bn vs $1.9bn
  • Jeanne 2004Cat 3 · size derived3.45×$42.9bn vs $12.4bn
  • Ian 2022Cat 4 · size derived1.69×$202.4bn vs $119.6bn

Small, intense storms. The best track used here carries no storm size, so the wind field takes the radius of maximum winds from intensity and latitude and gives a compact storm a default-sized footprint.

Not estimated: Alex 2004 (center never over US land (HRD flag "*")); Ophelia 2005 (center never over US land (HRD flag "*")); Dorian 2019 (center never over US land in the best track). Every row of the record, with each crossing, the housing in reach and FEMA’s assistance figures, is in the repository’sdocs/hindcast/; the live estimate for each storm since 2026 is on its case-study page.

Warning Verification — Replayed Record, 2020–2025

Calchis keeps a ledger of every NWS-surveyed tornado against the warning in effect where it touched down (the live record begins 2026-10-09). To give it depth, the same question is replayed over six years of public archives: the Weather Service’s damage surveys and NCEI’s Storm Data on one side, the Iowa Environmental Mesonet’s archive of every warning polygon version on the other. Two credits are kept and labeled: at the touchdown point (the stricter, more legible test), and along the path at the time the tornado was there with a late warning counted as zero lead (the NWS’s own rule). The other half is scored too: of every Tornado Warning issued, how many had a tornado inside them while in effect.

Outcome set · creditTornadoesWarnedMedian leadEF2+ warnedWarnings unverified
Storm Data · along the path (the NWS's rule)9,42369%10 min91.2%69.7%
Storm Data · at the touchdown point9,42358.6%13 min79.5%75.5%
Damage surveys · at the touchdown point6,39756.1%13 min73.7%81.9%
NWS national verification, recent years (its own records)—roughly 65–70%about 10 minhigh eighties and upabout 70%

With the NWS’s own credit the replay reproduces the NWS’s figures from public archives, by office. The touchdown-point rows read lower by design and say why: a warning that covered the end of a long track but not its start is “not in effect at touchdown”. The survey set holds the tornadoes offices surveyed, weighted toward damage; Storm Data holds every tornado an office logged and is what the NWS verifies against. The first run read 32% warned because the warning archive returns only each warning’s first polygon unless asked for every version; the comparison to the NWS figure is what caught it. Every row, with its covering warning, is in the repository’s docs/ledger-backtest/; the live month is on the track record. Runs 2026-10-29 and 2026-10-29; regenerated by script, never typed by hand.

As-Issued Records — What Was Read, and When

Since 2026-10-28 every product the live workers read from the federal feeds is kept as received: one append-only row per distinct body, hashed, with the time the product says it was issued and the time it arrived (the as-issued archive, migration 212). Five records are derived from it by workers that walk the archive by row id, so nothing is skipped and nothing is read twice, and each row they write names the archived body it was computed over. The arithmetic in every one of them is public and recomputable; the record of when the platform had the figure is not, and that is the asset. Figures are on the track record; this section is the method. The datasets themselves, row by row and in bulk, are listed on the data page.

RecordRead onWhat is computedPublic read
Exposure at issuanceevery NWS warning polygon — tornado, severe thunderstorm, flash flood, every office, every version2020 Census housing under the polygon (tracts weighted by developed land and areal overlap), its spheroid area, the issuing office and P-VTEC fields/api/v1/verification/warning-exposure
Footprint exposureevery SPC Day 1 outlook category polygon (non-layered bands) and every NIFC fire perimeter versionthe same housing figure; a fire’s rows are its perimeter versions as received/api/v1/verification/footprint-exposure
Reference determinationsevery USGS earthquake revision and every NHC advisorya fixed public catalog of 22 determination/2 cat-in-a-box terms (coastal boxes at 64/96/113 kt as first reported; seismic-metro boxes at M6.0/6.5/7.0, ≤ 70 km, as first reported), with the full evidence and a content-addressed id; plus the observation every revision carried/api/v1/verification/reference-determinations
The revision recordevery USGS earthquake whose first report the archive holds, through all its revisionsper first-report magnitude band: the share whose magnitude moved, the size and direction of the move, hours to the latest and to the reviewed solution, the epicenter shift; per threshold, how many first reports within 0.3 ended on the other side/api/v1/verification/revisions
Warning performance ledgerevery NWS-surveyed tornado track against the warning in effect at touchdownwarned or not, lead time from onset, the issuing office, the housing under the warning/api/v1/verification/tornado-warnings

Timing, as measured

Each row carries two lags, measured and never typed: from the product’s own issue time to the archive’s receipt (mostly the poll interval — the archive reads each NWS feed every five minutes, USGS every five, SPC every five, NHC every thirty, NIFC twice a day), and from receipt to the figure (the worker’s ten-minute cadence, except on a worker’s first run, which measures everything the archive held at once and says so). A figure the database could not compute within its statement budget is written with a null value and its attempt count and is never recomputed: “the platform could not measure it then” is also a fact about then.

First report against revision

ComCat revises an earthquake’s magnitude, position and depth for hours after the first report and serves only the current preferred origin; the sequence the feed showed is not kept anywhere public. The NHC’s operational advisory fixes differ from the post-season best track. Reference determinations settle on the first report, as many parametric terms do, and keep each later revision’s own reading beside the standing one, so the basis risk between first report and revision is measured event by event, by region, from the day the record began. The catalog is deliberately standard — the boxes the market quotes — and a catalog entry is never edited once rows exist under it; a change is a new id and a new method version, and the old rows stay.

The revision record reads those rows as the error model of the operational feed: for each first-report magnitude band, how often the reading moved, by how much and in which direction, how fast it settled, how far the epicenter moved, and — the figure a first-report term needs priced — of the first reports within 0.3 of a threshold, how many ended on the other side of it. It is a lower bound (the feed is polled every five minutes, so a revision replaced within one interval is not seen), a share of the record rather than a probability, and USGS only: NHC advisories are successive forecasts, not revisions of one reading. Nothing in it says a revision was wrong; the settled solution is better. The point is what a first-report term would have paid before it existed.

The catalog over the record

Beside the live record, each catalog structure’s terms are settled over every year of the historical record by the same evaluator, with the risk period moved to each year: one payout a year, the greatest tier reached, as under the terms. Hurricane terms name the NHC advisory and are read on the IBTrACS/HURDAT2 best track in its place — the row says so — because no archive of historical advisories is held; earthquake terms are read on ComCat as settled. A structure the record cannot answer (the Hawaii hurricane box: the track record is the Atlantic basin) is reported as outside the record, never as a zero. A share of the record is not a probability and a mean payout is not an expected loss; the replay is what the record contains, not a forecast or a price (/api/v1/verification/reference-determinations/history).

The external witness

Every determination id issued in a UTC day is hashed into a Merkle root and published; a reader who recorded the root can later prove a determination was or was not under it. That log is published by the party it constrains, so on its own it is not a trusted timestamp. Each root is therefore also given an independent timestamp: one line binding the period to the root (calchis-determination-digest/1 <start> <end> <root> <size>) is hashed and submitted to the public OpenTimestamps calendars, which commit it to a block of the Bitcoin ledger; the standard proof file is kept and served, and the timestamp is marked confirmed only once the attestation has been checked against the block’s own header, fetched independently. No cryptocurrency is held, bought or paid: the public ledger is used only as a clock nobody can edit, and the proof checks with free open-source tools. A confirmed timestamp proves the root — and every id sealed under it — existed before that block’s time. It proves nothing about whether the determinations were right; that evidence is each record’s own (/api/v1/determinations/anchors).

Continuity, as measured

The archive is worth what its continuity is worth: a product a feed published while nobody was reading is a product the archive does not hold, and nothing can put it back. Every read is recorded, quiet ones included, so the claim is measured: for each feed in a month, the usual interval between consecutive reads (its own median, never a typed cadence), the longest, when it began, and how many intervals ran past three times the usual. A gap says only that the platform did not read; a feed that was down and a worker that did not run read the same here, and the availability record is where they are told apart (/api/v1/archive/continuity; /api/v1/status/availability).

How to check a row

  • Every row names product_row_id and content_hash; /api/v1/archive/products/{hash} returns the body byte for byte, and hashing the canonical body again reproduces the hash.
  • An exposure figure re-runs with compute_warning_exposure over that body’s geometry and matches.
  • A reference determination’s cdt2- id is the SHA-256 of its canonical evidence; /api/v1/verification/reference-determinations/{id} returns the record with the offline verifier’s findings on it, and once the day is sealed, its place in the daily Merkle digest (/api/v1/determinations/log) and the digest’s independent timestamp, once confirmed, with the proof file. A root a reader kept makes the day’s set irrevocable; the timestamp makes its time checkable by a reader who was not watching.
  • Nothing earlier than 2026-10-28 is backfilled, and nothing can be: a lag cannot be measured after the fact.

What these records are not: a verdict on any warning or outlook (the ledger and the event-to-outcome record are where outcomes are joined), a count of people or a damage figure (housing units only), anyone’s contract (the reference catalog is the platform’s own; a determination there is monitoring, not settlement), or ComCat’s first solution in every case (the record’s first report is the first revision the archive received, and each row says which).

What This Model Does Not Do

The limits below travel with the numbers: the loss list is returned as notes on every EP-curve response, and the hazard list applies to every score. A figure read without them is being read wrong.

Loss estimates and EP curves

  • Every loss response states its perspective. Ground-up is the default and applies no policy terms. Gross applies only the OED site terms on the location row (LocDed6All by type 0 amount / 1 fraction of TIV / 2 fraction of loss; LocLimit6All by type 0 amount / 1 fraction of TIV) and counts the rows that carried none; per-coverage terms, minimum/maximum deductibles, policy layers and reinsurance are not applied (known debt #113).
  • Contents are modeled only when a contents value is supplied; a location with a building value and no contents value is modeled with no contents, never with a share of the building value. Contents damage uses a contents function: earthquake at the Hazus contents-to-building ratio 0.50 by damage state (verified), hurricane at a Calchis estimate of 0.85 (known debt #113), wildfire at 1.0.
  • Hurricane vulnerability is the Hazus wind building-loss curve as tabulated by NHERI SimCenter DLML. A single-family wood (W1) row that carries roof geometry, roof anchorage and window protection (OED codes), secondary water resistance and roof-deck nailing selects its own configuration among the 32 Hazus tabulates (migration 175); a row without them, and every other construction type, reads ONE representative building (gable roof, no shutters, no secondary water resistance, weakest tabulated roof-deck nailing and roof-to-wall connection), so better-built or mitigated stock without attributes is overstated. The Hazus inventory mix (the weights across configurations) is not held. The curve is read at the Hazus land-cover terrain roughness of the location's Census tract in the 20 Atlantic and Gulf states the Hazus manual covers, and at open terrain (the highest-loss terrain for houses) everywhere else, in Hawaii and for live events. Against Hurricane Milton (2024) the model books 1.4× the reported insured loss, inside the ÷2 to ×2 benchmark band, for a residential-wind-only figure that should sit below it.
  • Vulnerability uses Hazus curves; a location with no construction type is scored as W1 wood frame, an OED code or descriptor is coerced to the nearest of nine Hazus classes and the response counts each, and a construction code the model cannot recognize makes the location unmodeled rather than W1.
  • Every quoted return-period loss carries a 90% bootstrap band over the simulated years and the number of simulated years beyond that return period. The band measures sampling error in the simulation only — it says nothing about whether the hazard, exposure or vulnerability inputs are right — and a return period the run cannot support with at least 2 tail years is not quoted (a 1,000-year run stops at 1-in-500). Loss figures are rounded to 3 significant figures; a longer number would claim precision the model does not have.
  • Secondary uncertainty is applied for earthquake only (model 3.4): the damage state of each location in each event is drawn from the Hazus fragility probabilities at the site intensity, so the tail carries Hazus's own dispersion. Hurricane and wildfire damage ratios at a given intensity are point values, not distributions — no secondary uncertainty for those two perils — because no sourced spread is held for them (known debt #114).
  • No demand surge: post-event inflation of repair costs is not modeled.
  • Events are sampled independently; clustering between events and between years is not modeled. Earthquake event counts are one Poisson rate per seismic source zone, so activity is uniform within a zone and every zone's rate is a fit (the Central and Eastern US zones since model 3.2, on 1900–2024).
  • Wildfire frequency is a fitted large-fire rate per region with no climate trend. The Southern US rate is fitted on the MTBS record (model 3.3) because the NIFC perimeter set thins south of the Rockies; its size distribution and placement still come from the thinner NIFC record for the region (known debt #80).
  • Earthquake EP curves are on every plan that has EP curves (the below-Enterprise refusal retired 2026-09-26): since model 3.1 the event set sits on the USGS 2023 fault system and reads site intensity through the USGS ground-motion chain, and every earthquake validation check passes (the ten-city loss ratio 1.24x FEMA P-366 under model 3.4, Los Angeles 0.097% of value a year against P-366's 0.093%). The portfolio run is simulated for the longest measured length its book size affords (5,000 years up to 1,000 locations) and quotes the seed spread at that length (LA 1.3x, SF 1.5x; known debt #79). A single-location earthquake dollar figure is still not published: the site estimator runs hurricane sets only.
  • Single-site wildfire loss is refused; the wildfire event set converges at the portfolio level only (known debt #80).
  • Estimates are in untrended USD at the date of generation and are not observed losses.

Hazard scores

  • Scores measure physical hazard at a point; they carry no property value, occupancy or policy information. The score is 10 × the hazard components' points over their weight: an ordinal index for ranking locations, not a probability or a loss, and its severity bands (8.5 / 6.5 / 4.0) are presentation thresholds rather than calibrated cut-offs.
  • The vulnerability and consequence stand-ins the scorer computes — manufactured-housing density, the nocturnal tornado fraction, regional roof type, the Hazus W1 damage threshold and the regional fuel-load constant — are reported under proxy_score and excluded from the score. The fuel-load table is an unsourced regional constant; its replacement with LANDFIRE fuel classes is open.
  • Some frequency parameters are state or multi-state in scope, so hazard variation inside a region is smoothed.
  • No climate adjustment is applied to any peril: the 1.4× California wildfire multiplier was retired on 2026-09-04 because it was an inference from Abatzoglou & Williams (2016), not a fitted quantity, and the event set never applied it. Frequencies are the historical record, which understates a warming trend.
  • Return periods rest on 170+ years of hurricane record but roughly 40 years of wildfire record; fire frequency carries the wider uncertainty.
  • FEMA declaration frequency, used where a peril-specific parameter is absent, is attributed by state and reflects the declaration process rather than raw event occurrence.
  • Coverage is the United States; a location outside it is refused rather than scored.

Model Changes

Every score, cache entry and export carries the model version that produced it. Two different answers for the same address never share a label; each entry below changed a number somewhere.

  1. 4.2 · October 14, 2026 — Hail frequency reads NEXRAD radar, not hail reports

    • The hail frequency component was a density of NOAA Storm Events hail REPORTS (spotters, the public, NWS staff; the ingest was named for MRMS radar but never read it). Reports follow people: the densest cells were Oklahoma City, Dallas-Fort Worth, Wichita, Kansas City, Denver and Minneapolis, and Minneapolis, Denver and Dallas all scored 10.
    • It now reads days per year with a significant radar hail signature within 80 km: NOAA NCEI's NEXRAD Hail Detection Algorithm signatures 2005-2024, estimated size 2 in or more (SPC's significant-hail threshold) and probability of severe hail 90% or more, from any radar within 124 nm. Scaled against the 99th percentile of covered cells (hail_radar_full_scale_days, 21.15). The top cells are the Texas panhandle, where published radar hail climatologies place the US maximum. Outside radar coverage the state report rate remains.
    • Headline hail: Amarillo, Wichita and North Platte stay 10; Oklahoma City 9.5, Dallas 7.7 (was 10), Denver 6.1 (10), Minneapolis 5.1 (10), Atlanta 4.8 (9.9), Chicago 3.9 (8.0), Houston 5.4 (6.7), Cheyenne 4.7 (8.4), Orlando 5.8 (5.3), Miami 3.2 (3.6).
    • Limits: the algorithm over-detects in humid tropical convection, so central Florida reads about as high as Denver; and the 2-inch threshold counts large hail only, so Cheyenne, which has many hail days of smaller stones, reads below the plains to its south and east. A 1-inch, 50% threshold was tried first and rejected: its top cells were central Florida, about 70 days a year.
  2. 4.1 · October 13, 2026 — Winter storm frequency is counted per NWS zone in the 31 states whose zone names still match

    • The winter frequency component is winter events per forecast zone per year, but it was a state average, so every point in a state scored the same: New York City and Watertown both 3.6 of 5.0, Marquette and Detroit both 3.02. NCEI records winter weather by zone name with no coordinates; matched to the NWS zone map (nws_ugc_zones) the same quantity is now counted per zone, 1996-2024, scaled against the 99th percentile of zones (winter_zone_full_scale_rate, 8.28).
    • Localized only where the names still match: a state qualifies if its dominant unit (forecast zone, or county where the office records by county) matches at least 90% of its winter events. 31 states do. The other 20, mostly in the West where the NWS redrew its zones (Colorado 54%, California 40%, Alaska 21%), keep the state average, as does any zone with no matched event (usually a renamed zone, such as Duluth's).
    • Headline winter storm: Marquette 4.4 to 6.3, Asheville 2.8 to 5.9, Watertown 4.2 to 4.9, Syracuse 4.2 to 4.1, Buffalo 4.2 to 2.8, New York City 4.2 to 2.1, Detroit 4.4 to 2.6, Minneapolis 6.8 to 5.7, Amarillo 3.0 to 4.1, Atlanta 3.0 to 3.3.
    • Event counts depend partly on how many minor winter-weather events each NWS office logs, the same caveat the severity component already carries.
  3. 4.0 · October 13, 2026 — Flood's loss-history component reads the county's NFIP claims, not the state's declarations

    • The third flood component, NFIP loss density, was the state's count of FEMA "Flood" declarations, so every point in a state scored the same on it: Houston, Austin, El Paso and Amarillo all 3.0 of 3.0, Miami and Tallahassee both 0.96.
    • It now reads NFIP flood claims per 1,000 housing units per year in the county, 1978-2024 (2.64M county-coded claims; housing units from the USDA Forest Service county summary), scaled against the 99th percentile of counties (nfip_county_full_scale_rate, 4.132). The county comes from a ~2 km grid of the 2024 Census county boundaries, offline. Outside a county with a housing count (Puerto Rico, the territories) the state record remains.
    • County FEMA "Flood" declarations were tried first and rejected: FEMA declares most coastal floods as hurricanes or severe storms, so Orleans Parish and Miami-Dade have none and would have scored 0.
    • Component (of 3.0): Jefferson and Orleans Parishes, Galveston and the Florida Keys 3.0, Ocean County NJ 2.77, Lee County FL 1.8, Harris 1.43, Miami-Dade 0.89, Austin 0.12, Chicago 0.10, El Paso 0.04, Denver 0.01. Headline flood: New Orleans 5.3 to 6.3, Key West 7.5 to 9.5, Toms River 1.9 to 4.1, Houston 4.3 to 2.7, El Paso and Amarillo 4.3 to 1.3-1.4.
    • Claims count insured losses. Take-up is high in mapped floodplains and low inland, so an inland county with flooding and few policies reads low.
  4. 3.9 · October 13, 2026 — Wildfire reads large fires near the location and the Forest Service's share of homes exposed

    • Frequency: the component was one number per wildfire region, and every region's number was above its full scale, so every point in a region scored the full 3.5 (Houston, with one large fire within 50 km since 1984, the same as Galveston with twenty and Boise with 105). It now reads the density of wildfires of 1,000+ acres within ~83 km from the MTBS satellite record, 1984-2024 (15,570 fires), scaled against the 99th percentile of the same grid (wildfire_local_full_scale_rate, 3.232 per 10,000 km2 per year). MTBS maps every fire of that size, so a place with none reads 0. Territories outside MTBS (all but Puerto Rico) keep the regional rate.
    • Wildland-urban interface: the component was 4 x developed x wildland from NLCD land cover over a 0.25-degree cell. It diluted forest towns into their forests (Paradise, CA read 0.16 of 1) and could not tell desert shrub from conifer forest (El Paso read 0.98). It now reads the USDA Forest Service's Wildfire Risk to Communities: the share of homes in its Direct or Indirect exposure zones, mapped from LANDFIRE fuels and simulated burn probability, for the Census place the point is in, else its county (RDS-2024-0030, 2026 summaries). The NLCD mixture remains the fallback outside WRC coverage (Puerto Rico and the territories).
    • Headline wildfire scores: Malibu 8.1, Paradise 7.8 (was 5.8), Boise 7.0 (8.7), Gatlinburg 5.9 (0.5), Lahaina 5.4, Redding 5.2 (8.4), Bend 4.2 (8.8), Los Angeles 3.2 (7.1), Santa Rosa 2.9 (9.2), El Paso 2.3 (9.9), Atlanta 1.6 (8.2), Houston 0.5 (6.5), Chicago 0.0 (0.6).
    • A place's exposure is its average: Los Angeles is one place at 11%, so a hillside street there reads the city's figure while Malibu next door reads its own 97%. Santa Rosa reads 43% exposed and few large fires within 83 km over 41 years; its recent disasters weigh little in a 41-year frequency.
  5. 3.8 · October 12, 2026 — Tornado hazard reads significant (EF2+) tornadoes, scaled against its own local grid

    • The tornado frequency component was the density of every reported tornado within ~83 km, scaled against the most-exposed state's average. A local density and a state average are different quantities, so 5% of US cells sat at the top of the scale: Houston, Miami and Tuscaloosa scored 10.0, level with Moore, Oklahoma. Weak (EF0/EF1) reports follow population, so the brightest cells were cities.
    • It now counts significant tornadoes only (EF2+, F2+ before 2007), from NOAA SPC's rated tornado track file, 1980-2024 (6,396 of 51,630 tornadoes), and scales against the 99th percentile of the same 0.25-degree grid (tornado_ef2_local_full_scale_rate, 1.056 per 10,000 km2 per year). Only the top 1% of cells reach the full score.
    • Moore and Jackson, Mississippi stay at 10.0; Tuscaloosa 10.0 to 7.6, Houston 10.0 to 7.3, Miami 10.0 to 1.3, Chicago 4.8 to 0.8. Regional means agree with the independently derived EF2+ rates: Plains 1.17x, Southeast 0.85x.
    • Points with no tornado of any rating on record nearby keep the state all-report rate, then FEMA declarations, as before. The housing and nocturnal proxies are unchanged and still outside the headline score.
  6. 3.7 · October 11, 2026 — Alaska and Hawaii earthquake hazard also read the USGS 2023 National Seismic Hazard Model

    • Model 3.6 read the NSHM's ground motion for the conterminous US only; Alaska and Hawaii kept the regional source-zone and fault-distance method. They now read the same data release's Alaska 2023.R1 (0.1-degree) and Hawaii 2021.R2 (0.02-degree) grids, on the same scale and anchors.
    • The regional method ranked ten Alaska and Hawaii cities against the NSHM at a Spearman of 0.62: Hilo (1.07 g) scored 3.1, below Juneau (0.20 g) at 6.3, and Anchorage (1.37 g), Juneau and Adak (1.32 g) all scored 5.8-6.3. Now Anchorage 9.8, Kodiak 9.8, Adak 9.7, Fairbanks 7.5, Juneau 5.4; Kailua-Kona 9.4, Hilo 9.2, Kahului 7.1, Honolulu 6.2, Lihue 3.5. Spearman 0.997 on the ten, 0.999 across all 42 yardstick cities.
    • The Alaska grid matches USGS's hazard service to 0.1% at five cities. Hawaii is held to the 2021.R2 release's own test-site values, which it matches exactly; the public service still answers 2021.R1, which reads 2-5% lower.
    • Puerto Rico and the other territories, outside every grid, keep the regional method, labeled as such.
  7. 3.6 · October 11, 2026 — Earthquake hazard is scored from the USGS 2023 National Seismic Hazard Model

    • The earthquake hazard score is now the peak ground acceleration with a 2% chance of exceedance in 50 years at site class BC, read from USGS's own 0.05-degree grid of the 2023 National Seismic Hazard Model (CONUS 2023.R2, doi:10.5066/P14VGAV4), on a log scale: 0 at 0.02 g, 10 at 1.5 g and above.
    • It replaces a source-zone earthquake rate plus a fault-distance band, which ranked cities against the NSHM at a Spearman of 0.23 across 32 cities: Charleston (0.89 g) and Memphis (0.80 g) scored 0.9 and 0.7, level with Chicago (0.10 g), while Denver (0.095 g) scored 7.9 and Boise (0.08 g) 8.6. The zone term counted a zone's whole earthquake rate, so the large Intermountain West zone raised every point in it and the small eastern zones held their cities near zero (known debt #112).
    • Scores move most in the interior West (Denver 7.9 to 3.6, Boise 8.6 to 3.2, Las Vegas 9.1 to 5.6) and the central and eastern US (Memphis 0.7 to 8.6, Charleston 0.9 to 8.8, St. Louis 0.7 to 7.2, New York 0.9 to 6.4). The Pacific coast stays high (Los Angeles 8.8, Seattle 8.3). Across the 32 cities the score's ranking now agrees with the NSHM at a Spearman of 0.997.
    • Alaska, Hawaii and the territories are outside the conterminous grid and keep the previous regional method, labeled as such. The construction-vulnerability proxy is unchanged and still outside the headline score.
  8. 3.5 · October 7, 2026 — Wildfire rates refitted after removing fires counted twice in the perimeter record

    • The NIFC perimeter record held 1,317 fires stored twice under differently capitalized names ("CREEK" and "Creek"); migration 188 removed them and keys fires case-insensitively so the ingest cannot add them back. Within the 2000-2024 fitting window that was 146 California fires, 25 Pacific Northwest and 83 Mountain West, so all three NIFC-fitted rates were too high.
    • Refitted rates of fires of 1,000+ acres a year: California 49.3 to 43.5 (1,087 fires), Pacific Northwest 47.6 to 46.6 (1,165), Mountain West 172.0 to 168.6 (4,216); the size distributions move slightly with them. The Southern US rate is fitted on MTBS (model 3.3) and does not change.
    • The hazard score's regional input, fires of 10,000+ acres a year, falls to 11.72 in California (was 13.81), 14.09 in the Pacific Northwest (14.52) and 39.52 in the Mountain West (40.70); migration 189 supersedes the three model_parameters rows. Wildfire scores and wildfire EP curves in those regions move down accordingly.
    • Against the independent MTBS record the refit closes California's gap (1.13x to 1.00x) and leaves the Pacific Northwest at 1.00x; the Mountain West moves from 0.91x to 0.89x, still inside the band. All four wildfire frequency checks pass.
  9. 3.4 · September 26, 2026 — Secondary uncertainty for earthquake: the damage state is realised per event and location from the Hazus fragilities

    • For every earthquake event and location the runner draws the damage state (none, slight, moderate, extensive, complete) from the Hazus 6.1 equivalent-PGA fragility probabilities at the site intensity, keyed by event id and site like the ground-motion variability, instead of scoring the expected damage ratio. The expectation is unchanged; the year-to-year spread and the OEP tail widen, which is where the 1-in-100 and beyond are quoted (known debt #114, M-15 residual).
    • Hurricane and wildfire keep point damage ratios: neither the Hazus wind loss curve nor the zone damage table carries a sourced spread, and inventing one was the mistake removed in model 2.0. Every EP response now says which it applied (uncertainty.secondary).
    • Effects, measured on the register: the ten-city California loss ratio against FEMA P-366 moves from 1.17x to 1.24x (band ÷2 to ×2, passes); the three USGS intensity checks are untouched (the hazard side does not change); every earthquake check passes. Earthquake AAL on a book moves only by sampling; the 1-in-250 and beyond rise.
  10. 3.3 · September 24, 2026 — Southern US wildfire rate fitted on the MTBS record; the last frequency failure in the register closes

    • The Southern US wildfire region's rate of fires of 1,000+ acres is 90.1 a year (2,253 fires over 2000-2024 in the MTBS Fire Occurrence Dataset, wildfire and wildland-fire-use types), replacing 22.0 fitted on the NIFC perimeter record — which holds few Southern perimeters before WFIGS (2020) and understated the region about four-fold, audit finding M-22. The other three regions stay on their NIFC fits, which MTBS confirms to within 15%. Texas, Oklahoma and Florida carry 84% of the Southern count.
    • The size distribution and the placement grid for the region are unchanged and still come from the NIFC record (the MTBS occurrence file carries acreage but the catalog module keeps counts only); the fitted share of fires reaching 10,000 acres (15.1%) therefore also stands, so the seeded large-fire frequency the hazard scorer reads rises in proportion, from 3.3 to 13.6 fires of 10,000+ acres a year.
    • Because the rate is now fitted on the same catalog the register checks it against, the Southern US frequency row is a consistency check, not an independent validation, and says so; M-22 is delisted, the Southern US model-limit note is retired (a cached score carrying it loses it on re-read), and no frequency check in the register fails. The wildfire hazard score's fire-frequency component rises across FL, GA, SC, NC, TX, LA, OK, AR, MS and AL.
  11. 3.2 · September 24, 2026 — Central and Eastern US earthquake rates fitted; the last earthquake frequency failure closes

    • The Gutenberg-Richter a-values of the Central US / New Madrid and Eastern US source zones are fitted for the first time: anchored at M5.0 on the independent (Gardner-Knopoff declustered) USGS ComCat record over 1900-2024, the same method the four western zones were anchored with over 1980-2024 (scripts/validation/fetch-usgs-ceus-mainshocks.ts; the events are checked into lib/modeling/validation/catalogue/usgs-ceus-mainshocks.ts). Central US: 7 independent M5+ in 125 years, 0.056 a year, a = 3.748 (was 2.8, 0.006 a year). Eastern US: 14 in 125 years, 0.112 a year, a = 4.549 (was 2.0, 0.0003 a year — one M5+ every 3,000 years for a region that produced eight in 45, audit finding M-17). b-values unchanged at the NSHM values.
    • Why 1900: east of the Rockies 1980-2024 holds 2 and 8 independent M5+ events, too few to anchor on, which is why the two zones were left on literature values in 3c. A M5+ in the populated East has been in the historical record since before instrumentation, and ComCat's independent M5+ counts per decade in both boxes carry no upward trend from the 1900s to the 2020s — the completeness evidence the western window was held to. Seven and fourteen events put a factor of about two on each rate (Poisson, 95%); the literature values sat ten and four hundred times below the observed rates.
    • Effects: the seismic-activity component of the earthquake hazard score rises across MO, TN, AR, KY, IL and the twelve Eastern states from near zero to a measured rate; the earthquake event set produces those zones' background events at the observed rate; the Eastern US model-limit note (M-17, 'treat a low score here as unmeasured') is retired because the check it carried now passes; every earthquake frequency check passes. The register's Central US check (2 events in 45 years, band 0.005-0.160) reads 0.35x and passes; Eastern (8 in 45, band 0.077-0.350) reads 0.63x and passes.
  12. 3.1 · September 24, 2026 — Earthquake site intensity through the USGS ground-motion chain; every earthquake validation check now passes

    • For active-crust earthquakes the intensity at a site is read the way the USGS hazard model reads it: the Boore, Stewart, Seyhan & Atkinson (2014) NGA-West2 ground-motion model gives peak ground acceleration on reference rock at the Joyner-Boore distance (coefficients and functional form from USGS nshmp-lib 1.8.5, public domain), and the Worden et al. (2012) relation converts it to intensity. The model's aleatory variability is realised, not averaged away: one inter-event draw per event and one intra-event draw per site, from a hash of the event and the site so every set is reproducible and the validation checks score exactly what the loss runner scores. The Atkinson & Wald (2007) relation stays for the stable continental interior.
    • Measured against the USGS 2023 hazard curves: intensity once in 475 years at Los Angeles 7.8 (USGS 8.2), San Francisco 7.9 (8.2), San Jose 8.3 (8.4), all inside the ±0.5 band. The ten-city California loss ratio is 949 $ per $M, 1.2× FEMA P-366's statewide 808.5 and inside the ÷2 to ×2 band (2.0× in model 3.0, 0.12× in 2.5, 0.36× in 2.4). Los Angeles wood frame at $10M books 0.097% of value a year against P-366's 0.093% for the Los Angeles metro; San Francisco 0.092% against 0.114%. Four seeds at 5,000 years spread 1.3× at Los Angeles and 1.5× at San Francisco.
    • Without the aleatory variability the same chain read a full intensity unit low (Los Angeles 7.2), which is the expected behavior of a median-only chain against a hazard curve that integrates the variability; the register records that measurement.
  13. 3.0 · September 24, 2026 — Earthquake fault sources: the USGS 2023 NSHM western-US fault system replaces the on-fault part of the zone sources

    • Every rupture of the USGS 2023 National Seismic Hazard Model's western-US fault system (branch average, nshm-conus 6.2.0, public domain; 130,491 ruptures carrying 99.9% of the published rate after ruptures rarer than once in a hundred million years are dropped) occurs in the stochastic set as its own Poisson process at its published annual rate. It is placed at its trace centroid and the loss runner measures each site's distance to the rupture trace, not to a point. The Pacific Coast and Intermountain West zones carry only the background: their catalog-fitted Gutenberg-Richter rate less the fault-system rate, per 0.1-magnitude bin, floored at zero, on the observed-seismicity grid. Other zones are unchanged, and the per-zone M5+ frequency checks still pass.
    • Held to the USGS 2023 hazard curves, the set now delivers MMI 8.1 once in 475 years at Los Angeles (USGS 8.2, inside the band, from 6.5 before), 8.9 at San Francisco (8.2) and 8.9 at San Jose (8.4): the last two read about half an intensity unit high near the Hayward and San Andreas, where the Atkinson & Wald (2007) relation at short rupture distance runs above the USGS ground-motion chain. The ten-city California loss ratio moves from 0.12x to about 2.0x FEMA P-366 — the hazard is now the NSHM's, the damage curve reads 1.5x high under the same hazard, and the two multiply. Los Angeles wood frame at $10M: 0.12% of value a year (0.004% before; P-366's Los Angeles metro ratio is 0.093%), San Francisco 0.38% (P-366 0.114%). Four seeds at 5,000 years spread 2.2x at Los Angeles and 1.1x at San Francisco.
    • Earthquake EP curves stay withheld below Enterprise: the level is now high rather than low, and the near-fault reading is the open question.
  14. 2.6 · September 24, 2026 — One damage curve per peril: the deterministic loss path reads the Hazus curves; the unsourced wind-design multipliers retired

    • The deterministic loss path (the risk scorer's loss estimate and the portfolio loss estimate) read its own hurricane and earthquake curves — Saffir-Simpson category ratios and MMI thresholds seeded in March 2026 — while the stochastic and live-event paths read the Hazus curves. It now reads the same Hazus wind loss curve (W1's representative building, entered at the 3-second gust, at the location's Hazus terrain roughness where the caller knows the location) and the same Hazus 6.1 equivalent-PGA fragilities (W1, Low-Code). The thirteen threshold rows are superseded by migration 171. A category-3 gust in open terrain reads 0.74 instead of 0.25; MMI 7.5 reads 0.06 instead of 0.50.
    • The wind-design multiplier by year built and state (Florida Building Code 0.7 / 0.85 / 1.2; ASCE era 0.8 / 0.9 / 1.0 / 1.15) is retired. It had no published source, and Hazus expresses design era through the building attributes the curve is chosen by, so it was a second, unsourced route to the same effect. A Florida house built in 2005 now reads the curve as published (it read 0.7x); a pre-1980 house elsewhere reads as published (it read 1.15x). The Milton 2024 benchmark is unchanged: it never carried a year built.
  15. 2.5 · September 24, 2026 — Earthquake damage from the Hazus 6.1 equivalent-PGA fragilities and repair-cost ratios; the typed damage table retired

    • Earthquake building damage is computed the way Hazus computes it: the intensity is read as peak ground acceleration through the Worden et al. (2012) relation, each damage state's probability comes from its lognormal fragility (Hazus 6.1 equivalent-PGA medians and dispersions as tabulated by NHERI SimCenter DLML, BSD-3, commit 192d280), and the mean loss ratio is the sum of state probabilities times the repair-cost ratio for that state (slight 2%, moderate 10%, extensive 44.7% for single-family, complete 100%). The typed table of approximate means by MMI, seeded by migration 083, is retired and its rows superseded by migration 170.
    • The seismic design level selects the fragility (High-, Moderate-, Low- or Pre-Code from the year built; unknown reads Low-Code) instead of scaling a curve by an unsourced multiplier, which is retired.
    • For light wood frame at Low-Code the new curve reads 0.002 at MMI 6, 0.023 at 7, 0.13 at 8, 0.49 at 9 and 0.90 at 10, against 0.02 / 0.08 / 0.20 / 0.45 / 0.70 before: flatter below MMI 8, steeper above it. Hazus ranks light wood frame as the best-performing common type and steel light frame the worst; the retired table had concrete and steel frames outperforming wood.
    • Held to the USGS NSHM 2023 hazard at ten California cities, the curve now books about 1,200 $ per $M against FEMA P-366's 808.5 (inside the ÷2 to ×2 band; it booked 2,367 before). In the stochastic set the same portfolio moves from 295 to about 95 $ per $M, 0.12x P-366, because the event set delivers about an eighth of the USGS hazard at the cities (known-debt #79, the hazard half, still open). Los Angeles wood frame at $10M books about 0.004% of value at 500 simulated years, against 0.031% before. Earthquake EP curves stay withheld below Enterprise.
  16. 2.4 · September 15, 2026 — Live-event hurricane loss (event exposure, ICS-209) reads the Hazus curves at sampled local terrain instead of open terrain

    • Model 2.3 read the Hazus hurricane wind curves at each location's tract terrain roughness on the stochastic path, but the live-event exposure path scores consequence rings, not locations, so it read the open-terrain curve, the highest-loss curve for houses (about 3.8× Milton's insured loss against 1.4× with roughness). That path feeds the ICS-209 an emergency manager files (known debt #131, item 2).
    • Each ring already samples 16 points and resolves them to Census tracts to count its structures. The curve is now read at the Hazus land-cover roughness of each sample point that has one (lib/geo/terrain-roughness.ts), and the ring's damage ratio is the mean of those ratios weighted by each point's housing density (lib/exposure/zone-terrain.ts). The ratio is averaged, not the roughness, because the curves are nonlinear in z0. Points on water, outside the 20 Hazus roughness states or without land cover are dropped rather than read at the open-terrain default; a ring with no measured point reads open terrain, as before.
    • The exposure response carries terrain_roughness per ring (land points, measured points, housing-weighted mean z0). Live-event loss for a hurricane over rough suburban or treed terrain therefore falls, typically by half or more at hurricane-force gusts; over open coast it is unchanged. The live path has not been benchmarked separately against Milton; the stochastic benchmark (1.38×) is its closest comparator, and the loss disclosure says so.
  17. 2.3 · September 15, 2026 — Hurricane damage from the Hazus wind loss curves at each location's terrain roughness; Milton benchmark now inside its band

    • Hurricane building damage is read from the Hazus 5.1 hurricane wind loss functions as tabulated by NHERI SimCenter DLML (BSD-3; commit 6629997, loss_repair.csv sha256 6f023f82…), one representative Hazus wind building per construction type, replacing the Calchis screening-level table, which had no terrain term (credibility M-27). The representative building is chosen by rule, not weighted, because Calchis holds no sourced building-attribute mix: no shutters, no secondary water resistance, the weakest roof-deck nailing and roof-to-wall connection Hazus tabulates, gable roof, no garage. For W1 that is Hazus WSF1 wbID 6. The rule, the terrain derivation, the open-terrain default and the interpolation were fixed before the Milton benchmark was run on the curves.
    • The curve is read at the Hazus terrain roughness of the location's Census tract: Hazus Hurricane Technical Manual 5.1 Tables 4-13/4-14 (roughness per NLCD land-cover class, per state) applied to the tract's NLCD 2021 land-cover fractions, in the 20 Atlantic and Gulf states the manual covers (lib/geo/terrain-roughness.ts). Between the five tabulated roughness lengths the ratio is interpolated in ln(z0). Elsewhere, and in Hawaii, which the land-cover data does not cover, and on the live-event exposure path, which has no per-location roughness, the curve is read at open terrain (0.03 m), the highest-loss terrain for houses.
    • Hurricane Milton (2024) benchmark: $107.0bn (4.28× the reported $25bn insured loss, FAIL) became $34.4bn (1.38×), inside the ÷2 to ×2 band, and the check is delisted from KNOWN_FAILURES. Read at open terrain everywhere the same curves book $95.9bn, so terrain roughness carries the change. The pass is not a claim the figure is right: the model's figure is residential wind alone and sits level with NCEI's $34.3bn all-cause damage estimate, so loss figures still carry a reads-high note.
    • The Hazus curve is steeper than the retired table. For W1 in open terrain it reads lower below a 110 mph gust (0.018 against 0.05 at 90 mph) and higher above it (0.41 against 0.29 at 124 mph, 0.92 against 0.55 at 150 mph); at 0.35 m roughness it reads 0.15 at 124 mph. Hurricane loss on paths with no location, including live-event exposure and the ICS-209, therefore reads higher than under 2.2 for strong hurricanes and lower for weak ones. The Florida and code-era wind multipliers are unchanged and still apply on top of the curve; they are Calchis estimates with no located source (known debt #131).
  18. 2.2 · September 4, 2026 — Portfolio earthquake EP simulated for the longest measured length the book affords; seed spread quoted

    • The portfolio earthquake EP curve is simulated for 5,000 years for books up to 1,000 locations, 2,000 years up to 2,500, 1,000 years up to 5,000 and 500 years above that (lib/modeling/stochastic/earthquake-years.ts), instead of 500 years for every book. Measured 2026-09-04 on the 200-location western book over 8 seeds at model 2.1 rates, the AAL spread across seeds is 2.47× at 500 years, 1.79× at 1,000, 1.57× at 2,000 and 1.18× at 5,000; the response quotes the spread for the length it ran (aal_seed_spread) beside simulatedYears. A book that lands on 500 years gets the figure it always did. Return periods beyond 1-in-250 become quotable for the longer runs under the 2.0 tail rule. The Enterprise gate on earthquake EP stays, on the level alone: against FEMA P-366 Table 3-1 the model books about a third of California's published loss ratio (known debt #79).
    • computeEPCurve tests each event against the book's bounding box, grown by the event's footprint, before the per-location scan. The earthquake set is about 178 events a year and 78% are in Alaska; on a CONUS book every one was tested against every location and rejected. The EP step is about six times cheaper (14.4s to 2.5s per million location-years on a developer box) and the curve is byte-identical — the box is never smaller than the per-location cut-off it fronts, and a test holds the two scans equal.
  19. 2.1 · September 4, 2026 — Hazard scores are hazard only; vulnerability proxies reported separately; hurricane return periods per coastal segment; calibration curves generated from code

    • Every score component carries a role. The headline score is now 10 × Σ points of the hazard components / Σ their weight, one decimal; the components that stand in for vulnerability or consequence — manufactured-housing density and the nocturnal fraction (tornado, formerly 5.0 of 10), roof type (hail, formerly 5.0 of 10), the Hazus W1 damage threshold (earthquake, formerly 3.5 of 10) and the regional fuel-load constant (wildfire, formerly 3.0 of 10) — are still computed and returned under proxy_score, named as what they are, and no longer move the number. A tornado score that read 6.6 in the Southeast on a measured rate of 3.3 plus 3.3 of housing-stock and night-time constants now reads 6.6 from the rate alone; a Plains hail score no longer shares its scale with a hand-typed roof table. Hurricane, flood and winter storm had no proxy term and rescale by nothing.
    • The CAT3+ landfall return period is read for the coastal segment nearest the site (within 250 km) before the state or regional row, from the same NOAA HRD 1950-2024 landfall catalog the hurricane event set is fitted to: Gulf-Panhandle 7.5 yr, Texas 10.7, Florida-Gulf 10.7, Southeast-Atlantic 10.7, Louisiana-Mississippi 12.5, Florida-Atlantic 15.0, Mid-Atlantic-Northeast 75 (one landfall). The Florida row was the Miami-radius figure (9.0 yr) applied statewide, so Pensacola was scored on Miami's return period at about half its observed frequency.
    • The calibration curves are pure functions (lib/modeling/hazard-curves.ts) and docs/hazard-score-calibration.md is generated from them at the seeded constants, with a drift test; the documented anchors and the computed values could not disagree again. The severity bands (8.5 / 6.5 / 4.0) are stated as presentation thresholds, not calibrated cut-offs.
    • A score of 0 whose components include a failed lookup is returned with lookup_failed and rendered as no data; it used to read 0.0 LOW, the same as a settled zero. estimated_share is computed over the hazard components only, since the proxies no longer weigh on the number it describes.
  20. 2.0 · September 4, 2026 — Sampling uncertainty on every return-period loss; 3 significant figures; one random-number stream; event sets identified by seed and period

    • Every OEP, AEP and TVaR point the EP curve quotes carries a 90% bootstrap confidence band (200 resamples of the simulated years, seeded from the event set, the perspective and the period) and the number of simulated years beyond the return period. The 1-in-N is refused when fewer than 2 simulated years lie beyond it: a 1,000-year run quotes through 1-in-500, a 10,000-season site run through 1-in-1,000. Until now a 1-in-1,000 was quoted off the single largest year of a 1,000-year run with no statement of its uncertainty. The AAL carries the same band; /risk/loss and /portfolio/loss return the spread across their seeds and the widest band on each return period.
    • Modeled losses are rounded to 3 significant figures at the point of quotation. The figures were whole dollars, which read as precision the model does not have. The rounding is a presentation change; a figure that was $1,234,567 is now $1,230,000 and its band was already wider than that.
    • The three event-set generators draw from one shared random-number generator (lib/modeling/stochastic/rng.ts) instead of three copies of the same linear congruential generator. Earthquake and hurricane catalogs are unchanged event for event; the wildfire catalog changes because its copy sampled the exponential as −ln(u) and the shared class samples −ln(1−u), so every wildfire loss figure moves within its own sampling band. An agreement test holds the recorded sequence.
    • An event set's id carries its simulated period and seed (hur-set-v2-10000y-7 for a single-site run, hur-set-v2-1000y-7 for a portfolio run); the two paths previously reported the same id for sets of different length. The seeded catalog stores seed, simulated_years and that id (migration 138) and every loss response returns the seeds and ids behind it.
    • The vulnerability functions no longer return a standard deviation. Nothing consumed it and three of the four were invented as a fraction of the damage ratio; the model applies no secondary uncertainty and now says only that.
  21. 1.9 · September 4, 2026 — Contents modeled only as supplied and through a contents function; ground-up and gross perspectives; construction codes resolved or refused

    • The portfolio EP curve models contents from the location's ContentsTIV and nothing else. A row with a building value and no contents value is modeled with no contents; the response counts those rows. Until now every valued row carried an invented contents share of 50% of the building value (total insured value × 1.5), so every EP curve, AAL and return-period figure for a book of valued locations was overstated by up to 1.5× against the client's own schedule, and the two portfolio loss endpoints disagreed by that factor (/portfolio/loss never applied it).
    • Contents damage runs through a contents function instead of the building curve: the earthquake contents-to-building damage ratio is the seeded, verified Hazus value 0.50 (contents damage 1/5/25/50% by damage state over RES1 repair cost 2/10/50/100%; the deterministic path had used 0.80 as an estimate and the stochastic path 1.0), hurricane uses the estimated 0.85 the deterministic path already read, wildfire 1.0.
    • Every loss response states its perspective. /portfolio/ep-curve accepts perspective "ground_up" (default, unchanged arithmetic) or "gross", which applies the OED site deductible and limit stored on the location (LocDed6All/LocDedType6All, LocLimit6All/LocLimitType6All; migration 137) per event per location before aggregation, and reports how many rows carried terms. /portfolio/loss and /risk/loss state ground_up; /risk/loss accepts a contents value.
    • Construction codes are resolved rather than silently defaulted: an exact Hazus class, a Hazus sub-class, an OED 4-digit construction code or a plain-language descriptor maps to one of nine model building types and the response counts exact, coerced and defaulted rows; a code that matches none of those makes the location unmodeled (counted, with the unknown code) instead of being scored as W1 wood frame.
  22. 1.8 · September 4, 2026 — One Gutenberg-Richter fit per seismic source zone, one large-fire rate per wildfire region, Poisson years and a stable-continent intensity relation

    • The earthquake score, the earthquake return period and the stochastic earthquake set read the same Gutenberg-Richter a/b fit per seismic source zone (Pacific Coast, Intermountain West, Central US / New Madrid, Eastern US, Alaska, Hawaii; USGS ComCat 1980–2024, declustered), keyed by the location's state; the score previously used a hand-typed California fit at the state scope and the event set its own fit in code. Seismic activity outside the fitted zones falls back to the regional default and says so.
    • The stochastic earthquake set draws each zone's yearly event count from a Poisson distribution and stamps the year on every event; the loss runner assigns events to simulation years from that stamp. The old set fixed the count at round(rate × years) and hashed events into years, which understated year-to-year dispersion and so the exceedance-probability tail.
    • Central US and Eastern US events use Atkinson & Wald (2007)'s Central/Eastern US intensity relation, which decays more slowly with distance than the California relation the whole country used before; Alaska and Hawaii keep the California relation and the source zone table says so.
    • The wildfire score reads one fitted large-fire rate per region (NIFC perimeters 1984–2024, ≥10,000 acres via a truncated log-normal size distribution: California ≈14 a year against the 8.2 the score used before) and no climate multiplier — the 1.15 factor had no named source. The Southern US rate is understated by roughly 2–4× against MTBS and the region row discloses it.
    • The runner's wildfire vulnerability is anchored so a W1 structure inside a fire perimeter carries the 0.25 WUI structure-loss rate the parameter table names, instead of the 0.80 the zone table implied; every wildfire loss figure is scaled by 0.25/0.80.
  23. 1.7 · September 4, 2026 — Hurricane event set fitted to the HRD landfall record with a parametric wind field

    • Landfall frequency, intensity and coastal segment are fitted to NOAA/AOML HRD's US hurricane landfalls 1950–2024 (1.6 a year, 0.57 majors, a truncated-Weibull intensity by maximum likelihood); the v1 set made 2.4 hurricane landfalls a year and a Cat 5 every 3.8 years.
    • Each storm carries a Willoughby (2006) radius of maximum wind, a Vickery & Wadhera (2008) Holland B, a Holland (1980) profile with forward-motion asymmetry and Kaplan & DeMaria over-land decay; the footprint is solved from the profile instead of a fixed 65 km and a 1.5× cut-off, so single-site hurricane figures change everywhere on the coast.
    • CAT1+ and CAT2+ return periods divide the scoped CAT3+ parameter by the catalog's own landfall-count ratios instead of 2.0 and 1.4; hurricane vulnerability now receives the state and an unknown year built as published rather than as 1990.
  24. 1.6 · September 2, 2026 — Wildfire event set placed on the burn record with fitted rates

    • 58,167 pre-2020 NIFC perimeters backfilled; the stochastic wildfire set now samples ignition from the observed 1984–2019 burn record instead of uniformly within a regional box.
    • Wildfire event rates and size distributions refitted to the same record; portfolio-level figures converge, single-site wildfire loss stays refused (known debt #80).
  25. 1.5 · September 2, 2026 — Earthquake rates fitted to the declustered USGS catalog

    • Gutenberg–Richter a-values per seismic zone refitted to the declustered USGS catalog; the Pacific Coast zone moved from 0.56 to roughly 3.5 M≥5 events per year, which is what its own comment had claimed.
    • Earthquake site loss remains refused below Enterprise because placement is still uniform within a zone (known debt #79).
  26. 1.4 · September 2, 2026 — Flood scored on freeboard against the FEMA base flood elevation

    • The flood component reads FEMA NFHL base flood elevation and scores freeboard (ground elevation minus BFE) rather than altitude alone.
    • NGVD29-datum BFEs are refused and the component falls back, because the datum offset is the size of the freeboard being resolved (known debt #96).
  27. 1.3 · September 1, 2026 — Ground elevation from USGS 3DEP

    • Storm surge reads site elevation from the USGS 3DEP elevation point query service; flood reads it below 10 ft.
    • A declared, never-populated wildfire risk class was removed from the score components.
  28. 1.2 · August 26, 2026 — Hail frequency from observed local density

    • Hail moved from a per-state rate to the observed density of SPC hail reports around the site; Dallas rose from 4.4 to 7.5 and Galveston fell from 4.4 to 3.4, so the label changed.
  29. 1.1 · August 26, 2026 — Location-aware scoring

    • Per-location inputs (fault distance, flood zone, wildland–urban interface, coastal distance) replace regional averages where the source resolves; each component reports whether it measured or fell back.
    • The version is stamped on every score, cache key and export; it was previously reported but not used.
  30. 1.0 · March 15, 2026 — Research-calibrated scoring engine

    • Six-peril hazard scores from USGS NSHM 2023, IBTrACS, NIFC, FEMA NFHL and NOAA SPC frequency data with published component weights.
    • Hazus-derived vulnerability functions and the three-module loss pipeline (hazard → vulnerability → financial).

Key References

  1. Petersen, M.D., et al. (2024). "The 2023 US National Seismic Hazard Model." BSSA.
  2. Powers, P.M. & Altekruse, J.M. (2022). nshm-conus: National Seismic Hazard Model for the conterminous U.S., USGS software release, doi:10.5066/P9J1OVR6 — western-US fault system (model 3.0).
  3. Boore, D.M., Stewart, J.P., Seyhan, E. & Atkinson, G.M. (2014). NGA-West2 equations for predicting PGA, PGV, and 5% damped PSA for shallow crustal earthquakes. Earthquake Spectra 30(3); coefficients and implementation as in USGS nshmp-lib (model 3.1).
  4. Worden, C.B., Gerstenberger, M.C., Rhoades, D.A. & Wald, D.J. (2012). Probabilistic relationships between ground-motion parameters and Modified Mercalli intensity in California. BSSA 102(1).
  5. Atkinson, G.M. & Wald, D.J. (2007). Seismological Research Letters 78(3), 362-368.
  6. FEMA Hazus Earthquake Model Technical Manual v6.1 (2024). Earthquake damage: Hazus 6.1 equivalent-PGA structural fragilities and repair-cost ratios as tabulated by NHERI SimCenter DLML (BSD-3), one low-rise fragility per construction type, the design level from the year built; intensity read as peak ground acceleration through Worden et al. (2012), BSSA 102(1) (model 2.5).
  7. FEMA Hazus Hurricane Model Technical Manual v5.1 (2022), §4.4 terrain roughness. Hurricane damage: Hazus 5.1 hurricane wind loss functions as tabulated by NHERI SimCenter DLML (BSD-3), one representative unmitigated building per construction type, read at the location's Hazus land-cover terrain roughness where one is known and at open terrain otherwise (model 2.3).
  8. FEMA Hazus Flood Model Technical Manual v5.1 (2023).
  9. Kaplan, J. & DeMaria, M. (1995). J. Applied Meteorology.
  10. Knapp, K.R., et al. (2010). IBTrACS. BAMS.
  11. Abatzoglou, J.T. & Williams, A.P. (2016). PNAS 113(42). DOI: 10.1073/pnas.1607171113
  12. Zscheischler, J., et al. (2020). Nature Reviews Earth & Environment. DOI: 10.1038/s43017-020-0060-z

Calchis Hazard Score — derived from cited public and academic sources. Property exposure data not included. Not a substitute for professional actuarial assessment. Decision-support intelligence — not a primary alerting or dispatch system. Verify against official sources.