Instructions to use judicialmind/BharatWater-Chronos with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Chronos
How to use judicialmind/BharatWater-Chronos with Chronos:
pip install chronos-forecasting
import pandas as pd from chronos import BaseChronosPipeline pipeline = BaseChronosPipeline.from_pretrained("judicialmind/BharatWater-Chronos", device_map="cuda") # Load historical data context_df = pd.read_csv("https://autogluon.s3.us-west-2.amazonaws.com/datasets/timeseries/misc/AirPassengers.csv") # Generate predictions pred_df = pipeline.predict_df( context_df, prediction_length=36, # Number of steps to forecast quantile_levels=[0.1, 0.5, 0.9], # Quantiles for probabilistic forecast id_column="item_id", # Column identifying different time series timestamp_column="Month", # Column with datetime information target="#Passengers", # Column(s) with time series values to predict ) - Notebooks
- Google Colab
- Kaggle
You need to agree to share your contact information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
This model is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 licence (CC BY-NC-SA 4.0): research, academic, personal and other non-commercial use is permitted with attribution; adaptations must be shared under the same licence; commercial use is not permitted. The original public source data remains under the Government Open Data License - India (GODL-India). Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai.
Log in or Sign Up to review the conditions and access this model content.
BharatWater-Chronos
Licence: CC BY-NC-SA 4.0 — research and non-commercial use only; derivatives must be shared under the same licence. Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai
Access is approved automatically when the email you enter matches your Hugging Face account email and belongs to the organisation you name; other requests are reviewed manually.
BharatWater-Chronos is Chronos-2 (120M parameters) fine-tuned on train-period water series from India: daily live storage and fill of the reservoirs monitored by the Central Water Commission, district rainfall and district soil moisture. It returns nine quantiles for any horizon; it is scored on BharatWater-Bench at 7, 30 and 90 days.
- At 7 days, the lowest overall WQL is BharatWater-Chronos (
bharatwater_chronos) (0.2631); 1.9% belowchronos2, 16.3% belowlightgbm. - At 30 days, the lowest overall WQL is BharatWater-Chronos (
bharatwater_chronos) (0.2928); 4.0% belowchronos2, 17.6% belowlightgbm. - At 90 days, the lowest overall WQL is BharatWater-Chronos (
bharatwater_chronos) (0.3331); 11.0% belowchronos2, 14.5% belowclimatology. - BharatWater-Chronos has the lowest WQL in 10 of 14 track x horizon tasks.
Coverage: 153 CWC reservoirs (daily live storage and % of capacity, 1991-01-01 to 2026-04-14), 702 districts of daily rainfall (weekly: 670), 733 districts of daily soil moisture (2018-07-24 to 2025-06-30)
Quickstart
pip install -r requirements.txt # chronos-forecasting 2.3.2, torch, pandas, pyarrow
import sys
import pandas as pd
from huggingface_hub import snapshot_download
path = snapshot_download("judicialmind/BharatWater-Chronos")
sys.path.insert(0, path)
from bharatwater_chronos import BharatWaterChronos
model = BharatWaterChronos.from_pretrained(path) # bfloat16 on GPU, float32 on CPU
bench = snapshot_download("judicialmind/BharatWater-Bench", repo_type="dataset")
df = pd.read_parquet(f"{bench}/data/reservoir_pct/series.parquet", columns=["series_id", "ts", "target"])
one = df[df.series_id == df.series_id.iloc[0]]
fc = model.predict_df(one, origin="2025-06-01", horizon=30) # long table: series_id, origin, h, ts, q0.1..q0.9
print(fc[["series_id", "h", "q0.1", "q0.5", "q0.9"]].head())
predict(contexts, horizon) takes a list of 1-D arrays (regular daily or weekly grid ending the step before the
origin, oldest first, NaN for missing steps) and returns an array (n_series, horizon, 9) of the quantiles
0.1 ... 0.9. BharatWater-Bench gives every model the 512 days (156 weeks for weekly rainfall) before the origin.
From the shell: python bharatwater_chronos.py my_series.parquet --origin 2025-06-01 --horizon 30.
Results
BharatWater-Bench, overall = mean of the four daily tracks, averaged over the test origins of each track. Lower WQL and MASE are better; a calibrated 80% interval covers 0.80.
| h (days) | model | WQL | MASE | cov_80 |
|---|---|---|---|---|
| 7 | BharatWater-Chronos (bharatwater_chronos) |
0.2631 | 0.9030 | 0.7458 |
| 7 | chronos2 |
0.2682 | 0.9531 | 0.7502 |
| 7 | timesfm25 |
0.2840 | 0.9308 | 0.7552 |
| 7 | lightgbm (best baseline) |
0.3141 | 1059.4330 | 0.7780 |
| 30 | BharatWater-Chronos (bharatwater_chronos) |
0.2928 | 1.4518 | 0.7330 |
| 30 | chronos2 |
0.3050 | 1.5879 | 0.7470 |
| 30 | timesfm25 |
0.3458 | 1.5877 | 0.7499 |
| 30 | lightgbm (best baseline) |
0.3552 | 809.5556 | 0.7461 |
| 90 | BharatWater-Chronos (bharatwater_chronos) |
0.3331 | 20.2052 | 0.7283 |
| 90 | chronos2 |
0.3744 | 20.8066 | 0.7286 |
| 90 | timesfm25 |
0.4525 | 20.8013 | 0.7111 |
| 90 | climatology (best baseline) |
0.3895 | 22.3129 | 0.4526 |
Per track:
| track | h | BharatWater-Chronos WQL | zero-shot Chronos-2 WQL | best other model (WQL) |
|---|---|---|---|---|
reservoir_storage |
7 | 0.0289 | 0.0298 | chronos2 0.0298 |
reservoir_storage |
30 | 0.0511 | 0.0620 | chronos2 0.0620 |
reservoir_storage |
90 | 0.0949 | 0.1586 | timesfm25 0.1530 |
reservoir_pct |
7 | 0.0365 | 0.0380 | timesfm25 0.0367 |
reservoir_pct |
30 | 0.0678 | 0.0753 | timesfm25 0.0741 |
reservoir_pct |
90 | 0.1183 | 0.1598 | timesfm25 0.1542 |
rain_daily |
7 | 0.9008 | 0.8940 | chronos2 0.8940 |
rain_daily |
30 | 0.9358 | 0.9300 | climatology 0.9235 |
rain_daily |
90 | 0.9665 | 0.9478 | climatology 0.9246 |
soil_moisture |
7 | 0.0861 | 0.1109 | chronos2 0.1109 |
soil_moisture |
30 | 0.1167 | 0.1527 | chronos2 0.1527 |
soil_moisture |
90 | 0.1526 | 0.2315 | climatology 0.1776 |
rain_weekly |
4 | 0.8606 | 0.9850 | climatology 0.9168 |
rain_weekly |
13 | 1.0220 | 1.0694 | climatology 0.9679 |
Files
| file | content |
|---|---|
model.safetensors, config.json |
Chronos-2 weights and configuration |
bharatwater_chronos.py |
BharatWaterChronos.from_pretrained, predict, predict_df and a CLI |
requirements.txt |
pinned runtime dependencies |
Source data
Fine-tuned and evaluated on BharatWater-Bench. Derived from three resources of the Open Government Data Platform India (data.gov.in): the CWC daily reservoir level and storage bulletin, the NRSC district-wise daily soil moisture series and IMD district rainfall (gridded IMD rainfall averaged to districts, continued with the NDAP district daily rainfall series), all under the Government Open Data License - India (GODL-India).
Base model: amazon/chronos-2 (Apache-2.0).
Original data: published by Central Water Commission (CWC), Ministry of Jal Shakti (reservoir levels and storage); India Meteorological Department (IMD) and NITI Aayog's NDAP (district rainfall); National Remote Sensing Centre (NRSC), ISRO (district soil moisture) on the Open Government Data Platform India (data.gov.in) and, where marked, NITI Aayog's National Data and Analytics Platform (NDAP), under the Government Open Data License - India (GODL-India). The original public data remains under GODL-India; the CC BY-NC-SA 4.0 licence of this repository covers JudicialMind's compilation, derived fields, annotations, benchmarks and models.
Citation
@misc{judicialmind2026bharatwaterchronos,
title={BharatWater-Chronos: Chronos-2 Fine-tuned for India Water Forecasting},
author={JudicialMind},
year={2026},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/judicialmind/BharatWater-Chronos}}
}
License
CC BY-NC-SA 4.0 (see LICENSE): research, academic, personal and other non-commercial use, with attribution to JudicialMind and to the original data publishers; adaptations must be shared under the same licence. Commercial use requires a separate licence.
Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai.
Base model(s): amazon/chronos-2 (apache-2.0). Their licence terms and notices continue to apply to the upstream components; see THIRD_PARTY_NOTICES.md.
- Downloads last month
- -
Model tree for judicialmind/BharatWater-Chronos
Base model
amazon/chronos-2