Last updated Tue 2 Jun · 22:30 AEST
Next update Wed 3 Jun · 04:30 AEST in 5h 59m
Age group
⚠ Dashboard may be stale. The next update was scheduled for Wed 3 Jun · 04:30 AEST (), but the page hasn't been regenerated. The pipeline may have failed — check the Actions log.
Not an official forecast. This dashboard is a derived probabilistic tool — always check the source forecast at bom.gov.au and follow your club's official call procedure before the 7:45 am decision.
Saturday 6 June
100%
100%
100%
RED — cancel allORANGE — inspect fieldsGREEN — go ahead
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
iWhy this call?
Why ORANGE?
MiniRoos · U5–U8 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-4° — 5° below the 1° caution line, 3° above the -7° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -4.0°…1.0° · in-session rain ~0.2 mm · pre-session 12 h 1.1 mm · last 7 days 38 mm · last 90 days 192 mm
Why ORANGE?
Junior · U9–U12 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-4° — 4° below the 0° caution line, 4° above the -8° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -4.0°…1.0° · in-session rain ~0.2 mm · pre-session 12 h 1.1 mm · last 7 days 38 mm · last 90 days 192 mm
Why ORANGE?
Youth · U13–U16 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-4° — 3° below the -1° caution line, 5° above the -9° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -4.0°…1.0° · in-session rain ~0.2 mm · pre-session 12 h 1.1 mm · last 7 days 38 mm · last 90 days 192 mm
Feels-like through the day
1am-2°
4am-2°
7am-4°
10am
1pm
4pm
7pm-2°
10pm-2°
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am10%
4am5%
7am5%
10am0%
1pm0%
4pm5%
7pm5%
10pm5%
Possible showers — 10% peak chance around 1am; BoM has not published a 10% mm amount.
Sunday 7 June games rarely scheduled — tap for the call
ORANGE 100%
ORANGE 100%
ORANGE 100%
Sunday 7 June
100%
100%
100%
RED — cancel allORANGE — inspect fieldsGREEN — go ahead
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
Schedule 7:30 am field inspection; pre-warn coaches.Controls: extra layers + gloves/beanie, longer warm-up, rewarming breaks, shorter halves; keep keepers & subs moving or rugged up.
iWhy this call?
Why ORANGE?
MiniRoos · U5–U8 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-3° — 4° below the 1° caution line, 4° above the -7° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -3.0°…5.0° · in-session rain ~0.2 mm · pre-session 12 h 0.4 mm · last 7 days 39 mm · last 90 days 188 mm
Why ORANGE?
Junior · U9–U12 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-3° — 3° below the 0° caution line, 5° above the -8° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -3.0°…5.0° · in-session rain ~0.2 mm · pre-session 12 h 0.4 mm · last 7 days 39 mm · last 90 days 188 mm
Why ORANGE?
Youth · U13–U16 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (9–12)
-3° — 2° below the -1° caution line, 6° above the -9° cancel line.
Contributing rules (first match wins)
ORANGECold100%
Run inputs (trial means) · feels-like -3.0°…5.0° · in-session rain ~0.2 mm · pre-session 12 h 0.4 mm · last 7 days 39 mm · last 90 days 188 mm
Feels-like through the day
1am-2°
4am-2°
7am-3°
10am
1pm10°
4pm
7pm
10pm
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am5%
4am5%
7am0%
10am0%
1pm0%
4pm0%
7pm0%
10pm5%
Dry day expected.
Weekend summary
0%
0%
0%
P(both days GREEN)
0%
0%
0%
P(at least one RED)

Weekday afternoon training (3–6 pm)

Go/no-go guidance for upcoming weekday training sessions, on the same Monte-Carlo engine as the weekend call but with its own thresholds (training_rules.json). Tap a day for the detail. The call at a glance is the chip — for the age group selected above; coaches should still eyeball the ground before committing on a marginal afternoon.

