factcircuit
FactCircuit: an auditable claim-and-evidence verification loop with immutable provenance, staged checks, bounded retrieval, and reproducible evaluation.
Seasonal Rainfall Outlook Platform: calibrated ECMWF SEAS5 seasonal rainfall outlooks for Ethiopia: the current outlook, maps, verification against CHIRPS and historical skill.
DataHTML · JavaScriptGitHub @YonSciOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Calibrated ECMWF SEAS5 seasonal rainfall outlooks for Ethiopia, verified against CHIRPS (research reconstruction)
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Calibrated seasonal rainfall outlooks for Ethiopia (ECMWF SEAS5 → CHIRPS).
Calibrated tercile probabilities and corrected rainfall amounts for Ethiopia from the ECMWF SEAS5 May initialization, verified against CHIRPS v2.0 (0.25°).
Targets: JJAS season and the months Jun, Jul, Aug, Sep (May initialization), and ONDJ with Oct, Nov, Dec, Jan (September initialization; config/ondj/, config/cycles/sep_2026_ondj.json).
Reference period 1993–2025 (25-member hindcasts 1993–2016, 51-member forecasts 2017 onward).
Platform: Windows 11, CMD, Python 3.11 x64, project .venv.
Results site: https://yonsci.github.io/calibrated_seasonal_rainfall/ (built by scripts/build_site.py; rebuild after results change).
Current status and open items: docs/36_PROJECT_STATUS_REVIEW.md.
Reproducible runbook, issue log and automation blueprint: docs/38_REPRODUCIBLE_RUNBOOK.md.
Training notebook (ONDJ walkthrough): notebooks/ONDJ_training_walkthrough.ipynb — regenerate with python notebooksuild_ondj_training_notebook.py (needs pip install -r requirements-notebook.txt).
Training notebook (rainfall regimes and JJAS / FMAM / ONDJ domains): notebooks/Rainfall_domains_JJAS_FMAM_ONDJ.ipynb — regenerate with python notebooksuild_rainfall_domains_notebook.py.
Run guides for every season (JJAS, FMAM, ONDJ): forecast, verification, next year: docs/40_SEASON_RUN_GUIDES.md.
Hands-on run guide (January-initialized FMAM 2026, download → GitHub page): docs/39_FMAM_RUN_GUIDE.md.
Next forecast cycle (2027): docs/37_NEW_FORECAST_CYCLE.md. Cycle files live in config/cycles/; select one with set CALIBRATION_CYCLE=....
prepare_seasonal.py, run_monthly.py).regrid_seasonal.py).calibration_core.py).final_shared_blend.py).Dirichlet recalibration, local blends and regime blends were evaluated and not adopted (docs 13–17, 25–28).
cd /d D:\calibrated_seasonal_rainfall
call .venv\Scripts\activate.bat
:: Inputs
python scripts\inspect_inputs.py --config config\project.json
python scripts\prepare_seasonal.py --config config\project.json --all-years
:: Final fit and 2026 forecast (do NOT rerun after the freeze; see below)
python scripts\final_shared_blend.py --config config\project.json --region-mask data\masks\ethiopia_common.nc
:: Operational products, verification and gallery
python scripts\run_operational.py --workflow products
python scripts\run_operational.py --workflow all
start "" outputs\operational_2026\index.html
:: Housekeeping: preview, then delete old --regenerate backups (keeps newest per output)
python scripts\prune_backups.py
python scripts\prune_backups.py --apply
:: Tests
python -m unittest discover -s tests
The 2026 forecasts are frozen with SHA-256 hashes in
outputs/verification_2026/frozen_forecasts/freeze_manifest.json. Regenerating
outputs/final_shared_blend changes those hashes and blocks verification by design.
| Path | Purpose |
|---|---|
config/ | project.json (JJAS), monthly_*.json, operational.json (2026 cycle), cycles/ (2027 template, 2025 backtest) |
scripts/ | Pipeline, verification, delivery and runner scripts |
tests/ | Unit and smoke tests |
docs/ | Numbered step documents 01–36 (read in order; 36 is the current status) |
data/raw/ | ECMWF and CHIRPS sources |
data/interim/, data/processed/ | Native-grid and common-grid seasonal/monthly totals |
data/masks/, data/boundaries/ | Ethiopia mask and admin boundary |
evidence/ | Regime masks and evidence snapshots used by delivery and verification |
outputs/final_shared_blend/ | Fitted 2026 forecasts per target |
outputs/forecast_delivery/ | Bulletin, maps and bundle |
outputs/verification_2026/, outputs/verification_report_2026/ | Frozen forecasts and verification |
outputs/operational_2026/ | Runner outputs and offline gallery |
archive/ | Superseded patch packages (Step 33 validation, Step 35 Windows fix) |
01–08 setup, data, inspection and design · 09–17 regridding, calibration and method comparison · 18–20 monthly fixes and final blend · 21–24 maps · 25–28 regimes and the August review · 29–32 delivery, freeze and verification · 33–35 operational runner · 36 status review · 37 new forecast cycle · 38 runbook and issue log · 39 FMAM run guide · 40 season run guides.