Mould·Detect Demo · Mould Risk Monitor ← Gallery

Mould Risk Monitor

Sustained-humidity intelligence for a property, read the way a remediation inspector would: where it sits in its NCC climate zone, hours per day above the germination-relevant 80% RH threshold, how close the air sat to its dew point, and the week ahead for inspections and drying.

Overview

◐ sample data

Current risk band, this property's NCC climate zone, and the condensation risk that zone implies — the context before drilling into history or the week ahead.

Current risk
Hours ≥80% RH · last 7 days 0hrs Total hours the property spent at or above 80% relative humidity, past 7 days.
Condensation-risk days · last 30 0/ 30 Days where dew-point spread fell to ≤1.5°C — surfaces likely wet.

Climate zone context

Where this property sits in the NCC's climate-zone map, and the seasonal condensation risk the code associates with that zone.

History

◐ sample data

90 days of sustained-humidity and overnight condensation conditions, the way a remediation inspector reviews a site file.

90-day sustained-humidity history

Hours per day the property's relative humidity stayed at or above 80%. Cell color is the risk band; darker = more hours within that band.

Low · <8h Elevated · 8–14h Critical · >14h

Overnight low vs. dew point

How close the overnight temperature got to the dew point each day, over the same 90 days. Where the gap closes to 1.5°C or less, surfaces are likely condensing — those points are marked with a diamond, not color alone.

Overnight low Dew point (history — see caveat below) Condensation-prone (gap ≤1.5°C)

Flagged periods

Consecutive runs of 3 or more days at elevated risk or worse, newest first.

Thresholds shown throughout this page are demo heuristics aligned with common mould-remediation guidance — sustained RH ≥ 80% supports mould germination; a dew-point spread ≤ 1.5°C indicates condensation risk — not a certified assessment. The Queensland · statewide chip shows, for each day, the worst reading across the Queensland sites — the way a remediation portfolio is triaged; site-level detail is on the individual Brisbane and Cairns chips. History for the Queensland aggregate always renders from the sample generator — there is no live aggregate endpoint.

Moisture-source correlation

Sustained-humidity days that don't line up with nearby rainfall are worth a second look — they may point to an indoor moisture source rather than weather.

Rainfall Hours ≥80% RH Flagged — no nearby rainfall

Sample context

For mycology labs: pick the date a physical sample was collected to see the 7-day and 14-day moisture conditions leading up to it, or export the full history as CSV for lab paperwork.

Outlook

◐ sample data

The week ahead, for planning inspections, remediation drying windows and ventilation — not a history review, a forward plan.

Sustained-humidity risk outlook

Forecast hours per day at or above 80% RH, banded the same way as the 90-day history above — use this to schedule inspections before risk builds, not just react after it does.

Low · <8h Elevated · 8–14h Critical · >14h

Drying-conditions outlook

A 0–100 drying score from forecast sun, wind and humidity — use it to pick the remediation drying window and the days worth opening the property up for ventilation.

The API behind this view

Outlook and History (for the four individual cities) attempt a live fetch on load and flip their badge to "live data" on success; the Queensland aggregate and any failed fetch fall back to a deterministic sample shaped exactly like the real response.

Request — history

# derived mould-risk variables are opt-in via daily=
curl -H "x-api-key: wk_live_…" \
  "$BASE/v1/history?latitude=-33.87&longitude=151.21&start_date=2026-04-15&end_date=2026-07-13&daily=relative_humidity_hours_above_80,dew_point_spread_min,condensation_risk,relative_humidity_2m_mean,temperature_2m_min"

Response (trimmed)

{
  "latitude": -33.87, "longitude": 151.21,
  "timezone": "Australia/Sydney", "region": "au", "source": "era5-land",
  "daily": {
    "time":                                ["2026-04-15", "2026-04-16", ],
    "data_completeness":                   [1.0, 1.0, ],
    "relative_humidity_hours_above_80":    [3, 11, ],   // hours, 0–24
    "dew_point_spread_min":                 [6.4, 2.1, ],  // °C, min(t − td)
    "condensation_risk":                    [false, true, ],
    "relative_humidity_2m_mean":            [58, 74, ]
  },
  "daily_units": { "dew_point_spread_min": "°C",  }
}

Field notes

FieldMeaning
relative_humidity_hours_above_80,
dew_point_spread_min,
condensation_risk
Derived, opt-in variables computed at read time from the archived instant fields — never returned unless named in daily=.
daily.data_completenessFraction (0–1) of a local day's samples that weren't sentinel-missing. Always present alongside time, not gated behind daily=. A day that would be entirely missing is omitted outright, never emitted as zero.
400 outside every regionA point outside all archived regions (v1: au only) returns a 400-family error naming the reason — "history unavailable for this location" — and lists the regions that are archived, not a bare failure.
ERA5-Land lagThe reanalysis archive trails real time by roughly 5 days (end_date must be ≤ the manifest's latest_complete_date) — this is a replay of a scientific reanalysis product, not a live sensor feed.
dew point on the History chartdew_point_spread_min is the day's minimum (temperature − dew point) gap against whichever instant was concurrent — not necessarily the overnight low. The History chart's "dew point" line is temperature_2m_min − dew_point_spread_min, a documented visual approximation, not a measured dew-point series (see the comment in mould.js).

Request — outlook

curl -H "x-api-key: wk_live_…" \
  "$BASE/v1/daily?latitude=-33.87&longitude=151.21&forecast_days=7&daily=temperature_2m_min,temperature_2m_max,precipitation_sum,relative_humidity_2m_mean,relative_humidity_hours_above_80,condensation_risk,wind_speed_10m_max,shortwave_radiation_sum&timezone=auto"