Scelo Lab & Climate Studio¶
The Scelo Lab¶
Both work in any level — the Lab builds its own lighting, floor, water and panel, and restores your level exactly as it was on exit.
The Lab is a synthetic test arena for the whole engine. Its rule: every shape you drop is an insured location — TIV derives from the same mass and footprint the physics reads (the dashboard subtitle spells it out: TIV = mass × $420 + footprint × $2,600/m²). Build something, hit it with a hazard, and the book reprices live.

Controls: WASDQE fly · RMB look · wheel zoom · LMB drag/grab. The panel's VIEW row toggles orbit, labels, pause, move mode, canvas and view reset (Scelo.LabOrbit, Scelo.LabLabels, Scelo.LabPause, Scelo.LabMove, Scelo.LabCanvas, Scelo.LabResetView).
Build: Scelo.LabShape <cube|ball|cone|cyl|slab> spawns a movable insured shape — drag to build, stack to compose. Scelo.LabShapeClear removes them.
Hazards (each priced through the Lab book):
| Command | Effect |
|---|---|
Tornado button / Scelo.LabTornado <wind> <core> |
Live vortex — grab the funnel with LMB and drag it over your build; Scelo.LabVortexTo <x> <z> is the headless twin |
Quake / Scelo.LabQuake <shake 0.25–2> |
Ground motion; scales what shakes loose |
Tsunami / Scelo.LabTsunami <depth> |
Bore with buoyancy and shove; Scelo.LabTsunamiStop drains it |
Water: Wave / Flood / Drain, Scelo.LabFlood [depth|off] |
Arena flood or flume wave (Scelo.LabWave) |
Presets / Scelo.LabPreset <tornado|building|quake|tsunami|flex|clear> |
One-click scenario rigs |
The book: Scelo.LabBook logs every unit's TIV, peak hazards experienced, damage ratio and loss, plus totals. Scelo.LabBookReset clears damage state but keeps positions.
The Financial Dashboard¶

Exposure & loss (TIV, locations, gross loss, loss ratio, damaged/destroyed counts), loss by peril as live ring gauges (wind / flood / quake / impact), summary statistics (top loss, top-5 share, mean/max damage ratio, median TIV) and an expandable per-location table. It reads the Lab sandbox book or the city portfolio — whichever is live. Every number derives from the live sim state: panel = console = headless.
SceloClimate Studio¶

The Studio explores pathway × horizon scenarios over the book (labeled ILLUSTRATIVE throughout — it is a decision-communication tool, not a calibrated climate model):
- Scenario:
Scelo.Scenario set <pathway> <year>, with manual overrides for event frequency, pressure deficit and sea-level rise (Scelo.Scenario override <freq|dp|slr> <v>), attribution view, and status. - Preview table: AAL ground-up/gross, average rate, insurable share, exposure and loss gaps across BASE / SCENARIO / PROGRAM columns; OEP-100/250 and TVaR-99 rows fill from
Scelo.Ep run [year=] [years=20000]— an on-demand anchor-year Monte Carlo for all three views on a background thread. - Flood proxy:
Scelo.Flood on|off|build— a bathtub-plus-attenuation coastal flood proxy sampled into a sidecar JSON (village-level books). - Adaptation levers:
Scelo.Adapt add <lever>— retrofit, elevate, seawall, mangrove, retreat, parametric pool, subsidy;Scelo.Program save|loadpersists the lever list as JSON. - Paths:
Scelo.Path run [step=5]writes the analytic AAL/rate/insurability path 2026–2075 toclimate_path.csv. - A/B:
Scelo.Compare save A|Btakes an immutable snapshot of state plus every computed artifact;showcompares with zero recompute. - Views:
Scelo.View <name|free>flies tagged viewpoints;Scelo.View tint <Risk|DeltaRisk|Insurability|FloodDepth|Off>colours the world by the chosen metric.
Actuarial add-ons (console)¶
Scelo.SU on|off | k <class> <v> | rho <v>— secondary uncertainty controlScelo.Freq poisson [lambda] | nb <lambda> <k>— frequency modelScelo.Reinsurance load|on|off|print— reinsurance program on top of grossScelo.Parametric load|on|off|print— parametric community coverScelo.Capital run | alpha <a> | view cotvar|pricing— capital allocationScelo.Econ d <rate> | threshold <permille> | basis GU|Gross | show— program economics, discounted, to CSVScelo.Sensitivity run [pct=20]— one-way sensitivity on the current stormScelo.Audit [verbose] [fast]/Scelo.AuditBadge on— run the actuarial invariants