Screening-level data package · August 2026

The public record cannot see the thing everyone says it can see

No insurer has ever cited sea level rise as a reason for leaving a market. Not once. We searched six independent ways, including the Senate Budget Committee investigation covering 249 million policy records from about 24 insurers. Every documented US exit between 2018 and 2026 traces to a realised loss year, rate-approval friction, or litigation — never to the slow hazard itself.

That is not a hole in the evidence. It is what the mechanism predicts. One-year contracts mean a slow hazard gets quietly repriced, never announced. And over the exact period sea level rise became most visible, Citizens' Miami-Dade book fell 69% — private carriers taking risk back in the most exposed large county in America.

The rest of this page is the dataset that let us establish that: a cited, provenance-tagged package for combined rainfall and sea-level flood risk across Brickell, the CBD, and Edgewater, and a stated account of where the public record runs out. Every number traces to a primary source. Jump to the insurer-exit analysis →

The anchors

Seven numbers that every scenario in this package is built on. Get these wrong and nothing downstream recovers — in a city whose usable relief is about ten feet, a third of a foot is a design decision.

MHHW, Virginia Key
+0.23
ft NAVD88 · 1983–2001 epoch
HAT — king tide
+1.20
ft NAVD88 · MHHW + 0.97 ft
Observed maximum
+3.80
ft NAVD88 · Irma, 10 Sep 2017
Building ground elev.
9.58
ft NAVD88 median · p5 = 2.94
100-yr, 24-hr rainfall
14.5
inches · Atlas 14 Vol. 9
Water table, wet season
0.84
ft NAVD88 median · p95 = 1.86
Buildings mapped
12,479
with estimated floor elevation
An earlier draft of this project assumed MHHW ≈ −0.16 ft NAVD88 and a king tide of MHHW + 1.5 ft. The published values are +0.23 ft and +0.97 ft. Both errors point the same way — toward under-stating today and over-stating the astronomy — and together they are worth about a foot. Read the datum file, not the memory.

NOAA flood thresholds at this gauge, converted to NAVD88

Thresholdft NAVD88ft above MHHWRecorded to date
Minor flooding1.921.69routine — a few days a year
Moderate flooding2.892.66occasional
Major flooding4.123.89never once observed

Under NOAA's Intermediate scenario, minor flooding reaches 365 days a year by 2090 and major flooding — which has never happened at this gauge — reaches 70 days a year by 2100.

Sea level: two scenario families, one axis

NOAA's 2022 scenarios are magnitude-based and emissions-agnostic; IPCC AR6's are emissions-driven. They are usually shown apart, which hides the useful comparison. NOAA's 2005 baseline and AR6's 1995–2014 mean differ by roughly two millimetres, so they plot together with no correction.

Relative sea level at Virginia Key, feet above ~2005
Solid: NOAA 2022 scenarios. Dashed: IPCC AR6 medium-confidence medians. Shaded: the AR6 SSP5-8.5 low-confidence range — deep uncertainty, not a worst case.
At 2050 the emissions scenario barely matters. All five AR6 SSP medians span 0.85–1.03 ft — less than the spread within any single scenario. The lines separate after 2070. Before then the uncertainty lives in the ice sheets, not in the emissions pathway, and an emissions toggle that shows visible mid-century difference overstates the science.

Why this location runs high

Virginia Key sits a constant +0.50 ft above the global mean at 2100 in every scenario. Differencing the AR6 archives with and without vertical land motion isolates the cause: 0.33 ft of that is the land going down — about 1.05 mm/yr of subsidence — and it is scenario-independent. The rest is sterodynamic (Gulf Stream and AMOC) plus the gravitational fingerprint of distant ice loss.

Because the excess is near-constant in absolute terms, it is proportionally largest under successful mitigation: +41% on top of SSP1-1.9, only +20% on top of SSP5-8.5.

Where the mapping breaks

NOAA Intermediate-High (5.25 ft at 2100) and High (6.96 ft) have no AR6 medium-confidence analogue at all — they exist only inside the low-confidence ice-sheet branch. And NOAA Low (1.44 ft) sits below AR6's most optimistic median.

