Column Schema¶
Every adapter and feature function in climagrid produces DataFrames that conform to a shared column contract. Adding a new column to any output requires defining it in climagrid.schema first.
The schema is machine-readable via climagrid.schema_summary() and exportable as JSON via climagrid.outputs.to_json_schema().
Index columns¶
Always present, never null. Uniquely identify each observation.
Column |
Type |
Units |
Description |
|---|---|---|---|
|
str |
n/a |
Utility asset identifier from AssetRegistry |
|
datetime64[ns, UTC] |
n/a |
UTC timestamp of the observation hour |
|
float64 |
degrees |
Asset latitude (WGS-84) |
|
float64 |
degrees |
Asset longitude (WGS-84) |
NOAA HRRR columns¶
3 km CONUS hourly NWP analysis fields. Require pip install "climagrid[noaa-nwp]".
Column |
Type |
Units |
Description |
|---|---|---|---|
|
float64 |
°C |
2-metre air temperature |
|
float64 |
m/s |
10-metre wind speed (magnitude) |
|
float64 |
degrees |
10-metre wind direction (meteorological convention) |
|
float64 |
% |
2-metre relative humidity |
|
float64 |
mm/hr |
Hourly accumulated precipitation |
|
float64 |
W/m² |
Downward short-wave radiation at surface |
|
float64 |
m |
Snow depth at surface |
NASA POWER columns¶
MERRA-2-based hourly surface meteorology. Global coverage, no API key.
Column |
Type |
Units |
Description |
|---|---|---|---|
|
float64 |
°C |
2-metre air temperature (MERRA-2 based) |
|
float64 |
m/s |
10-metre wind speed |
|
float64 |
W/m² |
Global horizontal irradiance |
|
float64 |
% |
Relative humidity at 2 m |
|
float64 |
mm |
Hourly precipitation |
NOAA NCEI columns¶
Surface station observations from nearest GHCN station.
Column |
Type |
Units |
Description |
|---|---|---|---|
|
float64 |
°C |
Daily maximum temperature |
|
float64 |
°C |
Daily minimum temperature |
|
float64 |
m/s |
Average daily wind speed |
|
float64 |
mm |
Daily precipitation |
|
float64 |
% |
Average daily relative humidity |
USDA NRCS columns¶
SCAN / SNOTEL soil and snowpack sensors.
Column |
Type |
Units |
Description |
|---|---|---|---|
|
float64 |
% |
Volumetric soil moisture (nearest SCAN station) |
|
float64 |
°C |
Soil temperature at 2-inch depth |
|
float64 |
mm |
Snow water equivalent (nearest SNOTEL) |
|
float64 |
km |
Distance from asset to nearest NRCS station |
USFS WFIGS columns¶
Active wildfire perimeter proximity.
Column |
Type |
Units |
Description |
|---|---|---|---|
|
float64 |
km |
Distance to nearest active fire perimeter edge |
|
bool |
n/a |
True if any active fire within 50 km |
|
float64 |
ha |
Area of nearest active fire in hectares |
Feature (stress index) columns¶
Computed by climagrid.features.*. Values are dimensionless indices or physical counts suitable for direct use as ML model inputs.
Column |
Type |
Units |
Standard |
Description |
|---|---|---|---|---|
|
float64 |
per-unit |
IEEE C57.91 |
Arrhenius FAA relative to 110°C reference. Values >1 indicate accelerated aging. |
|
float64 |
hours |
n/a |
Cumulative hours with temperature >35°C in rolling 168-hour window |
|
float64 |
count |
n/a |
Freeze-thaw transition count over the rolling window |
|
float64 |
0-1 |
ASCE 7-22 (simplified) |
Normalized ice accretion risk (temperature × precipitation × wind composite) |
|
float64 |
0-1 |
n/a |
Normalized soil saturation proxy (0=dry, 1=saturated) |
|
float64 |
0-1 |
n/a |
Normalized fire proximity score (0=no risk, 1=adjacent to active fire) |
|
float64 |
0-1 |
IEEE 738 (simplified) |
Normalized thermal sag index (0=no sag risk, 1=at design maximum) |
Programmatic access¶
import climagrid
# Human-readable summary
print(climagrid.schema_summary())
# Machine-readable JSON (useful for SCADA integration)
from climagrid.outputs import to_json_schema
schema = to_json_schema("schema.json")