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
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
| Item | Details |
|---|---|
| Forecasts | ECMWF 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 |
| Observations | CHIRPS v3.0 monthly totals, averaged from 0.05° to 0.25° |
| Targets | Oct, Nov, Dec, Jan and the ONDJ season; each corrected separately |
| Values | One total per member, grid cell and year (mm), the same inputs as the operational tool (data/processed/init09_<target>/) |
| Observed years | 1993–2024 (seasons starting in these years) |
| Training / test split | 1993–2016 (clean, gated) / 2017–2024 (exploratory) |
| Cells | 1,484 grid cells of Ethiopia (0.25°); a cell is corrected only if CHIRPS is complete in every training year |
| Regions scored | All Ethiopia (1,484 cells) — primary; ONDJ R3 (Deyr) domain (575 cells) |
| Weighting | Every 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. |
| Configuration | config/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.
| Method | Family | Definition (per cell and target) | Member-wise | Uses the forecast ensemble’s own distribution | Parameters | References |
|---|---|---|---|---|---|---|
Raw ECMWF (no correction)raw | baseline | x' = x (the uncorrected model; baseline, not a candidate) | yes | no | — | Johnson et al. 2019 |
Linear Scalingls | scaling | x' = x * mu_obs / mu_model (multiplicative mean correction) | yes | no | {"min_model_mean": 0.1} | Lenderink et al. 2007, Teutschbein & Seibert 2012 |
Mean-Variance Scaling (operational)mvs | scaling | x' = max(0, mu_obs + r (x - mu_model)), r = clip(sd_obs/sd_model, 0.5, 2); r = 1 if sd_model < 1 mm | yes | no | {"ratio_bounds": [0.5, 2.0], "min_model_sd": 1.0} | Torralba et al. 2017, Manzanas et al. 2019 |
Variance Scaling (unbounded)vs | scaling | Same algebra as MVS without the project's ratio limits: r = sd_obs/sd_model | yes | no | {"ratio_bounds": null, "min_model_sd": 0.1} | Teutschbein & Seibert 2012 |
Square-root-space Mean-Variance Scalingsqrt_mvs | scaling | MVS applied to sqrt(x), clipped at 0 and squared back (docs/36) | yes | no | {"ratio_bounds": [0.5, 2.0], "min_model_sd": 0.1, "space": "sqrt"} | Manzanas et al. 2019 |
Power Transformationpt | scaling | x' = a x^b, b matches the coefficient of variation, a the mean | yes | no | {"b_bounds": [0.1, 3.0]} | Leander & Buishand 2007, Teutschbein & Seibert 2012 |
Delta Changedc | change-preserving | Training-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 Scalingloci | scaling | Model wet threshold with the observed wet frequency, then intensity scaling above it | yes | no | {"wet_threshold": 1.0} | Schmidli et al. 2006 |
Empirical Quantile Mappingeqm | quantile mapping | x' = Q_obs(F_model(x)), constant-ratio extrapolation | yes | no | {"extrapolation": "constant_ratio"} | Boé et al. 2007, Themeßl et al. 2011, Gudmundsson et al. 2012 |
Gamma Quantile Mappinggqm | quantile mapping | x' = G_obs^-1(G_model(x)), mixed dry mass + gamma, weighted maximum likelihood | yes | no | {"wet_threshold": 1.0} | Piani et al. 2010 |
Detrended Quantile Mappingdqm | change-preserving | EQM of x / a, times a, with a = forecast ensemble mean / model mean | yes | yes | {"extrapolation": "constant_ratio", "ratio_bounds": [0.2, 5.0], "min_model_mean": 0.1} | Cannon et al. 2015 |
Quantile Delta Mappingqdm | change-preserving | x' = Q_obs(tau) * x / Q_model(tau), tau = rank of x in the forecast ensemble | yes | yes | {"max_ratio": 5.0, "wet_threshold": 1.0} | Cannon et al. 2015 |
Scaled Distribution Mappingsdm | change-preserving | Gamma fits to observations, model climatology and forecast ensemble; scaled relative change and rain frequency | yes | yes | {"wet_threshold": 1.0} | Switanek et al. 2017 |
CDF-transformcdft | change-preserving | F_obs,f = F_obs(F_model^-1(F_forecast)); x' = F_obs,f^-1(F_forecast(x)); model first scaled to the observed mean | yes | yes | {"min_model_mean": 0.1} | Michelangeli et al. 2009, Vrac et al. 2012 |
Steps
- 1
Load
Per-member totals of every target and year, and CHIRPS for 1993–2024.
bias_benchmark.py · run_calibration.load_inputs - 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
Apply
Correct every member of the scored year individually (member-wise).
bias_methods.METHODS[key].apply - 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
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
Forecast
Fit on 1993–2024 and correct the 2026 members of every method for member-by-member comparison.
bias_benchmark.save_forecast
| Design | Fits | Scored | Role |
|---|---|---|---|
| Training | leave-one-year-out within 1993–2016 | each 1993–2016 year | clean evidence; gated |
| Operational | 1993–2016 | 2017–2024 | exploratory (these years were seen before) |
| Full | leave-one-year-out within 1993–2024 | each year | per-cell maps and distribution checks (descriptive) |
| Forecast | 1993–2024 | 2026 members | member-by-member comparison |
| Score | What it measures | Reference |
|---|---|---|
| CRPS / CRPSS | Error of the whole corrected ensemble in mm (fair version, so ensembles of 25, 31 and 51 values compare); skill against the CHIRPS training climatology | Ferro 2014 |
| Ensemble mean | Bias, 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 index | Position of CHIRPS within the ensemble (10 bins; each rank interval shared among the bins it overlaps); index Σ|fi − 1/10|, 0 = flat | Delle Monache et al. 2006 |
| Tercile RPS / RPSS | α = 0.5 smoothed member counts against the training CHIRPS terciles, without the climatology blend | |
| Distribution ratios | Pooled 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 | |
| Gate | Adopt 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
✓ = passes the gate against Mean-Variance Scaling (operational). Bold: the operational method. Skill is against the CHIRPS training climatology (0 = no better than climatology).
| Method | CRPSS 1993–2016 | CRPSS 2017–2024 | RPSS 1993–2016 | RPSS 2017–2024 | Mean bias (mm) | MAE (mm) | Correlation | Spread–error | Reliability index | Zero values (%) |
|---|---|---|---|---|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.205 | -0.146 | -0.149 | -0.109 | -14.8 | 69.6 | 0.43 | 0.54 | 0.37 | 0.0 |
| Linear Scaling | +0.060 | +0.112 | +0.025 | +0.058 | -0.1 | 57.4 | 0.31 | 0.78 | 0.16 | 0.0 |
| Mean-Variance Scaling (operational) | +0.066 | +0.164 | +0.035 | +0.065 | -0.5 | 57.6 | 0.27 | 0.96 | 0.09 | 1.7 |
| Variance Scaling (unbounded) | +0.060 | +0.168 | +0.036 | +0.064 | -0.5 | 57.8 | 0.26 | 1.01 | 0.10 | 2.2 |
| Square-root-space Mean-Variance Scaling | +0.075 ✓ | +0.175 | +0.038 | +0.073 | -0.6 | 57.4 | 0.28 | 0.94 | 0.07 | 0.0 |
| Power Transformation | +0.067 | +0.174 | +0.036 | +0.065 | -0.9 | 57.9 | 0.26 | 1.01 | 0.05 | 0.0 |
| Delta Change | +0.097 | +0.117 | +0.028 | +0.011 | -0.1 | 57.4 | 0.31 | 1.16 | 0.05 | 0.0 |
| Local Intensity Scaling | +0.059 | +0.112 | +0.024 | +0.058 | -0.2 | 57.4 | 0.30 | 0.77 | 0.17 | 0.0 |
| Empirical Quantile Mapping | +0.046 | +0.153 | +0.025 | +0.049 | -1.1 | 57.8 | 0.25 | 0.97 | 0.10 | 0.0 |
| Gamma Quantile Mapping | +0.076 | +0.178 | +0.039 | +0.076 | -0.5 | 57.3 | 0.28 | 0.93 | 0.08 | 0.0 |
| Detrended Quantile Mapping | +0.066 | +0.098 | +0.010 | +0.024 | -1.7 | 57.0 | 0.32 | 0.98 | 0.08 | 0.0 |
| Quantile Delta Mapping | +0.071 | +0.101 | +0.009 | +0.020 | -0.1 | 57.4 | 0.31 | 1.04 | 0.09 | 0.0 |
| Scaled Distribution Mapping | +0.066 | +0.098 | +0.001 | +0.016 | +0.1 | 57.5 | 0.31 | 1.05 | 0.09 | 0.0 |
| CDF-transform | +0.065 | +0.100 | +0.011 | +0.029 | -3.8 | 56.8 | 0.32 | 0.83 | 0.12 | 0.0 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| 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 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.61 | 0.68 | 0.63 | 0.39 | 0.54 |
| Linear Scaling | 0.72 | 0.94 | 1.15 | 1.81 | 0.78 |
| Mean-Variance Scaling (operational) | 0.90 | 1.01 | 0.96 | 0.83 | 0.96 |
| Variance Scaling (unbounded) | 0.93 | 1.02 | 1.00 | 1.00 | 1.01 |
| Square-root-space Mean-Variance Scaling | 0.90 | 0.97 | 0.95 | 1.07 | 0.94 |
| Power Transformation | 0.95 | 1.04 | 1.01 | 0.98 | 1.01 |
| Delta Change | 1.04 | 1.15 | 1.18 | 1.16 | 1.16 |
| Local Intensity Scaling | 0.72 | 0.95 | 1.10 | 1.59 | 0.77 |
| Empirical Quantile Mapping | 0.93 | 1.02 | 0.99 | 0.97 | 0.97 |
| Gamma Quantile Mapping | 0.90 | 0.96 | 0.94 | 0.98 | 0.93 |
| Detrended Quantile Mapping | 0.96 | 1.04 | 1.04 | 1.06 | 0.98 |
| Quantile Delta Mapping | 0.99 | 1.06 | 1.08 | 1.20 | 1.04 |
| Scaled Distribution Mapping | 1.00 | 1.07 | 1.05 | 1.00 | 1.05 |
| CDF-transform | 0.83 | 0.96 | 1.03 | 1.13 | 0.83 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.45 | 0.14 | 0.38 | 1.02 | 0.37 |
| Linear Scaling | 0.38 | 0.13 | 0.38 | 0.66 | 0.16 |
| Mean-Variance Scaling (operational) | 0.10 | 0.11 | 0.22 | 0.68 | 0.09 |
| Variance Scaling (unbounded) | 0.10 | 0.11 | 0.22 | 0.71 | 0.10 |
| Square-root-space Mean-Variance Scaling | 0.15 | 0.15 | 0.26 | 0.11 | 0.07 |
| Power Transformation | 0.18 | 0.11 | 0.28 | 0.26 | 0.05 |
| Delta Change | 0.05 | 0.13 | 0.42 | 0.50 | 0.05 |
| Local Intensity Scaling | 0.33 | 0.13 | 0.40 | 0.65 | 0.17 |
| Empirical Quantile Mapping | 0.11 | 0.07 | 0.10 | 0.16 | 0.10 |
| Gamma Quantile Mapping | 0.13 | 0.12 | 0.13 | 0.51 | 0.08 |
| Detrended Quantile Mapping | 0.10 | 0.10 | 0.41 | 0.51 | 0.08 |
| Quantile Delta Mapping | 0.11 | 0.05 | 0.12 | 0.13 | 0.09 |
| Scaled Distribution Mapping | 0.08 | 0.15 | 0.50 | 0.73 | 0.09 |
| CDF-transform | 0.22 | 0.19 | 0.53 | 0.59 | 0.12 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.0 | 0.4 | 6.2 | 19.5 | 0.0 |
| Linear Scaling | 0.0 | 0.4 | 6.2 | 19.5 | 0.0 |
| Mean-Variance Scaling (operational) | 6.5 | 8.0 | 12.2 | 4.5 | 1.7 |
| Variance Scaling (unbounded) | 6.8 | 8.2 | 8.1 | 0.0 | 2.2 |
| Square-root-space Mean-Variance Scaling | 1.5 | 2.3 | 2.9 | 1.0 | 0.0 |
| Power Transformation | 0.0 | 0.4 | 6.2 | 19.5 | 0.0 |
| Delta Change | 0.5 | 0.8 | 0.6 | 1.0 | 0.0 |
| Local Intensity Scaling | 2.9 | 6.0 | 21.4 | 27.9 | 0.0 |
| Empirical Quantile Mapping | 0.3 | 0.4 | 0.3 | 0.4 | 0.0 |
| Gamma Quantile Mapping | 3.2 | 6.1 | 15.9 | 10.4 | 0.0 |
| Detrended Quantile Mapping | 0.2 | 0.4 | 0.3 | 0.4 | 0.0 |
| Quantile Delta Mapping | 0.3 | 0.4 | 0.3 | 0.4 | 0.0 |
| Scaled Distribution Mapping | 3.1 | 12.0 | 33.4 | 44.4 | 0.0 |
| CDF-transform | 0.0 | 0.3 | 0.3 | 0.2 | 0.0 |
Distribution of the corrected members (mean, spread, 10th and 90th percentiles)
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.98 | 0.79 | 0.82 | 0.34 | 0.86 |
| Linear Scaling | 1.00 | 1.00 | 1.00 | 1.01 | 1.00 |
| Mean-Variance Scaling (operational) | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Variance Scaling (unbounded) | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Square-root-space Mean-Variance Scaling | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Power Transformation | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Delta Change | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Local Intensity Scaling | 1.00 | 1.00 | 0.97 | 0.90 | 1.00 |
| Empirical Quantile Mapping | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Gamma Quantile Mapping | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Detrended Quantile Mapping | 1.00 | 1.00 | 1.01 | 1.03 | 0.99 |
| Quantile Delta Mapping | 1.00 | 1.01 | 1.03 | 1.04 | 1.00 |
| Scaled Distribution Mapping | 1.00 | 0.99 | 0.84 | 0.63 | 1.00 |
| CDF-transform | 0.99 | 0.99 | 1.04 | 1.11 | 0.98 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.79 | 0.77 | 1.05 | 0.96 | 0.69 |
| Linear Scaling | 0.81 | 0.94 | 1.26 | 2.50 | 0.84 |
| Mean-Variance Scaling (operational) | 1.00 | 0.99 | 1.01 | 1.02 | 0.99 |
| Variance Scaling (unbounded) | 1.00 | 0.99 | 1.01 | 1.02 | 0.99 |
| Square-root-space Mean-Variance Scaling | 0.98 | 0.94 | 0.93 | 1.11 | 0.94 |
| Power Transformation | 1.00 | 1.00 | 1.01 | 1.00 | 1.00 |
| Delta Change | 1.06 | 1.09 | 1.17 | 1.34 | 1.07 |
| Local Intensity Scaling | 0.81 | 0.96 | 1.16 | 1.70 | 0.83 |
| Empirical Quantile Mapping | 1.00 | 0.99 | 0.99 | 1.00 | 0.98 |
| Gamma Quantile Mapping | 0.98 | 0.91 | 0.88 | 0.93 | 0.92 |
| Detrended Quantile Mapping | 0.99 | 1.00 | 1.09 | 1.34 | 0.96 |
| Quantile Delta Mapping | 1.01 | 1.03 | 1.16 | 1.41 | 0.99 |
| Scaled Distribution Mapping | 1.02 | 1.02 | 1.07 | 1.16 | 1.00 |
| CDF-transform | 0.93 | 0.98 | 1.13 | 1.53 | 0.89 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 1.27 | 0.52 | 0.06 | 0.00 | 0.93 |
| Linear Scaling | 1.25 | 0.73 | 0.07 | 0.00 | 1.03 |
| Mean-Variance Scaling (operational) | 0.88 | 0.61 | 0.62 | 1.16 | 0.86 |
| Variance Scaling (unbounded) | 0.85 | 0.58 | 0.72 | 1.17 | 0.82 |
| Square-root-space Mean-Variance Scaling | 0.95 | 0.75 | 0.57 | 0.86 | 0.91 |
| Power Transformation | 1.00 | 0.64 | 0.24 | 0.00 | 0.89 |
| Delta Change | 0.92 | 0.86 | 0.71 | 0.62 | 0.91 |
| Local Intensity Scaling | 1.20 | 0.65 | 0.26 | 0.00 | 1.04 |
| Empirical Quantile Mapping | 0.97 | 0.98 | 0.99 | 1.00 | 0.97 |
| Gamma Quantile Mapping | 0.97 | 0.80 | 0.68 | 1.02 | 0.94 |
| Detrended Quantile Mapping | 0.96 | 0.88 | 0.71 | 0.64 | 0.96 |
| Quantile Delta Mapping | 0.97 | 0.91 | 0.84 | 0.98 | 0.97 |
| Scaled Distribution Mapping | 0.95 | 0.68 | 0.00 | 0.00 | 0.96 |
| CDF-transform | 1.01 | 0.87 | 0.61 | 0.58 | 0.98 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.92 | 0.81 | 1.10 | 0.47 | 0.81 |
| Linear Scaling | 0.96 | 1.01 | 1.31 | 1.42 | 0.98 |
| Mean-Variance Scaling (operational) | 1.03 | 1.01 | 1.11 | 0.92 | 1.04 |
| Variance Scaling (unbounded) | 1.03 | 1.01 | 1.07 | 0.92 | 1.05 |
| Square-root-space Mean-Variance Scaling | 1.03 | 0.99 | 1.09 | 1.06 | 1.02 |
| Power Transformation | 1.03 | 1.01 | 1.12 | 1.11 | 1.04 |
| Delta Change | 1.06 | 1.05 | 1.07 | 1.12 | 1.06 |
| Local Intensity Scaling | 0.96 | 1.01 | 1.16 | 1.08 | 0.98 |
| Empirical Quantile Mapping | 1.03 | 1.04 | 1.08 | 1.05 | 1.03 |
| Gamma Quantile Mapping | 1.03 | 0.98 | 1.02 | 0.97 | 1.02 |
| Detrended Quantile Mapping | 1.03 | 1.03 | 1.10 | 1.17 | 1.02 |
| Quantile Delta Mapping | 1.04 | 1.04 | 1.13 | 1.09 | 1.04 |
| Scaled Distribution Mapping | 1.04 | 1.01 | 0.94 | 0.82 | 1.04 |
| CDF-transform | 1.01 | 1.03 | 1.15 | 1.30 | 1.01 |
Gates are computed for the primary region (All Ethiopia) only. Bold: the operational method. Skill is against the CHIRPS training climatology (0 = no better than climatology).
| Method | CRPSS 1993–2016 | CRPSS 2017–2024 | RPSS 1993–2016 | RPSS 2017–2024 | Mean bias (mm) | MAE (mm) | Correlation | Spread–error | Reliability index | Zero values (%) |
|---|---|---|---|---|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.065 | -0.024 | -0.018 | +0.043 | -43.7 | 78.5 | 0.61 | 0.44 | 0.49 | 0.0 |
| Linear Scaling | +0.109 | +0.269 | +0.121 | +0.282 | -0.3 | 71.1 | 0.50 | 0.72 | 0.29 | 0.0 |
| Mean-Variance Scaling (operational) | +0.138 | +0.367 | +0.150 | +0.314 | -0.6 | 70.4 | 0.49 | 0.96 | 0.18 | 2.7 |
| Variance Scaling (unbounded) | +0.129 | +0.377 | +0.150 | +0.313 | -0.4 | 71.0 | 0.47 | 1.03 | 0.22 | 4.0 |
| Square-root-space Mean-Variance Scaling | +0.148 | +0.379 | +0.154 | +0.320 | -0.9 | 70.3 | 0.49 | 0.97 | 0.13 | 0.1 |
| Power Transformation | +0.140 | +0.388 | +0.153 | +0.325 | -1.1 | 71.2 | 0.47 | 1.04 | 0.08 | 0.0 |
| Delta Change | +0.154 | +0.284 | +0.135 | +0.253 | -0.3 | 71.1 | 0.50 | 1.21 | 0.10 | 0.0 |
| Local Intensity Scaling | +0.107 | +0.267 | +0.119 | +0.281 | -0.3 | 71.2 | 0.50 | 0.71 | 0.29 | 0.0 |
| Empirical Quantile Mapping | +0.108 | +0.359 | +0.141 | +0.316 | -1.7 | 71.5 | 0.45 | 0.99 | 0.10 | 0.0 |
| Gamma Quantile Mapping | +0.150 | +0.382 | +0.153 | +0.321 | -0.7 | 70.2 | 0.50 | 0.97 | 0.10 | 0.0 |
| Detrended Quantile Mapping | +0.125 | +0.256 | +0.123 | +0.275 | -3.0 | 70.8 | 0.51 | 0.99 | 0.10 | 0.0 |
| Quantile Delta Mapping | +0.132 | +0.262 | +0.126 | +0.267 | -1.0 | 71.1 | 0.50 | 1.07 | 0.09 | 0.0 |
| Scaled Distribution Mapping | +0.125 | +0.259 | +0.114 | +0.261 | -0.6 | 71.4 | 0.49 | 1.08 | 0.09 | 0.0 |
| CDF-transform | +0.124 | +0.261 | +0.131 | +0.277 | -6.5 | 69.9 | 0.53 | 0.82 | 0.16 | 0.0 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.057 | +0.019 | -0.057 | -0.499 | -0.065 |
| Linear Scaling | +0.044 | +0.085 | +0.049 | -0.076 | +0.109 |
| Mean-Variance Scaling (operational) | +0.079 | +0.098 | +0.060 | -0.049 | +0.138 |
| Variance Scaling (unbounded) | +0.077 | +0.096 | +0.062 | +0.006 | +0.129 |
| Square-root-space Mean-Variance Scaling | +0.086 | +0.101 | +0.067 | +0.079 | +0.148 |
| Power Transformation | +0.078 | +0.097 | +0.056 | -0.028 | +0.140 |
| Delta Change | +0.077 | +0.103 | +0.068 | +0.013 | +0.154 |
| Local Intensity Scaling | +0.042 | +0.093 | +0.058 | -0.070 | +0.107 |
| Empirical Quantile Mapping | +0.063 | +0.085 | +0.066 | +0.055 | +0.108 |
| Gamma Quantile Mapping | +0.088 | +0.100 | +0.059 | +0.027 | +0.150 |
| Detrended Quantile Mapping | +0.060 | +0.087 | +0.040 | +0.012 | +0.125 |
| Quantile Delta Mapping | +0.063 | +0.088 | +0.062 | +0.077 | +0.132 |
| Scaled Distribution Mapping | +0.060 | +0.087 | +0.032 | -0.211 | +0.125 |
| CDF-transform | +0.053 | +0.084 | +0.029 | -0.031 | +0.124 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.009 | +0.041 | -0.154 | -0.542 | -0.018 |
| Linear Scaling | +0.091 | +0.075 | -0.084 | -0.152 | +0.121 |
| Mean-Variance Scaling (operational) | +0.124 | +0.100 | -0.062 | -0.282 | +0.150 |
| Variance Scaling (unbounded) | +0.124 | +0.102 | -0.054 | -0.248 | +0.150 |
| Square-root-space Mean-Variance Scaling | +0.126 | +0.105 | -0.032 | +0.027 | +0.154 |
| Power Transformation | +0.122 | +0.086 | -0.051 | +0.008 | +0.153 |
| Delta Change | +0.081 | +0.078 | -0.190 | -0.165 | +0.135 |
| Local Intensity Scaling | +0.089 | +0.095 | -0.157 | -0.188 | +0.119 |
| Empirical Quantile Mapping | +0.107 | +0.091 | +0.003 | +0.050 | +0.141 |
| Gamma Quantile Mapping | +0.126 | +0.102 | -0.158 | -0.258 | +0.153 |
| Detrended Quantile Mapping | +0.087 | +0.077 | -0.208 | -0.145 | +0.123 |
| Quantile Delta Mapping | +0.083 | +0.075 | -0.057 | +0.010 | +0.126 |
| Scaled Distribution Mapping | +0.082 | +0.069 | -0.212 | -0.321 | +0.114 |
| CDF-transform | +0.090 | +0.067 | -0.318 | -0.175 | +0.131 |
More scores by target: test years, bias, correlation, spread, reliability, zero values
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.071 | +0.103 | -0.050 | -0.576 | -0.024 |
| Linear Scaling | +0.136 | +0.229 | -0.056 | -0.249 | +0.269 |
| Mean-Variance Scaling (operational) | +0.176 | +0.271 | -0.010 | -0.194 | +0.367 |
| Variance Scaling (unbounded) | +0.171 | +0.273 | -0.009 | -0.096 | +0.377 |
| Square-root-space Mean-Variance Scaling | +0.176 | +0.274 | -0.002 | +0.038 | +0.379 |
| Power Transformation | +0.176 | +0.283 | -0.037 | -0.097 | +0.388 |
| Delta Change | +0.151 | +0.235 | +0.048 | -0.108 | +0.284 |
| Local Intensity Scaling | +0.134 | +0.241 | -0.028 | -0.174 | +0.267 |
| Empirical Quantile Mapping | +0.158 | +0.277 | +0.011 | +0.074 | +0.359 |
| Gamma Quantile Mapping | +0.177 | +0.279 | -0.015 | -0.013 | +0.382 |
| Detrended Quantile Mapping | +0.120 | +0.211 | -0.016 | -0.219 | +0.256 |
| Quantile Delta Mapping | +0.127 | +0.216 | -0.018 | -0.011 | +0.262 |
| Scaled Distribution Mapping | +0.125 | +0.219 | -0.006 | -0.291 | +0.259 |
| CDF-transform | +0.122 | +0.216 | -0.089 | -0.373 | +0.261 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -0.079 | +0.171 | +0.005 | -0.365 | +0.043 |
| Linear Scaling | +0.160 | +0.229 | +0.031 | -0.072 | +0.282 |
| Mean-Variance Scaling (operational) | +0.146 | +0.239 | +0.036 | -0.432 | +0.314 |
| Variance Scaling (unbounded) | +0.139 | +0.238 | +0.035 | -0.346 | +0.313 |
| Square-root-space Mean-Variance Scaling | +0.140 | +0.240 | +0.030 | +0.031 | +0.320 |
| Power Transformation | +0.139 | +0.246 | +0.038 | -0.015 | +0.325 |
| Delta Change | +0.118 | +0.175 | +0.028 | -0.161 | +0.253 |
| Local Intensity Scaling | +0.159 | +0.224 | +0.043 | -0.100 | +0.281 |
| Empirical Quantile Mapping | +0.131 | +0.233 | +0.064 | +0.067 | +0.316 |
| Gamma Quantile Mapping | +0.138 | +0.226 | -0.029 | -0.273 | +0.321 |
| Detrended Quantile Mapping | +0.111 | +0.210 | +0.013 | -0.129 | +0.275 |
| Quantile Delta Mapping | +0.115 | +0.202 | +0.115 | +0.120 | +0.267 |
| Scaled Distribution Mapping | +0.109 | +0.189 | +0.028 | -0.218 | +0.261 |
| CDF-transform | +0.114 | +0.213 | +0.020 | -0.021 | +0.277 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | -15.4 | -15.2 | -5.6 | -7.5 | -43.7 |
| Linear Scaling | -0.1 | -0.1 | +0.0 | +0.0 | -0.3 |
| Mean-Variance Scaling (operational) | +0.1 | +0.4 | +0.2 | -0.0 | -0.6 |
| Variance Scaling (unbounded) | +0.3 | +0.5 | +0.2 | -0.1 | -0.4 |
| Square-root-space Mean-Variance Scaling | -0.2 | -0.2 | -0.0 | -0.0 | -0.9 |
| Power Transformation | -0.1 | -0.1 | +0.0 | -0.1 | -1.1 |
| Delta Change | -0.1 | -0.1 | +0.0 | +0.0 | -0.3 |
| Local Intensity Scaling | -0.1 | -0.1 | -0.4 | -1.6 | -0.3 |
| Empirical Quantile Mapping | -0.3 | -0.2 | -0.0 | -0.1 | -1.7 |
| Gamma Quantile Mapping | -0.1 | -0.1 | -0.0 | -0.2 | -0.7 |
| Detrended Quantile Mapping | -0.3 | -0.4 | +0.1 | +0.5 | -3.0 |
| Quantile Delta Mapping | -0.1 | +0.1 | +0.5 | +0.6 | -1.0 |
| Scaled Distribution Mapping | +0.0 | -0.1 | -1.8 | -4.3 | -0.6 |
| CDF-transform | -2.1 | -1.6 | +0.4 | +1.4 | -6.5 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | +0.42 | +0.48 | +0.26 | +0.32 | +0.61 |
| Linear Scaling | +0.28 | +0.33 | +0.12 | +0.25 | +0.50 |
| Mean-Variance Scaling (operational) | +0.29 | +0.35 | +0.12 | +0.14 | +0.49 |
| Variance Scaling (unbounded) | +0.28 | +0.34 | +0.11 | +0.03 | +0.47 |
| Square-root-space Mean-Variance Scaling | +0.29 | +0.34 | +0.11 | +0.19 | +0.49 |
| Power Transformation | +0.28 | +0.34 | +0.12 | +0.13 | +0.47 |
| Delta Change | +0.28 | +0.33 | +0.12 | +0.25 | +0.50 |
| Local Intensity Scaling | +0.28 | +0.34 | +0.13 | +0.21 | +0.50 |
| Empirical Quantile Mapping | +0.28 | +0.33 | +0.10 | +0.07 | +0.45 |
| Gamma Quantile Mapping | +0.30 | +0.34 | +0.11 | +0.07 | +0.50 |
| Detrended Quantile Mapping | +0.28 | +0.34 | +0.09 | +0.27 | +0.51 |
| Quantile Delta Mapping | +0.27 | +0.33 | +0.10 | +0.17 | +0.50 |
| Scaled Distribution Mapping | +0.27 | +0.33 | +0.12 | +0.23 | +0.49 |
| CDF-transform | +0.28 | +0.32 | +0.13 | +0.32 | +0.53 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.56 | 0.57 | 0.61 | 0.37 | 0.44 |
| Linear Scaling | 0.75 | 0.88 | 1.15 | 2.03 | 0.72 |
| Mean-Variance Scaling (operational) | 0.93 | 0.99 | 0.99 | 0.85 | 0.96 |
| Variance Scaling (unbounded) | 0.99 | 1.02 | 1.03 | 1.04 | 1.03 |
| Square-root-space Mean-Variance Scaling | 0.97 | 0.96 | 0.97 | 1.15 | 0.97 |
| Power Transformation | 1.01 | 1.03 | 1.04 | 1.02 | 1.04 |
| Delta Change | 1.10 | 1.16 | 1.25 | 1.28 | 1.21 |
| Local Intensity Scaling | 0.74 | 0.90 | 1.11 | 1.64 | 0.71 |
| Empirical Quantile Mapping | 0.98 | 1.02 | 1.01 | 1.01 | 0.99 |
| Gamma Quantile Mapping | 0.98 | 0.95 | 0.98 | 0.99 | 0.97 |
| Detrended Quantile Mapping | 1.00 | 1.04 | 1.08 | 1.19 | 0.99 |
| Quantile Delta Mapping | 1.04 | 1.06 | 1.12 | 1.37 | 1.07 |
| Scaled Distribution Mapping | 1.05 | 1.06 | 1.08 | 1.00 | 1.08 |
| CDF-transform | 0.85 | 0.94 | 1.06 | 1.32 | 0.82 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.43 | 0.32 | 0.31 | 1.15 | 0.49 |
| Linear Scaling | 0.33 | 0.24 | 0.33 | 0.92 | 0.29 |
| Mean-Variance Scaling (operational) | 0.09 | 0.17 | 0.31 | 0.85 | 0.18 |
| Variance Scaling (unbounded) | 0.12 | 0.19 | 0.30 | 0.86 | 0.22 |
| Square-root-space Mean-Variance Scaling | 0.06 | 0.12 | 0.35 | 0.41 | 0.13 |
| Power Transformation | 0.09 | 0.10 | 0.34 | 0.49 | 0.08 |
| Delta Change | 0.08 | 0.12 | 0.48 | 0.71 | 0.10 |
| Local Intensity Scaling | 0.34 | 0.14 | 0.44 | 0.92 | 0.29 |
| Empirical Quantile Mapping | 0.11 | 0.08 | 0.11 | 0.27 | 0.10 |
| Gamma Quantile Mapping | 0.07 | 0.09 | 0.33 | 0.82 | 0.10 |
| Detrended Quantile Mapping | 0.09 | 0.11 | 0.45 | 0.68 | 0.10 |
| Quantile Delta Mapping | 0.08 | 0.13 | 0.16 | 0.26 | 0.09 |
| Scaled Distribution Mapping | 0.08 | 0.12 | 0.62 | 1.07 | 0.09 |
| CDF-transform | 0.18 | 0.19 | 0.63 | 0.76 | 0.16 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.0 | 0.2 | 7.4 | 32.4 | 0.0 |
| Linear Scaling | 0.0 | 0.2 | 7.4 | 32.4 | 0.0 |
| Mean-Variance Scaling (operational) | 3.2 | 10.9 | 15.7 | 4.3 | 2.7 |
| Variance Scaling (unbounded) | 4.0 | 11.9 | 15.1 | 0.0 | 4.0 |
| Square-root-space Mean-Variance Scaling | 0.2 | 4.0 | 4.9 | 0.3 | 0.1 |
| Power Transformation | 0.0 | 0.2 | 7.4 | 32.4 | 0.0 |
| Delta Change | 0.0 | 1.8 | 0.0 | 0.0 | 0.0 |
| Local Intensity Scaling | 0.0 | 8.0 | 29.6 | 45.7 | 0.0 |
| Empirical Quantile Mapping | 0.0 | 0.9 | 0.0 | 0.0 | 0.0 |
| Gamma Quantile Mapping | 0.0 | 8.5 | 27.1 | 13.8 | 0.0 |
| Detrended Quantile Mapping | 0.0 | 0.9 | 0.0 | 0.0 | 0.0 |
| Quantile Delta Mapping | 0.0 | 0.9 | 0.0 | 0.0 | 0.0 |
| Scaled Distribution Mapping | 0.0 | 8.9 | 41.4 | 55.1 | 0.0 |
| CDF-transform | 0.0 | 0.5 | 0.3 | 0.0 | 0.0 |
Distribution of the corrected members (mean, spread, 10th and 90th percentiles)
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.84 | 0.72 | 0.82 | 0.31 | 0.77 |
| Linear Scaling | 1.00 | 1.00 | 1.00 | 1.01 | 1.00 |
| Mean-Variance Scaling (operational) | 1.00 | 1.01 | 1.01 | 1.00 | 1.00 |
| Variance Scaling (unbounded) | 1.00 | 1.01 | 1.01 | 1.00 | 1.00 |
| Square-root-space Mean-Variance Scaling | 1.00 | 0.99 | 1.00 | 1.00 | 1.00 |
| Power Transformation | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Delta Change | 1.00 | 1.00 | 1.00 | 1.01 | 1.00 |
| Local Intensity Scaling | 1.00 | 0.99 | 0.95 | 0.62 | 1.00 |
| Empirical Quantile Mapping | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| Gamma Quantile Mapping | 1.00 | 1.00 | 1.00 | 0.99 | 1.00 |
| Detrended Quantile Mapping | 1.00 | 0.99 | 1.00 | 1.04 | 0.98 |
| Quantile Delta Mapping | 1.00 | 0.99 | 1.03 | 1.04 | 0.99 |
| Scaled Distribution Mapping | 1.00 | 1.00 | 0.90 | 0.48 | 1.00 |
| CDF-transform | 0.98 | 0.96 | 1.03 | 1.23 | 0.96 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.62 | 0.57 | 0.88 | 1.10 | 0.50 |
| Linear Scaling | 0.73 | 0.77 | 1.07 | 3.21 | 0.65 |
| Mean-Variance Scaling (operational) | 0.99 | 0.96 | 1.01 | 1.04 | 0.95 |
| Variance Scaling (unbounded) | 0.99 | 0.97 | 1.01 | 1.03 | 0.98 |
| Square-root-space Mean-Variance Scaling | 0.98 | 0.90 | 0.88 | 1.18 | 0.93 |
| Power Transformation | 1.00 | 1.00 | 1.02 | 1.01 | 0.99 |
| Delta Change | 1.05 | 1.08 | 1.20 | 1.50 | 1.06 |
| Local Intensity Scaling | 0.73 | 0.82 | 1.10 | 1.59 | 0.65 |
| Empirical Quantile Mapping | 0.99 | 0.98 | 0.99 | 0.98 | 0.98 |
| Gamma Quantile Mapping | 0.99 | 0.89 | 0.90 | 0.83 | 0.92 |
| Detrended Quantile Mapping | 0.99 | 0.97 | 1.09 | 1.57 | 0.92 |
| Quantile Delta Mapping | 1.01 | 0.99 | 1.15 | 1.58 | 0.97 |
| Scaled Distribution Mapping | 1.01 | 1.00 | 1.06 | 1.12 | 0.97 |
| CDF-transform | 0.89 | 0.88 | 1.06 | 2.02 | 0.78 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 1.15 | 0.88 | 0.04 | 0.00 | 1.02 |
| Linear Scaling | 1.47 | 1.20 | 0.05 | 0.00 | 1.36 |
| Mean-Variance Scaling (operational) | 0.91 | 0.00 | 0.37 | 1.14 | 0.81 |
| Variance Scaling (unbounded) | 0.86 | 0.00 | 0.37 | 1.17 | 0.66 |
| Square-root-space Mean-Variance Scaling | 0.98 | 0.68 | 0.38 | 0.82 | 0.89 |
| Power Transformation | 1.07 | 0.73 | 0.04 | 0.00 | 0.91 |
| Delta Change | 0.92 | 0.88 | 0.67 | 0.44 | 0.91 |
| Local Intensity Scaling | 1.50 | 0.93 | 0.00 | 0.00 | 1.37 |
| Empirical Quantile Mapping | 0.96 | 0.96 | 0.99 | 1.00 | 0.97 |
| Gamma Quantile Mapping | 1.02 | 0.79 | 0.61 | 1.10 | 0.93 |
| Detrended Quantile Mapping | 0.98 | 0.91 | 0.65 | 0.44 | 0.97 |
| Quantile Delta Mapping | 1.00 | 0.93 | 0.81 | 1.00 | 0.98 |
| Scaled Distribution Mapping | 0.98 | 0.86 | 0.00 | 0.00 | 0.97 |
| CDF-transform | 1.09 | 0.95 | 0.48 | 0.42 | 1.07 |
| Method | Oct | Nov | Dec | Jan | ONDJ |
|---|---|---|---|---|---|
| Raw ECMWF (no correction) | 0.76 | 0.66 | 1.13 | 0.42 | 0.68 |
| Linear Scaling | 0.93 | 0.92 | 1.27 | 1.51 | 0.89 |
| Mean-Variance Scaling (operational) | 1.02 | 1.02 | 1.17 | 0.98 | 1.01 |
| Variance Scaling (unbounded) | 1.03 | 1.03 | 1.17 | 0.93 | 1.03 |
| Square-root-space Mean-Variance Scaling | 1.03 | 0.98 | 1.10 | 1.22 | 1.01 |
| Power Transformation | 1.02 | 1.00 | 1.16 | 1.54 | 1.02 |
| Delta Change | 1.06 | 1.05 | 1.06 | 1.33 | 1.06 |
| Local Intensity Scaling | 0.92 | 0.95 | 1.15 | 0.89 | 0.89 |
| Empirical Quantile Mapping | 1.03 | 1.04 | 1.11 | 1.06 | 1.04 |
| Gamma Quantile Mapping | 1.03 | 0.98 | 1.02 | 1.01 | 1.00 |
| Detrended Quantile Mapping | 1.02 | 1.02 | 1.10 | 1.40 | 0.99 |
| Quantile Delta Mapping | 1.03 | 1.03 | 1.14 | 1.00 | 1.02 |
| Scaled Distribution Mapping | 1.03 | 1.03 | 0.97 | 0.74 | 1.02 |
| CDF-transform | 0.99 | 0.99 | 1.14 | 1.77 | 0.94 |
Gate statistics for every method and target
| Method | Target | Δ CRPS 1993–2016 (mm) | 95% interval | Years better | p (one-sided) | Holm p | Δ CRPS 2017–2024 | Years better | Passes |
|---|---|---|---|---|---|---|---|---|---|
| Linear Scaling | Oct | +0.63 | -0.16 to +1.48 | 9/24 | 0.919 | 1.000 | +0.26 | 5/8 | no |
| Linear Scaling | Nov | +0.25 | +0.06 to +0.43 | 5/24 | 0.991 | 1.000 | +0.79 | 3/8 | no |
| Linear Scaling | Dec | +0.21 | +0.06 to +0.35 | 7/24 | 0.991 | 1.000 | +0.36 | 1/8 | no |
| Linear Scaling | Jan | +0.30 | -0.28 to +0.82 | 9/24 | 0.836 | 1.000 | +0.34 | 3/8 | no |
| Linear Scaling | ONDJ | +0.27 | -0.98 to +1.49 | 13/24 | 0.658 | 1.000 | +2.51 | 5/8 | no |
| Variance Scaling (unbounded) | Oct | +0.04 | -0.06 to +0.14 | 9/24 | 0.788 | 1.000 | +0.07 | 3/8 | no |
| Variance Scaling (unbounded) | Nov | +0.04 | +0.01 to +0.07 | 9/24 | 0.991 | 1.000 | -0.02 | 3/8 | no |
| Variance Scaling (unbounded) | Dec | -0.03 | -0.06 to +0.01 | 15/24 | 0.076 | 0.304 | -0.01 | 4/8 | no |
| Variance Scaling (unbounded) | Jan | -0.26 | -0.39 to -0.14 | 18/24 | 0.001 | 0.003 | -0.35 | 6/8 | yes |
| Variance Scaling (unbounded) | ONDJ | +0.27 | -0.02 to +0.60 | 7/24 | 0.950 | 1.000 | -0.22 | 3/8 | no |
| Square-root-space Mean-Variance Scaling | Oct | -0.21 | -0.46 to +0.05 | 15/24 | 0.069 | 0.138 | -0.00 | 4/8 | no |
| Square-root-space Mean-Variance Scaling | Nov | -0.07 | -0.20 to +0.07 | 16/24 | 0.166 | 0.166 | -0.09 | 6/8 | no |
| Square-root-space Mean-Variance Scaling | Dec | -0.07 | -0.11 to -0.02 | 20/24 | 0.005 | 0.022 | -0.03 | 4/8 | yes |
| Square-root-space Mean-Variance Scaling | Jan | -0.54 | -0.78 to -0.31 | 20/24 | 0.000 | 0.000 | -0.72 | 6/8 | yes |
| Square-root-space Mean-Variance Scaling | ONDJ | -0.37 | -0.69 to -0.06 | 18/24 | 0.016 | 0.049 | -0.54 | 5/8 | yes |
| Power Transformation | Oct | -0.09 | -0.51 to +0.35 | 15/24 | 0.351 | 1.000 | +0.30 | 4/8 | no |
| Power Transformation | Nov | +0.04 | -0.13 to +0.23 | 14/24 | 0.666 | 1.000 | -0.17 | 5/8 | no |
| Power Transformation | Dec | +0.04 | -0.04 to +0.12 | 7/24 | 0.844 | 1.000 | +0.13 | 2/8 | no |
| Power Transformation | Jan | -0.20 | -0.43 to +0.02 | 14/24 | 0.047 | 0.234 | -0.38 | 7/8 | no |
| Power Transformation | ONDJ | -0.04 | -0.67 to +0.61 | 15/24 | 0.445 | 1.000 | -0.51 | 5/8 | no |
| Delta Change | Oct | -0.88 | -1.82 to -0.02 | 14/24 | 0.036 | 0.181 | +0.31 | 5/8 | no |
| Delta Change | Nov | -0.13 | -0.69 to +0.39 | 12/24 | 0.327 | 0.980 | +0.52 | 6/8 | no |
| Delta Change | Dec | -0.03 | -0.21 to +0.17 | 13/24 | 0.385 | 0.980 | -0.22 | 7/8 | no |
| Delta Change | Jan | -0.09 | -0.56 to +0.33 | 11/24 | 0.351 | 0.980 | -0.33 | 5/8 | no |
| Delta Change | ONDJ | -1.34 | -2.71 to +0.06 | 16/24 | 0.036 | 0.181 | +2.26 | 6/8 | no |
| Local Intensity Scaling | Oct | +0.63 | -0.17 to +1.50 | 11/24 | 0.919 | 1.000 | +0.33 | 5/8 | no |
| Local Intensity Scaling | Nov | +0.13 | -0.04 to +0.29 | 9/24 | 0.927 | 1.000 | +0.58 | 4/8 | no |
| Local Intensity Scaling | Dec | +0.10 | -0.04 to +0.23 | 7/24 | 0.904 | 1.000 | +0.20 | 2/8 | no |
| Local Intensity Scaling | Jan | +0.18 | -0.35 to +0.68 | 11/24 | 0.741 | 1.000 | +0.09 | 4/8 | no |
| Local Intensity Scaling | ONDJ | +0.31 | -0.99 to +1.56 | 13/24 | 0.672 | 1.000 | +2.54 | 5/8 | no |
| Empirical Quantile Mapping | Oct | +0.33 | -0.20 to +0.84 | 11/24 | 0.883 | 1.000 | +0.81 | 1/8 | no |
| Empirical Quantile Mapping | Nov | +0.20 | -0.16 to +0.58 | 13/24 | 0.839 | 1.000 | -0.01 | 4/8 | no |
| Empirical Quantile Mapping | Dec | -0.07 | -0.21 to +0.08 | 13/24 | 0.176 | 0.706 | -0.13 | 6/8 | no |
| Empirical Quantile Mapping | Jan | -0.43 | -0.70 to -0.17 | 14/24 | 0.003 | 0.013 | -0.82 | 7/8 | yes |
| Empirical Quantile Mapping | ONDJ | +0.87 | -0.25 to +2.16 | 12/24 | 0.895 | 1.000 | +0.53 | 5/8 | no |
| Gamma Quantile Mapping | Oct | -0.24 | -0.57 to +0.09 | 14/24 | 0.091 | 0.274 | +0.01 | 4/8 | no |
| Gamma Quantile Mapping | Nov | -0.03 | -0.19 to +0.15 | 12/24 | 0.368 | 0.735 | -0.13 | 5/8 | no |
| Gamma Quantile Mapping | Dec | +0.00 | -0.04 to +0.05 | 13/24 | 0.578 | 0.735 | +0.03 | 3/8 | no |
| Gamma Quantile Mapping | Jan | -0.37 | -0.55 to -0.20 | 18/24 | 0.000 | 0.001 | -0.56 | 7/8 | yes |
| Gamma Quantile Mapping | ONDJ | -0.44 | -0.85 to -0.05 | 18/24 | 0.022 | 0.089 | -0.67 | 6/8 | no |
| Detrended Quantile Mapping | Oct | -0.22 | -0.90 to +0.45 | 15/24 | 0.273 | 1.000 | +0.74 | 2/8 | no |
| Detrended Quantile Mapping | Nov | +0.18 | -0.17 to +0.54 | 12/24 | 0.834 | 1.000 | +0.98 | 3/8 | no |
| Detrended Quantile Mapping | Dec | +0.19 | +0.02 to +0.37 | 8/24 | 0.972 | 1.000 | +0.01 | 4/8 | no |
| Detrended Quantile Mapping | Jan | +0.03 | -0.60 to +0.58 | 8/24 | 0.533 | 1.000 | -0.07 | 5/8 | no |
| Detrended Quantile Mapping | ONDJ | -0.01 | -1.05 to +1.11 | 15/24 | 0.493 | 1.000 | +3.22 | 5/8 | no |
| Quantile Delta Mapping | Oct | -0.40 | -1.14 to +0.31 | 15/24 | 0.153 | 0.763 | +0.70 | 3/8 | no |
| Quantile Delta Mapping | Nov | +0.14 | -0.16 to +0.44 | 11/24 | 0.804 | 1.000 | +0.80 | 4/8 | no |
| Quantile Delta Mapping | Dec | +0.04 | -0.13 to +0.25 | 12/24 | 0.639 | 1.000 | +0.00 | 4/8 | no |
| Quantile Delta Mapping | Jan | -0.24 | -0.76 to +0.23 | 11/24 | 0.186 | 0.763 | -0.51 | 6/8 | no |
| Quantile Delta Mapping | ONDJ | -0.22 | -1.09 to +0.74 | 16/24 | 0.332 | 0.997 | +3.08 | 5/8 | no |
| Scaled Distribution Mapping | Oct | -0.30 | -1.05 to +0.43 | 15/24 | 0.225 | 1.000 | +0.78 | 2/8 | no |
| Scaled Distribution Mapping | Nov | +0.19 | -0.20 to +0.59 | 11/24 | 0.821 | 1.000 | +1.04 | 4/8 | no |
| Scaled Distribution Mapping | Dec | +0.28 | -0.05 to +0.62 | 8/24 | 0.940 | 1.000 | +0.14 | 3/8 | no |
| Scaled Distribution Mapping | Jan | +0.71 | +0.08 to +1.32 | 9/24 | 0.979 | 1.000 | +0.38 | 3/8 | no |
| Scaled Distribution Mapping | ONDJ | +0.00 | -0.83 to +0.89 | 15/24 | 0.501 | 1.000 | +3.19 | 5/8 | no |
| CDF-transform | Oct | -0.01 | -0.78 to +0.76 | 14/24 | 0.488 | 1.000 | +0.90 | 2/8 | no |
| CDF-transform | Nov | +0.27 | -0.03 to +0.59 | 11/24 | 0.943 | 1.000 | +0.90 | 3/8 | no |
| CDF-transform | Dec | +0.34 | +0.13 to +0.59 | 7/24 | 0.998 | 1.000 | +0.30 | 3/8 | no |
| CDF-transform | Jan | +0.28 | -0.42 to +0.89 | 7/24 | 0.781 | 1.000 | +0.27 | 4/8 | no |
| CDF-transform | ONDJ | +0.04 | -0.93 to +1.10 | 15/24 | 0.528 | 1.000 | +3.13 | 5/8 | no |
| Method | Target | Δ RPS 1993–2016 | 95% interval | Years better | p (one-sided) | Holm p | Δ RPS 2017–2024 | Years better | Passes |
|---|---|---|---|---|---|---|---|---|---|
| Linear Scaling | Oct | +0.0109 | -0.0080 to +0.0289 | 9/24 | 0.867 | 1.000 | -0.0219 | 7/8 | no |
| Linear Scaling | Nov | +0.0043 | -0.0098 to +0.0183 | 10/24 | 0.716 | 1.000 | +0.0150 | 2/8 | no |
| Linear Scaling | Dec | +0.0056 | -0.0219 to +0.0318 | 9/24 | 0.655 | 1.000 | -0.0096 | 4/8 | no |
| Linear Scaling | Jan | -0.0315 | -0.1398 to +0.0731 | 10/24 | 0.293 | 1.000 | -0.1296 | 4/8 | no |
| Linear Scaling | ONDJ | +0.0048 | -0.0056 to +0.0156 | 12/24 | 0.801 | 1.000 | +0.0033 | 3/8 | no |
| Variance Scaling (unbounded) | Oct | +0.0001 | -0.0013 to +0.0013 | 9/24 | 0.529 | 0.934 | +0.0014 | 2/8 | no |
| Variance Scaling (unbounded) | Nov | -0.0006 | -0.0015 to +0.0003 | 13/24 | 0.105 | 0.420 | -0.0013 | 6/8 | no |
| Variance Scaling (unbounded) | Dec | -0.0035 | -0.0087 to +0.0018 | 15/24 | 0.109 | 0.420 | -0.0030 | 5/8 | no |
| Variance Scaling (unbounded) | Jan | -0.0172 | -0.0273 to -0.0070 | 16/24 | 0.003 | 0.013 | -0.0359 | 7/8 | yes |
| Variance Scaling (unbounded) | ONDJ | -0.0001 | -0.0022 to +0.0019 | 8/24 | 0.467 | 0.934 | +0.0005 | 2/8 | no |
| Square-root-space Mean-Variance Scaling | Oct | -0.0015 | -0.0046 to +0.0015 | 12/24 | 0.173 | 0.272 | -0.0028 | 4/8 | no |
| Square-root-space Mean-Variance Scaling | Nov | -0.0071 | -0.0106 to -0.0039 | 19/24 | 0.000 | 0.001 | -0.0077 | 6/8 | yes |
| Square-root-space Mean-Variance Scaling | Dec | -0.0170 | -0.0313 to -0.0039 | 15/24 | 0.012 | 0.036 | -0.0070 | 5/8 | yes |
| Square-root-space Mean-Variance Scaling | Jan | -0.0890 | -0.1345 to -0.0459 | 18/24 | 0.000 | 0.001 | -0.1581 | 7/8 | yes |
| Square-root-space Mean-Variance Scaling | ONDJ | -0.0014 | -0.0037 to +0.0010 | 13/24 | 0.136 | 0.272 | -0.0036 | 6/8 | no |
| Power Transformation | Oct | +0.0022 | -0.0045 to +0.0086 | 9/24 | 0.738 | 1.000 | +0.0020 | 3/8 | no |
| Power Transformation | Nov | -0.0002 | -0.0047 to +0.0044 | 11/24 | 0.470 | 1.000 | -0.0043 | 6/8 | no |
| Power Transformation | Dec | -0.0086 | -0.0192 to +0.0013 | 14/24 | 0.064 | 0.255 | -0.0106 | 7/8 | no |
| Power Transformation | Jan | -0.0756 | -0.1179 to -0.0359 | 17/24 | 0.000 | 0.002 | -0.1404 | 7/8 | yes |
| Power Transformation | ONDJ | -0.0001 | -0.0080 to +0.0080 | 13/24 | 0.487 | 1.000 | +0.0000 | 4/8 | no |
| Delta Change | Oct | -0.0027 | -0.0215 to +0.0154 | 12/24 | 0.391 | 1.000 | +0.0149 | 2/8 | no |
| Delta Change | Nov | -0.0000 | -0.0222 to +0.0210 | 10/24 | 0.498 | 1.000 | +0.0294 | 3/8 | no |
| Delta Change | Dec | +0.0389 | +0.0008 to +0.0791 | 8/24 | 0.966 | 1.000 | +0.0056 | 5/8 | no |
| Delta Change | Jan | +0.0006 | -0.0759 to +0.0710 | 8/24 | 0.506 | 1.000 | -0.1111 | 4/8 | no |
| Delta Change | ONDJ | +0.0032 | -0.0143 to +0.0200 | 10/24 | 0.637 | 1.000 | +0.0245 | 3/8 | no |
| Local Intensity Scaling | Oct | +0.0088 | -0.0045 to +0.0215 | 9/24 | 0.894 | 1.000 | -0.0110 | 7/8 | no |
| Local Intensity Scaling | Nov | -0.0015 | -0.0125 to +0.0092 | 10/24 | 0.398 | 1.000 | +0.0185 | 2/8 | no |
| Local Intensity Scaling | Dec | +0.0185 | -0.0221 to +0.0569 | 9/24 | 0.807 | 1.000 | -0.0057 | 3/8 | no |
| Local Intensity Scaling | Jan | -0.0273 | -0.1362 to +0.0798 | 10/24 | 0.319 | 1.000 | -0.1266 | 5/8 | no |
| Local Intensity Scaling | ONDJ | +0.0050 | -0.0058 to +0.0162 | 12/24 | 0.804 | 1.000 | +0.0033 | 3/8 | no |
| Empirical Quantile Mapping | Oct | +0.0054 | -0.0060 to +0.0169 | 12/24 | 0.815 | 1.000 | +0.0192 | 0/8 | no |
| Empirical Quantile Mapping | Nov | -0.0024 | -0.0131 to +0.0082 | 12/24 | 0.335 | 1.000 | +0.0045 | 3/8 | no |
| Empirical Quantile Mapping | Dec | -0.0286 | -0.0388 to -0.0181 | 19/24 | 0.000 | 0.000 | -0.0268 | 6/8 | yes |
| Empirical Quantile Mapping | Jan | -0.0937 | -0.1502 to -0.0405 | 16/24 | 0.002 | 0.007 | -0.1751 | 6/8 | yes |
| Empirical Quantile Mapping | ONDJ | +0.0047 | -0.0048 to +0.0146 | 12/24 | 0.820 | 1.000 | +0.0072 | 3/8 | no |
| Gamma Quantile Mapping | Oct | -0.0010 | -0.0071 to +0.0049 | 13/24 | 0.370 | 0.739 | +0.0057 | 3/8 | no |
| Gamma Quantile Mapping | Nov | -0.0031 | -0.0094 to +0.0027 | 12/24 | 0.168 | 0.671 | -0.0014 | 4/8 | no |
| Gamma Quantile Mapping | Dec | +0.0205 | +0.0056 to +0.0365 | 8/24 | 0.992 | 0.992 | +0.0335 | 2/8 | no |
| Gamma Quantile Mapping | Jan | -0.0234 | -0.0496 to -0.0002 | 12/24 | 0.043 | 0.216 | -0.0802 | 6/8 | no |
| Gamma Quantile Mapping | ONDJ | -0.0014 | -0.0045 to +0.0017 | 13/24 | 0.193 | 0.671 | -0.0049 | 6/8 | no |
| Detrended Quantile Mapping | Oct | +0.0047 | -0.0066 to +0.0155 | 10/24 | 0.785 | 1.000 | +0.0146 | 0/8 | no |
| Detrended Quantile Mapping | Nov | +0.0043 | -0.0099 to +0.0187 | 9/24 | 0.715 | 1.000 | +0.0244 | 2/8 | no |
| Detrended Quantile Mapping | Dec | +0.0463 | +0.0084 to +0.0886 | 7/24 | 0.985 | 1.000 | +0.0136 | 5/8 | no |
| Detrended Quantile Mapping | Jan | +0.0029 | -0.0749 to +0.0737 | 9/24 | 0.527 | 1.000 | -0.1113 | 4/8 | no |
| Detrended Quantile Mapping | ONDJ | +0.0113 | +0.0026 to +0.0204 | 9/24 | 0.987 | 1.000 | +0.0187 | 3/8 | no |
| Quantile Delta Mapping | Oct | +0.0024 | -0.0087 to +0.0136 | 12/24 | 0.656 | 1.000 | +0.0100 | 3/8 | no |
| Quantile Delta Mapping | Nov | +0.0084 | -0.0037 to +0.0205 | 9/24 | 0.901 | 1.000 | +0.0197 | 3/8 | no |
| Quantile Delta Mapping | Dec | -0.0063 | -0.0262 to +0.0135 | 12/24 | 0.276 | 1.000 | -0.0247 | 6/8 | no |
| Quantile Delta Mapping | Jan | -0.0647 | -0.1335 to +0.0019 | 12/24 | 0.043 | 0.217 | -0.1722 | 5/8 | no |
| Quantile Delta Mapping | ONDJ | +0.0121 | +0.0034 to +0.0209 | 7/24 | 0.993 | 1.000 | +0.0208 | 3/8 | no |
| Scaled Distribution Mapping | Oct | +0.0042 | -0.0095 to +0.0178 | 12/24 | 0.720 | 1.000 | +0.0172 | 1/8 | no |
| Scaled Distribution Mapping | Nov | +0.0099 | -0.0126 to +0.0327 | 9/24 | 0.796 | 1.000 | +0.0457 | 3/8 | no |
| Scaled Distribution Mapping | Dec | +0.0432 | -0.0183 to +0.1025 | 8/24 | 0.907 | 1.000 | +0.0137 | 3/8 | no |
| Scaled Distribution Mapping | Jan | +0.0280 | -0.0950 to +0.1491 | 9/24 | 0.666 | 1.000 | -0.0848 | 4/8 | no |
| Scaled Distribution Mapping | ONDJ | +0.0155 | +0.0069 to +0.0240 | 5/24 | 0.999 | 1.000 | +0.0222 | 3/8 | no |
| CDF-transform | Oct | +0.0078 | -0.0023 to +0.0179 | 8/24 | 0.924 | 1.000 | +0.0110 | 2/8 | no |
| CDF-transform | Nov | +0.0155 | +0.0032 to +0.0279 | 6/24 | 0.988 | 1.000 | +0.0220 | 2/8 | no |
| CDF-transform | Dec | +0.0786 | +0.0382 to +0.1216 | 7/24 | 0.999 | 1.000 | +0.0325 | 4/8 | no |
| CDF-transform | Jan | +0.0188 | -0.0635 to +0.0931 | 8/24 | 0.675 | 1.000 | -0.1226 | 4/8 | no |
| CDF-transform | ONDJ | +0.0110 | +0.0038 to +0.0183 | 6/24 | 0.996 | 1.000 | +0.0165 | 3/8 | no |
Figures
Interpretation
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.pyprotocol), 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
- All scores, per-year values and gate statistics (JSON)4.1 MB
- Per-cell scores and distribution ratios (NetCDF)3.2 MB
- Corrected forecast members of every method (NetCDF)16.9 MB
- Full write-up (docs/47)Definitions, design, all result tables and the references
- Code
scripts/bias_methods.py(methods),scripts/bias_benchmark.py(runner),config/bias_correction/sep_ondj.json(settings)
References
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
| Source | Details |
|---|---|
| ECMWF SEAS5 | Copernicus 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.0 | monthly 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. |
| Areas | All 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.
| Season | Mean rainfall v2.0 → v3.0 | National series correlation | Same tercile category |
|---|---|---|---|
| FMAM | 249 → 279 mm (+12%) | 0.978 | 78% |
| JJAS | 441 → 518 mm (+17%) | 0.973 | 71% |
| ONDJ | 141 → 163 mm (+16%) | 0.984 | 78% |
| Cycle | Cross-validated RPSS 1993–2016, v2.0 → v3.0 | Rainfall-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 |