The low-confidence branch should never be captioned "worst case." Its 2150 p95 is 20.78 ft and its 2300 p83 is 58.94 ft. There is no defensible worst case to draw — only a band whose upper edge is an artifact of how far the expert judgement was extended.

Recommended default: NOAA 2022 Intermediate-High at 2050. Not because it is most likely, but because the Southeast Florida Regional Climate Compact specifies Intermediate-High for non-critical and High for critical infrastructure — so defaulting to Intermediate would be more optimistic than the county's own design basis. Caveat worth checking: that guidance is the 2019/2020 edition, itself built on NOAA 2017 curves.

Six findings that change what you build

These came out of the data rather than the brief. Several of them contradict the assumptions the project started with.

01 Over half the drainage is underwater before it rains

Cross-referencing 3,034 surveyed structure elevations against 14,841 groundwater observations: 54.8% of structures with a known bottom sit below the wet-season median water table. 51.2% sit below even the dry-season median; 66.4% below the p95.

They are not accepting inlet flow. They are relieving aquifer pressure. Any model that treats the storm system as available capacity at t=0 is wrong from the first timestep.

02 Downtown doesn't drain to the bay — it drains down

There is no surface outfall inside the study area. The nearest real discharge point is 4 km away, on the C-7 canal. Downtown discharges instead through 2,594 FDEP Class V injection wells, median depth 120 ft, straight into the Biscayne aquifer.

Tailwater locking at outfalls is real but secondary here. Rejected infiltration is the co-dominant failure mode — which means findings 01 and 02 are the same finding, and both are groundwater problems rather than pipe problems.

03 The pipe-capacity layer cannot be built honestly from county data

Of 6,612 pipe segments: 2.2% carry a diameter, 0.1% carry invert elevations, 0% carry depth. The county's outfall ELEVATION field is 0.0% populated; the City of Miami's INVERT is 1.9%.

What does exist is vertical control — 3,034 surveyed rim elevations, 2,590 of them explicitly NAVD88. Build on rims and known bottoms; render everything inferred hatched, with the count in the legend. A green/yellow/red capacity map from this data would be roughly 98% inference wearing the costume of measurement.

04 77% of buildings have no measurable floor elevation

9,636 of 12,479 buildings sit in FEMA zone X. Outside the SFHA no elevation certificate is required, so after deduplication there were fewer than twenty usable local observations for that entire population. Their floor elevations are a borrowed pre-FIRM median.

69.5% of all downtown buildings are pre-FIRM — built before 1975, and never required to elevate to anything. The unmeasured-elevation wedge and the uninsured-loss wedge are the same buildings.

05 Two insurance markets, same water, opposite directions

Miami-Dade's Citizens book fell from 218,947 policies and $76.9 B of exposure in December 2022 to 67,353 and $19.2 B in July 2026 — down 69% in under four years. That is depopulation working: a recovering wind market.

Meanwhile 80.2% of Florida's 1.73 M NFIP policies are on an upward glide path to full risk under Rating 2.0. A single blended "fragility index" would misrepresent both markets. Show two tracks on a shared time axis.

06 Edgewater is the thin-data, thin-coverage corner

ZIP 33137 is 30.4% zone X, only 23.9% post-FIRM, and only 41.7% of its policies carry a filed floor elevation — against 33128's 3.6% / 30.1% / 69.8%. Oldest buildings, most voluntary coverage, thinnest record.

Voluntary policies outside the SFHA are the first to lapse when premiums rise. That is where uninsured loss gets manufactured, and it is measurable rather than rhetorical.

Provenance, quantified

The point of a provenance layer is to make inference visible. Here is what would be hatched, measured field by field rather than asserted.

