Skip to main content

Climate data, grid-ready — open NOAA/NASA/USDA inputs for electric utility predictive maintenance

Project description

climagrid

climagrid

Free, open-source environmental stress features for electric utility predictive maintenance —
turning public NOAA, NASA, USDA, and USFS data into ML-ready inputs for the tools utilities already run.

License: Apache 2.0 PyPI CI Docs Python 3.10+ DOI


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 stress this month? Which power-line spans are at the highest fire risk? Which areas need a crew sent out first?

The U.S. Department of Energy reports that predictive maintenance can cut equipment costs by 25-30% and return roughly $10 for every $1 invested. climagrid aims to make those benefits available to the smaller utilities that serve rural America.


What it does

flowchart LR
    subgraph sources["Public Data Sources"]
        direction TB
        hrrr["NOAA HRRR\natmospheric · 3 km"]
        power["NASA POWER\nsatellite-derived"]
        ncei["NOAA NCEI\nsurface stations"]
        nrcs["USDA NRCS\nsoil sensors"]
        wfigs["USFS WFIGS\nfire perimeters"]
    end

    assets["Your assets\nCSV or GeoJSON\nasset_id · lat · lon"]

    run(["climagrid.run()"])

    subgraph features["Stress Features — one row per asset per hour"]
        direction TB
        thermal["feat_thermal_aging_factor"]
        sag["feat_conductor_sag_index"]
        ice["feat_ice_loading_risk"]
        ft["feat_freeze_thaw_cycles"]
        soil["feat_soil_saturation_index"]
        fire["feat_wildfire_proximity"]
    end

    df[("ML-ready DataFrame")]

    sources --> run
    assets --> run
    run --> features
    features --> df

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 features to improve them.
  • 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")

climagrid terminal demo

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.

Asset thermal stress map — Central Texas

For the lower-level adapter API (fetching individual data sources, custom feature computation) see the documentation.


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
Ice loading risk feat_ice_loading_risk Overhead T&D lines ASCE 7-22
Soil saturation index feat_soil_saturation_index Underground cables, poles
Wildfire proximity score feat_wildfire_proximity All overhead assets
Conductor sag index feat_conductor_sag_index Overhead T&D lines IEEE 738-2012

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 equipment failure stress, 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 asset-health 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 reduces equipment-maintenance costs by 25-30% with about a 10-to-1 return on investment (U.S. Department of Energy).
  • 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
for electric utility predictive maintenance (v0.1.0). Apache 2.0.
https://doi.org/10.5281/zenodo.XXXXXXX

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

climagrid-0.1.0.tar.gz (867.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

climagrid-0.1.0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file climagrid-0.1.0.tar.gz.

File metadata

  • Download URL: climagrid-0.1.0.tar.gz
  • Upload date:
  • Size: 867.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for climagrid-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d8a0c8fef69982e26462b9cd6c1a8ce0e40d1a486be3152182a7744091b1b57
MD5 47c1dc288973510ac95397831a7aafd0
BLAKE2b-256 513509288cab324675a5cd7b685f9b17b3064f8ae5e13719ad0f3ed42b1c524e

See more details on using hashes here.

Provenance

The following attestation bundles were made for climagrid-0.1.0.tar.gz:

Publisher: publish.yml on TemidireAdesiji/climagrid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file climagrid-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: climagrid-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for climagrid-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 981b6d64cdef8fb6f0c093d859248cb34bc84e3f270377ac071087f4abcf1439
MD5 97ccfc9416e6cd6abebf03450cbc3524
BLAKE2b-256 0d6083dcbc8fcef2f742ba8ceb65e3cd924d3034ba116e78d5115ea816e55e46

See more details on using hashes here.

Provenance

The following attestation bundles were made for climagrid-0.1.0-py3-none-any.whl:

Publisher: publish.yml on TemidireAdesiji/climagrid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page