Archived release 2026-10-11.5 (2026-10-11): the page as published then (code e252baa). Current release · Change log
Research reconstruction · not an official EMI or ICPAC forecast

Seasonal rainfall outlook

Research reconstruction · not an official forecast

Observations: CHIRPS v3.0 since 11 October 2026. Every cycle is calibrated and verified with CHIRPS v3.0. The 2026 forecasts shown here were recalibrated with v3.0 after their outcomes were known, so they are retrospective reconstructions, not forecasts issued in advance. The versions calibrated with CHIRPS v2.0 are in the release archive (release 2026-10-10.2); the v2.0 vs v3.0 comparison is in the Methods section.

Average local probability

Rainfall amount

Forecast signal

Historical skill

Signal strength describes how far this forecast's probabilities depart from climatology. Historical skill describes how forecasts made the same way scored in past years. A strong signal is not a confidence rating.

All targets in this cycle

Official outlook comparison

Cycle status and record

Maps

Open full-size Download PNG

How to read this map

Grey, white and blank areas

Light grey: outside the selected area. Dark grey: inside the area but without values, for example cells where reference-period rainfall is too small for tercile categories, or (percent maps) below 10 mm. White on tercile maps: no category reaches 40%, or two categories tie. Sea cells have no CHIRPS data.

Smoothing and resolution. Maps are drawn on a 12× finer display grid with light Gaussian smoothing (σ = 0.6 grid cells); all numbers on this page use the original 0.25° grid. The model's own resolution is about 1°: each model cell covers 4×4 grid cells, so detail within a 1° box comes from local CHIRPS rainfall statistics used in the amount correction, not from the model.

Verification

Frozen forecasts compared with official CHIRPS v3.0 observations once a target period is complete. Each result is one season or month, so it shows what happened this time, not long-term reliability.

Historical performance

How forecasts made with the same method scored in past years against climatology (the observed frequency of each tercile in the training years, about one-third each). The main number is the cross-validated 1993–2016 score: each year is forecast with parameters fitted without that year. Later years are exploratory: they were seen while the method was chosen.

Historical verification explorer

The evidence behind the scores above, for the selected cycle, target and area. Choose the evaluation period; all diagnostics use the blended probabilities against climatology.

Historical performance by rainfall region

Bias correction

How the model’s rainfall amounts are corrected toward CHIRPS, and how alternative bias-correction methods compare with the operational one: the data, every method’s definition, the steps, the results by target and region, and what they mean.

September initialization · ONDJ and its months

Research benchmark. The published forecasts still use Mean-Variance Scaling (operational). This section compares 12 other rainfall-amount bias-correction methods with it, member by member, for every grid cell and every target, under one protocol. A method that passes the gate here is a candidate: before it can replace the operational method it needs a confirmation run with the climatology blend, because the site’s probabilities are blended and 12 methods were screened.

Summary

  • Every method is far better than the raw model. Raw ECMWF scores CRPSS -0.205 for ONDJ (1993–2016): its ensemble mean is 14% below CHIRPS for the season (66% in Jan) and its spread is far too narrow (spread–error ratio 0.54).
  • Square-root-space Mean-Variance Scaling is the consistent improvement. It passes the amount gate for Dec, Jan and ONDJ and the tercile gate for Nov, Dec and Jan, and it is at least as good as Mean-Variance Scaling for every target in both periods and on both scores (ONDJ CRPSS +0.075 vs +0.066 in 1993–2016, +0.175 vs +0.164 in 2017–2024). Members clipped to 0 mm in the months: 4.5–12.2% with Mean-Variance Scaling, 1.0–2.9% with this method.
  • Gamma Quantile Mapping has the best ONDJ amount skill over 2017–2024 (+0.178 vs +0.164); it passes the amount gate for Jan and the tercile gate for none.

Shortlist for a confirmation run: Square-root-space Mean-Variance Scaling and Gamma Quantile Mapping. Passing the gate for some targets only: Variance Scaling (unbounded) (Jan); Power Transformation (Jan); Empirical Quantile Mapping (Dec and Jan).

Data

Data used by the benchmark
ItemDetails
ForecastsECMWF SEAS5 (system 51), initialized on 1 September; 25 members 1993–2016, 51 from 2017; remapped from 1° to the 0.25° CHIRPS grid by conservative remapping (each 1° cell fills a 4 × 4 block). Johnson et al. 2019
ObservationsCHIRPS v3.0 monthly totals, averaged from 0.05° to 0.25°
TargetsOct, Nov, Dec, Jan and the ONDJ season; each corrected separately
ValuesOne total per member, grid cell and year (mm), the same inputs as the operational tool (data/processed/init09_<target>/)
Observed years1993–2024 (seasons starting in these years)
Training / test split1993–2016 (clean, gated) / 2017–2024 (exploratory)
Cells1,484 grid cells of Ethiopia (0.25°); a cell is corrected only if CHIRPS is complete in every training year
Regions scoredAll Ethiopia (1,484 cells) — primary; ONDJ R3 (Deyr) domain (575 cells)
WeightingEvery member is used; each training year has total weight 1/Y (each member of year y weighs 1/(Y·My)), so years with 25 and 51 members count equally. Each observed year weighs 1/Y.
Configurationconfig/bias_correction/sep_ondj.json; run 2026-10-11 10:43 UTC

Methods

Each method is fitted per grid cell and target from the training years only and applied to each member of the scored year. Methods that keep a “change signal” (DC, DQM, QDM, SDM, CDF-t) were designed for climate change, where a model’s reference period is compared with a future period; here the “future” is the forecast itself: the target year’s ensemble against the model climatology.

How overlapping names were resolved
  • Delta Change appeared twice in the requested list; it is one method.
  • Mean–Variance Scaling is the operational method, with the project’s limits (ratio 0.5–2; mean-only where the model spread is below 1 mm). Variance Scaling is the textbook form with the same algebra and no limits, kept only to test those limits.
  • Delta Change is defined as the CHIRPS training years rescaled by the forecast signal (ensemble mean / model climatology), so it is the only method that is not member-wise; applied to each member it would be identical to Linear Scaling.
  • Square-root-space MVS (a mean–variance scaling of √x) is distinct from Power Transformation (a·xb with b fitted to the coefficient of variation).
  • The raw model is scored as a baseline, not gated.
