Archived release 2026-10-08.0 (2026-10-08): the page as published then (code e6304a3). Current release · Change log

ECMWF SEAS5 · May initialization · CHIRPS v2.0 · 0.25°

Calibrated seasonal rainfall outlooks for Ethiopia

Bias-corrected, probability-calibrated June–September rainfall outlooks for Ethiopia, built from the ECMWF SEAS5 ensemble and evaluated against CHIRPS observations over 1993–2025, with a frozen 2026 forecast verified as observations arrive.

Research reconstruction. These are retrospective research products, not official forecasts of the Ethiopian Meteorology Institute (EMI) or ICPAC.

2026 JJAS outlook
50% below normal
All Ethiopia, anomaly -66 mm · JJAS R1+R2 domain 55% below, -101 mm
Skill 2017–2025 (JJAS)
RPSS +0.050
Ranked probability skill vs climatology
2026 verified so far
Jun +0.19 / Jul +0.25 / Aug +0.28
RPSS against CHIRPS; Sep & JJAS pending (Sep CHIRPS: unavailable)

Workflow

Every stage is a script in scripts/ with its own checks; documents 01–37 in docs/ record each step and decision.

  1. 1

    Download

    ECMWF SEAS5 (system 51) daily accumulated precipitation, May initialization, 183 days, 25 hindcast / 51 forecast members, via the Copernicus CDS.

    download_seasonal_forecasts_daily_c3s.py
  2. 2

    Inspect

    Inventory every year: initialization, lead times, member counts, accumulation increments (GRIB packing tolerance 0.2 mm).

    inspect_inputs.py
  3. 3

    Prepare

    De-accumulate to daily totals, label days by interval start, sum JJAS (122 days) and each month; CHIRPS on the same dates.

    prepare_seasonal.py · run_monthly.py
  4. 4

    Regrid

    Each 1° model cell copied into its 4×4 block of 0.25° CHIRPS cells; edges and area conservation verified.

    regrid_seasonal.py
  5. 5

    Calibrate

    Per-cell mean–variance amount correction, smoothed tercile counts, one climatology-blend weight per target (leave-one-year-out).

    final_shared_blend.py
  6. 6

    Evaluate

    Nested cross-validation 1993–2016, fixed-fit evaluation 2017–2025, whole-year significance gates.

    local_blend.py · decision_gates.py
  7. 7

    Deliver

    Maps, bulletin and offline gallery; forecasts frozen with SHA-256 hashes before observations are used.

    finalize_forecast_delivery.py · run_operational.py
  8. 8

    Verify

    Official CHIRPS v2.0 p25 monthly files, overlap-checked against the archive, scored per month and season.

    prepare_verification_2026.py · verify_frozen_2026.py

Data and methods

Data

SourceDetails
ECMWF SEAS5CDS seasonal-original-single-levels, system 51, total precipitation, 1 May initialization, 1993–2026; 25 members (1993–2016), 51 (2017–2026); 1° grid, 3–15°N, 33–48°E
CHIRPS v2.00.25° daily; archive 1993–2025; 2026 from official p25 monthly files, overlap-checked against the archive
TargetsJJAS (122 days) and the months Jun, Jul, Aug, Sep
MasksEthiopia (1,484 cells, cell-centre rule); descriptive rainfall regimes R0–R3 fixed on 1993–2025

Quality control

  • All 34 forecast files inventoried; re-downloaded years were bit-identical, confirming SEAS5 system 51.
  • Small negative daily increments (≤0.15 mm) are GRIB packing rounding (2−13 m); tolerated up to 0.2 mm, clipped, and the seasonal sum is checked to telescope.
  • CHIRPS sea cells (223) are permanently missing; no partial seasons enter any fit.

Calibration (final method)

  1. Amount correction per cell, equal weight per year:
    x̂ = max(0, μobs + r·(x − μmodel)), r = clip(σobs/σmodel, 0.5, 2)
  2. Tercile probabilities from corrected members against CHIRPS terciles, smoothed: (n + 0.5)/(M + 1.5)
  3. Climatology blend: p = (1 − λ)·pmodel + λ·pclim, one λ per target fitted on leave-one-year-out RPS (λ = JJAS 0.50, Jun 0.74, Jul 0.60, Aug 0.48, Sep 0.79)

Evaluated and not adopted: regularized Dirichlet recalibration, per-cell and regime-specific blend weights, an Ethiopia-only blend domain and removing the blend. Uncalibrated ECMWF probabilities score RPSS -0.41 for JJAS over 2017–2025.

Historical skill

Ranked probability skill score (RPSS) of the final method against climatology, Ethiopia cells, one score per year. 1993–2016 uses nested leave-one-year-out fits; 2017–2025 uses fits on 1993–2016 (exploratory, years seen during method selection). Bold: one-sided whole-year permutation p < 0.05.