Storm drain attribute completeness
Share of features carrying a usable value — whitespace-only placeholders counted as null, which is the difference between a trustworthy audit and a flattering one.
● Official — >90% populated ▲ Interpolate — 10–90% ✕ Assume — <10%
The geometry is excellent and the hydraulics are absent. Type, maintainer, and basin are complete on every one of the 6,612 segments; diameter is on 145 of them and inverts on eight. This is not unusual for a municipal GIS — the layer was built for asset location, not hydraulic modelling — but it decides what the visualiser is allowed to claim.
First-floor elevation: what each estimate rests on
12,479 buildings by the evidence behind their estimated floor elevation.
Only 2,239 buildings (17.9%) have a floor elevation grounded in local observation. The method is sound — NFIP certificates give a measured slab height above grade, stratified by construction era and flood zone — but it can only be applied where certificates exist, and outside the SFHA they do not. In the visualiser, the red band renders hatched.

How the floor elevations were derived

NFIP policy records carry lowestFloorElevation and lowestAdjacentGrade. The difference between them is the height of the first floor above the dirt beside the building, and it is stable within a construction era and flood zone. So it can be measured locally and applied where no certificate exists:

FIRM eraZonenp25medianp75
post-FIRMAE1,6080.902.407.40
pre-FIRMAE1,1350.801.602.50
post-FIRMVE1345.5010.1012.80
pre-FIRMAH1040.401.351.90
post-FIRMAH380.801.301.80
pre-FIRMVE260.701.304.00
eitherX<20

Slab height above lowest adjacent grade, in feet, from 5,461 deduplicated NFIP records. Ground elevation comes from the 5th percentile of 1 m LiDAR cells in a 3 m collar outside each building's wall line — the 5th percentile rather than the minimum, because single-cell minima in a dense urban DEM pick up gutters, tree pits, and stairwells.

The post-FIRM cutoff was derived, not assumed. NFIP's own post-FIRM flag flips cleanly at construction year 1975 — 1974 reads 2 post / 380 pre, and 1975 reads 186 post / 3 pre. The pre-FIRM AE p25 freeboard is −0.70 ft: a quarter of pre-FIRM buildings carrying flood policies sit below their own base flood elevation. That is not an artifact. That is what pre-1975 construction in a mapped floodplain looks like.

Exposure

Where the ground actually sits, and how many buildings a given still-water level reaches.

Ground elevation at building perimeters
12,479 buildings, lowest adjacent grade in ft NAVD88, 1 ft bins.
Downtown sits on the Atlantic Coastal Ridge, which is why the median is 9.58 ft and higher than most people expect. The exposure is not in the bulk of the distribution — it is in the p5 tail at 2.94 ft, along the Miami River and the bay edge. A visualiser that renders the mean tells you almost nothing.
Buildings with estimated floor elevation below a given still-water level
Tidal term only — before any rainfall ponding.
These numbers are small, and they should be. Downtown Miami's tidal problem is concentrated at the water's edge; its rainfall problem is everywhere the drainage fails — which is what the storm scenario models, and which findings 01 and 02 say begins already saturated. If a run shows tidal inundation touching thousands of buildings, the datum handling is wrong, not the city.

The insurance signal

Two markets react to the same water on different clocks. Kept separate on purpose.

Citizens Property Insurance policies in force — Miami-Dade County
All lines: personal residential multiperil and wind-only, plus commercial.
Down 69% in under four years, and exposure with it — $76.9 B to $19.2 B. Read on its own this looks like a market in retreat; read correctly it is the opposite. Citizens is the insurer of last resort, so a shrinking Citizens book means private carriers are taking risk back. The flood side is moving the other way at the same time.
NFIP claims paid by ZIP and year of loss
1978–2025, nominal dollars, five downtown ZIPs.
The record is event-driven, not gradual — Andrew in 1992, Irma in 2017, the December 2019 and 2022 rain events. Brickell (33131) carries the largest single-year total at $3.37 M in 2017; Edgewater (33137) has the most claims overall at 272. Between events the series sits at zero for years at a time, which is exactly why a fifty-year mean is the wrong statistic to build a risk map on.
ZIPAreaClaimsPaidPolicy recordsZone XPost-FIRMFloor elev. filed

Zone X share, post-FIRM share, and filed floor elevations come from the full policy extract. The last three columns move together — newer buildings, inside the SFHA, are the ones with measured elevations. Edgewater is weakest on all three.