12 methods, the operational reference and the raw baseline
MethodFamilyDefinition (per cell and target)Member-wiseUses the forecast ensemble’s own distributionParametersReferences
Raw ECMWF (no correction)
raw
baselinex' = x (the uncorrected model; baseline, not a candidate)yesno—Johnson et al. 2019
Linear Scaling
ls
scalingx' = x * mu_obs / mu_model (multiplicative mean correction)yesno{"min_model_mean": 0.1}Lenderink et al. 2007, Teutschbein & Seibert 2012
Mean-Variance Scaling (operational)
mvs
scalingx' = max(0, mu_obs + r (x - mu_model)), r = clip(sd_obs/sd_model, 0.5, 2); r = 1 if sd_model < 1 mmyesno{"ratio_bounds": [0.5, 2.0], "min_model_sd": 1.0}Torralba et al. 2017, Manzanas et al. 2019
Variance Scaling (unbounded)
vs
scalingSame algebra as MVS without the project's ratio limits: r = sd_obs/sd_modelyesno{"ratio_bounds": null, "min_model_sd": 0.1}Teutschbein & Seibert 2012
Square-root-space Mean-Variance Scaling
sqrt_mvs
scalingMVS applied to sqrt(x), clipped at 0 and squared back (docs/36)yesno{"ratio_bounds": [0.5, 2.0], "min_model_sd": 0.1, "space": "sqrt"}Manzanas et al. 2019
Power Transformation
pt
scalingx' = a x^b, b matches the coefficient of variation, a the meanyesno{"b_bounds": [0.1, 3.0]}Leander & Buishand 2007, Teutschbein & Seibert 2012
Delta Change
dc
change-preservingTraining-year CHIRPS totals times (forecast ensemble mean / model climatological mean)no (one value per training year)yes{"ratio_bounds": [0.2, 5.0], "min_model_mean": 0.1}Hay et al. 2000, Teutschbein & Seibert 2012
Local Intensity Scaling
loci
scalingModel wet threshold with the observed wet frequency, then intensity scaling above ityesno{"wet_threshold": 1.0}Schmidli et al. 2006
Empirical Quantile Mapping
eqm
quantile mappingx' = Q_obs(F_model(x)), constant-ratio extrapolationyesno{"extrapolation": "constant_ratio"}Boé et al. 2007, Themeßl et al. 2011, Gudmundsson et al. 2012
Gamma Quantile Mapping
gqm
quantile mappingx' = G_obs^-1(G_model(x)), mixed dry mass + gamma, weighted maximum likelihoodyesno{"wet_threshold": 1.0}Piani et al. 2010
Detrended Quantile Mapping
dqm
change-preservingEQM of x / a, times a, with a = forecast ensemble mean / model meanyesyes{"extrapolation": "constant_ratio", "ratio_bounds": [0.2, 5.0], "min_model_mean": 0.1}Cannon et al. 2015
Quantile Delta Mapping
qdm
change-preservingx' = Q_obs(tau) * x / Q_model(tau), tau = rank of x in the forecast ensembleyesyes{"max_ratio": 5.0, "wet_threshold": 1.0}Cannon et al. 2015
Scaled Distribution Mapping
sdm
change-preservingGamma fits to observations, model climatology and forecast ensemble; scaled relative change and rain frequencyyesyes{"wet_threshold": 1.0}Switanek et al. 2017
CDF-transform
cdft
change-preservingF_obs,f = F_obs(F_model^-1(F_forecast)); x' = F_obs,f^-1(F_forecast(x)); model first scaled to the observed meanyesyes{"min_model_mean": 0.1}Michelangeli et al. 2009, Vrac et al. 2012

Steps

  1. 1

    Load

    Per-member totals of every target and year, and CHIRPS for 1993–2024.

    bias_benchmark.py · run_calibration.load_inputs
  2. 2

    Fit

    For each cell and target, the method’s statistics from the training years only, with equal-year weights.

    bias_methods.METHODS[key].fit
  3. 3

    Apply

    Correct every member of the scored year individually (member-wise).

    bias_methods.METHODS[key].apply
  4. 4

    Score

    Fair CRPS, ensemble-mean errors, spread–error, rank histograms, tercile RPS and distribution ratios, per cell; then area-weighted per year.

    bias_benchmark.score_cells · summarise
  5. 5

    Gate

    Each method against Mean-Variance Scaling (operational): per-year scores, one-sided sign-flip test, Holm across the 5 targets, no harm in 2017–2024.

    significance.paired_summary · holm · gate
  6. 6

    Forecast

    Fit on 1993–2024 and correct the 2026 members of every method for member-by-member comparison.

    bias_benchmark.save_forecast
Evaluation designs (no method has a parameter tuned on scores, so leave-one-year-out is out-of-sample)
DesignFitsScoredRole
Trainingleave-one-year-out within 1993–2016each 1993–2016 yearclean evidence; gated
Operational1993–20162017–2024exploratory (these years were seen before)
Fullleave-one-year-out within 1993–2024each yearper-cell maps and distribution checks (descriptive)
Forecast1993–20242026 membersmember-by-member comparison
Scores
ScoreWhat it measuresReference
CRPS / CRPSSError of the whole corrected ensemble in mm (fair version, so ensembles of 25, 31 and 51 values compare); skill against the CHIRPS training climatologyFerro 2014
Ensemble meanBias, MAE, RMSE and correlation over years
Spread–error ratio√(mean ensemble variance·(K+1)/K) / RMSE of the ensemble mean; 1 = spread matches the error, < 1 too narrow
Rank histogram, reliability indexPosition of CHIRPS within the ensemble (10 bins; each rank interval shared among the bins it overlaps); index Σ|fi − 1/10|, 0 = flatDelle Monache et al. 2006
Tercile RPS / RPSSα = 0.5 smoothed member counts against the training CHIRPS terciles, without the climatology blend
Distribution ratiosPooled out-of-fold corrected members (equal-year weights) over CHIRPS of the same years: mean, standard deviation, 10th and 90th percentiles; area-weighted median over cells
GateAdopt only if the 1993–2016 per-year improvement is significant (Holm-adjusted one-sided p < 0.05 across targets) and the method is not worse over the test years (rule of docs/36)

Results

Region

✓ = passes the gate against Mean-Variance Scaling (operational). Bold: the operational method. Skill is against the CHIRPS training climatology (0 = no better than climatology).