Wed 3 Jun
ORANGE 48%
ORANGE 48%
ORANGE 48%
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
iWhy this call?
Why ORANGE?
MiniRoos · U5–U8 — ORANGE in 48% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 1° clear of the 1° caution line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall45%
ORANGECold and Rain34%
ORANGERainfall15%
GREENDefault7%
Run inputs (trial means) · feels-like 2.0°…3.0° · in-session rain ~2.2 mm · pre-session 12 h 4.6 mm · last 7 days 37 mm · last 90 days 185 mm
Why ORANGE?
Junior · U9–U12 — ORANGE in 48% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 2° clear of the 0° caution line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall45%
ORANGECold and Rain34%
ORANGERainfall15%
GREENDefault7%
Run inputs (trial means) · feels-like 2.0°…3.0° · in-session rain ~2.2 mm · pre-session 12 h 4.6 mm · last 7 days 37 mm · last 90 days 185 mm
Why ORANGE?
Youth · U13–U16 — ORANGE in 48% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 3° clear of the -1° caution line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall45%
ORANGECold and Rain34%
ORANGERainfall15%
GREENDefault7%
Run inputs (trial means) · feels-like 2.0°…3.0° · in-session rain ~2.2 mm · pre-session 12 h 4.6 mm · last 7 days 37 mm · last 90 days 185 mm
Feels-like through the day
1am
4am
7am
10am
1pm
4pm
7pm
10pm
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am80%≤3mm
4am80%≤4mm
7am70%≤4mm
10am70%≤4mm
1pm60%≤3mm
4pm50%≤2mm
7pm60%≤2mm
10pm70%≤3mm
Wettest 3-hour window around 4am: up to 4 mm (10% chance of more than). Peak chance of rain 80% around 1am.
Thu 4 Jun
RED 74%
RED 74%
RED 74%
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
Likely call off — warn coaches and parents early.Ground is likely unsafe/waterlogged — inspect before any go-ahead call.
iWhy this call?
Why RED?
MiniRoos · U5–U8 — RED in 74% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
-1° — 2° below the 1° caution line, 6° above the -7° cancel line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall74%
ORANGECold and Rain15%
ORANGERainfall11%
ORANGECold1%
Run inputs (trial means) · feels-like -1.0°…1.0° · in-session rain ~2.6 mm · pre-session 12 h 7.3 mm · last 7 days 30 mm · last 90 days 191 mm
Why RED?
Junior · U9–U12 — RED in 74% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
-1° — 1° below the 0° caution line, 7° above the -8° cancel line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall74%
ORANGECold and Rain15%
ORANGERainfall11%
ORANGECold1%
Run inputs (trial means) · feels-like -1.0°…1.0° · in-session rain ~2.6 mm · pre-session 12 h 7.3 mm · last 7 days 30 mm · last 90 days 191 mm
Why RED?
Youth · U13–U16 — RED in 74% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
-1° — 0° below the -1° caution line, 8° above the -9° cancel line.
Contributing rules (first match wins)
REDHigh Antecedent Rainfall74%
ORANGECold and Rain15%
ORANGERainfall11%
ORANGECold1%
Run inputs (trial means) · feels-like -1.0°…1.0° · in-session rain ~2.6 mm · pre-session 12 h 7.3 mm · last 7 days 30 mm · last 90 days 191 mm
Feels-like through the day
1am
4am
7am
10am
1pm
4pm-1°
7pm-3°
10pm-3°
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am90%≤5mm
4am90%
7am90%
10am90%
1pm90%
4pm80%
7pm70%
10pm70%
Wettest 3-hour window around 1am: up to 5 mm (10% chance of more than). Peak chance of rain 90% around 1am.
Fri 5 Jun
ORANGE 100%
ORANGE 100%
ORANGE 66%
Marginal — check the ground before heading out.Controls: layers + a spare dry kit, rewarming breaks, inspect surface & drainage; line up an indoor/backup option.
Marginal — check the ground before heading out.Controls: layers + a spare dry kit, rewarming breaks, inspect surface & drainage; line up an indoor/backup option.
Marginal — check the ground before heading out.Controls: layers + a spare dry kit, rewarming breaks, inspect surface & drainage; line up an indoor/backup option.
iWhy this call?
Why ORANGE?
MiniRoos · U5–U8 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 1° below the 1° caution line, 7° above the -7° cancel line.
Contributing rules (first match wins)
ORANGECold and Rain43%
ORANGECold34%
ORANGERainfall23%
Run inputs (trial means) · feels-like 0.0°…0.0° · in-session rain ~1.1 mm · pre-session 12 h 2.9 mm · last 7 days 36 mm · last 90 days 190 mm
Why ORANGE?
Junior · U9–U12 — ORANGE in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 0° below the 0° caution line, 8° above the -8° cancel line.
Contributing rules (first match wins)
ORANGECold and Rain43%
ORANGECold34%
ORANGERainfall23%
Run inputs (trial means) · feels-like 0.0°…0.0° · in-session rain ~1.1 mm · pre-session 12 h 2.9 mm · last 7 days 36 mm · last 90 days 190 mm
Why ORANGE?
Youth · U13–U16 — ORANGE in 66% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
— 1° clear of the -1° caution line.
Contributing rules (first match wins)
ORANGECold and Rain43%
GREENDefault34%
ORANGERainfall23%
Run inputs (trial means) · feels-like 0.0°…0.0° · in-session rain ~1.1 mm · pre-session 12 h 2.9 mm · last 7 days 36 mm · last 90 days 190 mm
Feels-like through the day
1am-2°
4am-3°
7am-3°
10am-2°
1pm
4pm
7pm-1°
10pm-2°
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am60%
4am60%
7am50%
10am40%
1pm40%
4pm30%
7pm20%
10pm20%
Possible showers — 60% peak chance around 1am; BoM has not published a 10% mm amount.
Mon 8 Jun
GREEN 100%
GREEN 100%
GREEN 100%
Training likely on — conditions look fine.
Training likely on — conditions look fine.
Training likely on — conditions look fine.
iWhy this call?
Why GREEN?
MiniRoos · U5–U8 — GREEN in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
10° — 9° clear of the 1° caution line.
Contributing rules (first match wins)
GREENDefault100%
Run inputs (trial means) · feels-like 10.0°…10.0° · in-session rain ~0.1 mm · pre-session 12 h 0.4 mm · last 7 days 33 mm · last 90 days 189 mm
Why GREEN?
Junior · U9–U12 — GREEN in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
10° — 10° clear of the 0° caution line.
Contributing rules (first match wins)
GREENDefault100%
Run inputs (trial means) · feels-like 10.0°…10.0° · in-session rain ~0.1 mm · pre-session 12 h 0.4 mm · last 7 days 33 mm · last 90 days 189 mm
Why GREEN?
Youth · U13–U16 — GREEN in 100% of simulated days. Each day is set by the first rule that matches, top to bottom.
Feels-like floor (15–18)
10° — 11° clear of the -1° caution line.
Contributing rules (first match wins)
GREENDefault100%
Run inputs (trial means) · feels-like 10.0°…10.0° · in-session rain ~0.1 mm · pre-session 12 h 0.4 mm · last 7 days 33 mm · last 90 days 189 mm
Feels-like through the day
1am
4am
7am
10am
1pm10°
4pm10°
7pm
10pm
Chance of rain (% / ≤mm at 10% quantile per 3-hour slot)
1am5%
4am5%
7am0%
10am5%
1pm5%
4pm5%
7pm5%
10pm5%
Dry day expected.
Decision policy — what triggers each call

