climagrid
Turn free public weather data into standards-based stress scores for your grid equipment, and forecast them days ahead.
climagrid is an open-source toolkit built on NOAA, NASA, USDA, and USFS data, the kind of weather-risk analysis that used to require expensive software.
Built for the more than 900 rural cooperatives serving 42 million Americans across 56 percent of U.S. landmass:
small utilities with no data-science team.
Why this exists
Power outages cost the U.S. economy about $67 billion every year on average, according to Oak Ridge National Laboratory. Most of those outages trace back to weather, vegetation, and environmental stress on aging grid equipment: transformers, power lines, and circuit breakers.
Large utilities can afford expensive software to monitor this risk. The roughly 900 rural electric cooperatives and 2,000 municipal utilities that serve 42 million Americans across 56% of U.S. landmass mostly cannot. They have small engineering teams, no data scientists, and no budget for six-figure software contracts.
climagrid is built for them. It is free, open source (Apache 2.0), and runs on a single laptop. It takes weather and environmental data that the U.S. government already publishes for free, from NOAA, NASA, the USDA, and the U.S. Forest Service, and turns it into the kind of information a maintenance engineer can actually use: which of my transformers are under the most heat stress this month? Which power-line spans are closest to active wildfires? Which areas should I prioritize for inspection?
The U.S. Department of Energy reports that predictive maintenance can cut equipment costs by 25 to 30 percent and return roughly $10 for every $1 invested. climagrid does not deliver those savings on its own; it provides the standards-based environmental stress data that feeds that kind of maintenance planning, for utilities that could not otherwise produce it.
What it does
climagrid pulls from five open-source federal data sources, joins the data to your asset locations, and computes grid stress features ready to drop into any model or spreadsheet. One call in, one DataFrame out.
It can also forecast those stress features up to a week ahead, with calibrated prediction intervals and skill scores reported honestly against simple baselines (the optional [ml] extra; see Forecasting).
Who this is for
- Rural electric cooperatives and municipal utilities that want to start using weather and environmental data in their maintenance planning but don't have a data-science team to build the pipeline.
- Utility engineers who already run predictive-maintenance or anomaly-detection models and want to add environmental stress features to them as additional inputs.
- Researchers and journalists studying grid resilience and rural energy equity.
If you serve fewer than 100,000 meters and your weather "data integration" today is "we check the National Weather Service app before a storm," this toolkit is built for you.
Quick start
pip install climagrid
import climagrid
from datetime import datetime, timezone
df = climagrid.run(
"my_transformers.csv", # CSV with asset_id, lat, lon columns
start_dt=datetime(2024, 7, 1, tzinfo=timezone.utc),
end_dt=datetime(2024, 7, 31, tzinfo=timezone.utc),
sources=["nasa_power"], # no API key required
features="all",
)
df.to_parquet("stress_features.parquet")
You now have a file you can join to your maintenance records and feed into whatever model or spreadsheet you already use. See the quickstart notebook for a worked example.
Prefer a ready-to-read deliverable over a DataFrame? One command turns an asset list into a ranked inspection report (PDF) and an inspection-list CSV, no Python required:
pip install "climagrid[report]"
climagrid report --assets my_assets.csv --start 2024-07-01 --end 2024-07-31
Each asset is ranked by the single weather hazard it is most exposed to, with the driving stress and its standard named. It is a prioritization aid, not a failure prediction (see Validation Notes for what climagrid does and does not establish).
For the lower-level adapter API (fetching individual data sources, custom feature computation) see the documentation.
Forecasting
Beyond computing today's stress, climagrid can forecast each asset's stress up to a week ahead with calibrated prediction intervals, so a maintenance team gets lead time before a stress peak. It is a probabilistic, standards-based prioritization aid, not a failure prediction (see Validation Notes).
pip install "climagrid[ml]"
import climagrid
# Train models once (see the forecasting guide / training notebook), then serve:
forecast = climagrid.forecast(
"my_assets.csv", # asset_id, lat, lon
"models/", # saved models: a dir with manifest.json, or a single .joblib
)
# → per-asset, per-horizon p10 / p50 / p90 stress forecasts
On a first run over 33 real substations, the model beat a persistence baseline at every horizon (1 to 7 days) and the seasonal-average baseline by a wide margin, with every forecast reported honestly against those baselines. See the forecasting guide for the methodology and skill numbers.
Data sources
| Agency | Dataset | Variables | Frequency |
|---|---|---|---|
| NOAA | HRRR (3 km CONUS) | Temperature, wind, precipitation, humidity, solar | Hourly |
| NOAA | NCEI CDO (stations) | Temperature, wind, precipitation | Hourly/Daily |
| NASA | POWER API (MERRA-2) | Surface meteorology, irradiance | Hourly/Daily |
| USDA NRCS | SCAN / SNOTEL | Soil moisture, soil temperature, snow water equivalent | Hourly |
| USFS / NIFC | WFIGS | Active wildfire perimeters, fire area | Daily |
All sources are free and publicly accessible. NOAA NCEI requires a free API token (register at ncdc.noaa.gov/cdo-web/token, then set the NOAA_CDO_TOKEN environment variable). All other sources work without credentials.
Environmental stress features
| Feature | Output column | Target assets | Standard |
|---|---|---|---|
| Transformer thermal aging factor | feat_thermal_aging_factor |
Transformers | IEEE C57.91 |
| Heat accumulation hours | feat_heat_hours_above_35c |
Transformers, switchgear | IEEE C57.91 |
| Freeze-thaw cycles | feat_freeze_thaw_cycles |
Conductors, insulators, poles | n/a |
| Ice loading risk | feat_ice_loading_risk |
Overhead T&D lines | ASCE 7-22 (simplified) |
| Soil saturation index | feat_soil_saturation_index |
Underground cables, poles | n/a |
| Wildfire proximity score | feat_wildfire_proximity |
All overhead assets | n/a |
| Conductor sag index | feat_conductor_sag_index |
Overhead T&D lines | IEEE 738 (simplified) |
How this is different from existing tools
| Tool | What it does | How climagrid is different |
|---|---|---|
| atlite (PyPSA) | Turns weather into renewable-generation forecasts | climagrid focuses on environmental stress on equipment, not generation |
| ERAD (NREL) | Estimates damage from one-time disasters (hurricanes, floods) | climagrid produces continuous stress features for day-to-day maintenance |
| OpenSTEF | Forecasts feeder load using weather inputs | climagrid produces environmental stress features, not load forecasts |
| NRECA OMF | Simulates rural-coop feeders to evaluate new technologies | climagrid feeds maintenance models, not feeder simulators |
| EEweather (OpenDSM) | Pulls NOAA temperature for energy-efficiency baselines | climagrid integrates five federal sources and produces grid-stress features |
See the full related-work review.
National impact
- About 42 million Americans are served by rural electric cooperatives, covering 56% of U.S. landmass (NRECA).
- Major U.S. power outages cost roughly $67 billion per year on average (Oak Ridge National Laboratory).
- Predictive maintenance, the broader practice, reduces equipment-maintenance costs by 25 to 30 percent with about a 10-to-1 return on investment (U.S. Department of Energy). climagrid's contribution is to make the underlying environmental stress data free and accessible, lowering the barrier for smaller utilities to adopt that practice.
- climagrid is released under the Apache 2.0 license so that any utility, regardless of size or budget, can use, modify, and redistribute it freely and permanently.
For more on how climagrid ties into U.S. grid resilience priorities, see docs/national_impact.md.
Citation
If you use climagrid in research, regulatory filings, or utility planning, please cite it using the metadata in CITATION.cff, or:
Adesiji, T. (2026). climagrid: Open-source environmental stress feature toolkit
to support electric utility predictive maintenance (v0.3.0). Apache 2.0.
https://doi.org/10.5281/zenodo.20256535
Contributing
climagrid welcomes contributions from utility engineers, data scientists, and researchers. See CONTRIBUTING.md for how to add a new data source adapter or stress feature. Project governance is documented in GOVERNANCE.md.
License
Apache License 2.0. See LICENSE for full text.
Copyright 2026 Temidire Adesiji
Metadata
Release files for climagrid 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| climagrid-0.3.0.tar.gz | 1.1 MB | With provenance | Details for climagrid-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| climagrid-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for climagrid-0.3.0-py3-none-any.whl |
Total release size: 1.2 MB
Release files / climagrid-0.3.0.tar.gz
| Download URL | climagrid-0.3.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a276915a0fff62b768bbbb94c532125f82c1175f3268c6ae3f8c70d0a0ed5c44
|
|
BLAKE2b-256 checksum How to use checksums |
ea74b3b7ddcbd6c8624c3696a1fbc3283065ece496a3ea9c1a3dfdfa97d03746
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.
Transparency logRelease files / climagrid-0.3.0-py3-none-any.whl
| Download URL | climagrid-0.3.0-py3-none-any.whl |
|---|---|
| Size | 74.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d276adf104ea6cb6d4c3dd2131f996220fa163636cb9858fe42867623f6073ca
|
|
BLAKE2b-256 checksum How to use checksums |
2ba760ad8523ab50111f53c17d2ec0e728bfa4735807213c201d8e23fddb304c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.
Transparency logSecurity for climagrid 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for climagrid-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.