ONDJ season at a glance — All Ethiopia
MethodCRPSS 1993–2016CRPSS 2017–2024RPSS 1993–2016RPSS 2017–2024Mean bias (mm)MAE (mm)CorrelationSpread–errorReliability indexZero values (%)
Raw ECMWF (no correction)-0.205-0.146-0.149-0.109-14.869.60.430.540.370.0
Linear Scaling+0.060+0.112+0.025+0.058-0.157.40.310.780.160.0
Mean-Variance Scaling (operational)+0.066+0.164+0.035+0.065-0.557.60.270.960.091.7
Variance Scaling (unbounded)+0.060+0.168+0.036+0.064-0.557.80.261.010.102.2
Square-root-space Mean-Variance Scaling+0.075 ✓+0.175+0.038+0.073-0.657.40.280.940.070.0
Power Transformation+0.067+0.174+0.036+0.065-0.957.90.261.010.050.0
Delta Change+0.097+0.117+0.028+0.011-0.157.40.311.160.050.0
Local Intensity Scaling+0.059+0.112+0.024+0.058-0.257.40.300.770.170.0
Empirical Quantile Mapping+0.046+0.153+0.025+0.049-1.157.80.250.970.100.0
Gamma Quantile Mapping+0.076+0.178+0.039+0.076-0.557.30.280.930.080.0
Detrended Quantile Mapping+0.066+0.098+0.010+0.024-1.757.00.320.980.080.0
Quantile Delta Mapping+0.071+0.101+0.009+0.020-0.157.40.311.040.090.0
Scaled Distribution Mapping+0.066+0.098+0.001+0.016+0.157.50.311.050.090.0
CDF-transform+0.065+0.100+0.011+0.029-3.856.80.320.830.120.0
Amount skill (CRPSS) by target, leave-one-year-out 1993–2016 — gated on CRPS
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)-0.226-0.048-0.136-0.599-0.205
Linear Scaling-0.031+0.068-0.007-0.119+0.060
Mean-Variance Scaling (operational)-0.009+0.082+0.023-0.066+0.066
Variance Scaling (unbounded)-0.011+0.080+0.026-0.019 ✓+0.060
Square-root-space Mean-Variance Scaling-0.002+0.085+0.032 ✓+0.030 ✓+0.075 ✓
Power Transformation-0.006+0.079+0.016-0.029+0.067
Delta Change+0.022+0.089+0.027-0.049+0.097
Local Intensity Scaling-0.031+0.075+0.009-0.099+0.059
Empirical Quantile Mapping-0.020+0.071+0.033+0.011 ✓+0.046
Gamma Quantile Mapping-0.001+0.083+0.022+0.000 ✓+0.076
Detrended Quantile Mapping-0.002+0.072-0.004-0.071+0.066
Quantile Delta Mapping+0.005+0.074+0.016-0.022+0.071
Scaled Distribution Mapping+0.001+0.071-0.018-0.193+0.066
CDF-transform-0.009+0.067-0.026-0.117+0.065
Tercile skill (RPSS of smoothed counts, no blend) by target, 1993–2016 — gated on RPS
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)-0.165-0.043-0.175-0.516-0.149
Linear Scaling-0.033+0.035-0.080-0.144+0.025
Mean-Variance Scaling (operational)-0.009+0.044-0.068-0.213+0.035
Variance Scaling (unbounded)-0.009+0.045-0.060-0.175 ✓+0.036
Square-root-space Mean-Variance Scaling-0.005+0.060 ✓-0.030 ✓-0.017 ✓+0.038
Power Transformation-0.013+0.044-0.049-0.046 ✓+0.036
Delta Change-0.003+0.044-0.154-0.214+0.028
Local Intensity Scaling-0.028+0.047-0.109-0.153+0.024
Empirical Quantile Mapping-0.021+0.049-0.005 ✓-0.006 ✓+0.025
Gamma Quantile Mapping-0.006+0.051-0.113-0.161+0.039
Detrended Quantile Mapping-0.019+0.035-0.170-0.219+0.010
Quantile Delta Mapping-0.014+0.025-0.054-0.070+0.009
Scaled Distribution Mapping-0.018+0.022-0.163-0.275+0.001
CDF-transform-0.026+0.010-0.241-0.254+0.011
More scores by target: test years, bias, correlation, spread, reliability, zero values
Amount skill (CRPSS), fit 1993–2016, scored 2017–2024
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)-0.152+0.009-0.239-0.656-0.146
Linear Scaling+0.029+0.109-0.155-0.214+0.112
Mean-Variance Scaling (operational)+0.038+0.144-0.075-0.125+0.164
Variance Scaling (unbounded)+0.036+0.145-0.073-0.032+0.168
Square-root-space Mean-Variance Scaling+0.038+0.148-0.067+0.063+0.175
Power Transformation+0.028+0.152-0.103-0.026+0.174
Delta Change+0.028+0.121-0.026-0.038+0.117
Local Intensity Scaling+0.027+0.118-0.120-0.148+0.112
Empirical Quantile Mapping+0.010+0.144-0.045+0.089+0.153
Gamma Quantile Mapping+0.038+0.150-0.081+0.021+0.178
Detrended Quantile Mapping+0.013+0.101-0.078-0.106+0.098
Quantile Delta Mapping+0.015+0.108-0.076+0.010+0.101
Scaled Distribution Mapping+0.012+0.098-0.107-0.226+0.098
CDF-transform+0.008+0.104-0.143-0.197+0.100
Tercile skill (RPSS), fit 1993–2016, scored 2017–2024
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)-0.058-0.054-0.084-0.257-0.109
Linear Scaling+0.062+0.006-0.028-0.011+0.058
Mean-Variance Scaling (operational)+0.012+0.041-0.049-0.300+0.065
Variance Scaling (unbounded)+0.008+0.044-0.042-0.220+0.064
Square-root-space Mean-Variance Scaling+0.018+0.058-0.033+0.052+0.073
Power Transformation+0.007+0.050-0.026+0.013+0.065
Delta Change-0.023-0.026-0.061-0.053+0.011
Local Intensity Scaling+0.037-0.001-0.036-0.018+0.058
Empirical Quantile Mapping-0.033+0.030+0.009+0.090+0.049
Gamma Quantile Mapping-0.002+0.044-0.121-0.121+0.076
Detrended Quantile Mapping-0.022-0.015-0.078-0.052+0.024
Quantile Delta Mapping-0.012-0.004+0.005+0.083+0.020
Scaled Distribution Mapping-0.028-0.063-0.078-0.111+0.016
CDF-transform-0.014-0.009-0.119-0.027+0.029
Ensemble-mean bias (mm), 1993–2016
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)+4.4-5.4-4.8-9.0-14.8
Linear Scaling-0.0-0.1+0.0+0.1-0.1
Mean-Variance Scaling (operational)+0.4+0.2+0.1-0.0-0.5
Variance Scaling (unbounded)+0.4+0.3+0.1-0.0-0.5
Square-root-space Mean-Variance Scaling-0.1-0.1+0.0+0.0-0.6
Power Transformation-0.1-0.1+0.0-0.0-0.9
Delta Change-0.0-0.1+0.0+0.1-0.1
Local Intensity Scaling-0.0-0.1-0.3-0.9-0.2
Empirical Quantile Mapping-0.2-0.1+0.0-0.0-1.1
Gamma Quantile Mapping-0.1-0.1-0.0-0.1-0.5
Detrended Quantile Mapping-0.2-0.1+0.1+0.5-1.7
Quantile Delta Mapping+0.1+0.3+0.4+0.7-0.1
Scaled Distribution Mapping-0.0-0.8-1.8-4.0+0.1
CDF-transform-1.8-0.6+0.4+1.2-3.8
Correlation of the ensemble mean with CHIRPS over years, 1993–2016
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)+0.23+0.38+0.16+0.18+0.43
Linear Scaling+0.07+0.24+0.03+0.11+0.31
Mean-Variance Scaling (operational)+0.08+0.23+0.02+0.01+0.27
Variance Scaling (unbounded)+0.08+0.23+0.00-0.04+0.26
Square-root-space Mean-Variance Scaling+0.09+0.23+0.01+0.05+0.28
Power Transformation+0.08+0.23+0.02+0.02+0.26
Delta Change+0.07+0.24+0.03+0.08+0.31
Local Intensity Scaling+0.07+0.24+0.03+0.08+0.30
Empirical Quantile Mapping+0.07+0.22-0.01-0.01+0.25
Gamma Quantile Mapping+0.09+0.22+0.00-0.02+0.28
Detrended Quantile Mapping+0.08+0.24+0.02+0.12+0.32
Quantile Delta Mapping+0.07+0.24+0.02+0.05+0.31
Scaled Distribution Mapping+0.07+0.24+0.04+0.09+0.31
CDF-transform+0.06+0.24+0.04+0.16+0.32
Spread–error ratio, 1993–2016 (1 = spread matches the error)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.610.680.630.390.54
Linear Scaling0.720.941.151.810.78
Mean-Variance Scaling (operational)0.901.010.960.830.96
Variance Scaling (unbounded)0.931.021.001.001.01
Square-root-space Mean-Variance Scaling0.900.970.951.070.94
Power Transformation0.951.041.010.981.01
Delta Change1.041.151.181.161.16
Local Intensity Scaling0.720.951.101.590.77
Empirical Quantile Mapping0.931.020.990.970.97
Gamma Quantile Mapping0.900.960.940.980.93
Detrended Quantile Mapping0.961.041.041.060.98
Quantile Delta Mapping0.991.061.081.201.04
Scaled Distribution Mapping1.001.071.051.001.05
CDF-transform0.830.961.031.130.83
Rank-histogram reliability index, 1993–2016 (0 = flat)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.450.140.381.020.37
Linear Scaling0.380.130.380.660.16
Mean-Variance Scaling (operational)0.100.110.220.680.09
Variance Scaling (unbounded)0.100.110.220.710.10
Square-root-space Mean-Variance Scaling0.150.150.260.110.07
Power Transformation0.180.110.280.260.05
Delta Change0.050.130.420.500.05
Local Intensity Scaling0.330.130.400.650.17
Empirical Quantile Mapping0.110.070.100.160.10
Gamma Quantile Mapping0.130.120.130.510.08
Detrended Quantile Mapping0.100.100.410.510.08
Quantile Delta Mapping0.110.050.120.130.09
Scaled Distribution Mapping0.080.150.500.730.09
CDF-transform0.220.190.530.590.12
Share of corrected member values at 0 mm (%), 1993–2016
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.00.46.219.50.0
Linear Scaling0.00.46.219.50.0
Mean-Variance Scaling (operational)6.58.012.24.51.7
Variance Scaling (unbounded)6.88.28.10.02.2
Square-root-space Mean-Variance Scaling1.52.32.91.00.0
Power Transformation0.00.46.219.50.0
Delta Change0.50.80.61.00.0
Local Intensity Scaling2.96.021.427.90.0
Empirical Quantile Mapping0.30.40.30.40.0
Gamma Quantile Mapping3.26.115.910.40.0
Detrended Quantile Mapping0.20.40.30.40.0
Quantile Delta Mapping0.30.40.30.40.0
Scaled Distribution Mapping3.112.033.444.40.0
CDF-transform0.00.30.30.20.0
Distribution of the corrected members (mean, spread, 10th and 90th percentiles)
Mean of the corrected members / CHIRPS (area-weighted median of cell ratios, 1993–2024; 1 = same)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.980.790.820.340.86
Linear Scaling1.001.001.001.011.00
Mean-Variance Scaling (operational)1.001.001.001.001.00
Variance Scaling (unbounded)1.001.001.001.001.00
Square-root-space Mean-Variance Scaling1.001.001.001.001.00
Power Transformation1.001.001.001.001.00
Delta Change1.001.001.001.001.00
Local Intensity Scaling1.001.000.970.901.00
Empirical Quantile Mapping1.001.001.001.001.00
Gamma Quantile Mapping1.001.001.001.001.00
Detrended Quantile Mapping1.001.001.011.030.99
Quantile Delta Mapping1.001.011.031.041.00
Scaled Distribution Mapping1.000.990.840.631.00
CDF-transform0.990.991.041.110.98
Standard deviation of the corrected members / CHIRPS (area-weighted median of cell ratios, 1993–2024; 1 = same)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.790.771.050.960.69
Linear Scaling0.810.941.262.500.84
Mean-Variance Scaling (operational)1.000.991.011.020.99
Variance Scaling (unbounded)1.000.991.011.020.99
Square-root-space Mean-Variance Scaling0.980.940.931.110.94
Power Transformation1.001.001.011.001.00
Delta Change1.061.091.171.341.07
Local Intensity Scaling0.810.961.161.700.83
Empirical Quantile Mapping1.000.990.991.000.98
Gamma Quantile Mapping0.980.910.880.930.92
Detrended Quantile Mapping0.991.001.091.340.96
Quantile Delta Mapping1.011.031.161.410.99
Scaled Distribution Mapping1.021.021.071.161.00
CDF-transform0.930.981.131.530.89
10th percentile of the corrected members / CHIRPS (area-weighted median of cell ratios, 1993–2024; 1 = same)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)1.270.520.060.000.93
Linear Scaling1.250.730.070.001.03
Mean-Variance Scaling (operational)0.880.610.621.160.86
Variance Scaling (unbounded)0.850.580.721.170.82
Square-root-space Mean-Variance Scaling0.950.750.570.860.91
Power Transformation1.000.640.240.000.89
Delta Change0.920.860.710.620.91
Local Intensity Scaling1.200.650.260.001.04
Empirical Quantile Mapping0.970.980.991.000.97
Gamma Quantile Mapping0.970.800.681.020.94
Detrended Quantile Mapping0.960.880.710.640.96
Quantile Delta Mapping0.970.910.840.980.97
Scaled Distribution Mapping0.950.680.000.000.96
CDF-transform1.010.870.610.580.98
90th percentile of the corrected members / CHIRPS (area-weighted median of cell ratios, 1993–2024; 1 = same)
MethodOctNovDecJanONDJ
Raw ECMWF (no correction)0.920.811.100.470.81
Linear Scaling0.961.011.311.420.98
Mean-Variance Scaling (operational)1.031.011.110.921.04
Variance Scaling (unbounded)1.031.011.070.921.05
Square-root-space Mean-Variance Scaling1.030.991.091.061.02
Power Transformation1.031.011.121.111.04
Delta Change1.061.051.071.121.06
Local Intensity Scaling0.961.011.161.080.98
Empirical Quantile Mapping1.031.041.081.051.03
Gamma Quantile Mapping1.030.981.020.971.02
Detrended Quantile Mapping1.031.031.101.171.02
Quantile Delta Mapping1.041.041.131.091.04
Scaled Distribution Mapping1.041.010.940.821.04
CDF-transform1.011.031.151.301.01
Gate statistics for every method and target
Gate statistics, CRPS (method minus Mean-Variance Scaling (operational); negative favours the method)
MethodTargetΔ CRPS 1993–2016 (mm)95% intervalYears betterp (one-sided)Holm pΔ CRPS 2017–2024Years betterPasses
Linear ScalingOct+0.63-0.16 to +1.489/240.9191.000+0.265/8no
Linear ScalingNov+0.25+0.06 to +0.435/240.9911.000+0.793/8no
Linear ScalingDec+0.21+0.06 to +0.357/240.9911.000+0.361/8no
Linear ScalingJan+0.30-0.28 to +0.829/240.8361.000+0.343/8no
Linear ScalingONDJ+0.27-0.98 to +1.4913/240.6581.000+2.515/8no
Variance Scaling (unbounded)Oct+0.04-0.06 to +0.149/240.7881.000+0.073/8no
Variance Scaling (unbounded)Nov+0.04+0.01 to +0.079/240.9911.000-0.023/8no
Variance Scaling (unbounded)Dec-0.03-0.06 to +0.0115/240.0760.304-0.014/8no
Variance Scaling (unbounded)Jan-0.26-0.39 to -0.1418/240.0010.003-0.356/8yes
Variance Scaling (unbounded)ONDJ+0.27-0.02 to +0.607/240.9501.000-0.223/8no
Square-root-space Mean-Variance ScalingOct-0.21-0.46 to +0.0515/240.0690.138-0.004/8no
Square-root-space Mean-Variance ScalingNov-0.07-0.20 to +0.0716/240.1660.166-0.096/8no
Square-root-space Mean-Variance ScalingDec-0.07-0.11 to -0.0220/240.0050.022-0.034/8yes
Square-root-space Mean-Variance ScalingJan-0.54-0.78 to -0.3120/240.0000.000-0.726/8yes
Square-root-space Mean-Variance ScalingONDJ-0.37-0.69 to -0.0618/240.0160.049-0.545/8yes
Power TransformationOct-0.09-0.51 to +0.3515/240.3511.000+0.304/8no
Power TransformationNov+0.04-0.13 to +0.2314/240.6661.000-0.175/8no
Power TransformationDec+0.04-0.04 to +0.127/240.8441.000+0.132/8no
Power TransformationJan-0.20-0.43 to +0.0214/240.0470.234-0.387/8no
Power TransformationONDJ-0.04-0.67 to +0.6115/240.4451.000-0.515/8no
Delta ChangeOct-0.88-1.82 to -0.0214/240.0360.181+0.315/8no
Delta ChangeNov-0.13-0.69 to +0.3912/240.3270.980+0.526/8no
Delta ChangeDec-0.03-0.21 to +0.1713/240.3850.980-0.227/8no
Delta ChangeJan-0.09-0.56 to +0.3311/240.3510.980-0.335/8no
Delta ChangeONDJ-1.34-2.71 to +0.0616/240.0360.181+2.266/8no
Local Intensity ScalingOct+0.63-0.17 to +1.5011/240.9191.000+0.335/8no
Local Intensity ScalingNov+0.13-0.04 to +0.299/240.9271.000+0.584/8no
Local Intensity ScalingDec+0.10-0.04 to +0.237/240.9041.000+0.202/8no
Local Intensity ScalingJan+0.18-0.35 to +0.6811/240.7411.000+0.094/8no
Local Intensity ScalingONDJ+0.31-0.99 to +1.5613/240.6721.000+2.545/8no
Empirical Quantile MappingOct+0.33-0.20 to +0.8411/240.8831.000+0.811/8no
Empirical Quantile MappingNov+0.20-0.16 to +0.5813/240.8391.000-0.014/8no
Empirical Quantile MappingDec-0.07-0.21 to +0.0813/240.1760.706-0.136/8no
Empirical Quantile MappingJan-0.43-0.70 to -0.1714/240.0030.013-0.827/8yes
Empirical Quantile MappingONDJ+0.87-0.25 to +2.1612/240.8951.000+0.535/8no
Gamma Quantile MappingOct-0.24-0.57 to +0.0914/240.0910.274+0.014/8no
Gamma Quantile MappingNov-0.03-0.19 to +0.1512/240.3680.735-0.135/8no
Gamma Quantile MappingDec+0.00-0.04 to +0.0513/240.5780.735+0.033/8no
Gamma Quantile MappingJan-0.37-0.55 to -0.2018/240.0000.001-0.567/8yes
Gamma Quantile MappingONDJ-0.44-0.85 to -0.0518/240.0220.089-0.676/8no
Detrended Quantile MappingOct-0.22-0.90 to +0.4515/240.2731.000+0.742/8no
Detrended Quantile MappingNov+0.18-0.17 to +0.5412/240.8341.000+0.983/8no
Detrended Quantile MappingDec+0.19+0.02 to +0.378/240.9721.000+0.014/8no
Detrended Quantile MappingJan+0.03-0.60 to +0.588/240.5331.000-0.075/8no
Detrended Quantile MappingONDJ-0.01-1.05 to +1.1115/240.4931.000+3.225/8no
Quantile Delta MappingOct-0.40-1.14 to +0.3115/240.1530.763+0.703/8no
Quantile Delta MappingNov+0.14-0.16 to +0.4411/240.8041.000+0.804/8no
Quantile Delta MappingDec+0.04-0.13 to +0.2512/240.6391.000+0.004/8no
Quantile Delta MappingJan-0.24-0.76 to +0.2311/240.1860.763-0.516/8no
Quantile Delta MappingONDJ-0.22-1.09 to +0.7416/240.3320.997+3.085/8no
Scaled Distribution MappingOct-0.30-1.05 to +0.4315/240.2251.000+0.782/8no
Scaled Distribution MappingNov+0.19-0.20 to +0.5911/240.8211.000+1.044/8no
Scaled Distribution MappingDec+0.28-0.05 to +0.628/240.9401.000+0.143/8no
Scaled Distribution MappingJan+0.71+0.08 to +1.329/240.9791.000+0.383/8no
Scaled Distribution MappingONDJ+0.00-0.83 to +0.8915/240.5011.000+3.195/8no
CDF-transformOct-0.01-0.78 to +0.7614/240.4881.000+0.902/8no
CDF-transformNov+0.27-0.03 to +0.5911/240.9431.000+0.903/8no
CDF-transformDec+0.34+0.13 to +0.597/240.9981.000+0.303/8no
CDF-transformJan+0.28-0.42 to +0.897/240.7811.000+0.274/8no
CDF-transformONDJ+0.04-0.93 to +1.1015/240.5281.000+3.135/8no
Gate statistics, RPS (method minus Mean-Variance Scaling (operational); negative favours the method)
MethodTargetΔ RPS 1993–201695% intervalYears betterp (one-sided)Holm pΔ RPS 2017–2024Years betterPasses
Linear ScalingOct+0.0109-0.0080 to +0.02899/240.8671.000-0.02197/8no
Linear ScalingNov+0.0043-0.0098 to +0.018310/240.7161.000+0.01502/8no
Linear ScalingDec+0.0056-0.0219 to +0.03189/240.6551.000-0.00964/8no
Linear ScalingJan-0.0315-0.1398 to +0.073110/240.2931.000-0.12964/8no
Linear ScalingONDJ+0.0048-0.0056 to +0.015612/240.8011.000+0.00333/8no
Variance Scaling (unbounded)Oct+0.0001-0.0013 to +0.00139/240.5290.934+0.00142/8no
Variance Scaling (unbounded)Nov-0.0006-0.0015 to +0.000313/240.1050.420-0.00136/8no
Variance Scaling (unbounded)Dec-0.0035-0.0087 to +0.001815/240.1090.420-0.00305/8no
Variance Scaling (unbounded)Jan-0.0172-0.0273 to -0.007016/240.0030.013-0.03597/8yes
Variance Scaling (unbounded)ONDJ-0.0001-0.0022 to +0.00198/240.4670.934+0.00052/8no
Square-root-space Mean-Variance ScalingOct-0.0015-0.0046 to +0.001512/240.1730.272-0.00284/8no
Square-root-space Mean-Variance ScalingNov-0.0071-0.0106 to -0.003919/240.0000.001-0.00776/8yes
Square-root-space Mean-Variance ScalingDec-0.0170-0.0313 to -0.003915/240.0120.036-0.00705/8yes
Square-root-space Mean-Variance ScalingJan-0.0890-0.1345 to -0.045918/240.0000.001-0.15817/8yes
Square-root-space Mean-Variance ScalingONDJ-0.0014-0.0037 to +0.001013/240.1360.272-0.00366/8no
Power TransformationOct+0.0022-0.0045 to +0.00869/240.7381.000+0.00203/8no
Power TransformationNov-0.0002-0.0047 to +0.004411/240.4701.000-0.00436/8no
Power TransformationDec-0.0086-0.0192 to +0.001314/240.0640.255-0.01067/8no
Power TransformationJan-0.0756-0.1179 to -0.035917/240.0000.002-0.14047/8yes
Power TransformationONDJ-0.0001-0.0080 to +0.008013/240.4871.000+0.00004/8no
Delta ChangeOct-0.0027-0.0215 to +0.015412/240.3911.000+0.01492/8no
Delta ChangeNov-0.0000-0.0222 to +0.021010/240.4981.000+0.02943/8no
Delta ChangeDec+0.0389+0.0008 to +0.07918/240.9661.000+0.00565/8no
Delta ChangeJan+0.0006-0.0759 to +0.07108/240.5061.000-0.11114/8no
Delta ChangeONDJ+0.0032-0.0143 to +0.020010/240.6371.000+0.02453/8no
Local Intensity ScalingOct+0.0088-0.0045 to +0.02159/240.8941.000-0.01107/8no
Local Intensity ScalingNov-0.0015-0.0125 to +0.009210/240.3981.000+0.01852/8no
Local Intensity ScalingDec+0.0185-0.0221 to +0.05699/240.8071.000-0.00573/8no
Local Intensity ScalingJan-0.0273-0.1362 to +0.079810/240.3191.000-0.12665/8no
Local Intensity ScalingONDJ+0.0050-0.0058 to +0.016212/240.8041.000+0.00333/8no
Empirical Quantile MappingOct+0.0054-0.0060 to +0.016912/240.8151.000+0.01920/8no
Empirical Quantile MappingNov-0.0024-0.0131 to +0.008212/240.3351.000+0.00453/8no
Empirical Quantile MappingDec-0.0286-0.0388 to -0.018119/240.0000.000-0.02686/8yes
Empirical Quantile MappingJan-0.0937-0.1502 to -0.040516/240.0020.007-0.17516/8yes
Empirical Quantile MappingONDJ+0.0047-0.0048 to +0.014612/240.8201.000+0.00723/8no
Gamma Quantile MappingOct-0.0010-0.0071 to +0.004913/240.3700.739+0.00573/8no
Gamma Quantile MappingNov-0.0031-0.0094 to +0.002712/240.1680.671-0.00144/8no
Gamma Quantile MappingDec+0.0205+0.0056 to +0.03658/240.9920.992+0.03352/8no
Gamma Quantile MappingJan-0.0234-0.0496 to -0.000212/240.0430.216-0.08026/8no
Gamma Quantile MappingONDJ-0.0014-0.0045 to +0.001713/240.1930.671-0.00496/8no
Detrended Quantile MappingOct+0.0047-0.0066 to +0.015510/240.7851.000+0.01460/8no
Detrended Quantile MappingNov+0.0043-0.0099 to +0.01879/240.7151.000+0.02442/8no
Detrended Quantile MappingDec+0.0463+0.0084 to +0.08867/240.9851.000+0.01365/8no
Detrended Quantile MappingJan+0.0029-0.0749 to +0.07379/240.5271.000-0.11134/8no
Detrended Quantile MappingONDJ+0.0113+0.0026 to +0.02049/240.9871.000+0.01873/8no
Quantile Delta MappingOct+0.0024-0.0087 to +0.013612/240.6561.000+0.01003/8no
Quantile Delta MappingNov+0.0084-0.0037 to +0.02059/240.9011.000+0.01973/8no
Quantile Delta MappingDec-0.0063-0.0262 to +0.013512/240.2761.000-0.02476/8no
Quantile Delta MappingJan-0.0647-0.1335 to +0.001912/240.0430.217-0.17225/8no
Quantile Delta MappingONDJ+0.0121+0.0034 to +0.02097/240.9931.000+0.02083/8no
Scaled Distribution MappingOct+0.0042-0.0095 to +0.017812/240.7201.000+0.01721/8no
Scaled Distribution MappingNov+0.0099-0.0126 to +0.03279/240.7961.000+0.04573/8no
Scaled Distribution MappingDec+0.0432-0.0183 to +0.10258/240.9071.000+0.01373/8no
Scaled Distribution MappingJan+0.0280-0.0950 to +0.14919/240.6661.000-0.08484/8no
Scaled Distribution MappingONDJ+0.0155+0.0069 to +0.02405/240.9991.000+0.02223/8no
CDF-transformOct+0.0078-0.0023 to +0.01798/240.9241.000+0.01102/8no
CDF-transformNov+0.0155+0.0032 to +0.02796/240.9881.000+0.02202/8no
CDF-transformDec+0.0786+0.0382 to +0.12167/240.9991.000+0.03254/8no
CDF-transformJan+0.0188-0.0635 to +0.09318/240.6751.000-0.12264/8no
CDF-transformONDJ+0.0110+0.0038 to +0.01836/240.9961.000+0.01653/8no