TargetRPSS 1993–2016 (nested CV)Years betterRPSS 2017–2025Years betterProbability coverage
JJAS+0.046 p=0.0319/24+0.050 p=0.066/998%
Jun+0.010 p=0.2914/24+0.024 p=0.106/979%
Jul+0.017 p=0.0917/24+0.036 p=0.165/979%
Aug+0.021 p=0.0915/24+0.066 p=0.017/981%
Sep+0.004 p=0.3212/24+0.010 p=0.254/996%

After adjusting for five targets, no gain over climatology is statistically significant; JJAS is significant on its own (p = 0.03). Monthly skill is small.

Where the forecast is skilful

Region (nested 1993–2016)JJASJunJulAugSep
R0 arid / marginal+0.108 p=0.03-0.007 p=0.56+0.006 p=0.44+0.073 p=0.01+0.008 p=0.37
R1 western unimodal+0.055 p=0.04+0.008 p=0.33+0.031 p=0.01+0.004 p=0.38+0.005 p=0.35
R2 Belg–Kiremt+0.101 p=0.01+0.028 p=0.21+0.036 p=0.04+0.050 p=0.01+0.007 p=0.30
R3 Gu–Deyr-0.008 p=0.64-0.007 p=0.62-0.030 p=0.81-0.004 p=0.57-0.000 p=0.51
R1+R2 JJAS domain+0.078 p=0.01+0.018 p=0.23+0.034 p=0.01+0.027 p=0.04+0.006 p=0.29

R3 (Gu–Deyr, south and south-east) shows no clean-period skill for any target; June and September show none in any region.

Decisions tested with significance gates

A change is adopted only if it improves nested 1993–2016 scores (Holm-adjusted p < 0.05) and does not worsen 2017–2025.

Candidate changeΔ score 1993–2016Δ score 2017–2025Decision
Fit blend weight on Ethiopia only+0.0003 to +0.0013-0.0038 to -0.0001Not adopted
Square-root amount correction (probabilities)-0.0007 to +0.0003-0.0033 to -0.0006Not adopted
Remove the climatology blend+0.0106 to +0.0316-0.0137 to +0.0211Not adopted
Plain climatology+0.0017 to +0.0210+0.0044 to +0.0303Not adopted
Square-root amount correction (rainfall amounts, CRPS)-0.13 to -0.10 mmbetter in all targetsPasses for all targets (next cycle)

Ensemble diagnostics

TargetRPS, 51 membersRPS, 25-member subsetsSpread / error (hindcast → operational)
JJAS0.42840.43070.72 → 0.80
Jun0.45900.46000.68 → 0.64
Jul0.45060.45220.74 → 0.74
Aug0.42640.42840.78 → 0.76
Sep0.45480.45570.78 → 0.73

51-member forecasts score at least as well as 25-member hindcast-sized ensembles, so the transfer is safe. The corrected ensemble is under-dispersive (spread/error below 1), which the climatology blend partly compensates.

2026 forecast

May-initialized, 51 members, fitted on 1993–2025 and frozen before any 2026 observation was used. Results are shown for all of Ethiopia and for the JJAS R1+R2 rainfall domain, the same two views as the operational gallery.

JJAS R1+R2 rainfall domain. Fixed 1993-2025 descriptive domain: cleaned GitHub-refined R1/R2; JJAS climatological rainfall >=120 mm and >=20% of annual rainfall. The same domain is used for Jun, Jul, Aug, Sep and JJAS. No onset gate. A presentation and summary domain, not a separate calibration, physical land mask, monthly rainfall-regime classification, or independently validated EMI zone.

TargetViewBelow / near / aboveMean rainfall / referenceMean anomalyShare of country area
JJASAll Ethiopia50% / 25% / 24%375 / 441 mm-66.0 mm100%
JJAS R1+R2 rainfall domain55% / 25% / 20%614 / 715 mm-100.6 mm56%
JunAll Ethiopia43% / 30% / 27%66 / 81 mm-15.1 mm100%
JJAS R1+R2 rainfall domain43% / 30% / 27%109 / 131 mm-22.4 mm56%
JulAll Ethiopia45% / 29% / 26%113 / 130 mm-16.9 mm100%
JJAS R1+R2 rainfall domain43% / 30% / 27%194 / 217 mm-24.0 mm56%
AugAll Ethiopia51% / 26% / 23%117 / 136 mm-18.9 mm100%
JJAS R1+R2 rainfall domain48% / 27% / 25%198 / 225 mm-26.8 mm56%
SepAll Ethiopia36% / 31% / 33%83 / 94 mm-11.7 mm100%
JJAS R1+R2 rainfall domain39% / 31% / 30%117 / 141 mm-24.0 mm56%