When do insurers actually leave?

California is the worked precedent, so we tested the obvious hypothesis against 59 dated, sourced actions across five states, 2018–2026. The answer is not what the climate framing predicts.

NULL No insurer has ever cited sea level rise as a reason for leaving

Not once, anywhere in the United States. We searched six independent ways: direct queries, NAIC and Ceres climate-risk disclosures, the Senate Budget Committee's 2024 investigation (249 million policy records from ~24 insurers, 65% of the national market — it contains non-renewal counts and zero rationales), the Environmental Law Institute's coastal insurance materials, CBO's August 2024 analysis, and coastal-state-specific searches.

This is the model's prediction, not a gap in the evidence. Property insurance is a one-year contract. A carrier facing a hazard that shifts expected loss by low single digits per year simply reprices or non-renews at the moment the number moves. It never has to announce anything, and it never has to reference a projection.

California FAIR Plan residential policies in force
The residual market — where you go when nobody else will write you.
Flat at ~140,000 through 2018, then +131% in five years. The inflection is 2019 — the year after the Camp Fire, not the year any projection changed. Insurer-initiated non-renewals in the top ten wildfire counties went 5,940 in 2018 to 18,098 in 2019. The trigger is a realised loss year, and it shows up in the data within twelve months.

What actually triggers exit, ranked by evidence

MechanismDocumented as proximate causeStrength
Catastrophe / loss-ratio shockEvery case. State Farm General paid $1.26 in claims per $1.00 of premium over nine years; surplus fell $4.16 B (2016) to $1.04 B (end-2024)primary
Rate-approval frictionCalifornia only — and provable by reversal (below)primary
Litigation environmentFlorida only — and it dominated thereprimary
Reinsurance cost and availabilityAmplifier; rarely the initiator on its ownsecondary
Forward-looking climate modelsZero documented casesabsent

Two natural experiments

California, regulation. Proposition 103 barred insurers from using forward-looking catastrophe models and from passing through net reinsurance cost. Both bans lifted in December 2024. Farmers raised its new-business cap from 7,000 to 9,500 a month on 11 December 2024, explicitly citing the incoming regulations — with wildfire hazard unchanged. Chubb's Evan Greenberg, in the 2024 shareholder letter: "The state suppressed the industry's ability to charge a fair price for wildfire-exposed coverage."

Florida, litigation. In 2020 Florida generated ~9% of US homeowners claims and ~79% of US homeowners claims litigation. After SB 2-A removed one-way attorney fees and post-loss assignment of benefits, that fell to 4.85% of claims and 41.29% of suits by 2025. Twenty-one new carriers entered; the 2025 combined ratio was 83%, best in a decade. Hurricane Milton — $30–50 B insured, October 2024 — did not stop the recovery. Hazard unchanged, outcome reversed.

What it means for Miami

Over the exact period sea level rise has been most visible in public discussion, the most sea-level-exposed large county in America saw private carriers take risk back faster than anywhere in the country — Citizens' Miami-Dade book fell 69%. If projections drove insurer behaviour, that sign would be inverted.

Meanwhile the physical signal is real and accelerating: high-tide flood days at Virginia Key went from 0–3 a year before 2015 to 5–7 a year now. It moved the market not at all.

Flood is different because NFIP is federal. "Exit" there isn't carrier withdrawal — it's consumer lapse. Risk Rating 2.0 cut new policy uptake 11–39% and existing renewals 5–13%, worst in the lowest income quartile. GAO finds 66% of policies are still below their full-risk rate, median gap ~90%, with roughly 95% reaching full risk by 2037 under the 18%/year cap.

The timeline

59 dated actions. Filter by state; every row links to its source.

DateStateEntityActionStated driver
What to actually watch, given that most carriers exit silently — two of the California withdrawals gave no reason at all in their filings, and four published nothing. Behavioural series turn before announcements do: Citizens policies-in-force by county, Florida surplus-lines share, the ratio of rate-decrease to rate-increase filings, reinsurance rate-on-line indices, private flood market share, and NFIP policies-in-force by ZIP. The full list, with access paths and an explicit falsification test, is in NOTES_insurer_exit_patterns.md.