Figures

Open full size

Interpretation

  1. Every method is far better than the raw model. Raw ECMWF scores CRPSS -0.205 for ONDJ (1993–2016): its ensemble mean is 14% below CHIRPS for the season (66% in Jan) and its spread is far too narrow (spread–error ratio 0.54).
  2. Square-root-space Mean-Variance Scaling is the consistent improvement. It passes the amount gate for Dec, Jan and ONDJ and the tercile gate for Nov, Dec and Jan, and it is at least as good as Mean-Variance Scaling for every target in both periods and on both scores (ONDJ CRPSS +0.075 vs +0.066 in 1993–2016, +0.175 vs +0.164 in 2017–2024). Members clipped to 0 mm in the months: 4.5–12.2% with Mean-Variance Scaling, 1.0–2.9% with this method.
  3. Gamma Quantile Mapping has the best ONDJ amount skill over 2017–2024 (+0.178 vs +0.164); it passes the amount gate for Jan and the tercile gate for none.
  4. Empirical Quantile Mapping reproduces the CHIRPS distribution best (standard-deviation ratio 0.98 for ONDJ), and passes for Dec and Jan, but its ONDJ amount skill is lower than Mean-Variance Scaling (+0.046 vs +0.066): with 23 training years per fold, the CHIRPS quantile function has that many points and the mapping follows their noise.
  5. The 0.5–2 limits of Mean-Variance Scaling matter most where the raw model is far too narrow (Jan): there the upper limit binds and Mean-Variance Scaling stays too narrow (spread–error 0.83), while the unbounded form reaches 1.00 and passes the gate.
  6. Delta Change has a high ONDJ CRPSS in 1993–2016 (+0.097) but the gain is not significant (Holm p = 0.18), it is worse in 2017–2024 (+0.117 vs +0.164), its ensemble is too wide (spread–error 1.16) and its tercile skill is low: it is essentially the CHIRPS climatology shifted by the forecast’s mean.
  7. The methods that keep the forecast’s own distribution (Detrended Quantile Mapping, Quantile Delta Mapping, Scaled Distribution Mapping, CDF-transform) do not help here. Their ONDJ tercile skill is lower (+0.001 to +0.011 vs +0.035) and none passes a gate for the season. They were built to keep a climate-change signal over 30-year periods; here they rely on the distribution of a single forecast’s 25–51 members, which is too noisy. See the difference maps: they lose most where the season’s signal is.
  8. Linear Scaling and Local Intensity Scaling correct the mean only (LOCI nearly so for totals that are always wet), so the ensemble stays too narrow (spread–error 0.78 and 0.77 for ONDJ).
  9. Dec remains hard: every method has negative amount skill over 2017–2024.