Probabilities are area means of local grid-cell probabilities, not probabilities of the domain-total rainfall. Monthly and seasonal outlooks are calibrated separately: over all Ethiopia the corrected monthly means sum to 378 mm against 375 mm for JJAS (+3.3 mm).

2026 verification

Frozen forecasts scored against official CHIRPS v2.0 observations, for all of Ethiopia and the JJAS R1+R2 rainfall domain. Single-season results, not evidence of multi-year reliability. Positive skill means improvement over climatology on that support.

TargetViewFinal RPSSCorrected CRPSSCorrected biasObserved below / near / aboveObserved / forecast anomaly
JunAll Ethiopia+0.193+0.388+5.4 mm71% / 19% / 10%-20.6 / -15.1 mm
JJAS R1+R2 rainfall domain+0.217+0.399+9.8 mm80% / 15% / 5%-32.1 / -22.4 mm
JulAll Ethiopia+0.254+0.279+19.1 mm84% / 11% / 5%-36.0 / -16.9 mm
JJAS R1+R2 rainfall domain+0.196+0.253+33.6 mm84% / 11% / 5%-57.6 / -24.0 mm
AugAll Ethiopia+0.279+0.441+12.9 mm79% / 11% / 10%-31.9 / -18.9 mm
JJAS R1+R2 rainfall domain+0.356+0.440+20.6 mm88% / 10% / 2%-47.4 / -26.8 mm
Sepboth viewspending————
JJASboth viewspending————

January initialization · FMAM 2026 forecast

The same pipeline applied to another season: ECMWF SEAS5 initialized on 1 January 2026, 51 members, calibrated against CHIRPS for FMAM seasons 1993–2025 (33 seasons; 25-member hindcasts to 2016, 51 members after). The season runs from February to May 2026. Verification needs CHIRPS through May 2026.

FMAM R2 (Belg) rainfall domain. Fixed 1993-2025 descriptive domain (Belg): rainfall regime R2 (GitHub-refined classification of the CHIRPS daily climatology) with FMAM climatological CHIRPS rainfall >=80 mm; patches smaller than 3 cells removed. Scientific masking walkthrough logic; no onset gate. The same domain is used for the season and each of its months. A presentation and summary domain, not a separate calibration, physical land mask, monthly rainfall-regime classification, or independently validated EMI zone.

TargetViewBelow / near / aboveMean rainfall / referenceMean anomalyShare of country areaProbability coverage
Feb 2026All Ethiopia28% / 39% / 33%14 / 13 mm+0.8 mm100%74%
FMAM R2 (Belg) rainfall domain28% / 37% / 35%18 / 16 mm+2.0 mm28%95%
Mar 2026All Ethiopia31% / 35% / 34%48 / 42 mm+5.9 mm100%87%
FMAM R2 (Belg) rainfall domain31% / 35% / 34%55 / 50 mm+5.5 mm28%100%
Apr 2026All Ethiopia35% / 32% / 33%91 / 94 mm-2.7 mm100%100%
FMAM R2 (Belg) rainfall domain37% / 31% / 32%73 / 77 mm-3.2 mm28%100%
May 2026All Ethiopia36% / 34% / 30%95 / 99 mm-4.8 mm100%100%
FMAM R2 (Belg) rainfall domain37% / 33% / 30%66 / 70 mm-3.9 mm28%100%
FMAM 2026All Ethiopia34% / 32% / 34%248 / 249 mm-1.0 mm100%100%
FMAM R2 (Belg) rainfall domain34% / 33% / 33%212 / 213 mm-0.3 mm28%100%

Outside the rainfall domain much of Ethiopia is outside its main rainy season; cells with negligible climatological rainfall have no tercile probabilities, which lowers national probability coverage.

Verification against CHIRPS

TargetViewFinal RPSSCorrected CRPSSCorrected biasObserved below / near / above
Feb 2026both viewspending———
Mar 2026All Ethiopia+0.037+0.086-53.7 mm0% / 4% / 96%
FMAM R2 (Belg) rainfall domain+0.032+0.079-38.3 mm0% / 8% / 92%
Apr 2026All Ethiopia+0.025+0.038+3.7 mm36% / 31% / 33%
FMAM R2 (Belg) rainfall domain+0.036+0.080+5.7 mm42% / 27% / 30%
May 2026All Ethiopia+0.017-0.012+0.0 mm33% / 50% / 16%
FMAM R2 (Belg) rainfall domain+0.044+0.089+4.4 mm28% / 63% / 9%
FMAM 2026both viewspending———

Single-season scores against official CHIRPS v2.0 observations; positive skill beats climatology on that support. Maps are in the map explorer (product: Verification).

Historical skill for this season