Each simulated trial runs top to bottom; the first rule whose condition holds sets the call, otherwise it's GREEN. Generated live from policy_rules.json and training_rules.json, so it always shows the thresholds currently in force. Columns are the three age bands — younger groups carry stricter temperature cut-offs; the band you've selected above is highlighted. Temperature thresholds are provisional and need MJSC committee sign-off.

Game · 9–12
RuleU5–U8U9–U12U13–U16
RED High Antecedent Rainfallpre-session 12 h ≥ 5 mm & last 90 days ≥ 180 mm & last 7 days ≥ 20 mm= all ages= all ages
RED Waterlogged Groundpre-session 12 h ≥ 25 mm= all ages= all ages
RED High In-Game Rainfallin-session rain ≥ 6 mm= all ages= all ages
RED Extreme Cold and Rainfeels-like min ≤ -4° & in-session rain ≥ 1 mmfeels-like min ≤ -5° & in-session rain ≥ 1 mmfeels-like min ≤ -6° & in-session rain ≥ 1 mm
RED Extreme Coldfeels-like min ≤ -7°feels-like min ≤ -8°feels-like min ≤ -9°
RED Extreme Heatfeels-like max ≥ 36°= all ages= all ages
ORANGE Rainfallpre-session 12 h ≥ 4 mm or in-session rain ≥ 8 mm= all ages= all ages
ORANGE Cold and Rainfeels-like min ≤ 4° & in-session rain ≥ 1 mmfeels-like min ≤ 3° & in-session rain ≥ 1 mmfeels-like min ≤ 2° & in-session rain ≥ 1 mm
ORANGE Coldfeels-like min ≤ 1°feels-like min ≤ 0°feels-like min ≤ -1°
ORANGE Heatfeels-like max ≥ 32°= all ages= all ages
GREEN Default= all ages= all ages
Training · 15–18
RuleU5–U8U9–U12U13–U16
RED High Antecedent Rainfallpre-session 12 h ≥ 5 mm & last 90 days ≥ 180 mm & last 7 days ≥ 20 mm= all ages= all ages
RED Waterlogged Groundpre-session 12 h ≥ 25 mm= all ages= all ages
RED High In-Game Rainfallin-session rain ≥ 6 mm= all ages= all ages
RED Extreme Cold and Rainfeels-like min ≤ -4° & in-session rain ≥ 1 mmfeels-like min ≤ -5° & in-session rain ≥ 1 mmfeels-like min ≤ -6° & in-session rain ≥ 1 mm
RED Extreme Coldfeels-like min ≤ -7°feels-like min ≤ -8°feels-like min ≤ -9°
RED Extreme Heatfeels-like max ≥ 36°= all ages= all ages
ORANGE Rainfallpre-session 12 h ≥ 4 mm or in-session rain ≥ 8 mm= all ages= all ages
ORANGE Cold and Rainfeels-like min ≤ 4° & in-session rain ≥ 1 mmfeels-like min ≤ 3° & in-session rain ≥ 1 mmfeels-like min ≤ 2° & in-session rain ≥ 1 mm
ORANGE Coldfeels-like min ≤ 1°feels-like min ≤ 0°feels-like min ≤ -1°
ORANGE Heatfeels-like max ≥ 32°= all ages= all ages
GREEN Default= all ages= all ages