The data

Everything below is public and in the shared folder. Sources are primary throughout; the two secondary-sourced items are marked.

FileRecordsWhat it isSource
dem/dem_downtown_miami_1m…tif4561×77811 m LiDAR terrain, NAVD88 m, UTM 17NUSGS 3DEP, FL_MiamiDade_D23
dem/terrain_heightmap_4m.png1140×194516-bit browser-ready heightmap + decode JSONderived
building_ffe_estimates.csv12,479Estimated floor elevation, IQR band, provenance classderived — see notes
building_footprints_downtown_miami.geojson12,480Footprints + height, 99.9% folio-linkedMiami-Dade BuildingFootprintUBIDFolio
parcels_downtown_miami.geojson12,936Parcel polygons, year built, floors, units, DOR codeMiami-Dade PaParcelView
property_points_downtown_miami.geojson68,110Incl. 55,424 condo units; roll up via PARENT_FOLIOMiami-Dade PaGISView
fema_nfhl_flood_zones_downtown.geojson16391 AE · 47 VE · 11 AH · 10 X · 4 open waterFEMA NFHL layer 28
storm_drains_stormwater_lines.geojson6,6126,426 pipes + trench, channelsMiami-Dade StormWaterLine
storm_drains_stormwater_points.geojson7,2354,111 catch basins, 2,224 manholes, 72 wellsMiami-Dade StormWaterPoint
storm_structure_elevations_city_of_miami.geojson3,0543,034 surveyed rims, 2,590 explicitly NAVD88City of Miami RPW / Cartegraph
outfalls_fdep_uic_drainage_wells.geojson6,137Class V injection wells — how downtown actually drainsFDEP UIC
groundwater_levels_downtown.csv14,841Water table observations, 1940–2026, 31 sitesUSGS api.waterdata.usgs.gov
groundwater_wells_miami_dade.csv669Well inventory, depth, aquifer, period of recordUSGS NWIS site service
ipcc_ar6_slr_virginia_key_ft.csv157AR6 regional SLR, 5 SSPs + low-confidence, to 2300Zenodo 10.5281/zenodo.6382554
slr_scenarios_virginia_key_ft.csv75NOAA 2022 scenarios, 5 × 15 years, with CINOAA CO-OPS API
noaa_high_tide_flooding_8723214.json5 productsFlood-day projections and observed countsNOAA CO-OPS HTF API
atlas14_downtown_miami_pds_depth.csv19×10Rainfall depth by duration × recurrence intervalNOAA Atlas 14 Vol. 9
nfip_policies_full_<zip>.csv14,875Policy records incl. floor elevations, 5 ZIPsOpenFEMA FimaNfipPolicies
nfip_claims_<zip>.csv760Claims 1978–2025, 5 ZIPsOpenFEMA FimaNfipClaims
citizens_pif_miami_dade.csv180County policies in force + exposure, 2022–2026Citizens "Detail by County" PDFs
nfip_rr2_florida_profile.csv120Risk Rating 2.0 premium-change bandsFEMA, via ArcGIS republication

Notes files worth reading before you model

FileWhy it matters
NOTES_first_floor_elevations.mdFull derivation, strata, and the zone-X problem
NOTES_groundwater.mdWet/dry season water table; the empirically-derived NAVD88 = NGVD29 − 1.56 ft conversion
NOTES_outfalls.mdEvery endpoint checked; why the outfall premise was wrong
NOTES_slr_scenarios.mdNOAA ↔ AR6 mapping, baselines, deep uncertainty
NOTES_rr2.mdWhich FEMA routes are permanently closed and why
nfip_policies_extract_log.mdAPI limits, what "complete" can and cannot mean here
storm_drain_data_provenance_audit.csvField-by-field completeness — the input to the hatching rule

What is still missing

Documented rather than silent. Two of these are permanently closed; the rest have a named route.

