By 2070, climate-driven coastal flooding will displace thousands of households across the North Shore — Revere,
Winthrop, East Boston, Chelsea, Lynn, and Saugus. Can Revere, with its transit access and unused zoning capacity,
absorb that displaced demand? This tool lets you test that question by dialing in your assumptions about how much
gets built, where, and how many households each community sends.
How supply is computed
Every Revere parcel with unused zoning capacity — room to add building square footage before hitting its zoning
ceiling — is a potential site. There are about 7,700 such parcels across the city. For each parcel, the tool knows:
Its zoning envelope (maximum buildable square footage under Title 17), which gives a potential unit count
when you pick an average unit size.
Its suitability grade (A–F), computed live from the four factor-weight sliders in the sidebar
(zoning capacity, transit access, underused land, parcel assemblage). A parcel at a subway stop with an empty lot scores high;
a fully-built single-family on a dead-end street scores low.
The five buildout sliders control what share of each grade's paper zoning capacity actually gets delivered.
At 50% for Grade A, a Grade-A parcel with 10 potential units contributes 5 delivered units to the pipeline. Parcels absorb in
rank order of their grade/score, capped by an annual absorption rate (100–2,500 units/yr). A small
vacancy buffer (5% by default) discounts the delivered total.
The difference between zoning capacity and delivered units is intentional: zoning capacity is the full paper envelope,
while delivered units subtract buildout likelihood, how quickly projects can come online, and normal vacancy.
A single flood risk tolerance dial removes flood-vulnerable parcels from supply: binary, "we don't build where the selected tolerance says not to build."
Now keeps all parcels flood-eligible; moving toward the strict end progressively tightens the filter against a static composite of FEMA current SFHA and MC-FRM 2030/2050/2070, with the strictest setting equivalent to the old 10/100 composite-risk cutoff. Year markers on the slider are reference points, not year-specific inundation forecasts — MC-FRM does not publish a 2100 scenario, so the strict end is best read as a precautionary planning buffer beyond MC-FRM 2070. This dial is shared with
Parametric Zoning — one slider, one meaning. Four optional categorical cutoffs also exist
(21E contamination, institutional use, infrastructure/ROW, small single-family parcels).
Two tabs, one coupling
Supply/Demand is the source of truth. It shows the zoning capacity, delivered units, and the gap given current zoning, buildout %, capture %,
and absorption. Parametric Zoning reads the currently selected Supply/Demand year, takes that gap as the target, and
allocates FAR uplift across Revere parcels, then discounts gross capacity by the same buildout and vacancy assumptions
used in the Supply/Demand tab. It respects the selected-year added-unit delivery headroom and each parcel’s site ceiling. Its only hard rule is flood exclusion. Everything else is part of an upzoning score:
assemblage, transit, actual built density, large-site redevelopment, business districts (Broadway / Shirley Ave), and industrial opportunity south
of Rumney Marsh. Parcels are ranked by that score, then given a separate site ceiling that depends on site form rather than corridor priority alone. The result is
a ranked low-to-high FAR gradient rather than a fake full zoning code.
How demand is computed
Each of the six sending municipalities has a cumulative count of flood-displaced households for 2026, 2030, 2040,
2050, 2060, and 2070. 2026 uses MC-FRM present-day 5% AEP exposure. 2030, 2050, and 2070 use MC-FRM 5% AEP probability-raster exposure, with
the intervening 2040 and 2060 values interpolated.
The six capture sliders set what share of each muni's displaced households Revere would receive. The Base
preset sets Revere-internal capture at 85%; Winthrop, East Boston, Chelsea, Lynn, and Saugus each have their own
slider. Total demand at any year is the weighted sum across all six munis: sum(capture rate × displaced HH).
The gap
At every year between 2026 and 2070, the tool computes gap = demand − supply. Positive means an unmet housing
shortfall; negative means surplus capacity. The four preset scenarios span a spectrum from "status-quo Inertia"
(low buildout, minimal regional capture, 200 units/yr) through "Base" (REACH-ROX-pace) to "Subregional Receiver"
(Revere as the formal regional receiver, 90% top-grade buildout, 2,000 units/yr). Moving any slider drifts you
off the preset — the active preset shows a "modified" tag and a reset button.
Repo-verified data lineage and vintages
The live app loads the static browser assets for parcel geometry/properties, soft_sites.json,
demand_timeseries.json, scenarios.json, sending_munis.geojson, and transit GeoJSON
files. The preprocessing scripts trace those assets to the processed L1 inputs listed below.
Component
Repo evidence
Status
Demand
L1_01e_sending_muni_flood_scenarios_5pct_demand_timeseries.csv plus shipped demand_timeseries.json. 2026 = MC-FRM Probability_Present thresholded at 5% AEP; 2030/2050/2070 = MC-FRM probability rasters thresholded at 5% AEP; 2040/2060 = interpolation.
Verified
Capture rates
scenarios.json stores the six municipal capture rates for Inertia, Base, Climate-Forward, and Subregional Receiver. The app computes demand as the capture-weighted sum of displaced households.
Verified
Receiving parcels and soft sites
preprocess_parcels.py reads L1_04_receiving_site_analysis_enhanced.gpkg; augment_parcels.py joins L1_04_soft_site_catalogue.csv. The related parcel caches are mixed: Revere CY22/FY22, East Boston/Boston CY22/FY23, Winthrop CY24/FY25, and Chelsea/Saugus/Lynn CY25/FY26. Treat assessed values as source-dataset assessor fields, not one uniform fiscal-year vintage.
Mixed vintages
Zoning capacity
L1_04 parcel fields carry zoning district, max FAR, max height, and theoretical units. Parametric Zoning is a planning response layer, not an adopted zoning code or entitlement.
Verified
Flood exclusions
preprocess_parcels.py joins L1_01d_revere_flood_scenarios_parcels.gpkg and bakes a composite FEMA/NFHL + MC-FRM 2030/2050/2070 + local-hotspot flood-risk index.
Verified
Transit
L1_03_transit_access outputs feed stations, bus stops, and bus routes. The local MBTA GTFS feed is Spring 2026, version D, valid 2026-03-20 to 2026-06-13 and downloaded 2026-03-27.
Verified
21E / environmental
MassDEP Chapter 21E flags are present in the processed parcel fields and exposed as has_21e/c21e_status. The local MassDEP C21E metadata shows mdDate 2025-08-26 and file sync/modification 2025-08-28.
Verified
Census geography / ACS
TIGER/Line tract boundary cache is tl_2020_25_tract.zip. Scripts for mobility, household, and value proxies use ACS 2022 5-year tables; household demand calibration uses ACS tract housing units and household size fields.
Verified
All spatial preprocessing is in Massachusetts State Plane (EPSG:26986, meters). Browser display is reprojected to WGS84 (EPSG:4326).
Confirmed scenario capture rates
Scenario
Rates in order: Revere · Winthrop · East Boston · Chelsea · Lynn · Saugus
Pace
Inertia
80% · 15% · 10% · 8% · 3% · 5%
200 units/yr
Base
85% · 40% · 30% · 25% · 10% · 15%
500 units/yr
Climate-Forward
95% · 65% · 55% · 45% · 25% · 30%
1,200 units/yr
Subregional Receiver
95% · 80% · 70% · 60% · 40% · 50%
2,000 units/yr
Limitations
Only Revere is modeled as a receiving site. The regional alternative (siting some of the demand in Chelsea, Lynn,
or Saugus) would reduce the burden on Revere — the tool doesn't capture that.
Demand is flood-displacement only. No organic population growth, no in-migration, no speculative movement.
No unit-mix / affordability layer. The tool counts units, not affordability tiers or household income distribution.
The Supply/Demand baseline uses current zoning limits. The Parametric Zoning tab is a planning response layer, not a formally adopted zoning code or parcel entitlement.
Deterministic. There's no Monte Carlo / probabilistic uncertainty quantification; the static tornado PDF
shows one-at-a-time sensitivity.
Running-max smoothing is applied to each muni's cumulative displaced households to reconcile the methodology
shift from FEMA current-condition flood zones (2026) to MC-FRM projected future flood zones (2030+).
The flood risk tolerance dial is a threshold over a static composite of FEMA-current and MC-FRM 2030/2050/2070
scenarios. MC-FRM does not publish a 2100 footprint; settings beyond 2070 on the slider are a precautionary
planning buffer, not a modeled 2100 inundation. Demand also tops out at MC-FRM 2070 for the same reason.
Keyboard & sharing
Time slider: ← / → = 2 years, Shift+← / → = 10 years. Play button advances automatically.
All sliders: ← / → = 1 step, Shift+← / → = 10 steps. Announced via ARIA for screen readers.
Share: the current scenario state (preset + any drift + year) is encoded in the URL; the Share button
copies the link.
Print: Cmd+P renders hero numbers, chart, and narrative card only — sliders and maps hidden.
Scenario presets Affects modelpick one · hover to preview?
Preset = assumptions bundle. It changes buildout, absorption, vacancy, exclusions, and Revere's share of displaced households. A more ambitious preset can raise demand as well as supply.
Supply · Buildout by grade Affects modelshare of zoning capacity expected to be built?
Supply · Fine-tune Affects modelunit size · vacancy · pace of delivery?
Demand · Households Revere receives Affects modelshare of displaced households?
Exclusions Affects modelremove parcels from supply?
Map display Display onlyparcel fabric?
Upzoning strategy presets Affects model?
Upzoning score weights Affects model?
Flood exclusion Affects modelshared with Supply / Demand?
All housing units allowed by current zoning across eligible parcels, before buildout assumptions, delivery pace, and vacancy. The smaller number below is what is expected to be built, occupied, and online by the selected year.
0delivered by year
Households received
0
households
Flood-displaced households Revere is assumed to receive from the six sending municipalities at the selected year. MC-FRM probability rasters thresholded at 5% AEP are used for 2026, 2030, 2050, and 2070; 2040 and 2060 are interpolated.
Gap
0
unmet
Demand minus delivered supply at the selected year. Positive means unmet households; negative means surplus capacity.
Excluded
—
parcels
Parcels removed by model exclusions: flood risk tolerance, 21E, institutional, infrastructure, and small single-family cutoffs. Display filters are not counted here.
Zoning capacity is the full paper envelope. Delivered by year subtracts buildout limits, absorption pace, and vacancy.
Gap at this year
0
unmet
Current shortfall at the selected Supply/Demand year. Parametric Zoning enables gross FAR capacity, then credits only the share expected to be built and occupied under the same parcel-grade buildout and vacancy assumptions used in Supply/Demand.
Units from added FAR
0
credited toward gap
Units credited toward the gap after the added FAR is discounted by the same A/B/C/D/F buildout rates and vacancy assumption used in Supply/Demand.
Parcels upzoned
0
with uplift
Parcels that actually receive a non-zero FAR increase under the current zoning settings.
Flood-excluded parcels
0
no FAR increase
Parcels excluded from upzoning by the shared Supply/Demand flood risk tolerance. Now excludes none; later horizons progressively remove higher-risk parcels.
Supply added by zoning
click chart to scrub year
DemandCurrent supplyWith added FAR
Supply & demandclick to scrub year · legend toggles series
Click a parcel for zoning, flood, capacity, and score details. Controls marked Affects model change totals; Display only controls just change what is visible.