Thresholds are evaluated against the per-trial inputs described under "How is this probability calculated?": at_min_09to12 / at_max_09to12 are the in-session feels-like floor and ceiling (heat is an apparent-temperature proxy — the live BoM WBGT flag covers same-day heat).

How is this probability calculated?
Not an official forecast. These probabilities are derived from automated readings of the BoM products linked below combined with the club's traffic-light rules — the weekend game call uses policy_rules.json, the weekday training call uses training_rules.json. Always cross-check the source forecast at bom.gov.au and follow your club's official call procedure before deciding (the 7:45 am call for games).

Data sources

Pulled live from the Bureau of Meteorology each run:

What the call colours mean

Each Monte Carlo trial is fed through a set of rules, in order; the first rule that matches decides the call. The weekend game cards evaluate the 9–12 window against policy_rules.json; the weekday training cards evaluate the 15–18 window against training_rules.json. The published P(RED) / P(ORANGE) / P(GREEN) are the fraction of 20,000 simulated trials that landed in each outcome.

The exact rules and thresholds — for both the game and training calls — are shown in the Decision policy panel above, generated live from the policy files so they always match what's in force. Each call colour means: RED cancel, ORANGE inspect the surface / have a backup, GREEN go ahead.

Each card carries a small ⓘ "Why this call?" link under the action — collapsed by default to keep the coach view clean. Open it for the breakdown behind the call (for the age you've selected): a feels-like gauge showing where the session sits between the GREEN / caution / cancel lines and how far over they are, the rules that fired and how often, and the run's mean inputs. The feels-like gauge appears only when temperature is in play — feels-like is deterministic, so the marker is exact; rain is sampled, so for rain-driven days the fired-rule percentages, not a single value, tell the story.

Inputs sampled per trial

The window-keyed names are historical (kept so a rules file is portable between windows): they mean the session window — 9–12 for games, 15–18 for training.

Age-differentiated calls

Cold (and heat) tolerance depends heavily on age, so each day is evaluated for three bands — MiniRoos (U5–U8), Junior (U9–U12) and Youth (U13–U16) — with progressively stricter temperature cut-offs for younger players. The weather is sampled once per trial and scored against all three age thresholds, so the bands are directly comparable. Use the age selector near the top to switch which band every card shows (it's remembered on your device); the Decision-policy panel lists all three side by side. The rainfall/antecedent rules are common to all ages; only the temperature thresholds differ. With JavaScript off, the strictest band (U5–U8) is shown.

Heat stress

Heat is handled in two tiers. For the forecast horizon (days ahead) we use at_max_09to12, the session's apparent-temperature ceiling, as a heat-stress proxy — BoM's forecast has no humidity or wind, so a true WBGT can't be forecast. For the same day we show Orange's live WBGT and BoM's official heat-stress flag (IDN65179) on today's card — the recognised sports standard, shown verbatim. Heat thresholds are provisional and need MJSC committee sign-off; always cross-check the live BoM flag and Sports Medicine Australia guidance.

How rainfall is sampled

For each macro-window (9–12, overnight, daily) we pick a (low, high) band keyed on the average BoM chance-of-rain across the slots covering that window, then sample uniformly. When BoM publishes a "10% chance of more than X mm" amount, the upper bound is widened to honour it. See BANDS_3H / BANDS_12H / BANDS_24H at the top of src/forecast.py.

Feels-like and rain strips

Two stacked 3-hour strips per day card show BoM's published forecast at slot granularity.

Each slot moves through three states as the day progresses, drawing on Orange Airport's half-hourly feed:

Observed rain cells (now and obs) are coloured by mm (green < 0.2, yellow 0.2–1, orange 1–4, red ≥ 4) rather than chance-of-rain.

The session windows are configured by GAME_HOUR_START / GAME_HOUR_END and TRAIN_HOUR_START / TRAIN_HOUR_END in src/forecast.py. The rain headline beneath the strips refers to the wettest 3-hour window, not a daily total — BoM's detailed page doesn't publish a daily roll-up.

Observed pre-session blending

As a session approaches, the dashboard computes how much rain has actually fallen in the 12-hour window before it — overnight 21:00–09:00 for a morning game, 03:00–15:00 for an afternoon training. When that window is fully observed, the forecast estimate is replaced with the observed value; when it's only partly observed, observed rain is blended with a scaled forecast sample for the unobserved tail. A green-bordered "rain before…" block appears on the day card when this is active.

Weekday afternoon training (3–6 pm)

The training cards run the same engine described above on the 15:00–18:00 window against training_rules.json, for each upcoming weekday (Mon–Fri) within BoM's 7-day horizon — afternoons already finished are dropped, so you see up to five rolling sessions. The call is the chip in each row's summary; expand for the action, the pre-session rain, and the day strips. Training thresholds ship as a copy of the game rules and are tuned independently in training_rules.json.

Refresh cadence

GitHub Actions runs the pipeline four times a day shortly after each BoM forecast issue (04:30, 10:30, 16:30, 22:30 AEST), plus an extra run at 07:00 AEST on Sat & Sun to refresh before the 7:45 am call. It also runs on any push to the code/policy. The "Next update" pill near the top of the page shows the actual next scheduled fire time.

Calibration vs the manual runbook

This is a more BoM-faithful version of the project's manual runbook process. On borderline days expect probabilities slightly less alarmist than a hand calculation using the runbook's deliberately-wide bands. To shift toward more conservative readings, widen the bands in src/forecast.py.

Auto-updated by GitHub Actions. Source: BoM Orange forecast, Orange Airport observations.
Policy + code: github.com/hazbut/mjsc-weather-dashboard