What this means

  • Shortlist: Square-root-space Mean-Variance Scaling and Gamma Quantile Mapping (a method at least as good as the operational one everywhere, then the best season skill over the test years among methods that pass a gate). The next step is a confirmation run with the climatology blend (nested λ, the decision_gates.py protocol), then a decision recorded in the docs.
  • The operational method is unchanged until a candidate passes that confirmation.
  • The same benchmark runs for the other cycles with one configuration file each (config/bias_correction/).
Caveats
  • Skill is from 1993–2016 leave-one-year-out (clean) and 2017–2024 (exploratory: these years were seen while the operational method was chosen).
  • Tercile scores here use smoothed member counts without the climatology blend, so they are lower than the blended skill shown under Historical performance.
  • The gate is applied per method with Holm adjustment across targets, not across the 12 methods; treat a pass as screening evidence.
  • Scores are area-weighted over many correlated cells but tested year by year, so each year counts once.
  • Delta Change has one value per training year instead of members; the fair CRPS makes its scores comparable.

Downloads and code

References
  1. Boé, J., Terray, L., Habets, F., & Martin, E. (2007). Statistical and dynamical downscaling of the Seine basin climate for hydro-meteorological studies. International Journal of Climatology, 27, 1643–1655. doi:10.1002/joc.1602
  2. Cannon, A. J., Sobie, S. R., & Murdock, T. Q. (2015). Bias correction of GCM precipitation by quantile mapping: how well do methods preserve changes in quantiles and extremes? Journal of Climate, 28, 6938–6959. doi:10.1175/JCLI-D-14-00754.1
  3. Delle Monache, L., Hacker, J. P., Zhou, Y., Deng, X., & Stull, R. B. (2006). Probabilistic aspects of meteorological and ozone regional ensemble forecasts. Journal of Geophysical Research: Atmospheres, 111, D24307. doi:10.1029/2005JD006917
  4. Ferro, C. A. T. (2014). Fair scores for ensemble forecasts. Quarterly Journal of the Royal Meteorological Society, 140, 1917–1923. doi:10.1002/qj.2270
  5. Gudmundsson, L., Bremnes, J. B., Haugen, J. E., & Engen-Skaugen, T. (2012). Technical Note: Downscaling RCM precipitation to the station scale using statistical transformations — a comparison of methods. Hydrology and Earth System Sciences, 16, 3383–3390. doi:10.5194/hess-16-3383-2012
  6. Hay, L. E., Wilby, R. L., & Leavesley, G. H. (2000). A comparison of delta change and downscaled GCM scenarios for three mountainous basins in the United States. JAWRA Journal of the American Water Resources Association, 36, 387–397. doi:10.1111/j.1752-1688.2000.tb04276.x
  7. Johnson, S. J., Stockdale, T. N., Ferranti, L., et al. (2019). SEAS5: the new ECMWF seasonal forecast system. Geoscientific Model Development, 12, 1087–1117. doi:10.5194/gmd-12-1087-2019
  8. Leander, R., & Buishand, T. A. (2007). Resampling of regional climate model output for the simulation of extreme river flows. Journal of Hydrology, 332, 487–496. doi:10.1016/j.jhydrol.2006.08.006
  9. Lenderink, G., Buishand, A., & van Deursen, W. (2007). Estimates of future discharges of the river Rhine using two scenario methodologies: direct versus delta approach. Hydrology and Earth System Sciences, 11, 1145–1159. doi:10.5194/hess-11-1145-2007
  10. Manzanas, R., Gutiérrez, J. M., Bhend, J., et al. (2019). Bias adjustment and ensemble recalibration methods for seasonal forecasting: a comprehensive intercomparison using the C3S dataset. Climate Dynamics, 53, 1287–1305. doi:10.1007/s00382-019-04640-4
  11. Michelangeli, P.-A., Vrac, M., & Loukos, H. (2009). Probabilistic downscaling approaches: application to wind cumulative distribution functions. Geophysical Research Letters, 36, L11708. doi:10.1029/2009GL038401
  12. Piani, C., Weedon, G. P., Best, M., et al. (2010). Statistical bias correction of global simulated daily precipitation and temperature for the application of hydrological models. Journal of Hydrology, 395, 199–215. doi:10.1016/j.jhydrol.2010.10.024
  13. Schmidli, J., Frei, C., & Vidale, P. L. (2006). Downscaling from GCM precipitation: a benchmark for dynamical and statistical downscaling methods. International Journal of Climatology, 26, 679–689. doi:10.1002/joc.1287
  14. Switanek, M. B., Troch, P. A., Castro, C. L., et al. (2017). Scaled distribution mapping: a bias correction method that preserves raw climate model projected changes. Hydrology and Earth System Sciences, 21, 2649–2666. doi:10.5194/hess-21-2649-2017
  15. Teutschbein, C., & Seibert, J. (2012). Bias correction of regional climate model simulations for hydrological climate-change impact studies: review and evaluation of different methods. Journal of Hydrology, 456–457, 12–29. doi:10.1016/j.jhydrol.2012.05.052
  16. Themeßl, M. J., Gobiet, A., & Leuprecht, A. (2011). Empirical-statistical downscaling and error correction of daily precipitation from regional climate models. International Journal of Climatology, 31, 1530–1544. doi:10.1002/joc.2168
  17. Torralba, V., Doblas-Reyes, F. J., MacLeod, D., Christel, I., & Davis, M. (2017). Seasonal climate prediction: a new source of information for the management of wind energy resources. Journal of Applied Meteorology and Climatology, 56, 1231–1247. doi:10.1175/JAMC-D-16-0204.1
  18. Vrac, M., Drobinski, P., Merlo, A., et al. (2012). Dynamical and statistical downscaling of the French Mediterranean climate: uncertainty assessment. Natural Hazards and Earth System Sciences, 12, 2769–2784. doi:10.5194/nhess-12-2769-2012