01
Elevation certificates
Would convert 9,636 hatched buildings into solid ones — the single highest-value acquisition left. Public records held by City of Miami floodplain management and Miami-Dade RER, not published in bulk. A records request naming the study area is the fix.
02
Storm drain inverts
Request the full Cartegraph export from City of Miami RPW — the served layer is a reference extract and the master holds more inverts — and the MS4 outfall inventory from Miami-Dade RER-DERM under FDEP permit FLS000003.
03
Drainage-well connectivity
Which inlets feed which of the 2,594 injection wells is not published anywhere. FDEP UIC permit files per FACILITY_ID hold completion reports with cased intervals and static water levels — the closest thing to an invert that exists downtown.
04
NFIP full-risk premium in dollars closed
FimaNfipPolicies has no full-risk field, so this is not obtainable from any public API — not merely un-fetched. FEMA's state profile PDFs return Akamai 403 to every automated route. The premium-change bands were recovered; the dollar levels were not.
05
NFIP record counts closed
$inlinecount returns 503 under any ZIP filter, so "percent complete" has an unknowable denominator. The 14,875 records retrieved are 2.2–3.9× the endpoint's own pagination ceiling — a deep sample, not a census. Note that v2 was frozen 1 June 2026 and is removed after 15 October 2026.
06
Parcel values
ASSESSED_VAL_CUR is null service-wide, not just in this bounding box — so no value-at-risk panel can use it. PRICE_1 (last sale price) is populated and would work with a provenance flag, but a sale price is not an assessment.
07
Groundwater interpolation
Exactly one USGS well (G-3603) sits inside the study area. The downtown water table is interpolated from 31 sites within 8 km. Render it hatched like everything else that is inferred.
08
Compact guidance vintage
The recommendation to default to Intermediate-High rests on the Southeast Florida Compact's 2019/2020 guidance, itself built on NOAA 2017 curves. Confirm the current regional update before treating it as regulatory practice.

Two traps worth naming

An ArcGIS Online search for "outfall Miami" surfaces a service whose layer is literally named Outfalls, with a ReceivingWaterBdy field. It is Miami, Oklahoma — longitude −94.9. Easy to ingest without noticing. And USGS's waterservices.usgs.gov/nwis/gwlevels/ endpoint was decommissioned in early 2026 and now redirects to a blog post; groundwater levels come from the field-measurements collection on api.waterdata.usgs.gov.

The build prompt

Written against the real files, with the measured values substituted for the assumed ones. Attach the folder and paste.

PROMPT.md
Build a single self-contained interactive 3D HTML visualiser of combined rainfall and sea-level flood risk for downtown Miami (Brickell → CBD → Edgewater, AOI −80.215/25.750 to −80.170/25.820).

Data: https://drive.google.com/drive/folders/1sJkjULZLFaTLHJrNBzs_BzJ0kvTjMNbL
Code: https://github.com/craigm26/SeaLevelRise
Read README.md and NOTES_first_floor_elevations.md before writing any code. Sections 3 and 4 of the README change what is honestly buildable.

TERRAIN
Render dem/terrain_heightmap_4m.png as a 3D surface. Decode per terrain_heightmap_4m.json: elev_m = zmin + pixel/65535*(zmax−zmin); pixel 0 = nodata. Vertical exaggeration slider, default 5× — usable relief is ~2–12 ft NAVD88, so unexaggerated this reads as a flat plate. Work internally in ft NAVD88; the DEM is metres, so convert once at the boundary and label the axis.

SCENARIO CONTROLS
1. Sea level rise, 0–6 ft, applied on top of MHHW = +0.23 ft NAVD88.
   Tick marks from slr_scenarios_virginia_key_ft.csv (NOAA 2022) and ipcc_ar6_slr_virginia_key_ft.csv (AR6).
   Default to NOAA Intermediate-High at 2050 (1.25 ft) — the SE Florida Compact design basis.
   Mark HAT at +1.20 ft and the Irma observed maximum at +3.80 ft NAVD88 as "this has happened" reference lines.
   Offer AR6 SSPs as a secondary emissions view. Render the SSP5-8.5 low-confidence branch as a separate hatched deep-uncertainty band, off by default, and never label it "worst case".
