Climate-aware forecasting and benchmarking for data centers
Project description
ClimaDC
ClimaDC is a leakage-aware, contract-first framework for climate-aware data-center forecasting and shadow decision evaluation.
Quickstart
Prerequisites: Python 3.10-3.13 and a POSIX-compatible shell (Bash or Zsh). Install the Alpha from a checkout with python -m pip install -e .; after publication, use python -m pip install "climadc==0.1.0a1". The five commands below create only deterministic synthetic data and do not use the network.
export CLIMADC_STUDY="$(mktemp -d)/climadc-quickstart"
climadc init "$CLIMADC_STUDY"
climadc validate "$CLIMADC_STUDY/study.yaml"
climadc benchmark "$CLIMADC_STUDY/study.yaml"
climadc report "$CLIMADC_STUDY/runs/latest"
The published run contains exactly eight auditable artifacts: configuration, lineage, splits, predictions, metrics, leakage audit, dataset cards, and a static HTML report. See the Quickstart guide for Windows PowerShell commands and artifact details.
Architecture
flowchart LR
A["Climate forecasts"] --> D["Canonical contracts"]
B["DC telemetry"] --> D
C["Workload"] --> D
D --> E["Validation + LeakageGuard"]
E --> F["Temporal backtesting"]
F --> G["Forecaster protocol"]
G --> H["Calibration + evaluation"]
H --> I["Shadow decision evaluation"]
I --> J["Eight lineage-rich artifacts"]
The framework owns domain contracts, decision-time availability semantics, leakage-aware alignment, benchmark orchestration, and offline decision comparison. It does not reimplement weather foundation models, general time-series libraries, telemetry collectors, or data-center simulators.
Reproducible synthetic result
The table below was reproduced on 2026-07-11 with python examples/weatherdc_kasetsart/run.py --small. It uses only the checked-in, project-generated CC0 fixture—not Kasetsart operational data.
| Synthetic cooling-power model | MAE (kW) | RMSE (kW) | WAPE |
|---|---|---|---|
| Weather-aware OLS reference | 0.000000321 | 0.000000409 | 0.00000000475 |
| Legal persistence | 4.210890 | 4.734545 | 0.062283 |
The same run accepted 240 climate rows, rejected 0 rows in its leakage audit, and reported zero scheduler energy-conservation error. These fixture results verify framework plumbing and causality checks only. They are not evidence of operational accuracy, production readiness, or energy savings. See the WeatherDC reference study.
WeatherDC full mode is verified conversion-only: upstream HII rows are observations, and the available sources do not provide workload or control data. This Alpha did not run or claim a full WeatherDC retraining result.
Scope and non-goals
Alpha includes:
- canonical climate forecast, DC telemetry, workload, and prediction contracts;
available_at-based leakage auditing and blocked/rolling-origin splits;- lightweight baselines, conformal calibration, evaluation slices, and an energy-conserving shadow scheduler;
- local CSV/Parquet, optional Xarray, Open-Meteo, and WeatherDC adapters;
- a CLI and deterministic HTML/JSON/Markdown/Parquet run artifacts.
Alpha does not include online inference, automatic data-center control, a web dashboard, Kubernetes scheduling, reinforcement learning, a physical digital twin, or a model zoo. APIs may change before a stable release.
Integrations and extension points
Implemented inputs are local CSV/Parquet, optional Xarray conversion, Open-Meteo forecasts, and verified WeatherDC source conversion. User models, calibrators, and decision policies connect through the public protocols. Darts, NeuralForecast, Earth2Studio, Kepler, SustainDC, and Carbon-Aware SDK are ecosystem boundaries, not implemented Alpha integrations.
Documentation
- Quickstart
- Time semantics:
issue_time,available_at,valid_time - WeatherDC reference study
- Contributing and security policy
The documentation site can be checked locally with mkdocs build --strict.
Citation
ClimaDC Alpha uses the software citation version 0.1.0-alpha.1; the Python package version is the PEP 440 equivalent 0.1.0a1. Cite the repository metadata in CITATION.cff.
License
ClimaDC code is licensed under Apache-2.0. Upstream data, model weights, and external services retain their own terms and are not relicensed by this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file climadc-0.1.0a1.tar.gz.
File metadata
- Download URL: climadc-0.1.0a1.tar.gz
- Upload date:
- Size: 124.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6b79407612946433acf883fb75df5fac3a755dc23d664d16ce5410b82390409
|
|
| MD5 |
7ebdc9589ca902fc7c42e87724dcf5e9
|
|
| BLAKE2b-256 |
0ebfc32bb9e489d7460186b99f04be0f742e8643df1339b4c18fd534862eb26d
|
Provenance
The following attestation bundles were made for climadc-0.1.0a1.tar.gz:
Publisher:
release.yml on Hai-qq/climadc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
climadc-0.1.0a1.tar.gz -
Subject digest:
c6b79407612946433acf883fb75df5fac3a755dc23d664d16ce5410b82390409 - Sigstore transparency entry: 2144509272
- Sigstore integration time:
-
Permalink:
Hai-qq/climadc@b5709eea25a9ee15864bb13071e7f64cefbbe179 -
Branch / Tag:
refs/tags/v0.1.0-alpha.1 - Owner: https://github.com/Hai-qq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b5709eea25a9ee15864bb13071e7f64cefbbe179 -
Trigger Event:
release
-
Statement type:
File details
Details for the file climadc-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: climadc-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 67.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cdeae11cbe4b0ffb331ce9c4037f1374907a9114e4884dbc9d54ac4cfebd96c
|
|
| MD5 |
c832b9eaa8519f7036122de1f4cb4b1a
|
|
| BLAKE2b-256 |
8b20d3994e5523271ef04f1891f6e511bc3f94d54709b9d5fa66e855394f930e
|
Provenance
The following attestation bundles were made for climadc-0.1.0a1-py3-none-any.whl:
Publisher:
release.yml on Hai-qq/climadc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
climadc-0.1.0a1-py3-none-any.whl -
Subject digest:
3cdeae11cbe4b0ffb331ce9c4037f1374907a9114e4884dbc9d54ac4cfebd96c - Sigstore transparency entry: 2144509368
- Sigstore integration time:
-
Permalink:
Hai-qq/climadc@b5709eea25a9ee15864bb13071e7f64cefbbe179 -
Branch / Tag:
refs/tags/v0.1.0-alpha.1 - Owner: https://github.com/Hai-qq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b5709eea25a9ee15864bb13071e7f64cefbbe179 -
Trigger Event:
release
-
Statement type: