A curated collection of climate risk models for real estate. Browse 109 models across transition risk, physical risk, carbon accounting, energy performance, embodied carbon, and more. For 22 of them we provide a harmonized API wrapper so you can chain queries across engines.
- 109 models with verified metadata — author, license, scope, limitations, citations
- 22 live engines with a harmonized API: upload CSV, get results, chain queries across models
- Interactive Try It tab: drop a CSV, see a real-time processing console, download results
- 4 views: gallery cards, sortable list, interactive world map, complexity/maturity scatter plot
- Filtering: category, lifecycle phase, license, region, status, tags — all URL-synced and shareable
- Zero dependencies: vanilla JS, no build step, runs from a static file server
| Category | Count | Examples |
|---|---|---|
| Energy Performance | 14 | ENERGY STAR, NABERS, ASHRAE BEQ, Sonnendach.ch |
| Physical Risk | 11 | CLIMADA, OpenQuake, SFINCS, JRC Flood Maps |
| Carbon Accounting | 6 | PCAF, BAFU CO2, KBOB LCA, Mobitool |
| Embodied Carbon | 6 | EC3, eLCA, Madaster, EU Level(s) |
| Transition Risk | 5 | CRREM (EU/NA/APAC), SBTi, PACTA CH |
| Multi-Criteria | 4 | DGNB, BREEAM, SNBS, SSREI |
| Grid Optimization | 3 | REopt, FlexMeasures, DER-VET |
| Target Setting | 2 | SBTi, Climate Bonds |
| Indoor Environment | 1 | CBE Thermal Comfort Tool |
Deep coverage for Switzerland including: BAFU CO2 Calculator, SNBS Hochbau, geo.admin.ch Hazard Layers, Cantonal Hazard Maps, ERM-CH23 Earthquake Risk, Sonnendach.ch, NCCS CH2025 Climate Scenarios, Schutz vor Naturgefahren, KBOB Okobilanzdaten, PACTA CH, SSREI, Madaster CH, Mobitool.
| Layer | Technology |
|---|---|
| Frontend | Vanilla JS (no framework, no build step) |
| Styling | Custom CSS with design tokens (tokens.css + style.css) |
| Charts | Chart.js 4.4.7 + chartjs-plugin-zoom |
| Database | SQLite in the browser via sql.js |
| Maps | Inline SVG world map (CC BY-SA 3.0) |
| Icons | Lucide (inline SVG, no CDN) |
| Data | SQLite (data/models.db) |
climate-check/
index.html Single-page app shell
css/
tokens.css Design tokens (colors, spacing, fonts)
style.css All component styles
js/
app.js Main application
engines/
{id}/
engine.js Harmonized API wrapper
test.csv Demo input data
README.md Engine documentation
data/
models.db Model metadata (SQLite)
assets/
world-map.svg Interactive world map
img/ Model card images
docs/
models.sql Database schema
Each engine exposes the same interface:
await engine.init(); // Load reference data
const result = await engine.calculate(row); // Process one row
const rows = engine.parseCSV(csvText); // Parse CSV input
const csv = engine.generateTemplate(); // Get CSV template (optional)
const errors = engine.validate(row); // Validate input (optional)Upload a CSV in the Try It tab, watch the processing console, and download results as CSV. Engines that call external APIs (BAFU CO2, geo.admin.ch, etc.) run async; local engines (CRREM) run instantly.
- More live engines (CRREM NA/APAC, CBE Thermal Comfort, pyBuildingEnergy)
- REST API (
/api/v1/calculate/{id},/api/v1/models) - Swiss geo-API integration (flood zones, earthquake zones, solar potential, GWR)
- EU Taxonomy screening calculator
- Climate-adjusted property valuation
- Fork the repository
- Add a model to
data/models.dbfollowing the schema in docs/models.sql - For live engines, add an
engines/{id}/engine.jsimplementing the harmonized API - Submit a pull request
MIT License. See LICENSE.
Model metadata is compiled from public sources. Individual models have their own licenses (see the license field per model).
World map SVG: CC BY-SA 3.0 by Al MacDonald, edited by Fritz Lekschas. Card images sourced from Unsplash (free license).