2. Design storm, 2-yr → 500-yr, durations 1-hr / 6-hr / 24-hr, from atlas14_downtown_miami_pds_depth.csv (100-yr/24-hr = 14.5 in).
3. King tide toggle at HAT = +0.97 ft above MHHW. Not 1.5 ft — that was an assumption and it was wrong.

THE PART MOST MODELS GET WRONG
Initialise the system wet, not empty. 54.8% of drainage structures with a known bottom sit below the wet-season median water table (0.84 ft NAVD88; dry 0.38; p95 1.86 — groundwater_levels_downtown.csv). They are relieving aquifer pressure, not accepting flow. Available capacity at t=0 is a fraction of nominal, and the visualiser should show which structures start submerged.

Downtown has no surface outfall. It drains DOWN, through 2,594 Class V injection wells (outfalls_fdep_uic_drainage_wells.geojson), median depth 120 ft. Model rejected infiltration when the water table rises, alongside tailwater locking at the distant real outfalls. Do not build a bay-outfall-centric model — that premise is wrong for this bounding box.

DRAINAGE — READ storm_drain_data_provenance_audit.csv FIRST
2.2% of pipes carry a diameter; 0.1% carry inverts; 0% carry depth. A green/yellow/red capacity map from this data is ~98% inference. Two honest options: render the network geometry-only and drop the capacity claim, or infer and hatch EVERY inferred segment with the count in the legend ("6,467 of 6,612 pipes: diameter inferred"). Build elevations on the 3,034 surveyed rims in storm_structure_elevations_city_of_miami.geojson (2,590 explicitly NAVD88), not on the county's empty invert fields.

BUILDINGS AND FLOOR ELEVATIONS
building_ffe_estimates.csv carries a per-building estimate, an interquartile band (ffe_lower_ft / ffe_upper_ft), and a provenance class. 9,636 of 12,479 are class no_local_observations — zone X, where no certificate is required and fewer than 20 local observations exist. THESE MUST RENDER HATCHED. Nearly four in five downtown buildings fall in that class, and it is the same population the insurance layer cares about.

PROVENANCE EVERYWHERE
Solid = official; hatched/desaturated = interpolated or assumed. A provenance toggle that greys out everything inferred should leave the DEM, the FEMA zones, the tide datums, and the surveyed rims standing — and very little else. That is the correct and useful result, not a failure of the build.

INSURANCE LAYER (toggleable)
Two separate tracks on a shared time axis — they move in opposite directions and blending them lies.
  Wind/HO: Citizens Miami-Dade PIF 218,947 (Dec 2022) → 67,353 (Jul 2026), exposure $76.9B → $19.2B. Falling Citizens = private carriers returning.
  Flood/NFIP: 80.2% of Florida's 1.73M policies on an upward Risk Rating 2.0 glide path; ~1 in 3 households covered.
Hero callout: the uninsured-loss wedge — parcels where modelled ponding exceeds estimated floor elevation but which sit outside the SFHA. 33137 (Edgewater) is 30.4% zone X, 23.9% post-FIRM, 41.7% with a filed elevation. Oldest buildings, most voluntary coverage, thinnest data.

ALSO
Bowls identified from the DEM, not assumed, labelled with ponding depth per scenario. Legend. Scenario summary: inundated area, parcels affected, critical infrastructure. Camera presets for the worst three hotspots.

ASSUMPTIONS & LIMITATIONS PANEL — be specific, not boilerplate
· Screening-level model, not MIKE / HEC-RAS / XPSWMM. Name where an engineered model diverges: pipe surcharge timing, overland routing, tidal phase.
· Groundwater is represented as an initial condition and a rejected-infiltration term, not a full subsurface model. Miami sits on porous limestone; water rises through the ground. Say it prominently.
· Drain hydraulics are ~98% inferred. Cite the audit CSV.
· 77% of floor elevations have no local observational basis.
· Insurance data is ZIP-level proxy, not parcel underwriting. NFIP extracts are deep samples, not a census — the denominator is unknowable.
· Parcel values unavailable: ASSESSED_VAL_CUR is null service-wide.