TargetRPSS 1993–2016 (nested CV)RPSS 2017–2025Climatology weight λ
Feb+0.032 p=0.03 16/24 yrs-0.006 p=0.58 5/9 yrs0.70
Mar+0.001 p=0.42 16/24 yrs+0.003 p=0.33 6/9 yrs0.81
Apr+0.002 p=0.43 15/24 yrs+0.007 p=0.32 6/9 yrs0.71
May+0.026 p=0.05 17/24 yrs-0.000 p=0.50 6/9 yrs0.57
FMAM+0.027 p=0.08 18/24 yrs-0.004 p=0.57 4/9 yrs0.43

RPSS of the final method against climatology, Ethiopia cells; nested leave-one-year-out fits for the development years and fits on those years for the later evaluation years. Bold: one-sided whole-year permutation p < 0.05. Maps for every target and both views are in the map explorer.

September initialization · ONDJ 2026/27 forecast

The same pipeline applied to another season: ECMWF SEAS5 initialized on 1 September 2026, 51 members, calibrated against CHIRPS for ONDJ seasons 1993–2024 (32 seasons; 25-member hindcasts to 2016, 51 members after). The season crosses the year boundary (October 2026 to January 2027). Verification needs CHIRPS through January 2027.

ONDJ R3 (Deyr) rainfall domain. Fixed 1993-2025 descriptive domain (Deyr / Hagaya): rainfall regime R3 (GitHub-refined classification of the CHIRPS daily climatology) with ONDJ climatological CHIRPS rainfall >=30 mm; patches smaller than 3 cells removed. Scientific masking walkthrough logic; no onset gate. The same domain is used for the season and each of its months. A presentation and summary domain, not a separate calibration, physical land mask, monthly rainfall-regime classification, or independently validated EMI zone.

TargetViewBelow / near / aboveMean rainfall / referenceMean anomalyShare of country areaProbability coverage
Oct 2026All Ethiopia33% / 32% / 35%87 / 85 mm+2.5 mm100%99%
ONDJ R3 (Deyr) rainfall domain27% / 30% / 43%126 / 106 mm+20.5 mm39%100%
Nov 2026All Ethiopia26% / 26% / 48%53 / 36 mm+16.7 mm100%98%
ONDJ R3 (Deyr) rainfall domain21% / 22% / 57%83 / 51 mm+31.4 mm39%100%
Dec 2026All Ethiopia33% / 33% / 34%13 / 10 mm+2.3 mm100%62%
ONDJ R3 (Deyr) rainfall domain32% / 31% / 37%16 / 12 mm+4.1 mm39%54%
Jan 2027All Ethiopia31% / 35% / 34%12 / 10 mm+1.8 mm100%64%
ONDJ R3 (Deyr) rainfall domain29% / 37% / 34%9 / 7 mm+1.5 mm39%43%
ONDJ 2026/27All Ethiopia28% / 27% / 45%167 / 141 mm+26.5 mm100%100%
ONDJ R3 (Deyr) rainfall domain19% / 24% / 57%240 / 176 mm+64.3 mm39%100%

Outside the rainfall domain much of Ethiopia is outside its main rainy season; cells with negligible climatological rainfall have no tercile probabilities, which lowers national probability coverage.

Historical skill for this season

TargetRPSS 1993–2016 (nested CV)RPSS 2017–2024Climatology weight λ
Oct-0.001 p=0.52 13/24 yrs+0.024 p=0.25 6/8 yrs0.44
Nov+0.046 p=0.15 15/24 yrs+0.005 p=0.47 4/8 yrs0.23
Dec+0.011 p=0.26 15/24 yrs+0.027 p=0.18 6/8 yrs0.64
Jan+0.002 p=0.37 15/24 yrs+0.004 p=0.35 5/8 yrs0.82
ONDJ+0.020 p=0.31 14/24 yrs+0.063 p=0.25 4/8 yrs0.28

RPSS of the final method against climatology, Ethiopia cells; nested leave-one-year-out fits for the development years and fits on those years for the later evaluation years. Bold: one-sided whole-year permutation p < 0.05. Maps for every target and both views are in the map explorer.

Map explorer

Choose a target season or month, a product and a rainfall domain. Statistics and maps are the operational gallery's presentation layers; the rainfall-domain view is for display and summaries only.

Limitations

Reproduce

git clone https://github.com/YonSci/calibrated_seasonal_rainfall.git
python -m venv .venv && .venv\Scripts\activate && pip install -r requirements.txt
python scripts\prepare_seasonal.py --config config\project.json --all-years
python scripts\final_shared_blend.py --config config\project.json --region-mask data\masks\ethiopia_common.nc
python scripts\run_operational.py --workflow all

Raw ECMWF and CHIRPS data are not stored in the repository; download instructions are in docs/37. Status and decisions: docs/36.