Acestor Documentation#
Acestor is a production dengue-intelligence pipeline. It ingests case and weather data, estimates per-region risk thresholds, runs an ensemble of forecasting models (RF, XGB, TSE, NBR, TimesFM), produces interactive risk maps, and emits a self-contained HTML brief — all driven from a single YAML configuration file.
New here? Run your first pipeline in a few minutes.
Browse the source code, open issues, and contribute.
Three Pipelines#
Acestor is not a single monolithic pipeline — three independently-runnable DAGs share the same config surface:
Pipeline |
What it does |
Config example |
|---|---|---|
|
Ingest raw case data (IHIP linelist / dashboard API / custom source) + weather (Open-Meteo / cache / custom) → produce cleaned |
|
|
Load prepared data → compute thresholds → train models → write |
|
|
Take a parent-level |
|
Main-Pipeline Steps#
The dengue pipeline is a 11-step DAG — steps run concurrently where dependencies allow.
# |
Step |
What it does |
|---|---|---|
1 |
|
Derives the weekly anchor ( |
2 |
|
Loads and re-samples |
3 |
|
Loads |
4 |
|
Early gate — stops if data is too thin (min rows / regions / span) |
5 |
|
Picks case + weather cutoffs and the 4-week prediction calendar |
6 |
|
Per-region |
7 |
|
Fits every model in |
8 |
|
Threshold assessment table + figure metadata |
9 |
|
Static PNG choropleth maps (skip via |
10 |
|
Single-file |
11 |
|
Emails the report (opt-in via |
The dengue_prep and dengue_downscale DAGs are documented in dengue_prep Pipeline and Downscale Pipeline.
Key Features#
Pluggable data sources. Case data from local files, the dengue-dashboard API, or a custom Python module. Weather from Open-Meteo, filesystem cache, or a state API. See Case & Weather Source Plugins.
TimesFM 2.5 forecasting. Google’s pretrained time-series foundation model, run in an isolated subprocess so torch can’t collide with xgboost’s OpenMP.
Integer-consistent downscaling. Largest Remainder Method guarantees
sum(child.predictionInt) == parent.predictionInt.Historical-window fallback. When the recent 4-week share window is empty, fall back to a 52-week window before uniform-splitting.
Percentile risk classification. Per-region historical percentile cutoffs (default 50/75/90) — plus WHO and ICMR classifiers available in parallel.
Interactive HTML brief. D3-based choropleth + zone tables in a single
report.html, no server required.