DOIs checked against Crossref, 11 October 2026.

Rainfall climatology and domains

Where does a season's rain matter? Before a forecast domain is chosen, this review computes the observed climatology (seasonal total, annual total and the season's share), compares it with EMI's published long-term maps, and tests every combination of rainfall and annual-share cutoffs. Cutoffs are chosen for what the domain means climatologically, never to improve a forecast score.

Methods & data

In brief

Each cycle starts from the ECMWF SEAS5 seasonal ensemble issued on the 1st of the initialization month. For every 0.25° grid cell in Ethiopia the forecast rainfall is corrected toward the CHIRPS observed mean and variability, then turned into tercile probabilities (below, near or above normal relative to the cycle's CHIRPS reference period). The probabilities are finally blended with climatology using one weight per target, chosen to give the best past scores. Climatology assigns approximately one-third probability to each tercile; the calculations use the observed category frequencies of the training reference period.

Probabilities and amounts are produced separately: the probability skill (RPSS) on this site refers to the blended probabilities, and the rainfall amount skill (CRPSS) to the amount-corrected ensemble.

The raw benchmark is the uncorrected model: raw ECMWF members counted against each cell's CHIRPS tercile limits, with no correction, smoothing or blend. For May-initialized JJAS over 2017–2025 it scores RPSS −0.44, far below climatology, which is why calibration is needed.

Data

Data sources
SourceDetails
ECMWF SEAS5Copernicus CDS seasonal-original-single-levels, system 51, total precipitation, 1993 to the forecast year; 25 members to 2016, 51 from 2017; 1° grid
CHIRPS v3.0monthly rainfall, official 0.05° Africa product averaged onto the 0.25° grid (5 × 5 cells); archive from 1993; verification months from the official monthly files, checked against the archive where they overlap. Funk et al. (2026), The Climate Hazards Center Infrared Precipitation with Stations, Version 3, Scientific Data 13, 718, doi:10.1038/s41597-026-07096-4.
AreasAll Ethiopia (1,484 cells) and, per season, the rainfall domains offered in the area selector — FMAM: FMAM rainfall contribution domain; FMAM main-season rainfall domain (Belg / Gu / Ganna, >=40% of annual) · JJAS: JJAS R1+R2 rainfall domain · ONDJ: ONDJ R3 (Deyr) rainfall domain. Each definition is shown under the selector and in the rainfall-domain review. The domains are for display and summaries only; calibration uses every cell.
CHIRPS v2.0 vs v3.0 (why and what changed, 11 October 2026)

CHIRPS v3.0 (Funk et al. 2026) replaced v2.0 for calibration and verification. Over Ethiopia, 1993–2025, v3.0 is about 15% wetter (consistent with its gauge-undercatch correction) while each season's share of annual rainfall and the ranking of years agree closely, so tercile limits move up. The same method was refitted on v3.0: the decision gates give the same outcome, and skill is similar overall. Each version is scored against its own observations.

Climatology, 1993–2025
SeasonMean rainfall v2.0 → v3.0National series correlationSame tercile category
FMAM249 → 279 mm (+12%)0.97878%
JJAS441 → 518 mm (+17%)0.97371%
ONDJ141 → 163 mm (+16%)0.98478%
Calibration with each version
CycleCross-validated RPSS 1993–2016, v2.0 → v3.0Rainfall-amount CRPSS (development run), v2.0 → v3.0
May · JJAS+0.046 → +0.027+0.017 → -0.018
January · FMAM+0.027 → +0.032-0.001 → +0.016
February · FMAM+0.022 → +0.021+0.053 → +0.071
September · ONDJ+0.020 → +0.039+0.181 → +0.178
CHIRPS v2.0 and v3.0 climatology over Ethiopia
Annual and seasonal mean rainfall, CHIRPS v2.0 and v3.0, and the difference.
Workflow (eight scripted stages)
  1. 1

    Download

    ECMWF SEAS5 (system 51) daily accumulated precipitation from the Copernicus CDS for the initialization month, 1993 to the forecast year.

    download_seasonal_forecasts_daily_c3s.py
  2. 2

    Inspect

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

    inspect_inputs.py
  3. 3

    Prepare

    De-accumulate to daily totals, sum the season and each month; CHIRPS on the same dates.

    prepare_seasonal.py · run_monthly.py
  4. 4

    Regrid

    Each 1° model cell is copied into its 4×4 block of 0.25° CHIRPS cells (no interpolation).

    regrid_seasonal.py
  5. 5

    Calibrate

    Per-cell amount correction, smoothed tercile counts and one climatology-blend weight per target.

    final_shared_blend.py
  6. 6

    Evaluate

    Nested cross-validation 1993–2016; exploratory fixed-fit scores for later years; whole-year significance tests.

    local_blend.py · decision_gates.py
  7. 7

    Deliver

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

    run_operational.py · build_season_products.py
  8. 8

    Verify

    Official CHIRPS v3.0 monthly files, checked against the archive where they overlap, scored per month and season.

    prepare_verification_2026.py · verify_frozen_2026.py

Every stage is a script in scripts/; documents in docs/ record each step, issue and decision (runbook: docs/38; per-season guides: docs/40).

Equations
  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 the corrected members against CHIRPS tercile limits, smoothed: (n + 0.5)/(M + 1.5)
  3. Climatology blend: pfinal = (1 − λ)·pmodel + λ·pclimatology, with one λ per target fitted on leave-one-year-out RPS.
    pclimatology is, for each grid cell, the observed frequency of each tercile in the training reference years (about one-third each; it differs slightly because of sample size, category limits and ties).
  4. Skill score: RPSS = 1 − RPSforecast / RPSclimatology; RPSS +0.05 means a 5% lower ranked probability score than climatology. CRPSS is the same for rainfall amounts.
Method and references

Rainfall amounts are corrected cell by cell with mean–variance scaling (also called simple bias adjustment or variance scaling; Teutschbein & Seibert 2012; Torralba et al. 2017; Manzanas et al. 2019): each member is shifted to the CHIRPS mean and its anomaly rescaled by the ratio of CHIRPS to model standard deviation (equations above). It corrects the mean and spread, not the shape of the distribution; it is not quantile mapping. The model mean and spread are pooled over all members and years, with equal weight per year (25 members to 2016, 51 from 2017); training years 1993–2025.

Probabilities are the share of corrected members in each CHIRPS tercile (ensemble relative frequency; Wilks 2019), smoothed so no category is 0 or 1, then blended with climatology. Weighting a model against climatology follows Rajagopalan et al. (2002) and Robertson et al. (2004); here one weight per target is fitted by minimising the ranked probability score of leave-one-year-out probabilities.

Scores: ranked probability score (Epstein 1969) and continuous ranked probability score (Hersbach 2000), as skill scores against climatology. Forecasts: ECMWF SEAS5 (Johnson et al. 2019); observations: CHIRPS v3.0 (Funk et al. 2026), v2.0 before 11 October 2026 (Funk et al. 2015).

Choices of this project, not taken from a single paper: the 0.5–2 limits on the spread ratio, mean-only correction where the model spread is below 1 mm, clipping at 0 mm (its weakness in dry months, issue I-08), equal weighting of years, the count smoothing and one blend weight shared by all cells. A square-root-space amount correction passed the gate for amounts and is recommended for the next cycle (docs/36). Details: docs/46. DOIs checked on Crossref, 11 October 2026.

  1. Epstein, E. S. (1969). A scoring system for probability forecasts of ranked categories. Journal of Applied Meteorology, 8(6), 985–987. doi:10.1175/1520-0450(1969)008<0985:ASSFPF>2.0.CO;2
  2. Funk, C., et al. (2015). The climate hazards infrared precipitation with stations — a new environmental record for monitoring extremes. Scientific Data, 2, 150066. doi:10.1038/sdata.2015.66
  3. Funk, C., et al. (2026). The Climate Hazards Center Infrared Precipitation with Stations, Version 3. Scientific Data, 13, 718. doi:10.1038/s41597-026-07096-4
  4. Hersbach, H. (2000). Decomposition of the continuous ranked probability score for ensemble prediction systems. Weather and Forecasting, 15(5), 559–570. doi:10.1175/1520-0434(2000)015<0559:DOTCRP>2.0.CO;2
  5. Johnson, S. J., et al. (2019). SEAS5: the new ECMWF seasonal forecast system. Geoscientific Model Development, 12, 1087–1117. doi:10.5194/gmd-12-1087-2019
  6. Manzanas, R., et al. (2019). Bias adjustment and ensemble recalibration methods for seasonal forecasting: a comprehensive intercomparison using the C3S dataset. Climate Dynamics, 53, 1287–1305. doi:10.1007/s00382-019-04640-4
  7. Rajagopalan, B., Lall, U., & Zebiak, S. E. (2002). Categorical climate forecasts through regularization and optimal combination of multiple GCM ensembles. Monthly Weather Review, 130(7), 1792–1811. doi:10.1175/1520-0493(2002)130<1792:CCFTRA>2.0.CO;2
  8. Robertson, A. W., Lall, U., Zebiak, S. E., & Goddard, L. (2004). Improved combination of multiple atmospheric GCM ensembles for seasonal prediction. Monthly Weather Review, 132(12), 2732–2744. doi:10.1175/MWR2818.1
  9. Teutschbein, C., & Seibert, J. (2012). Bias correction of regional climate model simulations for hydrological climate-change impact studies: review and evaluation of different methods. Journal of Hydrology, 456–457, 12–29. doi:10.1016/j.jhydrol.2012.05.052
  10. Torralba, V., et al. (2017). Seasonal climate prediction: a new source of information for the management of wind energy resources. Journal of Applied Meteorology and Climatology, 56(5), 1231–1247. doi:10.1175/JAMC-D-16-0204.1
  11. Wilks, D. S. (2019). Statistical Methods in the Atmospheric Sciences (4th ed.). Elsevier.
How the method was chosen

A change is adopted only if it improves the cross-validated 1993–2016 scores (Holm-adjusted p < 0.05 over the five JJAS targets) and does not worsen 2017–2025. Also evaluated and not adopted: regularized Dirichlet recalibration and per-cell or regime-specific blend weights.

Method changes tested with whole-year significance gates (May-initialized JJAS targets; negative = better)
Candidate changeScore change 1993–2016Score change 2017–2025Decision
Fit the blend weight on Ethiopia only+0.0003 to +0.0009−0.0043 to +0.0001Not adopted
Square-root amount correction (probabilities)−0.0003 to +0.0008−0.0018 to −0.0002Not adopted
Remove the climatology blend+0.0194 to +0.0508−0.0115 to +0.0310Not adopted
Plain climatology−0.0002 to +0.0121+0.0038 to +0.0197Not adopted
Square-root amount correction (amounts, CRPS in mm)−0.13 to −0.06lower in all targetsPasses for all targets; candidate for the next cycle
Ensemble size and spread
Ensemble-size check, May-initialized JJAS targets, 2017–2025 (lower RPS is better)
TargetRPS, 51 membersRPS, 25-member subsets (mean)Spread / error (hindcast → 2017–2025)
JJAS0.44040.44200.68 → 0.75
Jun0.45980.46010.62 → 0.63
Jul0.44490.44670.71 → 0.76
Aug0.44050.44150.74 → 0.73
Sep0.45780.45870.75 → 0.76

Calibration parameters are fitted mostly on 25-member hindcasts and applied to 51-member forecasts. In 2017–2025 the 51-member forecasts scored about the same as, or slightly better than, 25-member subsets, so the transfer did not degrade scores in the years tested; this does not show it is neutral in every year or region. The corrected ensemble is under-dispersive (spread smaller than error), which the climatology blend partly offsets. Monthly and seasonal outlooks are calibrated separately: for JJAS 2026 over all Ethiopia the corrected monthly means sum to 432 mm against 430 mm for the season (+1.7 mm).

Quality control
  • Every forecast file is inventoried; re-downloaded years were bit-identical, confirming SEAS5 system 51.
  • Small negative daily increments (≤ 0.15 mm) are GRIB packing rounding; tolerated up to 0.2 mm and clipped, and the seasonal sum is checked.
  • CHIRPS sea cells (223) are always missing; no partial season enters any fit.
  • Verification observations are compared with the archive in the overlap year (tolerance 0.0001 mm/day) before use.
Limitations
  • Few evaluation years and single verification seasons give wide uncertainty; regional and monthly results are noisy.
  • The later evaluation years were inspected during method development; the cleanest evidence is the cross-validated 1993–2016 score.
  • The 0.25° maps repeat 1° model information; they add no dynamical detail.
  • All cycles are research reconstructions produced after their initialization dates, not official EMI or ICPAC forecasts.
Reproduce
git clone https://github.com/YonSci/calibrated_seasonal_rainfall.git
python -m venv .venv && .venv\Scripts\activate && pip install -r requirements.txt
set CALIBRATION_CYCLE=config\cycles\sep_2026_ondj.json
python scripts\run_operational.py --config config\cycles\sep_2026_ondj.json --workflow all
python scripts\build_site.py

Raw ECMWF and CHIRPS data are not stored in the repository. Step-by-step guides: docs/40; project status: docs/36.

Downloads

Complete package

One ZIP file with the PDF bulletin, summary CSV, metadata, README, every map (forecast and verification), verification reports and the forecast NetCDF files for the selected cycle.

Release archive and change log: earlier published versions and what changed.

Individual maps: use Download PNG in the map viewer. Code, documentation and notebooks: GitHub repository.