Workflow (eight scripted stages)
- 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
Inspect
Inventory every year: initialization, lead times, member counts and accumulation increments (GRIB packing tolerance 0.2 mm).
inspect_inputs.py - 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
Regrid
Each 1° model cell is copied into its 4×4 block of 0.25° CHIRPS cells (no interpolation).
regrid_seasonal.py - 5
Calibrate
Per-cell amount correction, smoothed tercile counts and one climatology-blend weight per target.
final_shared_blend.py - 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
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
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
- Amount correction per cell, equal weight per year:
x̂ = max(0, μobs + r·(x − μmodel)),r = clip(σobs/σmodel, 0.5, 2) - Tercile probabilities from the corrected members against CHIRPS tercile limits, smoothed:
(n + 0.5)/(M + 1.5) - Climatology blend:
pfinal = (1 − λ)·pmodel + λ·pclimatology, with one λ per target fitted on leave-one-year-out RPS.
pclimatologyis, 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). - 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
| Candidate change | Score change 1993–2016 | Score change 2017–2025 | Decision |
|---|---|---|---|
| Fit the blend weight on Ethiopia only | +0.0003 to +0.0009 | −0.0043 to +0.0001 | Not adopted |
| Square-root amount correction (probabilities) | −0.0003 to +0.0008 | −0.0018 to −0.0002 | Not adopted |
| Remove the climatology blend | +0.0194 to +0.0508 | −0.0115 to +0.0310 | Not adopted |
| Plain climatology | −0.0002 to +0.0121 | +0.0038 to +0.0197 | Not adopted |
| Square-root amount correction (amounts, CRPS in mm) | −0.13 to −0.06 | lower in all targets | Passes for all targets; candidate for the next cycle |
Ensemble size and spread
| Target | RPS, 51 members | RPS, 25-member subsets (mean) | Spread / error (hindcast → 2017–2025) |
|---|---|---|---|
| JJAS | 0.4404 | 0.4420 | 0.68 → 0.75 |
| Jun | 0.4598 | 0.4601 | 0.62 → 0.63 |
| Jul | 0.4449 | 0.4467 | 0.71 → 0.76 |
| Aug | 0.4405 | 0.4415 | 0.74 → 0.73 |
| Sep | 0.4578 | 0.4587 | 0.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.