{"billing": {"fetch_credits_per_field": 1, "metered_groups": {"parcel_record": {"credits_per_location_by_plan": {"build": 300, "free": 300, "growth": 300, "market": 150, "scale": 150}, "fields": ["developable_acres_proxy", "easement_acres_on_parcel", "easement_fraction_of_parcel", "onsite_solar_potential_mwac_high", "onsite_solar_potential_mwac_low", "parcel_address", "parcel_apn", "parcel_area_m2", "parcel_boundary_geojson", "parcel_data_source", "parcel_geometry_wkt", "parcel_id", "parcel_match_distance_m", "parcel_match_radius_m", "parcel_match_type", "parcel_owner", "parcel_zoning", "wetland_acres_on_parcel", "wetland_fraction_of_parcel"], "note": "Per-record-licensed county parcel data. A request whose field selection includes ANY of these bills the group price ONCE per location \u2014 not once per field, because it is one purchased record \u2014 on top of fetch_credits_per_field for the other fields in the same request."}}, "note": "Credits for one location = fetch_credits_per_field x the non-group fields requested, plus each metered group's price once if any of its fields is requested. A batch multiplies that by the number of locations. Full price list: GET /v1/meta/plans.", "unit": "credits"}, "fields": [{"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Ground elevation above the NAVD88 vertical datum at the queried point. Sourced from the USGS 3DEP 1/3 arc-second seamless DEM (~10m), with the USGS EPQS dynamic service as a coverage fallback.", "interpretation_hints": "Below 10m within 5km of MARINE coast \u2192 storm-surge exposure relevant, but coast_distance_m does NOT establish that the nearby shoreline is marine \u2014 it also measures tidal rivers and estuaries, so it reads a few metres at points tens of km inland (Philadelphia ~13 m, the Anacostia in DC ~215 m). Confirm the shoreline is genuinely marine before drawing the surge conclusion from this pair. Above 3000m \u2192 alpine permitting, snow loads. Combine with coast_distance_m and within_floodplain_polygon for flood-zone reasoning.", "layer": "terrain", "lifecycle": "stable", "name": "elevation", "null_meaning": null, "nullable": false, "presets": ["terrain", "flood_risk", "wildfire_underwrite", "site_selection", "wind_siting"], "source": "USGS_3DEP", "source_url": "https://www.usgs.gov/3d-elevation-program", "ttl_seconds": 31536000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Surface slope in degrees, computed from the USGS 3DEP DEM at the queried point. 0 = flat; 90 = vertical.", "interpretation_hints": "Slope >15\u00b0 materially raises wildfire spread risk on forested land. Slope >25\u00b0 complicates conventional construction. Combine with lcms_class and dist_to_wui_m for wildfire underwriting.", "layer": "terrain", "lifecycle": "stable", "name": "slope_degrees", "null_meaning": null, "nullable": false, "presets": ["terrain", "wildfire_underwrite", "site_selection", "solar_siting", "wind_siting", "storage_siting", "data_center_siting", "natural_hazard"], "source": "USGS_3DEP", "source_url": "https://www.usgs.gov/3d-elevation-program", "ttl_seconds": 31536000, "type": "float", "unit": "degrees"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Slope aspect (compass bearing the slope faces) in degrees, 0=N, 90=E, 180=S, 270=W.", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "aspect_degrees", "null_meaning": null, "nullable": false, "presets": ["solar_siting"], "source": "USGS_3DEP", "source_url": "https://www.usgs.gov/3d-elevation-program", "ttl_seconds": 31536000, "type": "float", "unit": "degrees"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Slope aspect as a cardinal direction (N, NE, E, ..., NW) \u2014 the compass direction the slope faces.", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "aspect_cardinal", "null_meaning": null, "nullable": false, "presets": ["terrain", "solar_siting"], "source": "USGS_3DEP", "source_url": "https://www.usgs.gov/3d-elevation-program", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance from the queried point to the nearest point on the nearest NOAA CUSP shoreline feature (measured to the SEGMENT, not to a vertex). CUSP charts every tidal shoreline it maps \u2014 open coast, bays and estuaries, the full tidal reach of rivers, and harbour structures such as bulkheads, wharves and breakwaters \u2014 so this is distance to NOAA-mapped SHORELINE, not distance to open ocean. A tidal-river waterfront therefore reads metres while the open sea is a hundred kilometres away: Philadelphia reads ~13 m against ~89 km of open sea, and the Anacostia in DC reads a few hundred metres against ~163 km. The value is only large where no CUSP feature is near at all (interior states). A small value therefore does NOT establish marine exposure on its own, and cannot carry a storm-surge inference until the matched shoreline is independently confirmed to be marine \u2014 stated here as well as in the interpretation hints, because the public field-catalog table renders descriptions only. Channelized inland water (Man-made.Canal*, Man-made.Lock) is excluded. Always populated.", "interpretation_hints": "A small value means the nearest NOAA-CHARTED shoreline is close \u2014 which may be open coast, a bay, an estuary, a tidal-river bank or a harbour bulkhead \u2014 and NOT that open ocean is close; this field alone cannot distinguish them. The storm-surge inference (small distance + low elevation) is therefore CONDITIONAL on the matched shoreline being marine, and this field does not establish that, so do NOT conclude surge exposure from a small value on an inland tidal waterway \u2014 at waterfront points, Philadelphia reads 13 m, Sacramento 91 m and the Hudson at Poughkeepsie 134 m, and all three are 89-125 km from open sea. Coastal-zone permitting at <5km is the safer read, since jurisdiction generally follows tidal reach rather than the open shore. Calibration \u2014 at genuinely coastal points CUSP agrees with the OSM coastline to within ~38 m, so the value is excellent AT the shoreline, and every figure quoted here is a WATERFRONT reading: the same town measured a few hundred metres inland reads a few hundred metres, so a value is only comparable against another value taken at the shore. The Great Lakes are only PATCHILY covered, so two lakefront points on the same lake can read ~1 m (Sackets Harbor) and ~108 km (Rochester, at Charlotte on the lake), and the Chicago Loop resolves 1,047 km away to an inland reservoir in Georgia charted as Natural.Great Lake Or Lake Or Pond \u2014 not to any marine shoreline and not to Lake Michigan \u2014 which makes a Great Lakes lakefront value meaningless. Pair with elevation for flood reasoning and with aspect for hurricane orientation only once marine exposure is independently established. This field cannot answer how far the open ocean is; if that is the question, say so rather than substituting this value.", "layer": "terrain", "lifecycle": "stable", "name": "coast_distance_m", "null_meaning": null, "nullable": false, "presets": ["terrain", "flood_risk"], "source": "NOAA_CUSP", "source_url": "https://shoreline.noaa.gov/data/datasheets/cusp.html", "ttl_seconds": 31536000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USDA SSURGO soil drainage class at the queried point (e.g. 'Well drained', 'Poorly drained', 'Excessively drained').", "interpretation_hints": "Natural drainage class of the dominant gNATSGO component \u2014 a screen for wetness/ponding and foundation/earthwork suitability, not a site-specific drainage survey. Served from the gNATSGO 30 m dominant-component grid, which mixes detailed SSURGO (1:12-24k) with coarse STATSGO2 (1:250k) gap-fill where SSURGO is unmapped; a STATSGO2-sourced value is confidence-capped at MEDIUM and note-flagged.", "layer": "terrain", "lifecycle": "stable", "name": "soil_drainage_class", "null_meaning": null, "nullable": false, "presets": ["terrain"], "source": "USDA_SSURGO", "source_url": "https://www.nrcs.usda.gov/resources/data-and-reports/soil-survey-geographic-database-ssurgo", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USDA SSURGO soil map-unit name at the queried point.", "interpretation_hints": "Human-readable name of the gNATSGO map unit at the point (e.g. 'Branyon clay, 0 to 1 percent slopes', or 'Urban land'). Context for the other soil fields, not a determination on its own. Served from the gNATSGO 30 m grid, which mixes detailed SSURGO (1:12-24k) with coarse STATSGO2 (1:250k) gap-fill; a STATSGO2-sourced value is confidence-capped at MEDIUM.", "layer": "terrain", "lifecycle": "stable", "name": "soil_map_unit_name", "null_meaning": null, "nullable": false, "presets": [], "source": "USDA_SSURGO", "source_url": "https://www.nrcs.usda.gov/resources/data-and-reports/soil-survey-geographic-database-ssurgo", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Depth to bedrock in centimeters from USDA STATSGO. Censored at the dataset's measurement ceiling for deep-bedrock locations.", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "bedrock_depth_cm", "null_meaning": null, "nullable": false, "presets": ["terrain", "wind_siting"], "source": "USDA_STATSGO", "source_url": "https://www.nrcs.usda.gov/resources/data-and-reports/u-s-general-soil-map-statsgo2", "ttl_seconds": 31536000, "type": "float", "unit": "centimeters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point intersects a USGS NHDPlus HR NHDArea hydrographic polygon, such as a stream/river area, canal/ditch, inundation area, wash, levee, or other areal hydrographic landmark.", "interpretation_hints": "This is a source-specific USGS hydrography signal. It is not a FEMA Special Flood Hazard Area or regulatory flood-risk determination; use within_floodplain_polygon for FEMA NFHL.", "layer": "terrain", "lifecycle": "stable", "name": "intersects_nhd_area", "null_meaning": null, "nullable": false, "presets": ["flood_risk"], "source": "USGS_NHDPLUS_HR", "source_url": "https://hydro.nationalmap.gov/arcgis/rest/services/NHDPlus_HR/MapServer/8", "ttl_seconds": 31536000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest USGS NHDPlus stream / river flowline.", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "nearest_flowline_name", "null_meaning": "Nearest NHDPlus flowline is unnamed or no flowline was found.", "nullable": true, "presets": [], "source": "USGS_NHDPLUS_HR", "source_url": "https://www.usgs.gov/national-hydrography/nhdplus-high-resolution", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest USGS NHDPlus waterbody (lake, reservoir, pond).", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "nearest_waterbody_name", "null_meaning": "Nearest NHDPlus waterbody is unnamed or no waterbody was found.", "nullable": true, "presets": ["flood_risk"], "source": "USGS_NHDPLUS_HR", "source_url": "https://www.usgs.gov/national-hydrography/nhdplus-high-resolution", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the USGS HUC-12 watershed containing the queried point.", "interpretation_hints": "", "layer": "terrain", "lifecycle": "stable", "name": "huc_12_name", "null_meaning": "The point does not intersect any WBD HUC-12 subwatershed polygon (open ocean, or outside the dataset's U.S.+territories coverage), or the local WBD index is unavailable (bootstrap-pending).", "nullable": true, "presets": [], "source": "USGS_WBD", "source_url": "https://www.usgs.gov/national-hydrography/watershed-boundary-dataset", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside a FEMA National Flood Hazard Layer Special Flood Hazard Area polygon.", "interpretation_hints": "True \u2192 FEMA SFHA_TF is true or the flood-zone attributes classify as a Special Flood Hazard Area. False \u2192 FEMA returned a non-SFHA zone such as Zone X, or confirmed NFHL coverage with no intersecting Flood Hazard Zones polygon.", "layer": "terrain", "lifecycle": "stable", "name": "within_floodplain_polygon", "null_meaning": null, "nullable": false, "presets": ["flood_risk", "site_selection", "data_center_siting", "natural_hazard"], "source": "FEMA_NFHL", "source_url": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside a USFWS National Wetlands Inventory polygon (a biological wetland definition).", "interpretation_hints": "NWI is NOT a regulatory or jurisdictional determination. A hit is a flag to investigate, not a \u00a7404 finding. Do NOT state 'USACE-jurisdictional' or 'permit required' from NWI alone \u2014 jurisdiction requires a USACE delineation / Approved Jurisdictional Determination; post-Sackett (2023), mapped wetlands lacking a continuous surface connection to a permanent water may not be federally regulated, while some states regulate more broadly. 'False' does NOT mean 'no wetland' where NWI is unmapped (e.g. Alaska) or imagery is stale \u2014 corroborate with soil_drainage_class (hydric soils) and nearest_flowline_name.", "layer": "terrain", "lifecycle": "stable", "name": "intersects_wetland", "null_meaning": null, "nullable": false, "presets": ["flood_risk", "site_selection"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Decoded Cowardin classification of the wetland at (or nearest to) the point, in plain English (e.g. 'Palustrine Emergent Persistent Temporarily Flooded'). Falls back to the coarse NWI WETLAND_TYPE 8-bucket (e.g. 'Freshwater Forested/Shrub Wetland') when a code cannot be decoded.", "interpretation_hints": "The biological class of the wetland. Palustrine Forested/Emergent near a stream is the common riparian finding. Read with wetland_subtype (the raw Cowardin code) for the exact federal code. Same caveat as intersects_wetland \u2014 type does NOT establish \u00a7404 status; NWI is a biological, not a regulatory/jurisdictional, classification.", "layer": "terrain", "lifecycle": "stable", "name": "wetland_type", "null_meaning": "No NWI wetland polygon within the 500 m search.", "nullable": true, "presets": ["flood_risk", "site_selection"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Raw Cowardin classification code from NWI ATTRIBUTE (e.g. 'PFO1A' = Palustrine / Forested / Broad-Leaved Deciduous / Temporarily Flooded).", "interpretation_hints": "The precise federal classification for expert users. First letter = System (P palustrine, R riverine, L lacustrine, E estuarine, M marine). Pair with wetland_type (plain-English). Not a jurisdiction code.", "layer": "terrain", "lifecycle": "stable", "name": "wetland_subtype", "null_meaning": "No NWI wetland polygon within the 500 m search.", "nullable": true, "presets": ["flood_risk"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total acreage of the NWI wetland polygon at (or nearest to) the point \u2014 NOT the share of any parcel.", "interpretation_hints": "This is the whole mapped polygon's size, which may extend far beyond a given site. Do NOT present it as 'wetland on this parcel'. On-site coverage requires intersecting the parcel boundary (a separate capability). Use for 'how large is the wetland feature here', not 'how much of my land is wetland'.", "layer": "terrain", "lifecycle": "stable", "name": "wetland_acres", "null_meaning": "No NWI wetland polygon within the 500 m search.", "nullable": true, "presets": ["flood_risk"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "float", "unit": "acre"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic meters to the nearest NWI wetland within a 500 m search; 0 if the point is on a wetland; null if none within 500 m.", "interpretation_hints": "0 = on a wetland; a small value = adjacent (adjacency matters for the post-Sackett continuous-surface-connection test); null = none within 500 m (NOT 'no wetland anywhere' \u2014 the search is capped at 500 m). Combine with nearest_flowline_name to reason about wetland-to-stream connection.", "layer": "terrain", "lifecycle": "stable", "name": "nearest_wetland_distance_m", "null_meaning": "No NWI wetland polygon within the 500 m search radius.", "nullable": true, "presets": ["flood_risk", "site_selection"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of NWI wetland polygons within 100 m of the point.", "interpretation_hints": "Local wetland density (immediate buildable-area impact). 0 within 100 m plus intersects_wetland False = likely clear immediate footprint, but still verify by delineation.", "layer": "terrain", "lifecycle": "stable", "name": "wetlands_within_100m_count", "null_meaning": null, "nullable": false, "presets": ["flood_risk", "site_selection"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of NWI wetland polygons within 500 m of the point.", "interpretation_hints": "Wider wetland context / cumulative-impact and adjacency signal. Pair with nearest_wetland_distance_m.", "layer": "terrain", "lifecycle": "stable", "name": "wetlands_within_500m_count", "null_meaning": null, "nullable": false, "presets": ["flood_risk"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "JRC Global Surface Water permanence percentage at the queried 30m cell (0 = never surface water, 100 = permanent open water).", "interpretation_hints": "100 \u2192 point is on permanent open water. 10-90 \u2192 seasonal / intermittent water; combine with wetlands. 0 \u2192 no surface water in the cell.", "layer": "terrain", "lifecycle": "stable", "name": "surface_water_permanence_pct", "null_meaning": null, "nullable": false, "presets": ["flood_risk", "data_center_siting"], "source": "JRC_GSW", "source_url": "https://global-surface-water.appspot.com/", "ttl_seconds": 2592000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USFS Land Change Monitoring System dominant land-cover class at the queried point, served from a bootstrapped ~120m block-mode CONUS grid (annual LCMS product). Life-form taxonomy \u2014 classes include Trees, Shrubs, Grass/Forb/Herb, cover mixes, Barren or Impervious, Water, Snow or Ice (no dedicated crop class). CONUS only.", "interpretation_hints": "'Trees' + slope_degrees>15 + low NDVI change \u2192 wildfire-prone forested landscape. 'Barren or Impervious' in urban areas usually means paved/built \u2014 confirm with primary_building. For crop specificity drill into cdl_class. 'Water' \u2192 confirm with surface_water_permanence_pct.", "layer": "land_cover", "lifecycle": "stable", "name": "lcms_class", "null_meaning": "Outside the served LCMS CONUS grid footprint (AK/HI/PRUSVI/ocean) or on a non-processing/nodata cell, or the raster is not bootstrapped.", "nullable": true, "presets": ["wildfire_underwrite", "land_cover", "site_selection"], "source": "USFS_LCMS", "source_url": "https://data.fs.usda.gov/geodata/rastergateway/LCMS/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USFS LCMS land-use class (Agriculture / Developed / Forest / Other / Rangeland or Pasture / Non-Processing Area Mask), served from a bootstrapped ~120m block-mode CONUS grid. CONUS only.", "interpretation_hints": "", "layer": "land_cover", "lifecycle": "stable", "name": "land_use_class", "null_meaning": "Outside the served LCMS CONUS grid footprint (AK/HI/PRUSVI/ocean) or on a non-processing/nodata cell, or the raster is not bootstrapped.", "nullable": true, "presets": ["land_cover"], "source": "USFS_LCMS", "source_url": "https://data.fs.usda.gov/geodata/rastergateway/LCMS/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Tree canopy cover percentage (0-100) at the point, sampled from the USFS/NLCD Tree Canopy Cover product served as a bootstrapped ~120m CONUS grid. CONUS only.", "interpretation_hints": ">60% canopy \u2192 dense forest; major wildfire fuel + cooling/shade benefit. <10% canopy \u2192 effectively non-forested for fire-risk purposes. CONUS only (served from a ~120m block-mean canopy % grid).", "layer": "land_cover", "lifecycle": "stable", "name": "tree_canopy_pct", "null_meaning": "Outside the served NLCD TCC CONUS grid footprint (AK/HI/PRUSVI/ocean) or on a nodata/non-processing cell, or the raster is not bootstrapped.", "nullable": true, "presets": ["wildfire_underwrite", "land_cover", "solar_siting"], "source": "USFS_NLCD_TCC", "source_url": "https://data.fs.usda.gov/geodata/rastergateway/treecanopycover/", "ttl_seconds": 31536000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Most recent Sentinel-2 NDVI (Normalized Difference Vegetation Index) at the queried cell, range -1 to +1. Higher = greener / more photosynthetic activity.", "interpretation_hints": "", "layer": "land_cover", "lifecycle": "stable", "name": "ndvi_current", "null_meaning": null, "nullable": false, "presets": ["wildfire_underwrite"], "source": "SENTINEL2_NDVI", "source_url": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED", "ttl_seconds": 604800, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "5-year change in NDVI at the queried cell. Negative values indicate vegetation loss; positive indicate growth or recovery.", "interpretation_hints": "Strongly negative (<-0.15) \u2192 vegetation loss; investigate for fire, drought, or land conversion. Strongly positive (>+0.15) \u2192 recovery or new growth.", "layer": "land_cover", "lifecycle": "stable", "name": "ndvi_change_5y", "null_meaning": null, "nullable": false, "presets": ["wildfire_underwrite"], "source": "SENTINEL2_NDVI", "source_url": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED", "ttl_seconds": 604800, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USDA Cropland Data Layer class name at the queried point \u2014 a crop (Corn, Soybeans, Cotton, Winter Wheat, \u2026) OR a non-crop CDL land-cover class (Developed, Open Water, Deciduous Forest, Grassland/Pasture, \u2026). NULL only when the point is outside the CDL CONUS grid or on a background/nodata cell. Pair with is_cultivated to distinguish cultivated cropland from non-crop cover.", "interpretation_hints": "A populated value is NOT necessarily a crop \u2014 it may be a non-crop cover class (e.g. Developed, Open Water, Forest); check is_cultivated to tell them apart. NULL means the point is outside the CDL CONUS footprint or a nodata cell \u2014 NOT 'not on cropland'.", "layer": "land_cover", "lifecycle": "stable", "name": "cdl_class", "null_meaning": "Point is outside the CDL CONUS grid or on a background/nodata cell \u2014 no CDL class at this location.", "nullable": true, "presets": ["land_cover"], "source": "USDA_CDL", "source_url": "https://nassgeodata.gmu.edu/CropScape/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point is on USDA-mapped cultivated cropland.", "interpretation_hints": "A NULL is distinct from False \u2014 null means the point is outside the CDL CONUS grid or on a background/nodata cell (cultivation unknown), whereas False means CDL positively classifies it as non-cultivated (urban, forest, water). Never read a null as 'not cultivated'.", "layer": "land_cover", "lifecycle": "stable", "name": "is_cultivated", "null_meaning": "Point is outside the CDL CONUS grid footprint or on a background/nodata cell \u2014 cultivation is unknown here, NOT necessarily uncultivated.", "nullable": true, "presets": ["solar_siting"], "source": "USDA_CDL", "source_url": "https://nassgeodata.gmu.edu/CropScape/", "ttl_seconds": 31536000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Most-frequent crop classification over the last 5 CDL years at the queried point. Helps see past 1-year rotation noise.", "interpretation_hints": "For 'what's the dominant crop' questions, prefer this over the single-year cdl_class \u2014 it smooths over corn-soy rotation.", "layer": "land_cover", "lifecycle": "stable", "name": "dominant_crop_5y", "null_meaning": "Not enough cultivated crop history or point is not cropland.", "nullable": true, "presets": ["land_cover"], "source": "USDA_CDL", "source_url": "https://nassgeodata.gmu.edu/CropScape/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Height in meters of the building containing (or nearest to) the queried point, from Overture Buildings.", "interpretation_hints": "Tall buildings (>20m) suggest commercial / mid-rise context. Combine with primary_building_overture_class and primary_building_footprint_sqm to characterise the structure.", "layer": "built_environment", "lifecycle": "stable", "name": "primary_building_height_m", "null_meaning": "No Overture building was found within the query radius, or the building carries no height tag. Untagged does NOT mean the building is flat or single-storey - Overture records only what the upstream source tagged.", "nullable": true, "presets": ["building_lookup"], "source": "OVERTURE_BUILDINGS", "source_url": "https://overturemaps.org/documentation/buildings/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Number of floors of the primary building at/near the queried point.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "primary_building_num_floors", "null_meaning": "No Overture building was found within the query radius, or the building carries no num_floors tag. Untagged does NOT mean one floor; most Overture buildings have no floor count at all.", "nullable": true, "presets": ["building_lookup"], "source": "OVERTURE_BUILDINGS", "source_url": "https://overturemaps.org/documentation/buildings/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Building footprint area in square meters from Overture Buildings.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "primary_building_footprint_sqm", "null_meaning": "No Overture building was found within the query radius. Footprint area is derived from the geometry, so a building that is found always has one.", "nullable": true, "presets": ["building_lookup"], "source": "OVERTURE_BUILDINGS", "source_url": "https://overturemaps.org/documentation/buildings/", "ttl_seconds": 2592000, "type": "float", "unit": "square_meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Overture-classified building category (residential / commercial / industrial / civic / etc.) of the primary building.", "interpretation_hints": "Use to determine 'what kind of building is here'. Combine with primary_building_height_m / num_floors / footprint_sqm for a fuller description.", "layer": "built_environment", "lifecycle": "stable", "name": "primary_building_overture_class", "null_meaning": "No Overture building was found within the query radius, or the building carries no class label. Untagged does NOT mean the structure is unclassifiable - it means the upstream source did not label it.", "nullable": true, "presets": ["building_lookup"], "source": "OVERTURE_BUILDINGS", "source_url": "https://overturemaps.org/documentation/buildings/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest major road (motorway / trunk / primary / secondary) from Overture Roads.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_major_road_name", "null_meaning": "No Overture major road was found within the fallback search radius.", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest major road in meters.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_major_road_distance_m", "null_meaning": "No Overture major road was found within the fallback search radius.", "nullable": true, "presets": ["site_selection"], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest FHWA-NBI catalogued bridge.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_bridge_name", "null_meaning": "No NBI bridge was found within the query radius, or the nearest bridge's FACILITY_CARRIED_007 column is blank in the NBI record.", "nullable": true, "presets": [], "source": "FHWA_NBI", "source_url": "https://www.fhwa.dot.gov/bridge/nbi/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest electric power-generating facility (EIA Atlas).", "interpretation_hints": "The TRUE nearest EIA-registered generator, which is often NOT grid generation \u2014 in a downtown it is frequently an office/hospital/campus generator registered under the building's name (e.g. 'Bank of America Plaza'). ALWAYS read nearest_power_plant_sector alongside it - 'Electric Utility' / 'IPP CHP' / 'IPP Non-CHP' are EIA's electric power sector; 'Commercial *' / 'Industrial *' are generation primarily serving the host site. Pair with nearest_power_plant_distance_m, _primary_fuel, _capacity_mw and _technology for a complete answer to 'tell me about the nearest power plant'.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_name", "null_meaning": null, "nullable": false, "presets": ["utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance in meters to the nearest EIA Atlas power plant.", "interpretation_hints": "Distance to the TRUE nearest EIA-registered generator of any kind, INCLUDING behind-the-meter ones \u2014 never read it alone as 'grid generation is this close'. Check nearest_power_plant_sector first; a commercial/industrial sector plant is generation for the host site, not grid supply you can contract. <1000m \u2192 significant noise / emissions proximity for residential due diligence. <50km is typically considered 'in range' for grid integration, but only for an electric-power-sector plant.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_distance_m", "null_meaning": null, "nullable": false, "presets": ["utilities", "storage_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Primary fuel of the nearest power plant (Natural Gas, Coal, Nuclear, Solar, Wind, Hydro, etc.).", "interpretation_hints": "The fuel of whatever plant is nearest \u2014 which may be a behind-the-meter generator, so 'petroleum' at an urban coordinate is usually a building's on-site engine rather than an oil-fired power station. Read nearest_power_plant_sector + _capacity_mw before characterising the local generation mix from this one field; for the area's real fuel mix use egrid_subregion.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_primary_fuel", "null_meaning": null, "nullable": false, "presets": ["utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Summer (net) generating capacity in megawatts of the nearest power plant, as published by the EIA Atlas \u2014 typically ~10% below nameplate capacity. Do not treat as nameplate.", "interpretation_hints": "Capacity of the nearest plant, NOT of nearby grid supply, and NOT capacity available to a new load (that is an interconnection study). Small values are ambiguous on their own \u2014 a 2.6 MW petroleum plant in a downtown is usually an on-site engine, while a 0.5 MW Electric Utility plant in rural Alaska is the village's entire grid \u2014 read nearest_power_plant_sector to tell them apart. Large values are ambiguous too - the largest behind-the-meter installations in EIA-860 exceed 90 MW.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_capacity_mw", "null_meaning": null, "nullable": false, "presets": ["utilities", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "megawatts"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest EIA Atlas transmission line.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_distance_m", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities", "storage_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operating voltage (kV) of the single nearest EIA/HIFLD transmission line. Null when the source publishes no numeric voltage for that segment.", "interpretation_hints": "Voltage of the CLOSEST line \u2014 may be lower than max_transmission_line_voltage_kv_within_radius if a higher-voltage line runs slightly farther; read both. >=230 kV = transmission-grade, <100 kV = sub-transmission. Pair with nearest_transmission_line_distance_m (tap distance). Null here != 'no voltage' \u2014 check nearest_transmission_line_voltage_class / _basis. Never infer substation capacity from this.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_voltage_kv", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "kilovolts"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Voltage-class band of the nearest line (e.g. \"100-161\", \"345\", \"500\") from source VOLT_CLASS. A range, not a point value.", "interpretation_hints": "Use as the voltage signal when nearest_transmission_line_voltage_kv is null (numeric masked). Report as a RANGE ('100-161 kV class'); never collapse a band to a single kV. 'DC' = HVDC. Read with nearest_transmission_line_voltage_basis.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_voltage_class", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "How the nearest line's voltage is known: numeric, class_band, or not_published.", "interpretation_hints": "Read this BEFORE quoting voltage. numeric -> cite ..._voltage_kv. class_band -> cite ..._voltage_class as a range, do NOT state a precise kV. not_published -> say voltage is not published in the federal source for this segment; do not guess. ~9% of US segments are not_published. This is the honesty contract for voltage.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_voltage_basis", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operating status of the nearest line: \"IN SERVICE\", \"UNDER CONSTRUCTION\", \"INACTIVE\", or null when unpublished.", "interpretation_hints": "Do NOT assume a nearby line is energized \u2014 only ~78% are marked IN SERVICE and many real lines have null status. Flag UNDER CONSTRUCTION / INACTIVE explicitly; null = unstated, not 'in service'.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_status", "null_meaning": null, "nullable": false, "presets": ["utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Owner/operator of the nearest line (e.g. \"ONCOR ELECTRIC DELIVERY CO.\") from source OWNER; null when unpublished.", "interpretation_hints": "The utility to contact for interconnection on the nearest line. Currently the best available utility signal: service_territory_holder is always null until a post-HIFLD successor source for service territories exists.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_transmission_line_owner", "null_meaning": null, "nullable": false, "presets": ["utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Highest NUMERIC operating voltage (kV) among all transmission lines within ~2 km (transmission_lines_radius_m). Null when no in-range line publishes a numeric voltage.", "interpretation_hints": "The headline 'is high-voltage transmission adjacent' signal for large-load / data-center siting; >=230 kV strong, 345/500 kV transmission-grade. Highest NUMERIC kV \u2014 a class-band-only line could be higher, so ALWAYS read max_transmission_line_voltage_class_within_radius alongside. Pair with nearest_transmission_line_distance_m. For powered-land buyers this confirms grid context, not a capacity claim.", "layer": "utilities", "lifecycle": "stable", "name": "max_transmission_line_voltage_kv_within_radius", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "kilovolts"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Highest voltage-class band among all lines within ~2 km, ranking class-band-only lines alongside numeric ones. Always >= the band implied by max_transmission_line_voltage_kv_within_radius.", "interpretation_hints": "The honest 'highest voltage present' signal \u2014 captures a high-voltage line even when its numeric kV is masked, so it never understates adjacency. Report as a class/range. If it exceeds the band implied by the numeric max, a higher-voltage line exists whose exact kV the source didn't publish \u2014 say so rather than quoting the numeric max as the ceiling.", "layer": "utilities", "lifecycle": "stable", "name": "max_transmission_line_voltage_class_within_radius", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of EIA/HIFLD transmission segments within ~2 km (transmission_lines_radius_m).", "interpretation_hints": "Density of nearby transmission. 0 = none within ~2 km (a siting flag for power-search use cases). Combine with the voltage fields to characterize how much and how high-voltage the nearby grid is.", "layer": "utilities", "lifecycle": "stable", "name": "transmission_lines_within_radius_count", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities", "data_center_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest EIA interstate natural-gas pipeline.", "interpretation_hints": "Also a secondary long-haul-fiber ROW proxy \u2014 long-haul fiber commonly shares gas-transmission pipeline rights-of-way (InterTubes, SIGCOMM 2015); combine with nearest_long_haul_rail_corridor_distance_m + nearest_submarine_cable_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_pipeline_distance_m", "null_meaning": null, "nullable": false, "presets": ["utilities", "data_center_siting"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the EPA SDWIS public water system serving the queried point.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_public_water_system_name", "null_meaning": "No large community water system (>10,000 served) in the point's state, the point is outside the US state grid, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": [], "source": "EPA_SDWIS", "source_url": "https://www.epa.gov/ground-water-and-drinking-water/safe-drinking-water-information-system-sdwis-federal-reporting", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest BTS NTAD rail line within a 5 km search; null if none within 5 km.", "interpretation_hints": "Distance to the nearest rail line of ANY class (incl. spurs/yards) \u2014 a coarse ROW-corridor signal. null = no rail line within 5 km (NOT 'no rail anywhere' \u2014 the search is capped at 5 km), which is a valid no-data answer, not a failure. For a long-haul-fiber-capable corridor prefer the mainline-filtered nearest_long_haul_rail_corridor_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_rail_line_distance_m", "null_meaning": "No BTS NTAD rail line within the 5 km search radius (NOT 'no rail anywhere' \u2014 the search is capped at 5 km).", "nullable": true, "presets": ["data_center_siting"], "source": "BTS_NTAD", "source_url": "https://geodata.bts.gov/datasets/north-american-rail-network-lines", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest FAA NASR airport.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_airport_name", "null_meaning": null, "nullable": false, "presets": [], "source": "FAA_NASR", "source_url": "https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/NASR_Subscription/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest FAA NASR airport.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_airport_distance_m", "null_meaning": null, "nullable": false, "presets": ["wind_siting"], "source": "FAA_NASR", "source_url": "https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/NASR_Subscription/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest BTS Principal Port.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_port_name", "null_meaning": null, "nullable": false, "presets": [], "source": "BTS_PORTS", "source_url": "https://geodata.bts.gov/datasets/usdot::principal-ports/about", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance in meters to the nearest FCC-registered antenna structure within a 2 km buffer. Source is the FCC ULS Antenna Structure Registration (ASR), which only includes structures >=200 ft AGL (FAA Form 7460 threshold); small cells and sub-threshold towers are not in the federal index.", "interpretation_hints": "Distance <500m \u2192 likely RF / line-of-sight considerations for tall builds. Null distance with non-zero antenna_structures_within_2km_count is impossible; null with zero count means the buffer is empty. See fcc_asr_note for the sub-200ft caveat.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_antenna_structure_distance_m", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Overall height above ground (in meters) of the nearest FCC ASR antenna structure. Always >=60.96 m by construction.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_antenna_structure_height_m", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FCC structure-type code for the nearest antenna structure (e.g. BTWR = building-mounted tower, BANT = antenna on building, TOWER = freestanding tower, GTOWER = guyed tower).", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_antenna_structure_type", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FCC ASR registration number of the nearest antenna structure. Cross-reference https://wireless2.fcc.gov/UlsApp/AsrSearch/ for the registrant entity.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "nearest_antenna_structure_owner", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of FCC ASR antenna structures within 500 m of the queried point. Dense urban clusters (broadcast row, downtown rooftops) typically register multiple structures inside this radius.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "antenna_structures_within_500m_count", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of FCC ASR antenna structures within the 2 km query buffer. Zero count means no registered tall antennas within 2 km.", "interpretation_hints": "", "layer": "utilities", "lifecycle": "stable", "name": "antenna_structures_within_2km_count", "null_meaning": null, "nullable": false, "presets": [], "source": "FCC_ASR", "source_url": "https://www.fcc.gov/uls/transactions/daily-weekly", "ttl_seconds": 604800, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "US state name from Overture Divisions at the queried point.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "political_region", "null_meaning": null, "nullable": false, "presets": ["boundaries"], "source": "OVERTURE_DIVISIONS", "source_url": "https://overturemaps.org/documentation/divisions/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "County name from Overture Divisions at the queried point.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "political_county", "null_meaning": null, "nullable": false, "presets": ["boundaries"], "source": "OVERTURE_DIVISIONS", "source_url": "https://overturemaps.org/documentation/divisions/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Locality / city name from Overture Divisions.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "political_locality", "null_meaning": null, "nullable": false, "presets": ["boundaries"], "source": "OVERTURE_DIVISIONS", "source_url": "https://overturemaps.org/documentation/divisions/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "US Census tract GEOID (11 digits: STATE+COUNTY+TRACT) containing the queried point.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "tract_geoid", "null_meaning": null, "nullable": false, "presets": ["boundaries"], "source": "US_CENSUS_GEOCODER", "source_url": "https://geocoding.geo.census.gov/geocoder/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point intersects a USGS PAD-US 4.1 conservation easement. PAD-US is the federal aggregation of conservation easements after NCED was discontinued in 2025.", "interpretation_hints": "True \u2192 check easement_holder/purpose/acres for the encumbrance details. Conservation easements restrict development; relevant for 'can I build here' questions.", "layer": "parcels", "lifecycle": "stable", "name": "intersects_conservation_easement", "null_meaning": null, "nullable": false, "presets": ["site_selection"], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Holder organization of the intersecting conservation easement.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "easement_holder", "null_meaning": "No PAD-US conservation easement intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Type/category of the intersecting PAD-US conservation easement.", "interpretation_hints": "Detail of the conservation easement at the point. An encumbrance to verify by title search (see other_easements_note); a recorded easement restricts but does not necessarily forbid development.", "layer": "parcels", "lifecycle": "stable", "name": "easement_type", "null_meaning": "No PAD-US conservation easement intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Stated purpose of the intersecting easement. PAD-US 4.1 publishes no stated-purpose attribute for easement records, so this is null (semantic absence) even when an easement is present.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "easement_purpose", "null_meaning": "Either no PAD-US easement intersects this coordinate, or an easement is present but PAD-US 4.1 exposes no stated-purpose attribute.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total GIS acreage of the PAD-US conservation easement polygon intersecting the point \u2014 NOT the share of any parcel.", "interpretation_hints": "This is the whole mapped easement's size, which routinely spans many properties and may extend far beyond a given site. Do NOT present it as 'easement on this parcel' \u2014 a 5,000-acre easement clipping the corner of a 200-acre parcel reports 5000 here. On-site coverage is easement_acres_on_parcel / easement_fraction_of_parcel (parcels layer, needs a matched Regrid parcel). Use this for 'how large is the easement here', not 'how much of my land is encumbered'.", "layer": "parcels", "lifecycle": "stable", "name": "easement_acres", "null_meaning": "No PAD-US conservation easement intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "float", "unit": "acres"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Year the intersecting PAD-US conservation easement was established.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "easement_year_established", "null_meaning": "No PAD-US conservation easement intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point intersects a USGS PAD-US 4.1 protected area (Fee or Designation): parks, refuges, wilderness, military, NGO preserves.", "interpretation_hints": "PAD-US (USGS GAP) describes public-land ownership/management intent, NOT buildability \u2014 a private target parcel will NOT appear here. Read protected_area_gap_status: 1 strict (wilderness/park core), 2 protected (refuge/state park), 3 multiple-use, 4 ~ nominal (city parks/military \u2014 minimal real constraint). Pair with protected_area_designation + protected_area_manager. The reported unit is the MOST protective (lowest GAP) of any overlapping polygons.", "layer": "parcels", "lifecycle": "stable", "name": "intersects_protected_area", "null_meaning": null, "nullable": false, "presets": ["site_selection"], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the intersecting PAD-US protected area (most protective unit).", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "protected_area_name", "null_meaning": "No PAD-US protected area intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "GAP status (1\u20134) of the intersecting PAD-US protected area \u2014 the conservation-strictness axis.", "interpretation_hints": "GAP 1\u20134 strictness. 1/2 = real conservation protection (wilderness, park core, refuge, state park); 3 = protected from conversion but extractive uses allowed; 4 ~ nominal \u2014 no mandate to prevent conversion (city parks, military). Do NOT overstate GAP 4 as a development constraint.", "layer": "parcels", "lifecycle": "stable", "name": "protected_area_gap_status", "null_meaning": "No PAD-US protected area intersects this coordinate.", "nullable": true, "presets": ["site_selection"], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Designation type (Wilderness/Refuge/Park\u2026) of the intersecting protected area.", "interpretation_hints": "The interpretive payload alongside protected_area_gap_status / protected_area_manager; the bare intersection alone is not 'undevelopable'.", "layer": "parcels", "lifecycle": "stable", "name": "protected_area_designation", "null_meaning": "No PAD-US protected area intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Managing entity of the intersecting PAD-US protected area.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "protected_area_manager", "null_meaning": "No PAD-US protected area intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Public-access level (Open/Restricted/Closed/Unknown) of the protected area.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "protected_area_public_access", "null_meaning": "No PAD-US protected area intersects this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point intersects USFWS ESA-designated critical habitat (Final OR Proposed polygon).", "interpretation_hints": "USFWS ESA-designated critical habitat. Designation does NOT prohibit development on private land; it triggers ESA \u00a77 consultation ONLY with a federal nexus (federal funding/permit/action) likely to adversely modify it. NEVER say 'cannot be developed' or 'ESA-blocked'. Designation \u2260 species present (unoccupied areas are designated). Read critical_habitat_status \u2014 Final vs Proposed is regulatory vs not. A clean result \u2260 clean ESA (species range / IPaC is broader), and the linear habitat layers are not queried.", "layer": "parcels", "lifecycle": "stable", "name": "intersects_critical_habitat", "null_meaning": null, "nullable": false, "presets": ["site_selection"], "source": "USFWS_CRITHAB", "source_url": "https://www.fws.gov/project/critical-habitat", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Designation status of the intersecting critical habitat: Final or Proposed.", "interpretation_hints": "Final = legally designated, carries the \u00a77 'destroy/adversely modify' prohibition for federal actions. Proposed = no regulatory effect yet (confer, not consult). NEVER treat Proposed as a binding constraint, and never collapse Final vs Proposed.", "layer": "parcels", "lifecycle": "stable", "name": "critical_habitat_status", "null_meaning": "No USFWS critical habitat (Final or Proposed) intersects this coordinate, or a local USFWS critical-habitat asset (Final/Proposed gpkg) is missing/corrupt.", "nullable": true, "presets": ["site_selection"], "source": "USFWS_CRITHAB", "source_url": "https://www.fws.gov/project/critical-habitat", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Listed species (common + scientific name) the critical habitat is designated for.", "interpretation_hints": "The listed species the habitat is designated for. Habitat for an unlisted species is not designated; absence \u2260 no sensitive habitat.", "layer": "parcels", "lifecycle": "stable", "name": "critical_habitat_species", "null_meaning": "No USFWS critical habitat (Final or Proposed) intersects this coordinate, or a local USFWS critical-habitat asset (Final/Proposed gpkg) is missing/corrupt.", "nullable": true, "presets": [], "source": "USFWS_CRITHAB", "source_url": "https://www.fws.gov/project/critical-habitat", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "ESA listing status (Endangered/Threatened) of the critical-habitat species.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "critical_habitat_listing_status", "null_meaning": "No USFWS critical habitat (Final or Proposed) intersects this coordinate, or a local USFWS critical-habitat asset (Final/Proposed gpkg) is missing/corrupt.", "nullable": true, "presets": [], "source": "USFWS_CRITHAB", "source_url": "https://www.fws.gov/project/critical-habitat", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "WKT polygon of the matched Regrid parcel (WGS84). POLYGON only \u2014 for a multi-polygon parcel use parcel_boundary_geojson, which keeps every part.", "interpretation_hints": "The single parcel polygon at the point (WGS84), NOT the assembled holding \u2014 a multi-parcel site (e.g. a ranch) is a union of many parcels. Pair with parcel_match_type: an exact hit is the parcel under the point; a nearest-fallback (nearest_within_radius) is the closest parcel within parcel_match_radius_m, NOT necessarily the one at the point. Use for site footprint/acreage; assemble multi-parcel holdings separately.", "layer": "parcels", "lifecycle": "stable", "name": "parcel_geometry_wkt", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": ["site_selection"], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "GeoJSON Polygon/MultiPolygon of the matched Regrid parcel (WGS84) as a JSON string; json.loads it. Preserves MultiPolygon parts that parcel_geometry_wkt truncates.", "interpretation_hints": "The single parcel polygon at the point (WGS84), NOT the assembled holding \u2014 a multi-parcel site (e.g. a ranch) is a union of many parcels. Pair with parcel_match_type: an exact hit is the parcel under the point; a nearest-fallback (nearest_within_radius) is the closest parcel within parcel_match_radius_m, NOT necessarily the one at the point. Use for site footprint/acreage; assemble multi-parcel holdings separately.", "layer": "parcels", "lifecycle": "stable", "name": "parcel_boundary_geojson", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": ["site_selection"], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Stable Regrid identifier for the matched parcel.", "interpretation_hints": "Ownership/identity reflect the Regrid source vintage, which can predate a recent sale \u2014 verify recent transactions (a parcel may still list a prior owner after acquisition). parcel_data_source tells you the tier; premium fields are null on regrid_free_tier (data-tier limited, NOT 'no parcel here').", "layer": "parcels", "lifecycle": "stable", "name": "parcel_id", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": ["site_selection"], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Assessor's parcel number (APN) for the matched parcel.", "interpretation_hints": "Ownership/identity reflect the Regrid source vintage, which can predate a recent sale \u2014 verify recent transactions (a parcel may still list a prior owner after acquisition). parcel_data_source tells you the tier; premium fields are null on regrid_free_tier (data-tier limited, NOT 'no parcel here').", "layer": "parcels", "lifecycle": "stable", "name": "parcel_apn", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Area of the single matched Regrid parcel in square meters, derived from Regrid's calculated acreage (ll_gisacre) or square footage (ll_gissqft) \u2014 Regrid's US schema has no metric area column \u2014 falling back to county-provided gisacre/sqft.", "interpretation_hints": "Area of the single matched parcel in m\u00b2. For a multi-parcel site, sum across parcels. Cross-check against parcel_geometry_wkt / parcel_boundary_geojson. Null when the county supplies no area column (coverage varies), not when there is no parcel.", "layer": "parcels", "lifecycle": "stable", "name": "parcel_area_m2", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": ["site_selection"], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "float", "unit": "square_meters"}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Situs/site address of the matched Regrid parcel, when present.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "parcel_address", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Which Regrid tier produced this parcel: regrid_paid or regrid_free_tier.", "interpretation_hints": "regrid_paid (premium fields populated) vs regrid_free_tier (geometry/id only; owner/zoning/value null = UNKNOWN, not absent).", "layer": "parcels", "lifecycle": "stable", "name": "parcel_data_source", "null_meaning": "No Regrid parcel at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Owner of record for the exact Regrid parcel at the queried point, or for the bounded nearest parcel when an exact point lookup misses.", "interpretation_hints": "Ownership reflects the Regrid source vintage, which can predate a recent sale \u2014 verify recent transactions (a parcel may still list a prior owner after acquisition). parcel_data_source tells you the tier; premium fields are null on regrid_free_tier (data-tier limited, NOT 'no parcel here').", "layer": "parcels", "lifecycle": "stable", "name": "parcel_owner", "null_meaning": "No Regrid parcel was found at the point or within the bounded nearest-parcel radius, or the returned parcel lacks owner data.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Zoning designation for the exact Regrid parcel at the queried point, or for the bounded nearest parcel when an exact point lookup misses.", "interpretation_hints": "Zoning is the load-bearing answer for 'can I build here' questions. Read from the matched Regrid parcel's base attributes; null when no parcel matches the point (or bounded nearest-parcel radius) or the matched parcel carries no zoning designation.", "layer": "parcels", "lifecycle": "stable", "name": "parcel_zoning", "null_meaning": "No Regrid parcel was found at the point or within the bounded nearest-parcel radius, or the returned parcel lacks zoning data.", "nullable": true, "presets": ["site_selection"], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "How the Regrid parcel was matched: exact_intersect for point-in-parcel matches, or nearest_within_radius for bounded fallback matches.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "parcel_match_type", "null_meaning": "No Regrid parcel was found at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Distance from the query point to the selected Regrid parcel geometry; 0 for exact point-in-parcel matches.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "parcel_match_distance_m", "null_meaning": "No Regrid parcel was found at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Configured Regrid nearest-parcel fallback radius used for this match; 0 for exact point-in-parcel matches.", "interpretation_hints": "", "layer": "parcels", "lifecycle": "stable", "name": "parcel_match_radius_m", "null_meaning": "No Regrid parcel was found at the point or within the bounded radius.", "nullable": true, "presets": [], "source": "REGRID", "source_url": "https://app.regrid.com/api/v2/parcels/point", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual-average global horizontal irradiance at the point, sampled from the NREL PSM v3 multiyear (1998-2016) ~4 km solar-resource raster (local index; no API key needed).", "interpretation_hints": ">5.0 = premium (SW desert); 4.0-5.0 workable; <3.8 (Pacific NW/NE) materially erodes economics. First-pass solar go/no-go before any yield model.", "layer": "climate", "lifecycle": "stable", "name": "ghi_annual_kwh_m2_day", "null_meaning": "Outside the PSM v3 Americas grid footprint, on a nodata cell, or the local raster asset is unavailable.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_SOLAR_RESOURCE_V1", "source_url": "https://www.nlr.gov/gis/solar-resource-maps", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual-average direct normal (beam) irradiance, sampled from the NREL PSM v3 multiyear (1998-2016) ~4 km solar-resource raster (local index; no API key needed). Drives CSP and tracking-system economics.", "interpretation_hints": "CSP only viable above ~6.0 (AZ/NV/S.CA). High DNI relative to GHI signals strong single-axis-tracking upside; low DNI (humid SE) favors fixed-tilt.", "layer": "climate", "lifecycle": "stable", "name": "dni_annual_kwh_m2_day", "null_meaning": "Outside the PSM v3 Americas grid footprint, on a nodata cell, or the local raster asset is unavailable.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_SOLAR_RESOURCE_V1", "source_url": "https://www.nlr.gov/gis/solar-resource-maps", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Modeled first-year AC capacity factor for a fixed-tilt open-rack PV system, from NREL PVWatts v8 (latitude tilt, south-facing).", "interpretation_hints": "~15% (cloudy N) to ~26% (SW desert); a 2-3 pt swing moves LCOE and PPA pricing materially. Modeled value \u2014 config recorded in provenance.", "layer": "climate", "lifecycle": "stable", "name": "pv_capacity_factor_pct", "null_meaning": "NREL key not configured or PVWatts fetch failed.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_PVWATTS_V8", "source_url": "https://developer.nlr.gov/docs/solar/pvwatts/v8/", "ttl_seconds": 31536000, "type": "float", "unit": "pct"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Modeled annual AC energy per kW-DC installed (ac_annual / system_capacity) for a fixed-tilt system, from NREL PVWatts v8.", "interpretation_hints": "US ~1,300 (cold N) to ~1,900 (SW). Ranks parcels by expected $/installed-W return without a full energy model.", "layer": "climate", "lifecycle": "stable", "name": "pv_specific_yield_kwh_per_kw", "null_meaning": "NREL key not configured or PVWatts fetch failed.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_PVWATTS_V8", "source_url": "https://developer.nlr.gov/docs/solar/pvwatts/v8/", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/kW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Energy-maximising fixed array tilt. Reported as the latitude rule-of-thumb (|lat|); exact optimum is within a few degrees (see provenance notes).", "interpretation_hints": "Rises with latitude (~20deg S.TX to ~40deg upper Midwest); drives row spacing / GCR and land-area-per-MW. Array geometry only \u2014 distinct from terrain slope_degrees.", "layer": "climate", "lifecycle": "stable", "name": "optimal_fixed_tilt_degrees", "null_meaning": "Always populated \u2014 the latitude rule-of-thumb (|lat|) is computed in-process, independent of the NREL key and the PVWatts fetch; null only if the entire solar_resource layer fails to return.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_PVWATTS_V8", "source_url": "https://developer.nlr.gov/docs/solar/pvwatts/v8/", "ttl_seconds": 31536000, "type": "float", "unit": "degrees"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Dimensionless 0-1 broadband ground albedo (annual mean), from the NREL NSRDB GOES TMY series. Drives bifacial PV rear-side gain.", "interpretation_hints": "High (snow ~0.6+, desert ~0.25-0.35) adds 5-15% bifacial rear-side yield; low (dark soil/veg ~0.15) erodes the bifacial case.", "layer": "climate", "lifecycle": "stable", "name": "surface_albedo_annual", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": ["solar_siting"], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Long-term annual-mean wind speed at 100m hub height (NREL WIND Toolkit, 2 km CONUS, 2007-2014 climatology).", "interpretation_hints": "<6 marginal, 6.5-7.5 workable, >7.5-8 strong. Largest single driver of wind yield (~v^3). CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "mean_wind_speed_100m_ms", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "float", "unit": "m/s"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual-mean wind speed at 120m (current-generation hub height), NREL WIND Toolkit.", "interpretation_hints": "Delta vs 100m reads wind shear, used to value taller-tower options. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "mean_wind_speed_120m_ms", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "float", "unit": "m/s"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual-mean wind speed at 160m (tall-tower/repowering height), NREL WIND Toolkit.", "interpretation_hints": "With 100m/120m lets a selector compute the vertical shear exponent (alpha) and decide if a taller tower pays off. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "mean_wind_speed_160m_ms", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "float", "unit": "m/s"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Mean wind power density at 100m (time-mean of 0.5*rho*v^3), the canonical resource grade. NREL WIND Toolkit-derived.", "interpretation_hints": "At 100m: <300 poor, 400-500 good, >600 outstanding. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "wind_power_density_100m_wm2", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "float", "unit": "W/m2"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "16-point modal wind-from sector (energy-weighted) at 100m, NREL WIND Toolkit.", "interpretation_hints": "Drives turbine row orientation, intra-array wake losses, and which neighbor parcels see wake/noise. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "prevailing_wind_direction_100m_cardinal", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Weibull shape parameter k of the 100m wind-speed distribution, NREL WIND Toolkit.", "interpretation_hints": "Low k (~1.5-1.8) = gusty/variable (raises fatigue load); high k (~2.5-3) = steady. Shape (not just mean) drives AEP and IEC turbine class. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "weibull_k_100m", "null_meaning": "WIND Toolkit grid not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_WIND_TOOLKIT", "source_url": "https://developer.nlr.gov/docs/wind/wind-toolkit/wtk-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Modeled mean capacity factor of a reference 115m-hub / 170m-rotor turbine at the nearest NREL reV land-based supply-curve point.", "interpretation_hints": "Onshore CONUS ~25% (marginal) to ~50%+ (best plains/ridges); a 5-pt swing moves LCOE materially. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "wind_capacity_factor_pct", "null_meaning": "reV supply-curve index not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting"], "source": "NREL_REV_LANDBASED_WIND_SC_2024", "source_url": "https://data.openei.org/submissions/8314", "ttl_seconds": 31536000, "type": "float", "unit": "pct"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "NREL reV modeled least-cost spur distance from the nearest supply-curve point to the nearest available substation.", "interpretation_hints": "Basis for levelized cost of transmission. Complements nearest_transmission_line_distance_m (a line is not an injection point). CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "wind_least_cost_interconnect_distance_m", "null_meaning": "reV supply-curve index not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["wind_siting", "storage_siting", "grid_interconnect"], "source": "NREL_REV_LANDBASED_WIND_SC_2024", "source_url": "https://data.openei.org/submissions/8314", "ttl_seconds": 31536000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "TMY-based approximation of the 0.4% cooling design wet-bulb: the 99.6th percentile of hourly wet-bulb over one NREL NSRDB GOES-TMY year, solved psychrometrically from dry-bulb + dew-point. A single typical year clips extremes, so this runs slightly cool of the true multi-year ASHRAE design value (reported at medium confidence).", "interpretation_hints": "THE variable for evaporative-cooling viability: >~25C = low evap potential (oversize towers, less water saving); low = water-side economization + lower cooling capex. TMY approximation, not the certified ASHRAE design condition.", "layer": "climate", "lifecycle": "stable", "name": "design_wet_bulb_temperature_0_4pct_degc", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": ["data_center_siting"], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "degC"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Mean annual dry-bulb air temperature from NOAA NCEI 1991-2020 gridded normals (~4.6 km). CONUS only.", "interpretation_hints": "Baseline for data-center cooling-energy and PV cell-temp derate (PV output drops ~0.3-0.5%/C above 25C). CONUS only (no AK/HI).", "layer": "climate", "lifecycle": "stable", "name": "mean_annual_dry_bulb_temperature_degc", "null_meaning": "NCEI normals raster not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["solar_siting", "data_center_siting"], "source": "NOAA_NCEI_NORMALS_GRIDDED", "source_url": "https://www.ncei.noaa.gov/products/land-based-station/us-climate-normals", "ttl_seconds": 31536000, "type": "float", "unit": "degC"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Mean annual relative humidity, the mean of the hourly RH column from the same NREL NSRDB GOES-TMY series the design wet-bulb is derived from (one fetch, one climatology, self-consistent).", "interpretation_hints": "With dry-bulb sets wet-bulb depression: low RH (arid) = excellent low-water adiabatic/evaporative cooling; high RH (humid) loses evap effectiveness.", "layer": "climate", "lifecycle": "stable", "name": "mean_annual_relative_humidity_pct", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": ["data_center_siting"], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "pct"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Mean days/yr with Tmax >= 32C (90F), from NOAA NCEI nClimGrid-Daily (~5 km) averaged across years. CONUS only.", "interpretation_hints": "Quantifies how often cooling runs at peak and PV/transformer thermal-derate days occur. CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "days_above_32c_annual_count", "null_meaning": "nClimGrid-Daily raster not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["solar_siting", "data_center_siting"], "source": "NOAA_NCEI_NCLIMGRID_DAILY", "source_url": "https://www.ncei.noaa.gov/products/land-based-station/nclimgrid-daily", "ttl_seconds": 2592000, "type": "int", "unit": "days"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Mean annual snow-cover days from the NSIDC-0791 MODIS/Terra 0.01deg snow-cover-duration climatology (WY2001-2023). CONUS only.", "interpretation_hints": "High counts (upper Midwest/Mountain West) argue steeper snow-shedding PV tilt and add winter production loss / O&M cost. MODIS-derived (the correct-definition counterpart to the intractable ~200GB raw SNODAS). CONUS only.", "layer": "climate", "lifecycle": "stable", "name": "mean_annual_snow_cover_days", "null_meaning": "MODIS snow-cover-duration climatology not bootstrapped, or outside CONUS.", "nullable": true, "presets": ["solar_siting"], "source": "NSIDC_MODIS_SNOW_COVER_DURATION", "source_url": "https://nsidc.org/data/nsidc-0791/versions/1", "ttl_seconds": 31536000, "type": "int", "unit": "days"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "ASCE 7-22 Seismic Design Category (A-F) from the USGS design-maps web service. Site class is assumed D (code default); recorded in provenance.", "interpretation_hints": "A/B minimal detailing; D/E/F require special seismic systems + equipment certification + major cost/schedule. Re-query with a real site class once geotech is known.", "layer": "hazards", "lifecycle": "stable", "name": "seismic_design_category", "null_meaning": "Outside the design-maps domain or the service fetch failed.", "nullable": true, "presets": ["natural_hazard"], "source": "USGS_DESIGNMAPS_ASCE7", "source_url": "https://earthquake.usgs.gov/ws/designmaps/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Peak ground acceleration at 2% exceedance in 50yr (~2475-yr return), firm-rock VS30=760, from the USGS 2023 NSHM. CONUS only.", "interpretation_hints": ">~0.4g flags high-cost seismic design/anchorage for racks, transformers, battery enclosures, turbine foundations; <~0.1g benign. CONUS only.", "layer": "hazards", "lifecycle": "stable", "name": "seismic_pga_2pct_50yr_g", "null_meaning": "Outside the served NSHM CONUS grid footprint or on a no-data cell, or the raster is not bootstrapped.", "nullable": true, "presets": ["natural_hazard"], "source": "USGS_NSHM", "source_url": "https://www.sciencebase.gov/catalog/item/644af897d34e45f6ddcd13b3", "ttl_seconds": 31536000, "type": "float", "unit": "g"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "ASCE 7-22 basic design wind speed (3-second gust, Risk Category II / 700-yr MRI, Exposure C) from NOAA's free CC0 mirror of the ASCE wind vectors.", "interpretation_hints": "The structural-design input for PV racking, turbine towers, and building envelopes. Banded mph. Use the free NOAA layer, not the gated ASCE tool.", "layer": "hazards", "lifecycle": "stable", "name": "design_wind_speed_mph", "null_meaning": "The point is outside the mapped ASCE wind-vector domain (offshore / out-of-coverage), or the local NOAA ASCE wind asset is missing/corrupt (or a containing band carried no usable gridcode).", "nullable": true, "presets": ["natural_hazard"], "source": "NOAA_ASCE_WIND_VECTORS", "source_url": "https://services2.arcgis.com/C8EMgrsFcRFL6LrL/arcgis/rest/services/ASCE_Wind_Vectors/FeatureServer", "ttl_seconds": 31536000, "type": "float", "unit": "mph"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annualized wildfire event frequency (events/yr) for the containing Census tract, from FEMA National Risk Index (WFIR_AFREQ).", "interpretation_hints": "A top western insurability / total-loss gate for utility PV and wind, and a data-center business-continuity input. National.", "layer": "hazards", "lifecycle": "stable", "name": "wildfire_annual_frequency", "null_meaning": "Null when the point resolves to no US Census tract, the tract is absent from the local NRI table, this frequency is not tabulated for the tract, or the live tract resolve / local table read failed.", "nullable": true, "presets": ["natural_hazard"], "source": "FEMA_NRI", "source_url": "https://hazards.fema.gov/nri/", "ttl_seconds": 2592000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annualized tornado event frequency (events/yr) for the containing Census tract, from FEMA NRI (TRND_AFREQ).", "interpretation_hints": "Ranks Tornado Alley vs low-risk basins; informs hardened-enclosure / impact glazing.", "layer": "hazards", "lifecycle": "stable", "name": "tornado_annual_frequency", "null_meaning": "Null when the point resolves to no US Census tract, the tract is absent from the local NRI table, this frequency is not tabulated for the tract, or the live tract resolve / local table read failed.", "nullable": true, "presets": ["natural_hazard"], "source": "FEMA_NRI", "source_url": "https://hazards.fema.gov/nri/", "ttl_seconds": 2592000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annualized hail event frequency (events/yr) for the containing Census tract, from FEMA NRI (HAIL_AFREQ).", "interpretation_hints": "Hail is the single largest utility-PV insurance-loss cause; drives module hail-rating (stow-capable trackers, glass thickness) and insurer pricing.", "layer": "hazards", "lifecycle": "stable", "name": "hail_annual_frequency", "null_meaning": "Null when the point resolves to no US Census tract, the tract is absent from the local NRI table, this frequency is not tabulated for the tract, or the live tract resolve / local table read failed.", "nullable": true, "presets": ["natural_hazard"], "source": "FEMA_NRI", "source_url": "https://hazards.fema.gov/nri/", "ttl_seconds": 2592000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Estimated lightning days per year for the containing Census tract, from FEMA NRI (LTNG_AFREQ; days/yr, not flash count).", "interpretation_hints": "Drives surge-protection, grounding, and inverter/transformer transient-protection scope.", "layer": "hazards", "lifecycle": "stable", "name": "lightning_annual_flash_days", "null_meaning": "Null when the point resolves to no US Census tract, the tract is absent from the local NRI table, this frequency is not tabulated for the tract, or the live tract resolve / local table read failed.", "nullable": true, "presets": ["natural_hazard"], "source": "FEMA_NRI", "source_url": "https://hazards.fema.gov/nri/", "ttl_seconds": 2592000, "type": "float", "unit": "days"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USGS Slope-Relief-Threshold landslide susceptibility (0-81 = count of susceptible 10 m cells in the 90 m cell). National.", "interpretation_hints": "High values trigger geotech investigation for foundations / access roads / buried interconnect on slopes. Complements slope_degrees (modeled failure, not just steepness).", "layer": "hazards", "lifecycle": "stable", "name": "landslide_susceptibility_index", "null_meaning": "Outside the served CONUS + Puerto Rico envelope or a no-data cell, or the raster is not bootstrapped.", "nullable": true, "presets": ["natural_hazard"], "source": "USGS_LANDSLIDE_SUSCEPTIBILITY", "source_url": "https://www.sciencebase.gov/catalog/item/65ccea5bd34ef4b119cb3bac", "ttl_seconds": 31536000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Straight-line distance to the nearest dam in the USACE National Inventory of Dams, searched within a 10 km screening band.", "interpretation_hints": "Proximity is a screening signal, not inundation exposure \u2014 flow direction and topography decide that; request the dam's EAP/inundation map via the state dam-safety office. Combine with nearest_dam_hazard_potential and the flood-zone fields.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_dam_distance_m", "null_meaning": "No NID dam within 10 km (a semantic absence), or the local index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["data_center_siting", "natural_hazard"], "source": "USACE_NID", "source_url": "https://nid.sec.usace.army.mil/", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USACE hazard-potential class of the nearest NID dam (High / Significant / Low / Undetermined).", "interpretation_hints": "A consequence-of-failure class (High = probable loss of life if the dam failed) \u2014 NOT a condition or failure-probability rating; many dams' condition assessments are access-restricted. High/Significant nearby \u2192 ask for the Emergency Action Plan.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_dam_hazard_potential", "null_meaning": "No NID dam within 10 km, or the nearest dam's hazard class is blank in source; a failed read means the local index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["data_center_siting", "natural_hazard"], "source": "USACE_NID", "source_url": "https://nid.sec.usace.army.mil/", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of High hazard-potential NID dams within 10 km of the point.", "interpretation_hints": "A floor \u2014 small dams below the NID inventory threshold are not counted. Zero High-hazard dams does not mean zero dams; see nearest_dam_distance_m.", "layer": "hazards", "lifecycle": "stable", "name": "high_hazard_dams_within_10km", "null_meaning": "The local index is unavailable (bootstrap-pending); a successful empty radius returns 0.", "nullable": true, "presets": ["data_center_siting", "natural_hazard"], "source": "USACE_NID", "source_url": "https://nid.sec.usace.army.mil/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the nearest EPA Risk Management Program (RMP) facility geocode in the Facility Registry Service, searched within 10 km.", "interpretation_hints": "RMP registration means regulated chemicals on site \u2014 read it as 'check what this facility is', never as danger. Explosives were delisted from RMP in 1998 and ammonium nitrate is not listed, so the worst neighbor may be absent; FRS also retains ever-registered (possibly closed) facilities and geocode accuracy varies. Combine with nearest_hazardous_facility_name.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_hazardous_facility_distance_m", "null_meaning": "No RMP facility within 10 km, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_FRS_RMP", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "EPA FRS primary name of the nearest RMP-registered facility (upstream casing preserved).", "interpretation_hints": "The name is the lead for due diligence \u2014 look the facility up before characterizing it; the registry says a regulated process exists, not what condition it is in. Combine with nearest_hazardous_facility_distance_m.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_hazardous_facility_name", "null_meaning": "No RMP facility within 10 km, the nearest facility carries no usable name, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_FRS_RMP", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "2020 Census housing units across blocks intersecting a 1 km band around the point (TIGERweb tabblock HU100; edge blocks counted whole).", "interpretation_hints": "A community-pushback exposure proxy, not sentiment. 2020 vintage \u2014 post-2020 construction is absent, which understates exactly the fast-growing exurban areas; edge-block whole-counting biases high. Combine with housing_units_density_per_km2.", "layer": "hazards", "lifecycle": "stable", "name": "housing_units_within_1km", "null_meaning": "Point outside US Census block coverage (not tagged as tabulated US territory), or the query failed. A successful in-coverage empty band returns 0.", "nullable": true, "presets": ["site_selection", "solar_siting", "wind_siting", "data_center_siting"], "source": "CENSUS_TIGERWEB", "source_url": "https://tigerweb.geo.census.gov/arcgisweb/", "ttl_seconds": 31536000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Housing units per km2 of block land area within the 1 km band (water excluded from the denominator), from 2020 Census blocks.", "interpretation_hints": "Anchors: Census urban criteria ~164 units/km2 (assume organized pushback); rural <6.2, exurban 6.2-147, suburban 147-1,000, urban >1,000 (Theobald bands). A pushback-exposure proxy on 2020 data, not sentiment. Combine with housing_units_within_1km and nearest_urban_area_distance_m.", "layer": "hazards", "lifecycle": "stable", "name": "housing_units_density_per_km2", "null_meaning": "All intersecting blocks are water-only (no land area in the band), the point is outside US Census block coverage, or the query failed.", "nullable": true, "presets": ["solar_siting", "wind_siting", "data_center_siting"], "source": "CENSUS_TIGERWEB", "source_url": "https://tigerweb.geo.census.gov/arcgisweb/", "ttl_seconds": 31536000, "type": "float", "unit": "units/km2"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Great-circle distance to the nearest electric substation (EIA Atlas, >=69kV layer), the physical interconnection injection point.", "interpretation_hints": "Interconnection cost scales with gen-tie/feeder distance: within a few km is materially cheaper/faster; >10-20km often kills a site. A substation is the injection point \u2014 complements nearest_transmission_line_distance_m (a line is not).", "layer": "utilities", "lifecycle": "stable", "name": "nearest_substation_distance_m", "null_meaning": "No substation within the search radius, or the local substation index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["storage_siting", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Maximum voltage (MAX_VOLT) of the nearest electric substation, from EIA Atlas.", "interpretation_hints": "Higher (230/345/500 vs 69/115) signals more headroom to absorb large gen/load; a 69kV-only station may be too weak for 200MW+.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_substation_max_voltage_kv", "null_meaning": "No substation within radius, voltage not published, or the local substation index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["storage_siting", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "kV"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operational status of the nearest substation (e.g. IN SERVICE / UNDER CONST / PROPOSED / NOT AVAILABLE), from EIA Atlas.", "interpretation_hints": "Confirms the nearby substation is energized/usable vs retired/planned.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_substation_status", "null_meaning": "No substation within radius, status not published, or the local substation index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["storage_siting", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the retail electric utility whose service territory contains the point. First routing key for interconnection / PPA / tariff.", "interpretation_hints": "The containing retail-service-territory polygon (DataLumos Electric Retail Service Territories, reduced from the HIFLD/EIA Atlas layer). Identifies the utility to approach for interconnection / PPA / tariff. Territories can overlap for two different reasons and the answer is resolved accordingly: where a retail muni genuinely NESTS inside a broader wholesale coop footprint, the innermost polygon is reported at high confidence, since it really is the direct retail provider. Where the overlap is instead a boundary-digitization defect (the source fills in municipal enclaves rather than cutting holes for them), a municipal utility claiming a point in a DIFFERENT city is not used, and any answer that cannot be confirmed is returned at reduced confidence with the competing utility named in the notes \u2014 so treat a non-high confidence here as \"confirm with the utility\".", "layer": "utilities", "lifecycle": "stable", "name": "electric_utility_service_territory", "null_meaning": "The point falls outside every mapped retail service territory, or the local service-territory index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["storage_siting", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://doi.org/10.3886/E239091V2", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Most-recent industrial-sector average retail electricity price for the area (EIA; state-level, refinable to utility once territory is known).", "interpretation_hints": "Dominant data-center opex and a storage-arbitrage input; sub-cent moves siting between low-cost WA/ID and high-cost CA/New England. State aggregate (areal).", "layer": "utilities", "lifecycle": "stable", "name": "avg_retail_electricity_price_industrial_usd_per_kwh", "null_meaning": "Point did not resolve to a U.S. state, or the state is not in the local EIA price table (served from a local per-state table; no API key).", "nullable": true, "presets": ["storage_siting", "data_center_siting"], "source": "EIA_ELEC_SALES_REVENUE_PRICE", "source_url": "https://www.eia.gov/electricity/sales_revenue_price/", "ttl_seconds": 2592000, "type": "float", "unit": "USD/kWh"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "EPA eGRID subregion code (e.g. RFCW, CAMX, ERCT) whose polygon contains the point.", "interpretation_hints": "Standard key for Scope-2 location-based emissions accounting and clean-energy procurement. Boundaries are approximate; near-boundary points may differ from the serving utility.", "layer": "utilities", "lifecycle": "stable", "name": "egrid_subregion", "null_meaning": "Point falls outside any mapped eGRID subregion (semantic absence), or FAILED if the local eGRID asset is missing or corrupt.", "nullable": true, "presets": ["data_center_siting", "grid_interconnect"], "source": "EPA_EGRID", "source_url": "https://www.epa.gov/egrid/egrid-mapping-files", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual total-output CO2e rate of the containing eGRID subregion (EPA eGRID).", "interpretation_hints": "Carbon intensity of the local grid is an underwriting/ESG gate for 24/7-CFE data centers and a storage-arbitrage signal. Subregion aggregate.", "layer": "utilities", "lifecycle": "stable", "name": "egrid_co2_output_rate_kg_per_mwh", "null_meaning": "Point outside any eGRID subregion or no eGRID CO2 rate tabulated for the subregion (semantic absence), or FAILED if the local eGRID asset is missing or corrupt.", "nullable": true, "presets": ["storage_siting", "data_center_siting"], "source": "EPA_EGRID", "source_url": "https://www.epa.gov/egrid/egrid-mapping-files", "ttl_seconds": 2592000, "type": "float", "unit": "kgCO2e/MWh"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total nameplate MW of active-queue generation/storage projects in the containing county (LBNL 'Queued Up', keyed by county FIPS).", "interpretation_hints": "Heavy active queue = constrained headroom + study-delay risk; low queue near strong transmission = green-field signal. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_county_mw", "null_meaning": "No active interconnection-queue project in this county, or the dataset is not bootstrapped.", "nullable": true, "presets": ["storage_siting", "data_center_siting", "grid_interconnect"], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the nearest proposed / under-construction generator (EIA-860M Planned tab). Existing power-plant fields cover operating plants only.", "interpretation_hints": "A nearby planned unit reveals future injection competing for \u2014 or adding \u2014 interconnect headroom. Plant-level point.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_proposed_generator_distance_m", "null_meaning": "No EIA-860M planned generator within 100 km, or the index is not bootstrapped.", "nullable": true, "presets": ["storage_siting", "grid_interconnect"], "source": "EIA_860M", "source_url": "https://www.eia.gov/electricity/data/eia860m/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USGS surface-water supply-and-use index (0 = no limitation to 1 = total local depletion) for the containing HUC12 watershed.", "interpretation_hints": "Federal public counterpart to commercial water-risk indices; high SUI flags watersheds where consumptive use approaches supply (permitting/curtailment risk). Lower-48.", "layer": "utilities", "lifecycle": "stable", "name": "surface_water_supply_use_index_huc12", "null_meaning": "No IWAA record for the point's HUC12 (outside CONUS coverage), or the index is not bootstrapped.", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_IWAA_WATER_BUDGET", "source_url": "https://www.sciencebase.gov/catalog/item/6685ad6bd34e10615ec29864", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Population served by the EPA community water system whose service-area polygon contains the point.", "interpretation_hints": "A large CWS more plausibly has headroom for a water-cooled DC's makeup demand; tiny/no CWS means costly self-supply. Complements nearest_public_water_system_name. This is SDWIS \"average daily population served\", self-reported and lagging, so it can change between EPA editions for an unchanged boundary. The boundary that selected this system may be ML-modeled \u2014 check water_service_area_provenance.", "layer": "utilities", "lifecycle": "stable", "name": "public_water_system_population_served", "null_meaning": "No EPA community water system polygon contains the point, the containing system's population-served value is blank or a non-positive placeholder in source, or the local CWS index is unreadable.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_CWS_SERVICE_AREAS", "source_url": "https://www.epa.gov/waterdata", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Existing freshwater thermoelectric consumptive use summed in the containing HUC12, latest full year 2020 (USGS 2008-2020 reanalysis).", "interpretation_hints": "Quantifies competing heavy water demand a water-cooled DC would contend with; high in-watershed use signals tighter permitting. Overlaps the SUI signal \u2014 secondary.", "layer": "utilities", "lifecycle": "stable", "name": "huc12_thermoelectric_consumptive_use_m3_per_day", "null_meaning": "No thermoelectric power plant in the containing HUC12 (semantic absence), or the dataset is not bootstrapped.", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_THERMOELECTRIC_WATER_USE", "source_url": "https://www.sciencebase.gov/catalog/item/63adc826d34e92aad3ca5af4", "ttl_seconds": 31536000, "type": "float", "unit": "m3/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Depth to water at the nearest USGS NWIS groundwater well (param 72019). Sparse / often a historical reading \u2014 use as a coarse indicator.", "interpretation_hints": "Shallow depth = easier/cheaper on-site wells and reliable cooling makeup; deep/declining = aquifer stress, high pumping cost. Sparse coverage \u2014 secondary signal.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_groundwater_well_depth_to_water_m", "null_meaning": "No NWIS groundwater well with depth data near the point, or the NWIS OGC fetch failed.", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_NWIS_OGC", "source_url": "https://api.waterdata.usgs.gov/ogcapi/v0/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of distinct ISPs reporting Fiber-to-the-Premises (FTTP) mass-market availability in the FCC BDC H3 res-8 hexagon containing the point (live ArcGIS Living Atlas mirror).", "interpretation_hints": "A reported-availability floor for consumer/small-business fiber, NOT carrier-grade or dark fiber, lit buildings, long-haul routes, or interconnection \u2014 a colo site's real fiber question needs a carrier list / a fiber-route map. 0 is a genuine screening red flag (no reported fiber); a higher count is more market activity, not a better interconnect site. BDC over-reports (10-business-day rule). Combine with nearest_urban_area_distance_m. For long-haul/carrier interconnection (NOT mass-market FTTP), see nearest_long_haul_rail_corridor_distance_m + nearest_submarine_cable_distance_m + nearest_gas_pipeline_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "fiber_provider_count", "null_meaning": "No BDC broadband-serviceable locations in the hex, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "FCC_BDC_FIXED", "source_url": "https://broadbandmap.fcc.gov/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Whether >=1 ISP reports fiber (FTTP) mass-market availability in the FCC BDC H3 res-8 hexagon containing the point (live ArcGIS Living Atlas mirror).", "interpretation_hints": "Whether reported consumer FTTP exists at the point (mass-market, reported not installed). False is a real red flag for fiber-dependent uses; True is an availability floor, NOT an interconnect-ecosystem signal \u2014 confirm carriers and route diversity directly. Combine with fiber_provider_count. For long-haul/carrier interconnection (NOT mass-market FTTP), see nearest_long_haul_rail_corridor_distance_m + nearest_submarine_cable_distance_m + nearest_gas_pipeline_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "fiber_broadband_available", "null_meaning": "No BDC broadband-serviceable locations in the hex, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "FCC_BDC_FIXED", "source_url": "https://broadbandmap.fcc.gov/", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Best modeled 5G-NR coverage tier whose polygon contains the point (FCC BDC mobile, max across carriers).", "interpretation_hints": "Matters for out-of-band management and construction-phase comms at remote greenfield sites. Carrier self-reported (known to overstate).", "layer": "utilities", "lifecycle": "stable", "name": "mobile_5g_coverage_class", "null_meaning": "No modeled 5G-NR coverage at the point, or the FCC BDC mobile fetch failed.", "nullable": true, "presets": ["data_center_siting"], "source": "FCC_BDC_MOBILE", "source_url": "https://broadbandmap.fcc.gov/data-download", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Straight-line distance to the nearest 2020 Census Urban Area boundary (0 if inside an urban area).", "interpretation_hints": "Federally-defensible proxy for nearness to telecom aggregation / fiber meet-me density / lower-latency peering / labor \u2014 the public substitute for commercial IXP/metro datasets.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_urban_area_distance_m", "null_meaning": "No Census urban area within the search radius.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "CENSUS_TIGER_URBAN", "source_url": "https://www.census.gov/programs-surveys/geography.html", "ttl_seconds": 31536000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Federal surface-managing agency of the containing parcel (BLM/USFS/NPS/FWS/DOD/BOR/BIA/OTHER_FEDERAL/STATE/PRIVATE_OR_UNKNOWN), from the BLM SMA layer.", "interpretation_hints": "Determines the permitting regime: BLM/USFS need federal ROW + NEPA, DOD is a non-starter, private follows local zoning. Complements PAD-US manager.", "layer": "parcels", "lifecycle": "stable", "name": "surface_management_agency", "null_meaning": "No SMA polygon at the point or the BLM service fetch failed.", "nullable": true, "presets": ["solar_siting", "wind_siting", "storage_siting", "data_center_siting"], "source": "BLM_SMA", "source_url": "https://gis.blm.gov/arcgis/rest/services/lands/BLM_Natl_SMA_Cached_with_PriUnk/MapServer", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FAA Special Use Airspace containing the point (moa / restricted / prohibited / warning / alert / none; most-restrictive when multiple).", "interpretation_hints": "MOAs/restricted areas are a primary cause of FAA/DOD obstruction objections that kill tall wind turbines/met towers; near-certain DOD Siting Clearinghouse review.", "layer": "parcels", "lifecycle": "stable", "name": "special_use_airspace_type", "null_meaning": "Local FAA SUA asset missing or corrupt (none = no special-use airspace at the point).", "nullable": true, "presets": ["wind_siting"], "source": "FAA_SUA", "source_url": "https://www.faa.gov/air_traffic/flight_info/aeronav", "ttl_seconds": 604800, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "2024 Western Solar Plan ROD (Approved Plan) land status of the point on BLM land (available / avoidance / excluded / other / drecp_cdca / western_washington / not_blm_solar_planning_area).", "interpretation_hints": "From the signed 2024 ROD (Approved Plan). 'available' (~31M ac, 11 western states) is open for a utility-scale solar ROW application; 'excluded' (~131M ac) is off-limits; 'avoidance' is discouraged/avoided (a soft constraint, NOT the same as available); 'drecp_cdca' lies within the CA DRECP/CDCA and is governed by that plan; 'other' is a ROD residual category; 'western_washington' is a WA-specific designation. First-order go/no-go for federal-land solar.", "layer": "parcels", "lifecycle": "stable", "name": "blm_solar_application_land_status", "null_meaning": "Served from a local GeoPackage mirror of the 2024 ROD Approved-Plan layer (data/blm_solar_peis.gpkg, synced from GCS at boot). Off-BLM-land returns not_blm_solar_planning_area, not null; null only when the local asset is missing/corrupt/unsynced on the serving machine.", "nullable": true, "presets": ["solar_siting"], "source": "BLM_SOLAR_PEIS_2024", "source_url": "https://catalog.data.gov/dataset/blm-national-final-solar-peis", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USFWS predicted relative golden-eagle nest-site density (0-1) at the point. Western US only; null elsewhere by design.", "interpretation_hints": "Golden-eagle take is the single largest avian permitting/litigation risk for western wind; high density signals likely eagle-take-permit, fatality monitoring, curtailment.", "layer": "parcels", "lifecycle": "stable", "name": "golden_eagle_nest_density_index", "null_meaning": "USFWS golden-eagle raster not bootstrapped, or outside the modeled western US.", "nullable": true, "presets": ["wind_siting"], "source": "USFWS_GOEA_RND", "source_url": "https://www.fws.gov/program/eagle-management", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the nearest existing wind turbine (USGS/LBNL US Wind Turbine Database).", "interpretation_hints": "Signals a proven-buildable wind regime, interconnection/permitting precedent, and possible repowering adjacency; also flags wake/competition. National incl. offshore.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_wind_turbine_distance_m", "null_meaning": "No USWTDB wind turbine within the search radius of the point.", "nullable": true, "presets": ["wind_siting"], "source": "USWTDB", "source_url": "https://energy.usgs.gov/uswtdb/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Hub height of the nearest USWTDB turbine.", "interpretation_hints": "Reveals the turbine class developers found economic in this exact wind regime.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_wind_turbine_hub_height_m", "null_meaning": "No USWTDB turbine within radius, or hub height not recorded for the nearest turbine.", "nullable": true, "presets": ["wind_siting"], "source": "USWTDB", "source_url": "https://energy.usgs.gov/uswtdb/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total tip height of the nearest USWTDB turbine.", "interpretation_hints": "Proxy for whether the area permits modern tall (150m+) machines or is FAA/radar/ordinance-constrained to shorter units.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_wind_turbine_total_height_m", "null_meaning": "No USWTDB turbine within radius, or tip height not recorded for the nearest turbine.", "nullable": true, "presets": ["wind_siting"], "source": "USWTDB", "source_url": "https://energy.usgs.gov/uswtdb/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Nameplate capacity of the project containing the nearest USWTDB turbine.", "interpretation_hints": "Project scale indicates how much nearby transmission headroom may already be consumed; names the incumbent comparable.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_wind_project_capacity_mw", "null_meaning": "No USWTDB wind turbine within the search radius of the point.", "nullable": true, "presets": ["wind_siting"], "source": "USWTDB", "source_url": "https://energy.usgs.gov/uswtdb/", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the centroid of the nearest operating utility-scale (>=1MW) ground-mount PV facility (USGS USPVDB; the source carries facility centroids, not footprint polygons).", "interpretation_hints": "Proxy for resource quality, permittability, and co-location/PPA opportunity; a nearby cluster signals the area already cleared interconnect/land-use/grid hurdles.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_utility_solar_facility_distance_m", "null_meaning": "No USPVDB utility-scale solar facility within the search radius of the point.", "nullable": true, "presets": ["solar_siting", "storage_siting"], "source": "USPVDB", "source_url": "https://energy.usgs.gov/uspvdb/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "AC nameplate capacity of the nearest utility-scale PV facility (USPVDB).", "interpretation_hints": "A 300MW neighbor implies far more interconnection headroom and policy acceptance than a single 1MW array.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_utility_solar_facility_capacity_mw", "null_meaning": "No USPVDB utility-scale solar facility within the search radius of the point.", "nullable": true, "presets": ["solar_siting"], "source": "USPVDB", "source_url": "https://energy.usgs.gov/uspvdb/", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the nearest EPA RE-Powering screened contaminated/disturbed site (brownfield, landfill, mine), from the 2021 RE-Powering Mapper dataset (~190k sites).", "interpretation_hints": "Siting on/near one can unlock IRA brownfield/energy-community tax adders, faster local acceptance, and avoids greenfield conversion.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_repowering_site_distance_m", "null_meaning": "No EPA RE-Powering screened site within the search radius, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "solar_siting", "wind_siting", "data_center_siting"], "source": "EPA_REPOWERING", "source_url": "https://www.epa.gov/re-powering", "ttl_seconds": 31536000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Expansive-soil class (Low / Moderate / High / Very High) of the dominant component, derived from SSURGO linear extensibility (lep_r) via Soil Data Access.", "interpretation_hints": "Expansive clays cause differential foundation movement and slab cracking \u2014 a major cost driver for DC slabs, transformer pads, and ballasted PV/battery foundations. High/Very High flags engineered foundations.", "layer": "terrain", "lifecycle": "stable", "name": "soil_shrink_swell_class", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or lep_r not populated.", "nullable": true, "presets": ["data_center_siting", "natural_hazard"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "SSURGO farmland classification collapsed to an enum (prime / prime_if_conditions_met / statewide_importance / unique / local_importance / not_prime).", "interpretation_hints": "Prime/statewide-important status triggers Farmland Protection Policy Act review for federally-assisted projects and is the most common local-ordinance basis for blocking utility-scale solar on ag land \u2014 a leading community-opposition driver.", "layer": "terrain", "lifecycle": "stable", "name": "prime_farmland_classification", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or farmland class not populated.", "nullable": true, "presets": ["solar_siting", "wind_siting", "storage_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Most-recent monthly city-gate natural-gas price for the state (EIA natural-gas/pri/sum, process PG1; latest non-null month).", "interpretation_hints": "Natural gas is a top data-center siting driver \u2014 on-site or nearby gas generation hedges grid-interconnection delay. City-gate is the delivered wholesale price into the local distribution system. State aggregate (areal).", "layer": "utilities", "lifecycle": "stable", "name": "natural_gas_citygate_price_usd_per_mcf", "null_meaning": "Point did not resolve to a U.S. state, or no published city-gate value for the state in the local EIA table (served from a local per-state table; no API key).", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_NATURAL_GAS_PRICES", "source_url": "https://www.eia.gov/dnav/ng/ng_pri_sum_dcu_nus_m.htm", "ttl_seconds": 2592000, "type": "float", "unit": "USD/MCF"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Most-recent monthly industrial natural-gas price for the state (EIA natural-gas/pri/sum, process PIN; latest non-null month).", "interpretation_hints": "The price a large industrial gas consumer (e.g. a data-center co-located gas plant) actually pays; cheaper than residential/commercial and the relevant figure for on-site generation economics. State aggregate (areal).", "layer": "utilities", "lifecycle": "stable", "name": "natural_gas_industrial_price_usd_per_mcf", "null_meaning": "Point did not resolve to a U.S. state, or no published industrial value for the state in the local EIA table (served from a local per-state table; no API key).", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_NATURAL_GAS_PRICES", "source_url": "https://www.eia.gov/dnav/ng/ng_pri_sum_dcu_nus_m.htm", "ttl_seconds": 2592000, "type": "float", "unit": "USD/MCF"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Whether the point falls within a mapped EIA tight-oil / shale-gas play polygon (Lower-48; point-in-polygon).", "interpretation_hints": "Being inside a shale play is a proxy for cheap, abundant local natural gas \u2014 the dominant data-center siting driver for behind-the-meter gas generation. Lower-48 only; AK/HI resolve to False (out of coverage).", "layer": "utilities", "lifecycle": "stable", "name": "in_shale_play", "null_meaning": "The False value is a concrete answer; null (FAILED) only if the local shale-plays asset is missing or corrupt.", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_SHALE_PLAYS", "source_url": "https://www.eia.gov/maps/map_data_US.php", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the primary (largest-area) shale play containing the point; stacked plays are noted in provenance. Absent if not in any play.", "interpretation_hints": "Identifies the specific resource (e.g. Spraberry, Wolfcamp, Marcellus) so gas-supply economics can be assessed per basin. Plays stack vertically; the largest-area containing play is the primary.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_shale_play_name", "null_meaning": "Point not in any mapped shale play (semantic absence), or FAILED if the local shale-plays asset is missing or corrupt.", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_SHALE_PLAYS", "source_url": "https://www.eia.gov/maps/map_data_US.php", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the USGS sedimentary basin containing the point (point-in-polygon; the clean single-basin \"name\" label). Absent if not in any mapped basin.", "interpretation_hints": "A sedimentary basin is the geologic container for oil/gas resources; pairing it with the shale play and gas-price context grounds the natural-gas siting picture. Coverage includes AK and HI.", "layer": "utilities", "lifecycle": "stable", "name": "sedimentary_basin_name", "null_meaning": "Point not in any mapped USGS sedimentary basin (semantic absence), or the local basins asset is unavailable (bootstrap-pending).", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_SEDIMENTARY_BASINS", "source_url": "https://doi.org/10.5066/P9D94P21", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest natural-gas compressor station (HIFLD/EIA point layer; nearest within 200 km).", "interpretation_hints": "Compressor stations mark major pipeline corridors with deliverable gas volume \u2014 proximity is a strong on-site-generation feasibility signal. ~2015 vintage \u2014 the only public national compressor dataset (HIFLD portal decommissioned in 2025).", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_compressor_distance_m", "null_meaning": "No compressor station within 200 km (semantic absence), or the local HIFLD/EIA compressor gpkg was unavailable.", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_GAS_INFRASTRUCTURE", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest underground natural-gas storage facility (HIFLD/EIA point layer; nearest within 200 km).", "interpretation_hints": "Gas storage buffers seasonal/peak demand and stabilizes supply for a co-located gas plant \u2014 proximity reduces fuel-delivery risk. EIA-191 underground storage, as of Dec 2022.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_storage_distance_m", "null_meaning": "No gas storage facility within 200 km (semantic absence), or the local HIFLD/EIA storage gpkg was unavailable.", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_GAS_INFRASTRUCTURE", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest LNG import/export terminal, EXISTING OR PROPOSED/APPROVED (HIFLD/EIA point layer, sourced from FERC's existing-and-proposed terminal layer; nearest within 200 km). A proposed terminal may not yet be built \u2014 confirm current status with the operator/FERC.", "interpretation_hints": "LNG terminals signal large-scale gas export demand competing for the same supply \u2014 a siting consideration near the Gulf Coast. FERC layer; terminal locations current through 2024 approvals, operational status as of Dec 2022 \u2014 confirm current status with operator/FERC.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_lng_terminal_distance_m", "null_meaning": "No existing or proposed LNG terminal within 200 km (semantic absence), or the local HIFLD/EIA/FERC LNG-terminal gpkg was unavailable.", "nullable": true, "presets": ["data_center_siting"], "source": "EIA_GAS_INFRASTRUCTURE", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "US Drought Monitor category at the point (D0 Abnormally Dry .. D4 Exceptional), the MAX class of the severity-nested dissolved USDM polygons containing the point. Null = point in no drought polygon (better than D0).", "interpretation_hints": "Water-availability / curtailment risk for evaporative and once-through data-center cooling, and a drought-stress signal for nearby hydro/thermal generation. D3/D4 flag elevated water-restriction exposure.", "layer": "climate", "lifecycle": "stable", "name": "drought_category", "null_meaning": "Point falls in no USDM drought polygon (not in drought / better than D0); or the local read failed / the current-week snapshot is stale (>21 days old, a broken weekly refresh), in which case the null is failure-shaped.", "nullable": true, "presets": ["data_center_siting"], "source": "USDM_CURRENT", "source_url": "https://droughtmonitor.unl.edu/", "ttl_seconds": 604800, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside a designated Qualified Opportunity Zone (QOZ) census tract; False if it does not.", "interpretation_hints": "A QOZ is a census tract designated under the 2017 Tax Cuts & Jobs Act where investors get federal capital-gains tax incentives (deferral and step-up). A real financial signal for data-center siting \u2014 capital-intensive builds in a QOZ can qualify an investment vehicle for those incentives. Membership is binary and always determinable, so False is a definitive negative, never \"unknown\". This is OZ 1.0 (in force through 2028); an OZ 2.0 map is expected ~2027 and will change the designated set. Designation alone is NOT a permit, entitlement, or guarantee of any tax benefit \u2014 the benefit depends on the investment structure.", "layer": "built_environment", "lifecycle": "stable", "name": "in_opportunity_zone", "null_meaning": null, "nullable": false, "presets": ["site_selection", "data_center_siting"], "source": "HUD_OPPORTUNITY_ZONES", "source_url": "https://opportunityzones.hud.gov/", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "The 11-character GEOID10 census-tract code of the designated Opportunity Zone containing the point (null when the point is not in any OZ).", "interpretation_hints": "GEOID10 is the 11-char 2010-vintage census-tract FIPS code (2-digit state + 3-digit county + 6-digit tract). It is a STRING \u2014 leading zeros are significant; never parse it as an integer. Use it to join the point to tract-level demographics or to cite the specific designated tract. Null means the point is not in any designated QOZ (read in_opportunity_zone for the definitive membership boolean).", "layer": "built_environment", "lifecycle": "stable", "name": "opportunity_zone_tract_geoid", "null_meaning": "The point does not fall inside any designated Opportunity Zone tract.", "nullable": true, "presets": ["data_center_siting"], "source": "HUD_OPPORTUNITY_ZONES", "source_url": "https://opportunityzones.hud.gov/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the point falls in any current EPA NAAQS nonattainment area (ozone / PM2.5 / PM10 / CO / SO2 / NO2 / lead).", "interpretation_hints": "A nonattainment designation triggers stricter New Source Review / emission-offset permitting for combustion equipment \u2014 directly raises the permitting cost and timeline for on-site gas generation and backup diesel at a data center. Maintenance and attainment areas do not set the flag.", "layer": "hazards", "lifecycle": "stable", "name": "in_air_quality_nonattainment", "null_meaning": "The local EPA Green Book nonattainment gpkg read failed (missing/corrupt/unsynced asset); a successful no-area result is False, not null.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_GREEN_BOOK", "source_url": "https://www.epa.gov/green-book", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Comma-joined distinct pollutant names for which the point is in a nonattainment area (e.g. \"Ozone (2015),PM2.5 (2012)\").", "interpretation_hints": "Identifies which criteria pollutants drive the permitting constraint \u2014 ozone nonattainment in particular gates NOx-emitting turbines and engines. Empty when the point is in no nonattainment area.", "layer": "hazards", "lifecycle": "stable", "name": "air_quality_nonattainment_pollutants", "null_meaning": "Point is in no nonattainment area, or the local Green Book gpkg read failed.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_GREEN_BOOK", "source_url": "https://www.epa.gov/green-book", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Worst NONATTAINMENT classification across ALL classified pollutants at the point \u2014 ozone, CO, AND PM10/PM2.5, not just ozone/CO (Extreme > Severe > Serious > Moderate > Marginal). Blank for lead/SO2/NO2 (which EPA never classifies) and for maintenance-only points \u2014 this field collects classifications from NONATTAINMENT matches only, so a point whose classified areas are all Maintenance reads blank here even though those areas carry a published classification. For a single pollutant's own classification (not this cross-pollutant max), and for maintenance classifications, use air_quality_<pollutant>_classification instead (e.g. air_quality_ozone_classification, air_quality_pm25_classification).", "interpretation_hints": "Higher classifications carry progressively stricter offset ratios and lower major-source thresholds, escalating air-permit burden for on-site generation. This field maxes across ALL of a point's classified NONATTAINMENT pollutants, so it can pair an Extreme ozone classification with an unrelated Serious PM2.5 designation \u2014 read air_quality_ozone_classification / air_quality_pm25_classification / air_quality_pm10_classification / air_quality_co_classification for a single pollutant's own number. Two blanks that are NOT \"unclassified\" \u2014 lead, SO2 and NO2 are never classified by EPA, and a maintenance-only point is blank here because only nonattainment matches are collected. Every current CO area nationwide is Maintenance, so a CO classification never reaches this field at all \u2014 read air_quality_co_classification for it.", "layer": "hazards", "lifecycle": "stable", "name": "air_quality_worst_classification", "null_meaning": "No classified pollutant (ozone/CO/PM) has a NONATTAINMENT designation at the point, or the local Green Book gpkg read failed. A maintenance-only point is also blank \u2014 read air_quality_<pollutant>_classification for those.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_GREEN_BOOK", "source_url": "https://www.epa.gov/green-book", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Straight-line distance to the nearest EPA ACRES brownfield site within an 8 km screening band (EPA Facility Registry Service).", "interpretation_hints": "Brownfield reuse can unlock cleanup grants and pre-disturbed, grid-adjacent land attractive for data-center siting, but also signals legacy contamination requiring due diligence. A screening proximity signal, not a contamination-exposure assessment.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_brownfield_distance_m", "null_meaning": "No ACRES brownfield within 8 km, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_ACRES", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of EPA ACRES brownfield sites within 8 km of the point.", "interpretation_hints": "A density signal for legacy-industrial land availability and redevelopment activity nearby. An exact count within the 8 km band from the local EPA FRS mirror; zero means none within the band, not none in the area.", "layer": "hazards", "lifecycle": "stable", "name": "brownfields_within_radius_count", "null_meaning": "The local index is unavailable (bootstrap-pending / corrupt asset); a successful empty radius returns 0.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_ACRES", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Straight-line distance to the nearest EPA SEMS Superfund-inventory site within an 8 km screening band (EPA Facility Registry Service).", "interpretation_hints": "SEMS is the full Superfund inventory (assessment + NPL), not NPL-listed sites only \u2014 proximity is a contamination / liability due-diligence flag, not a measure of on-site exposure. Pair with the NPL boundary layers if listed-status is needed.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_superfund_distance_m", "null_meaning": "No SEMS Superfund site within 8 km, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_SEMS", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of EPA SEMS Superfund-inventory sites within 8 km of the point.", "interpretation_hints": "A density signal for legacy contamination liability nearby. An exact count within the 8 km band from the local EPA FRS mirror; zero means none within the band, not none in the area. SEMS includes assessment/archived sites, not only active NPL.", "layer": "hazards", "lifecycle": "stable", "name": "superfund_sites_within_radius_count", "null_meaning": "The local index is unavailable (bootstrap-pending / corrupt asset); a successful empty radius returns 0.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_SEMS", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the California air district (CARB) whose boundary contains the point (e.g. \"Bay Area\", \"South Coast\"). Null outside California.", "interpretation_hints": "The CA air district (CARB) is the permitting authority for stationary-source / backup-generator air permits in California \u2014 nonattainment areas (see in_air_quality_nonattainment) add NSR offset + BACT burden. Null outside California; national authority resolution is a follow-up.", "layer": "hazards", "lifecycle": "stable", "name": "air_district_name", "null_meaning": "The point is outside any CARB California air district (CA-only), or the local CARB air-district asset is missing/corrupt (or a containing polygon carried no usable name).", "nullable": true, "presets": ["data_center_siting"], "source": "CARB_AIR_DISTRICTS", "source_url": "https://ww2.arb.ca.gov/california-air-districts", "ttl_seconds": 5184000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest NOAA-charted submarine cable right-of-way corridor; 0 when the point lies inside a corridor.", "interpretation_hints": "GROUND TRUTH (NOAA MarineCadastre, public domain). Near-shore this is landing-corridor proximity \u2014 a real subsea/international interconnection and coastal-DC signal. Large or null far inland; NOT a terrestrial long-haul-fiber measure. For terrestrial long-haul plausibility see nearest_long_haul_rail_corridor_distance_m + nearest_gas_pipeline_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_submarine_cable_distance_m", "null_meaning": "No charted submarine cable corridor within the search radius (inland), or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "NOAA_MARINECADASTRE_SUBMARINE_CABLE", "source_url": "https://hub.marinecadastre.gov/datasets/noaa::submarine-cables", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest charted submarine cable system (e.g. \"North Pacific Cable System\"), when the corridor carries a cablesystem name.", "interpretation_hints": "Best-effort \u2014 the charted cablesystem name of the nearest corridor; null when the nearest corridor is unnamed even though the distance is known. Names are real commercial systems (e.g. Hawaiki, TGN Pacific, Jupiter).", "layer": "utilities", "lifecycle": "stable", "name": "nearest_submarine_cable_name", "null_meaning": "Nearest corridor is unnamed, or no corridor within the search radius.", "nullable": true, "presets": ["data_center_siting"], "source": "NOAA_MARINECADASTRE_SUBMARINE_CABLE", "source_url": "https://hub.marinecadastre.gov/datasets/noaa::submarine-cables", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest BTS NTAD mainline rail line (a long-haul right-of-way corridor).", "interpretation_hints": "PROXY, not fiber ground-truth. US long-haul fiber overwhelmingly follows Class-I mainline rail rights-of-way (InterTubes, SIGCOMM 2015), so proximity to a mainline corridor is a proxy for long-haul-fiber-CAPABLE ROW \u2014 NOT confirmation of lit fiber. Near-zero is favorable for backhaul reach. Combine with nearest_gas_pipeline_distance_m + nearest_submarine_cable_distance_m; contrast with the mass-market fiber_broadband_available.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_long_haul_rail_corridor_distance_m", "null_meaning": "No mainline rail within the search radius, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "BTS_NTAD", "source_url": "https://geodata.bts.gov/datasets/north-american-rail-network-lines", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operator/company of the nearest EIA interstate natural-gas pipeline (source Operator field).", "interpretation_hints": "The company to approach for a tap on the nearest gas line. Null when the source publishes no operator for that segment.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_pipeline_operator", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Type of the nearest gas pipeline \u2014 Interstate or Intrastate (source TYPEPIPE).", "interpretation_hints": "Interstate = EIA's transmission-scale proxy (wide-diameter, high-capacity 20-42\"). For the unbounded true-nearest-interstate distance use nearest_interstate_gas_pipeline_distance_m; this field types only the single nearest line within the 10 km buffer.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_pipeline_type", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of EIA gas pipeline segments within the search radius (pipelines_radius_m).", "interpretation_hints": "Density of nearby gas transmission. 0 = none within the buffer. Combine with nearest_gas_pipeline_type + nearest_gas_pipeline_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "gas_pipelines_within_radius_count", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance in meters to the nearest EIA petroleum-product pipeline.", "interpretation_hints": "Liquids (crude / refined products / HGL), NOT natural gas \u2014 read nearest_petroleum_pipeline_product before interpreting. Not a gas-tap signal.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_petroleum_pipeline_distance_m", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operator of the nearest petroleum-product pipeline.", "interpretation_hints": "Null when the source publishes no operator for that segment.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_petroleum_pipeline_operator", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Commodity carried by the nearest petroleum-product pipeline (e.g. crude oil, refined products, HGL/NGL).", "interpretation_hints": "The product classification for the nearest liquids line; distinguishes crude vs refined vs HGL. Not natural gas.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_petroleum_pipeline_product", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of petroleum-product pipeline segments within pipelines_radius_m.", "interpretation_hints": "Density of nearby liquids pipelines. 0 = none within the buffer.", "layer": "utilities", "lifecycle": "stable", "name": "petroleum_pipelines_within_radius_count", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Search radius in meters used for the gas + petroleum pipeline proximity counts.", "interpretation_hints": "The buffer distance behind gas_pipelines_within_radius_count and petroleum_pipelines_within_radius_count. A count of 0 means \"none within this radius\", not \"no pipelines exist\".", "layer": "utilities", "lifecycle": "stable", "name": "pipelines_radius_m", "null_meaning": null, "nullable": false, "presets": [], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Unbounded geodesic distance in meters to the nearest EIA INTERSTATE natural-gas transmission trunkline (TYPEPIPE = Interstate).", "interpretation_hints": "The headline BTM-gas transmission-access signal. Unbounded (searches ~100 km) so rural parcels the 10 km nearest_gas_pipeline_distance_m buffer nulls on still get a real distance. Interstate is EIA's transmission-scale proxy (wide-diameter, high-capacity 20-42\") \u2014 contrast with the 10 km nearest_gas_pipeline_distance_m. Diameter, line pressure, firm transport capacity and tap lead time are pipeline-OPERATOR confirmations, NOT geospatial facts (see gas_tap_feasibility_note); never infer them from this distance.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_interstate_gas_pipeline_distance_m", "null_meaning": "No interstate gas pipeline within the search radius, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "HIFLD_GAS_TRANSMISSION_PIPELINES", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operator/company of the nearest EIA interstate natural-gas transmission trunkline (source Operator field).", "interpretation_hints": "The pipeline operator to approach for a tap on the nearest interstate line. Null when no interstate line is within the search radius.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_interstate_gas_pipeline_operator", "null_meaning": "No interstate gas pipeline within the search radius, or the query failed.", "nullable": true, "presets": [], "source": "HIFLD_GAS_TRANSMISSION_PIPELINES", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Unbounded geodesic distance in meters to the nearest EIA gas TRANSMISSION pipeline of ANY type (interstate or intrastate).", "interpretation_hints": "The any-transmission companion to the interstate-only field (mirrors rail's nearest-any vs mainline pair). Use this for \"is any transmission gas line reachable\"; use nearest_interstate_gas_pipeline_distance_m for the transmission-scale (interstate) signal. Not the 10 km buffer nearest_gas_pipeline_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_gas_transmission_pipeline_distance_m", "null_meaning": "No gas transmission pipeline within the search radius, or the query failed.", "nullable": true, "presets": [], "source": "HIFLD_GAS_TRANSMISSION_PIPELINES", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": {"formula": "avg_retail_electricity_price_industrial_usd_per_kwh x 1000 (USD/kWh -> USD/MWh)", "formula_version": 1, "inputs": ["avg_retail_electricity_price_industrial_usd_per_kwh"]}, "description": "Grid electricity price expressed per MWh \u2014 the EIA state industrial retail price (USD/kWh) x 1000. All-in retail (includes delivery, capital recovery, O&M). Derived; MEDIUM confidence (deterministic unit conversion).", "interpretation_hints": "The symmetric baseline for the behind-the-meter gas screen. Compare with modeled_onsite_gas_generation_cost_usd_per_mwh, but note the comparison is ASYMMETRIC \u2014 grid is all-in retail, modeled gas is fuel-only \u2014 so grid_price > modeled_gas means 'worth deeper study,' NOT 'build gas.'", "layer": "utilities", "lifecycle": "stable", "name": "grid_price_usd_per_mwh", "null_meaning": "Point did not resolve to a U.S. state with a published industrial retail electricity price in the local EIA table (the input price is served locally; no API key).", "nullable": true, "presets": ["data_center_siting"], "source": "MIREYE_MODELED_ENERGY_COST", "source_url": "https://www.eia.gov/analysis/studies/powerplants/capitalcost/", "ttl_seconds": 2592000, "type": "float", "unit": "USD/MWh"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": {"formula": "natural_gas_industrial_price_usd_per_mcf / 1.037 MMBtu/Mcf x 9.5 MMBtu/MWh simple-cycle genset heat rate (fuel-only USD/MWh)", "formula_version": 1, "inputs": ["natural_gas_industrial_price_usd_per_mcf"]}, "description": "MODELED fuel-only cost of on-site natural-gas generation \u2014 the EIA state industrial gas price (USD/Mcf) / 1.037 MMBtu/Mcf x 9.5 MMBtu/MWh simple-cycle genset heat rate. NOT a delivered-power quote. Derived; LOW confidence (heat-rate assumption dominates).", "interpretation_hints": "Fuel-only screen. Excludes capital recovery, O&M, emissions, gas delivery/demand charges. An efficient combined-cycle (~6.4 MMBtu/MWh) would be ~33% lower. Actual economics require operator confirmation of pipeline pressure, firm transport, lead time, and permit timelines.", "layer": "utilities", "lifecycle": "stable", "name": "modeled_onsite_gas_generation_cost_usd_per_mwh", "null_meaning": "Point did not resolve to a U.S. state with a published industrial natural-gas price in the local EIA table (the input price is served locally; no API key).", "nullable": true, "presets": ["data_center_siting"], "source": "MIREYE_MODELED_ENERGY_COST", "source_url": "https://www.eia.gov/analysis/studies/powerplants/capitalcost/", "ttl_seconds": 2592000, "type": "float", "unit": "USD/MWh"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of EIA Atlas electric substations (>=69 kV layer) within substations_radius_m (10 km) of the point.", "interpretation_hints": "Substation-density proxy \u2014 more mapped substations nearby means more potential interconnection injection points (EIA Atlas / HIFLD map topology, partly imagery-derived). A count, NOT a capacity or deliverability claim; true redundancy is a utility load-study question. Zero is a concrete answer (no mapped substation in range), never a failure. Search radius is substations_radius_m.", "layer": "utilities", "lifecycle": "stable", "name": "substations_within_radius_count", "null_meaning": "A count of 0 is a concrete answer (no mapped substation in range), not null; a null means the local substation index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["site_selection", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Search radius (meters) used for substations_within_radius_count \u2014 the fixed 10 km band.", "interpretation_hints": "The constant 10 km search radius behind substations_within_radius_count; it does not vary by point. Exposed so the count is self-describing.", "layer": "utilities", "lifecycle": "stable", "name": "substations_radius_m", "null_meaning": "The local substation index is unavailable (bootstrap-pending).", "nullable": true, "presets": ["site_selection", "data_center_siting", "grid_interconnect"], "source": "EIA_POWER", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest EPA mandatory Class I federal area (national park / wilderness > 6000 acres); 0 when the point lies inside one.", "interpretation_hints": "A BTM gas plant clearing PSD major-source thresholds near a Class I area triggers mandatory Federal-Land-Manager consultation + visibility / air-quality-related-values modeling (customary screening ~300 km) \u2014 a lead-time and cost escalator distinct from nonattainment NNSR. Large or null far from any Class I area.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_class_i_area_distance_m", "null_meaning": "No Class I federal area within the search radius, the asset is not yet bootstrapped, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_CLASS_I_AREAS", "source_url": "https://www.epa.gov/visibility/mandatory-federal-class-i-areas", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest Class I federal area (e.g. \"Yosemite NP\", \"Sequoia NP\").", "interpretation_hints": "The specific national park / wilderness whose Federal Land Manager would be consulted in PSD permitting. Null when no area is within the search radius.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_class_i_area_name", "null_meaning": "No Class I federal area within the search radius, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_CLASS_I_AREAS", "source_url": "https://www.epa.gov/visibility/mandatory-federal-class-i-areas", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Managing federal agency of the nearest Class I area (USDI-NPS / USDA-FS / USDI-FWS / BIA).", "interpretation_hints": "Identifies which Federal Land Manager (National Park Service, Forest Service, Fish & Wildlife Service, or Bureau of Indian Affairs) governs the consultation. Null when no area is within the search radius.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_class_i_area_agency", "null_meaning": "No Class I federal area within the search radius, or the query failed.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_CLASS_I_AREAS", "source_url": "https://www.epa.gov/visibility/mandatory-federal-class-i-areas", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the point falls in any current EPA NAAQS maintenance area (a former nonattainment area redesignated to attainment, still under an approved maintenance plan).", "interpretation_hints": "Maintenance areas carry anti-backsliding New Source Review obligations under the approved maintenance plan \u2014 a material permit-path signal for on-site gas generation even though the area is not currently nonattainment. Nonattainment and attainment areas do not set this flag.", "layer": "hazards", "lifecycle": "stable", "name": "in_air_quality_maintenance", "null_meaning": "The local EPA Green Book maintenance gpkg read failed (missing/corrupt/unsynced asset); a successful no-area result is False, not null.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_GREEN_BOOK", "source_url": "https://www.epa.gov/green-book", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Comma-joined distinct pollutant names for which the point is in a maintenance area (e.g. \"Ozone (2008),CO\").", "interpretation_hints": "Identifies which criteria pollutants carry anti-backsliding maintenance-plan constraints at the point. Empty when the point is in no maintenance area.", "layer": "hazards", "lifecycle": "stable", "name": "air_quality_maintenance_pollutants", "null_meaning": "Point is in no maintenance area, or the local Green Book gpkg read failed.", "nullable": true, "presets": ["data_center_siting"], "source": "EPA_GREEN_BOOK", "source_url": "https://www.epa.gov/green-book", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the PJM interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to PJM from this county \u2014 absence, not zero. ~5.5% of queue counties straddle two regions, so slices can coexist. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_pjm_mw", "null_meaning": "No active PJM-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the MISO interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to MISO from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_miso_mw", "null_meaning": "No active MISO-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the ERCOT interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to ERCOT from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_ercot_mw", "null_meaning": "No active ERCOT-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the CAISO interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to CAISO from this county \u2014 absence, not zero. CAISO/West straddle counties (the AZ/NV/CA seam) carry BOTH slices. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_caiso_mw", "null_meaning": "No active CAISO-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the SPP interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to SPP from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_spp_mw", "null_meaning": "No active SPP-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the NYISO interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to NYISO from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_nyiso_mw", "null_meaning": "No active NYISO-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to the ISO-NE interconnection queue (LBNL 'Queued Up' project-level region attribution).", "interpretation_hints": "Per-ISO slice of the county queue total. Null with an absence marker means no active project applied to ISO-NE from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_isone_mw", "null_meaning": "No active ISO-NE-queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to LBNL's non-ISO 'West' bucket \u2014 projects interconnecting through non-CAISO Western utilities (BPA, PacifiCorp, APS, WAPA...), NOT an organized ISO/RTO market.", "interpretation_hints": "Non-ISO catch-all slice of the county queue total (the Western Interconnection outside CAISO). Null with an absence marker means no active project in this bucket from this county \u2014 absence, not zero. CAISO/West straddle counties (the AZ/NV/CA seam) carry BOTH slices. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_west_mw", "null_meaning": "No active non-CAISO-West queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Active-queue nameplate MW in the containing county attributed to LBNL's non-ISO 'Southeast' bucket \u2014 projects interconnecting through Southeastern utilities (Duke, Southern Company, TVA, FPL...), NOT an organized ISO/RTO market.", "interpretation_hints": "Non-ISO catch-all slice of the county queue total (SERC-area vertically-integrated utilities). Null with an absence marker means no active project in this bucket from this county \u2014 absence, not zero. County aggregate, annual snapshot.", "layer": "utilities", "lifecycle": "stable", "name": "interconnection_queue_active_capacity_southeast_mw", "null_meaning": "No active Southeast-utility queue project in this county, or dataset not bootstrapped.", "nullable": true, "presets": [], "source": "LBNL_QUEUED_UP", "source_url": "https://emp.lbl.gov/queues", "ttl_seconds": 2592000, "type": "float", "unit": "MW"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "ISO/RTO electricity market whose territory footprint contains the point (PJM, MISO, ERCOT, CAISO, SPP, NYISO, or ISO-NE), from the HIFLD/ORNL Independent System Operators polygons (2019-era delineation, point-in-polygon).", "interpretation_hints": "Which organized wholesale market governs interconnection and energy pricing at this point. Null with an absence marker = non-RTO territory (Southeast or non-CAISO West utilities, non-ISO pockets like LADWP or SMUD, or outside CONUS) \u2014 absence, not error. Seams are approximate at the 2019 delineation (notably SPP/ERCOT in the Permian; SPP's 2026 western expansion not reflected); in seam-overlap zones the smallest containing footprint is reported and the others are noted. Correlates with the per-ISO interconnection-queue MW fields, which share the same market vocabulary.", "layer": "utilities", "lifecycle": "stable", "name": "iso_rto", "null_meaning": "Point is outside every ISO/RTO footprint (non-RTO territory), or dataset not bootstrapped.", "nullable": true, "presets": ["grid_interconnect"], "source": "HIFLD_ISO_RTO", "source_url": "https://doi.org/10.3886/E239294V1", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open hospital (Overture places, conflated Meta/Microsoft/Foursquare POI data; confidence >= 0.5, US only).", "interpretation_hints": "Emergency-services proximity signal for siting and insurability; excludes veterinary/animal hospitals via the Overture taxonomy.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_hospital_distance_m", "null_meaning": "No open hospital with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open hospital (Overture places).", "interpretation_hints": "Secondary to the distance field; POI names in conflated data can lag renames/closures \u2014 provenance notes carry the record's own Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_hospital_name", "null_meaning": "No open hospital within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open fire station (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Fire-response proximity drives insurability and industrial permitting context; taxonomy-normalized (fire_department folds in; private fire-protection services excluded).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_fire_station_distance_m", "null_meaning": "No open fire station with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open fire station (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_fire_station_name", "null_meaning": "No open fire station within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open school, preschool through K-12 (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Sensitive-receptor proximity for permitting and community-opposition risk; taxonomy-scoped to real schools (driving/dance/cosmetology schools excluded).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_school_distance_m", "null_meaning": "No open school with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open school (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_school_name", "null_meaning": "No open school within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open grocery store or supermarket (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Everyday-amenity access proxy for workforce logistics and residential-context screening; supermarkets fold into grocery_store via the Overture taxonomy.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_grocery_store_distance_m", "null_meaning": "No open grocery store with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open lodging (hotel/motel/resort/hostel; Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Construction-crew and visiting-staff logistics signal for remote-site development.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_lodging_distance_m", "null_meaning": "No open lodging with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of Overture places (points of interest / amenities) within 1 km of the point \u2014 restaurants, cafes, bars, shops, gas stations, pharmacies, banks, schools, and every other POI category (confidence >= 0.5, permanently-closed records excluded, US only).", "interpretation_hints": "Built-up/commercial-context density proxy for \"points of interest\" / \"amenities\" / POIs \u2014 near zero in greenfield and remote land, thousands in urban cores. Counts ALL categories (restaurant, cafe, bar, gym, pharmacy, retail, office, \u2026), not just the per-concept nearest fields. Robust to individual stale POIs by construction.", "layer": "built_environment", "lifecycle": "stable", "name": "poi_count_1km", "null_meaning": "The Overture places query failed; the count is otherwise always present (0 is a valid value).", "nullable": true, "presets": ["site_selection", "points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Overture road class of the nearest major road (motorway / trunk / primary / secondary).", "interpretation_hints": "motorway = controlled-access highway, trunk = major arterial, primary/secondary = principal surface routes. Discriminates highway access quality for heavy-equipment logistics.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_major_road_class", "null_meaning": "No Overture major road was found within the fallback search radius.", "nullable": true, "presets": ["site_selection"], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest vehicular Overture road of any class within the 500 m query radius (pedestrian/cycle classes excluded).", "interpretation_hints": "Any-class counterpart of nearest_major_road_distance_m \u2014 includes residential, service, and unclassified roads, so it measures basic vehicular site access rather than highway access. Footways, paths, steps, cycleways, and pedestrian streets are excluded.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_road_distance_m", "null_meaning": "No Overture road of any class was found within the 500 m query radius.", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Primary name of the nearest vehicular Overture road of any class.", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_road_name", "null_meaning": "No Overture road was found within the 500 m query radius, or the nearest road has no primary name tagged.", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Overture road class of the nearest vehicular road (motorway / trunk / primary / secondary / tertiary / residential / service / unclassified / ...; pedestrian/cycle classes are excluded from the search).", "interpretation_hints": "", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_road_class", "null_meaning": "No Overture road was found within the 500 m query radius, or the nearest road carries no class label.", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Surface of the nearest vehicular Overture road (paved / unpaved / gravel / dirt / ...), from the first road_surface rule on the segment.", "interpretation_hints": "Overture road_surface is sparsely tagged outside major roads; an untagged segment defaults by class (motorway..residential are paved in practice). Null means untagged, not unpaved.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_road_surface", "null_meaning": "No Overture road was found within the 500 m query radius, or the nearest road has no road_surface rule tagged (untagged does NOT imply unpaved).", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of vehicular Overture road segments within 500 m of the point (pedestrian/cycle classes excluded).", "interpretation_hints": "Site-access / built-up density proxy \u2014 0 in remote greenfield, tens to hundreds in urban cores. Counts segments (a long road can contribute several), so compare relatively, not as an absolute road count.", "layer": "built_environment", "lifecycle": "stable", "name": "roads_within_500m_count", "null_meaning": "The Overture roads query failed; the count is otherwise always present (0 is a valid value).", "nullable": true, "presets": ["site_selection"], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Summed centerline length in meters of vehicular Overture road segments clipped to a 500 m radius disc around the point (pedestrian/cycle classes excluded).", "interpretation_hints": "Density companion to roads_within_500m_count that is robust to segmentation (many short segments vs one long road measure the same). Zero in roadless greenfield.", "layer": "built_environment", "lifecycle": "stable", "name": "total_road_length_within_500m_m", "null_meaning": "The Overture roads query failed; the length is otherwise always present (0.0 is a valid value).", "nullable": true, "presets": [], "source": "OVERTURE_TRANSPORTATION", "source_url": "https://overturemaps.org/documentation/transportation/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Monitoring-location id (e.g. USGS-08075900) of the nearest USGS gage that reported a daily-mean discharge within the last 7 days, within ~10 km.", "interpretation_hints": "The id resolves on waterdata.usgs.gov for period-of-record hydrographs; pair with nearest_usgs_gage_daily_discharge_cfs for the flow value.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_usgs_gage_id", "null_meaning": "No USGS gage reporting daily-mean discharge within the last 7 days inside the ~10 km search radius, or the NWIS OGC fetch failed.", "nullable": true, "presets": [], "source": "USGS_NWIS_OGC", "source_url": "https://api.waterdata.usgs.gov/ogcapi/v0/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Station name of the nearest actively-reporting USGS discharge gage (from the monitoring-locations collection).", "interpretation_hints": "USGS station names encode the stream and locality (e.g. \"Buffalo Bayou at Houston, TX\") \u2014 useful to identify WHICH watercourse the discharge reading describes.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_usgs_gage_name", "null_meaning": "No actively-reporting gage in range, the gage record carries no name, or the name lookup failed.", "nullable": true, "presets": [], "source": "USGS_NWIS_OGC", "source_url": "https://api.waterdata.usgs.gov/ogcapi/v0/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest USGS gage that reported a daily-mean discharge within the last 7 days.", "interpretation_hints": "Distance is to the gage, not to the stream itself \u2014 a gage measures the reach it sits on, so treat the reading as reach-level context.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_usgs_gage_distance_m", "null_meaning": "No USGS gage reporting daily-mean discharge within the last 7 days inside the ~10 km search radius, or the NWIS OGC fetch failed.", "nullable": true, "presets": [], "source": "USGS_NWIS_OGC", "source_url": "https://api.waterdata.usgs.gov/ogcapi/v0/", "ttl_seconds": 86400, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Latest daily-mean streamflow (discharge, USGS parameter 00060) at the nearest actively-reporting USGS gage. The reading date is disclosed in the field notes; daily values lag ~1 day.", "interpretation_hints": "A live surface-water availability signal \u2014 sustained flow supports industrial/cooling intake, irrigation, and municipal supply; compare against surface_water_supply_use_index_huc12 for basin-level stress context. Reach-level (measured at the gage, ~up to 10 km away), not parcel-level.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_usgs_gage_daily_discharge_cfs", "null_meaning": "No USGS gage reporting daily-mean discharge within the last 7 days inside the ~10 km search radius, or the NWIS OGC fetch failed.", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_NWIS_OGC", "source_url": "https://api.waterdata.usgs.gov/ogcapi/v0/", "ttl_seconds": 86400, "type": "float", "unit": "cubic feet per second"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FEMA NFHL flood-zone code at the queried point (e.g. AE, VE, X, A, AO), from the SFHA-driving polygon where multiple intersect.", "interpretation_hints": "FEMA's authoritative zone designation. A* / V* = Special Flood Hazard Area (1% annual chance); V/VE = coastal high-hazard (wave) zone; X = outside the SFHA. NFHL horizontal control is ~1:12,000 / \u00b138 ft \u2014 not a Standard Flood Hazard Determination Form. Pair with coastal_high_hazard and fema_base_flood_elevation.", "layer": "terrain", "lifecycle": "stable", "name": "fema_flood_zone", "null_meaning": "NFHL covers the point but no flood-zone polygon intersects, or NFHL does not cover the coordinate, or the intersecting polygon has a blank FLD_ZONE.", "nullable": true, "presets": ["data_center_siting"], "source": "FEMA_NFHL", "source_url": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FEMA NFHL zone subtype (ZONE_SUBTY) at the point, e.g. FLOODWAY, \"0.2 PCT ANNUAL CHANCE FLOOD HAZARD\", or a coastal-A / LiMWA descriptor.", "interpretation_hints": "Refines the zone. \"0.2 PCT ANNUAL CHANCE\" = shaded Zone X (500-yr, not SFHA); FLOODWAY = regulatory floodway; coastal-A / LiMWA marks moderate (1.5-3 ft) wave action landward of the V zone (coastal_high_hazard is False there).", "layer": "terrain", "lifecycle": "stable", "name": "flood_zone_subtype", "null_meaning": "No subtype on the intersecting polygon, or no polygon / coverage.", "nullable": true, "presets": [], "source": "FEMA_NFHL", "source_url": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28", "ttl_seconds": 2592000, "type": "str", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the FEMA flood zone is V-family (V/VE/V1-30) \u2014 a coastal high-hazard area subject to high-velocity wave action (breaking waves >= 3 ft).", "interpretation_hints": "The single most decision-relevant coastal-flood distinction. True = wave-action high-hazard (V/VE); coastal-A / LiMWA (moderate wave) is False here but visible in flood_zone_subtype. A screen \u2014 request an Elevation Certificate / LOMA for regulatory use.", "layer": "terrain", "lifecycle": "stable", "name": "coastal_high_hazard", "null_meaning": "No flood-zone polygon at the point, NFHL coverage absent, or an intersecting polygon whose FLD_ZONE is blank (zone unresolved).", "nullable": true, "presets": [], "source": "FEMA_NFHL", "source_url": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FEMA Base Flood Elevation (STATIC_BFE) at the point, NAVD88, when the intersecting polygon carries one on a NAVD88 datum.", "interpretation_hints": "NAVD88, whole-foot rounded, populated mainly in coastal/lake and fixed-BFE AE polygons; null in Zone A and variable riverine AE (BFE lives in a separate line layer there). Under NFIP Risk Rating 2.0 BFE is no longer a direct rating variable \u2014 a regulatory design/elevation threshold and surge-exposure input, not an insurance rate.", "layer": "terrain", "lifecycle": "stable", "name": "fema_base_flood_elevation", "null_meaning": "No NAVD88 BFE on the intersecting polygon (Zone A / variable AE / non-NAVD88 datum), or no polygon / coverage.", "nullable": true, "presets": [], "source": "FEMA_NFHL", "source_url": "https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer/28", "ttl_seconds": 2592000, "type": "float", "unit": "feet"}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Fraction (0.0-1.0) of the matched Regrid parcel's own boundary covered by USFWS NWI wetland polygons \u2014 the parcel share, computed by intersecting NWI wetlands with the parcel boundary in the parcel's local UTM (equal-area) projection. NOT the whole mapped wetland polygon's size (see the terrain-layer wetland_acres for that).", "interpretation_hints": "Same NWI fence as intersects_wetland \u2014 a biological inventory, not a \u00a7404/jurisdictional determination; do NOT state 'USACE-jurisdictional' or 'permit required' from this alone. This is the PARCEL SHARE (NWI wetland \u2229 Regrid parcel boundary), distinct from wetland_acres (terrain), which reports the whole selected polygon regardless of parcel. 0.0 is a real 'no overlap on this parcel' answer, distinct from null (no Regrid parcel matched at this coordinate, or its boundary geometry was unusable). On a small parcel, a small nonzero fraction can sit near the source's mapping resolution \u2014 treat it as directional, not survey-grade, and corroborate with a delineation before it is load-bearing for a permitting or acreage decision.", "layer": "parcels", "lifecycle": "stable", "name": "wetland_fraction_of_parcel", "null_meaning": "No Regrid parcel at this coordinate.", "nullable": true, "presets": [], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Absolute acres of USFWS NWI wetland polygon area intersecting the matched Regrid parcel's own boundary \u2014 the parcel-clipped wetland acreage, computed in the parcel's local UTM (equal-area) projection. NOT the whole mapped wetland polygon's size (see the terrain-layer wetland_acres for that).", "interpretation_hints": "Same NWI fence as intersects_wetland \u2014 a biological inventory, not a \u00a7404/jurisdictional determination; do NOT state 'USACE-jurisdictional' or 'permit required' from this alone. This is the PARCEL SHARE (NWI wetland \u2229 Regrid parcel boundary), distinct from wetland_acres (terrain), which reports the whole selected polygon regardless of parcel \u2014 a large polygon can report many acres there while only a sliver falls on this parcel. 0.0 is a real 'no overlap on this parcel' answer, distinct from null (no Regrid parcel matched at this coordinate, or its boundary geometry was unusable). On a small parcel, a small nonzero value can sit near the source's mapping resolution \u2014 treat it as directional, not survey-grade, and corroborate with a delineation before it is load-bearing for a permitting or acreage decision.", "layer": "parcels", "lifecycle": "stable", "name": "wetland_acres_on_parcel", "null_meaning": "No Regrid parcel at this coordinate.", "nullable": true, "presets": ["site_selection"], "source": "USFWS_NWI", "source_url": "https://www.fws.gov/program/national-wetlands-inventory", "ttl_seconds": 31536000, "type": "float", "unit": "acre"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual diffuse horizontal irradiance sum (kWh/m2/day) from one NREL NSRDB GOES-TMY year \u2014 the portion of GHI arriving as diffuse (non-beam) sky light.", "interpretation_hints": "Feeds diffuse_fraction_annual; high DHI relative to GHI (cloudy/humid climates) favors fixed-tilt + bifacial PV, low DHI (arid/clear climates) favors single-axis tracking.", "layer": "climate", "lifecycle": "stable", "name": "dhi_annual_kwh_m2_day", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual diffuse fraction (\u03a3DHI/\u03a3GHI, 0-1) from one NREL NSRDB GOES-TMY year \u2014 the share of global irradiance arriving as diffuse (non-beam) light.", "interpretation_hints": "High (~0.3+ cloudy/humid East) favors fixed-tilt + bifacial and erodes single-axis-tracker gain; low (~0.15 arid SW) favors trackers/CSP.", "layer": "climate", "lifecycle": "stable", "name": "diffuse_fraction_annual", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual clear-sky (cloud-free-modeled) global horizontal irradiance sum (kWh/m2/day) from one NREL NSRDB GOES-TMY year \u2014 the theoretical maximum GHI absent clouds and aerosols.", "interpretation_hints": "The ceiling clear_sky_ratio_ghi_annual measures against; useful alongside all-sky GHI to gauge how much cloud cover erodes the theoretical resource.", "layer": "climate", "lifecycle": "stable", "name": "clearsky_ghi_annual_kwh_m2_day", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual clear-sky direct normal irradiance sum (kWh/m2/day) from one NREL NSRDB GOES-TMY year \u2014 the theoretical maximum beam irradiance absent clouds and aerosols.", "interpretation_hints": "The ceiling dni_clear_sky_ratio_annual measures against; CSP/tracking economics depend on how closely all-sky DNI tracks this ceiling.", "layer": "climate", "lifecycle": "stable", "name": "clearsky_dni_annual_kwh_m2_day", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/day"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual clear-sky ratio for GHI (\u03a3GHI/\u03a3Clearsky GHI, 0-1) from one NREL NSRDB GOES-TMY year \u2014 the fraction of the theoretical clear-sky global irradiance actually realized once clouds and aerosols are accounted for.", "interpretation_hints": "High (~0.7+) signals a consistently sunny climate with low cloud loss; low (~0.5 or below) means persistent cloud cover materially erodes yield versus the clear-sky ceiling.", "layer": "climate", "lifecycle": "stable", "name": "clear_sky_ratio_ghi_annual", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual clear-sky ratio for DNI (\u03a3DNI/\u03a3Clearsky DNI, 0-1) from one NREL NSRDB GOES-TMY year \u2014 the fraction of the theoretical clear-sky beam irradiance actually realized.", "interpretation_hints": "A low ratio despite decent GHI signals hazy or aerosol-laden skies that scatter beam light, eroding CSP/single-axis-tracker upside even where GHI looks fine.", "layer": "climate", "lifecycle": "stable", "name": "dni_clear_sky_ratio_annual", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual mean aerosol optical depth (dimensionless, MERRA-2-derived) from one NREL NSRDB GOES-TMY year \u2014 atmospheric aerosol loading (haze, smoke, dust) that scatters and absorbs irradiance.", "interpretation_hints": "High AOD depresses DNI more than GHI, eroding CSP/tracker economics even where headline GHI looks strong. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "layer": "climate", "lifecycle": "stable", "name": "aerosol_optical_depth_annual_mean", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual mean total-column precipitable water (cm, MERRA-2-derived) from one NREL NSRDB GOES-TMY year \u2014 atmospheric water vapor that attenuates irradiance.", "interpretation_hints": "High precipitable water (humid climates) modestly depresses DNI via vapor absorption and scattering. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "layer": "climate", "lifecycle": "stable", "name": "precipitable_water_annual_mean_cm", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "cm"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual mean near-surface (10 m) wind speed (m/s, MERRA-2-derived) from one NREL NSRDB GOES-TMY year \u2014 used to estimate PV module cooling and thermal derate.", "interpretation_hints": "Higher wind speed improves PV module cooling and modestly reduces thermal derate, a small yield gain. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "layer": "climate", "lifecycle": "stable", "name": "near_surface_wind_speed_annual_mean_ms", "null_meaning": "No NREL key or NSRDB contact email, NSRDB GOES-TMY fetch failed/timed out, or outside coverage. MERRA-2 reanalysis ~50 km, downscaled \u2014 regional, not site-specific.", "nullable": true, "presets": [], "source": "NREL_NSRDB_GOES_TMY_V4", "source_url": "https://developer.nlr.gov/docs/solar/nsrdb/nsrdb-GOES-tmy-v4-0-0-download/", "ttl_seconds": 31536000, "type": "float", "unit": "m/s"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Annual plane-of-array irradiance \u2014 the sum of the 12 monthly PVWatts poa_monthly values (each already kWh/m2 for that month) \u2014 at the advertised optimal fixed tilt (|lat|), open-rack. From the SAME NREL PVWatts v8 call that yields capacity factor / specific yield.", "interpretation_hints": "The in-plane resource at optimal fixed tilt; the yield denominator. Modeled transposition (POA from GHI/DNI/DHI) carries roughly +/-5-8% model uncertainty; TMY typical-year weather, not a measured year.", "layer": "climate", "lifecycle": "stable", "name": "poa_irradiance_optimal_tilt_kwh_m2_yr", "null_meaning": "NREL key not configured, PVWatts fetch failed, or the PVWatts response lacked a complete 12-month poa_monthly array.", "nullable": true, "presets": [], "source": "NREL_PVWATTS_V8", "source_url": "https://developer.nlr.gov/docs/solar/pvwatts/v8/", "ttl_seconds": 31536000, "type": "float", "unit": "kWh/m2/yr"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Worst-case ponding frequency class (None / Rare / Occasional / Frequent / Very frequent) of the dominant SSURGO component, aggregated across its 12 monthly comonth records via Soil Data Access.", "interpretation_hints": "Ponding indicates standing water from a perched water table or poor internal drainage rather than overbank flooding \u2014 a driver of slab/foundation saturation, corrosion, and equipment-pad drainage design for DC, solar, and battery sites. 'None' is a real reported value (the component does not pond), not missing data; SSURGO is reconnaissance-scale and dominant-component-only, not a site-specific ponding survey.", "layer": "terrain", "lifecycle": "stable", "name": "soil_ponding_frequency_class", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or the dominant component has no ponding records for any month.", "nullable": true, "presets": [], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USDA SSURGO hydrologic soil group of the dominant component (A/B/C/D and dual A/D, B/D, C/D; first letter = artificially-drained condition, second = natural undrained state).", "interpretation_hints": "Runoff/infiltration class for NRCS curve-number sizing on large impervious data-center/solar pads; combine with slope_degrees. A modeling input, not a stormwater-permit determination or measured infiltration rate, and invalid after grading (compaction pushes a site toward D). Dominant-component, reconnaissance-scale.", "layer": "terrain", "lifecycle": "stable", "name": "soil_hydrologic_group", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or hydgrp not populated for the dominant component.", "nullable": true, "presets": ["solar_siting", "storage_siting", "data_center_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Representative depth (cm) to the top of the shallowest root/water-restrictive layer in the dominant SSURGO component (0-200 cm; 200 or null = no restriction found within the described 200 cm profile, right-censored \u2014 not a measured 2 m depth).", "interpretation_hints": "Depth (cm) to the shallowest root/water restriction; 200 or null = no restriction within the described 200 cm profile (right-censored), not a measured 2 m depth. Pair with soil_restrictive_layer_kind. Not a boring log or geotechnical bedrock depth for foundations.", "layer": "terrain", "lifecycle": "stable", "name": "soil_restrictive_layer_depth_cm", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or resdept_r not populated for the dominant component.", "nullable": true, "presets": ["wind_siting", "data_center_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "float", "unit": "cm"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Type of the shallowest root/water-restrictive layer in the dominant SSURGO component (e.g. Lithic bedrock, Paralithic bedrock, Densic material, Duripan, Fragipan).", "interpretation_hints": "Type of the restriction at soil_restrictive_layer_depth_cm (Lithic bedrock hardest \u2192 Paralithic/Densic/Duripan/Fragipan pans). A pedological restriction to roots/water \u2014 not a geotechnical rock-quality, rippability, or bearing classification.", "layer": "terrain", "lifecycle": "stable", "name": "soil_restrictive_layer_kind", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or reskind not populated for the dominant component.", "nullable": true, "presets": ["wind_siting", "data_center_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Plant-available water capacity of the dominant SSURGO component as a volume fraction (cm water per cm soil, ~0.01-0.30) between field capacity and wilting point \u2014 a ratio, not a total-water depth.", "interpretation_hints": "Plant-available water as a volume fraction (cm/cm, ~0.01-0.30), not a depth \u2014 multiply by rooting depth for total storage. Screens revegetation/ground-cover establishment on solar sites. Dominant-component representative value.", "layer": "terrain", "lifecycle": "stable", "name": "soil_available_water_capacity", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or awc_r not populated for the dominant component.", "nullable": true, "presets": ["solar_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "float", "unit": "cm/cm"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "USLE/RUSLE whole-soil erodibility factor (Kw) of the dominant SSURGO component \u2014 a dimensionless index (~0.02-0.69, higher = more erodible).", "interpretation_hints": "USLE/RUSLE whole-soil erodibility index (~0.02-0.69, higher = more erodible) for SWPPP/erosion-control screening with slope_degrees. One input factor \u2014 not a site erosion rate or sediment yield.", "layer": "terrain", "lifecycle": "stable", "name": "soil_erodibility_k_factor", "null_meaning": "Outside the CONUS gNATSGO grid, falls back to live USDA SDA (preserves AK/HI/PR coverage); genuinely unsurveyed (ocean / no live SDA survey) \u2192 whole soil block null; or kwfact not populated for the dominant component.", "nullable": true, "presets": ["solar_siting", "data_center_siting"], "source": "USDA_SSURGO", "source_url": "https://sdmdataaccess.nrcs.usda.gov/", "ttl_seconds": 31536000, "type": "float", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Operating utility of the nearest EIA power plant (EIA-860 Utility_Na, the company 'responsible for day-to-day operations').", "interpretation_hints": "The plant OPERATOR \u2014 NOT the owner (a separate EIA schedule this layer omits; often a different IPP/LLC) and NOT the utility that would serve your site's retail or interconnection load (see service_territory_holder; the real answer is a load study). A nearby merchant/IPP operator can be an interconnection/co-development lead \u2014 but read nearest_power_plant_sector first, because a commercial/industrial-sector operator is usually the host business (a bank, a hospital, a university), not a generator you can transact with, so an operator name alone is not a lead. The nearest plant may be a behind-the-meter genset \u2014 combine with nearest_power_plant_capacity_mw and nearest_power_plant_technology to judge if it's real grid generation. EIA-860M, plants >=1 MW.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_operator", "null_meaning": "No EIA plant within the plants search radius, or the operating-utility attribute is blank for the nearest plant.", "nullable": true, "presets": ["data_center_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Generation technology (prime mover + fuel) of the nearest EIA power plant (EIA-860 tech_desc).", "interpretation_hints": "More specific than nearest_power_plant_primary_fuel (baseload Combined Cycle vs peaker Combustion Turbine vs backup engine vs Batteries/Solar/Wind). May list multiple generator technologies for a multi-unit plant (semicolon-joined, plant-level roster \u2014 NOT the single nearest unit). Implies no capacity or availability; the nearest plant may be behind-the-meter. Pair with nearest_power_plant_capacity_mw to discount tiny backup gensets, and with nearest_power_plant_sector, which is EIA's own published classification of whether the operator's primary business is selling electricity. Prime mover alone does NOT identify a backup engine \u2014 787 US plants are 'Petroleum Liquids' and most petroleum plants are Electric Utility village diesel or black-start units, i.e. genuine grid generation. EIA-860M, plants >=1 MW.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_technology", "null_meaning": "No EIA plant within the plants search radius, or the technology attribute is blank for the nearest plant.", "nullable": true, "presets": ["data_center_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Gross nameplate capacity (MW) of the nearest EIA-860M planned / under-construction generator (EIA-860M Planned tab).", "interpretation_hints": "Gross nameplate (AC basis; solar reported AC, not the larger DC rating), preliminary and revised monthly \u2014 not net summer capacity and not firm deliverable MW. Sizes the nearby-buildout signal (a 500 MW unit is a very different signal from a 5 MW unit); pair with nearest_proposed_generator_distance_m and _status. A proposed generator is not load headroom for your site and does not imply you can interconnect there.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_proposed_generator_capacity_mw", "null_meaning": "No EIA-860M planned generator within 100 km, the nearest one reports no nameplate capacity, or the index is not bootstrapped.", "nullable": true, "presets": ["storage_siting", "grid_interconnect"], "source": "EIA_860M", "source_url": "https://www.eia.gov/electricity/data/eia860m/", "ttl_seconds": 2592000, "type": "float", "unit": "megawatts"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Development status of the nearest EIA-860M planned generator, decoded from the EIA status code (EIA-860M Planned tab).", "interpretation_hints": "Imminence lifecycle P->L->T->U->V->TS - Planned, approvals pending, approvals received, under construction <=50%, >50%, complete-not-in-service. V / TS mean imminent new injection and active grid work nearby; P / L are soft or speculative. Planned is NOT a commitment and this is a monthly snapshot, not a forecast \u2014 projects get canceled or postponed and a unit can vanish next vintage. Does not tell your own interconnection outcome (a nearby unit can ADD or CONSUME headroom \u2014 verify via a utility study).", "layer": "utilities", "lifecycle": "stable", "name": "nearest_proposed_generator_status", "null_meaning": "No EIA-860M planned generator within 100 km, the nearest one reports no status, or the index is not bootstrapped.", "nullable": true, "presets": ["storage_siting", "grid_interconnect"], "source": "EIA_860M", "source_url": "https://www.eia.gov/electricity/data/eia860m/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open restaurant \u2014 any cuisine, incl. fast food, pizza, diner, steakhouse, food court (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Everyday-amenity / dining-access proxy for workforce logistics and residential-context screening; catches all cuisine restaurants (incl. pizza, steakhouse) plus fast-food, diner, and food-court venues via the Overture taxonomy (cafes / coffee shops are the separate `cafe` concept).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_restaurant_distance_m", "null_meaning": "No open restaurant with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open restaurant (Overture places).", "interpretation_hints": "Secondary to the distance field; POI names in conflated data can lag renames/closures \u2014 provenance notes carry the record's own Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_restaurant_name", "null_meaning": "No open restaurant within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open cafe / coffee shop, incl. tea room and coffee roastery (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Everyday-amenity / coffee-shop access proxy; OR-matches the `cafe`, `coffee_shop`, and `tea_room` taxonomy branches (they are siblings under different parents \u2014 coffee roasteries fold in under coffee_shop).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_cafe_distance_m", "null_meaning": "No open cafe / coffee shop with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open cafe / coffee shop (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_cafe_name", "null_meaning": "No open cafe / coffee shop within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open bar / pub, incl. brewery, wine / sports / cocktail bar, lounge, nightlife venue (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Nightlife / entertainment access proxy for residential-context and mixed-use screening; OR-matches `bar` (incl. its pub, wine / sports / cocktail bar leaves), `brewery`, and `lounge` via the Overture taxonomy (salad/tapas bars stay on the food / casual-eatery path, not here).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_bar_distance_m", "null_meaning": "No open bar / pub with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open bar / pub (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_bar_name", "null_meaning": "No open bar / pub within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open gas / fueling station, incl. truck stop and fuel dock (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Fuel / refueling access proxy for logistics and site accessibility; EV charging stations are a SEPARATE Overture taxonomy token and are NOT counted here (honest boundary).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_gas_station_distance_m", "null_meaning": "No open gas station with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open gas station (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_gas_station_name", "null_meaning": "No open gas station within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open pharmacy / drugstore (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Healthcare / everyday-retail access proxy; OR-matches the pharmacy and drugstore taxonomy siblings (chains like CVS/Walgreens tag either); pharmaceutical wholesalers/schools excluded.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_pharmacy_distance_m", "null_meaning": "No open pharmacy / drugstore with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open pharmacy / drugstore (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_pharmacy_name", "null_meaning": "No open pharmacy / drugstore within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open bank or credit union (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Financial-services access proxy; keys on the Overture `bank_or_credit_union` taxonomy node (banks + credit-union leaves) \u2014 there is no bare `bank` token. Standalone ATMs and financial advising are excluded.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_bank_distance_m", "null_meaning": "No open bank or credit union with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open bank or credit union (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_bank_name", "null_meaning": "No open bank or credit union within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest open shopping center, mall, department store, or outlet store (Overture places; confidence >= 0.5, US only).", "interpretation_hints": "Retail-hub access proxy for residential-context and commercial siting; OR-matches `shopping_mall`, `department_store`, and `outlet_store` (there is no `shopping_center` token) \u2014 the broad `retail` / `shopping` buckets are deliberately excluded (too broad to be a signal).", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_shopping_center_distance_m", "null_meaning": "No open shopping center, mall, department store, or outlet store with Overture confidence >= 0.5 within 50 km of the point.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the nearest open shopping center, mall, department store, or outlet store (Overture places).", "interpretation_hints": "Secondary to the distance field; provenance notes carry the record's Overture conflation confidence.", "layer": "built_environment", "lifecycle": "stable", "name": "nearest_shopping_center_name", "null_meaning": "No open shopping center, mall, department store, or outlet store within 50 km, or the nearest record has no primary name.", "nullable": true, "presets": ["points_of_interest"], "source": "OVERTURE_PLACES", "source_url": "https://docs.overturemaps.org/guides/places/", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside an EPA Sewersheds v1.1 service-area polygon \u2014 the modeled/documented catchment area whose wastewater flows to one specific POTW (sewage treatment plant).", "interpretation_hints": "True means the point falls inside an EPA Sewersheds catchment \u2014 its wastewater is MODELED or documented to flow to one POTW; False means no sewershed covers it, which across rural America is usually septic reality, NOT a data gap. But the dataset has real coverage holes even in developed areas (e.g. Tega Cay SC reads False despite a live municipal gravity-sewer system), so a False in a developed/incorporated area warrants a nearest_sewer_service_area_distance_m + local-utility cross-check before being read as unsewered. This is not a connection determination: no active sewer tap is confirmed, it is not a will-serve letter (only the utility can commit to a specific parcel), and the polygon may lead or lag pipe-in-ground (planned-expansion, annexed-but-unbuilt, or never-trimmed decommissioned areas). Always co-read sewer_service_area_provenance before trusting it \u2014 81% of polygons are ml_modeled with statistical edges. Pair with sewer_service_area_provider (the POTW) and, when False, with nearest_sewer_service_area_distance_m.", "layer": "utilities", "lifecycle": "stable", "name": "within_sewer_service_area", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_SEWERSHEDS", "source_url": "https://www.epa.gov/cwns/sewersheds", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "CWNS-reported facility (POTW/endpoint) name of the sewershed containing the queried point.", "interpretation_hints": "The CWNS-reported POTW/endpoint name for the sewershed CONTAINING the point \u2014 populated only when within_sewer_service_area is True, never as a \"nearest\" fallback; null otherwise. Passed through as-is and sometimes consultant/engineering shorthand (e.g. \"Chicken Creek (The Manor)\"), so treat it as a label, not the legal utility-of-record or customer-facing brand. It is still not a connection determination \u2014 the named plant is the modeled discharge endpoint, not proof this parcel is served. Read alongside sewer_service_area_provenance to know whether the boundary is utility_sourced or ml_modeled.", "layer": "utilities", "lifecycle": "stable", "name": "sewer_service_area_provider", "null_meaning": "within_sewer_service_area is False, or the containing record is one of the 2 known composite multi-facility merged rows whose FACILITY_NAME is blank upstream.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_SEWERSHEDS", "source_url": "https://www.epa.gov/cwns/sewersheds", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "How the containing sewershed boundary was obtained \u2014 utility_sourced (state agency/utility/public GIS) or ml_modeled (EPA hexagon-classifier estimate).", "interpretation_hints": "How the containing sewershed boundary was obtained: utility_sourced = published by a state/utility/public-GIS source (high evidentiary weight); ml_modeled = an EPA hexagon-classifier estimate (~0.11 km\u00b2 cells) \u2014 81% of all polygons \u2014 whose edge is a statistical guess and never equal in precision to a sourced boundary. NEVER infer this from geography: a well-known utility or a best-sourced state does not imply utility_sourced (downtown Charlotte's Irwin Creek WWTP, in top-sourced NC, is itself modeled), and a state's sourced share is not a per-point guarantee. Gate every confident claim about within_sewer_service_area / sewer_service_area_provider on this field.", "layer": "utilities", "lifecycle": "stable", "name": "sewer_service_area_provenance", "null_meaning": "within_sewer_service_area is False.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_SEWERSHEDS", "source_url": "https://www.epa.gov/cwns/sewersheds", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest EPA Sewersheds polygon edge; 0.0 when the point is already within one; null beyond the 50 km search cap.", "interpretation_hints": "Straight-line geodesic distance to the nearest sewershed EDGE: 0.0 when the point is already inside one (i.e. within_sewer_service_area is True), otherwise true edge distance up to 50,000 m; null beyond that means \"no sewer service area found within 50 km\" \u2014 not zero, not unknown. It is a screening proxy only \u2014 NOT pipe-route distance, NOT a main-extension cost estimate, NOT a lift-station feasibility signal. Independent of the provider/provenance fields (it populates even outside any sewershed); combine with parcel_zoning and public_water_system_population_served to reason about septic-vs-sewer context.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_sewer_service_area_distance_m", "null_meaning": "No sewershed polygon edge falls within the 50 km search cap (a deep-rural / backcountry coordinate).", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_SEWERSHEDS", "source_url": "https://www.epa.gov/cwns/sewersheds", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total resident population of the containing county (Census PEP Vintage 2025 POPESTIMATE2025), keyed by county FIPS.", "interpretation_hints": "Census PEP **estimate** (Vintage 2025 POPESTIMATE), NOT a decennial census count. County total. Pairs with `county_population_growth_1yr_pct`. Honesty; an inter-censal model estimate revised every vintage, do not treat as an exact enumeration.", "layer": "built_environment", "lifecycle": "stable", "name": "county_population", "null_meaning": "County not present in the PEP table, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_PEP", "source_url": "https://www.census.gov/programs-surveys/popest.html", "ttl_seconds": 2592000, "type": "int", "unit": "people"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "One-year county population change (2025 vs 2024 POPESTIMATE, Census PEP Vintage 2025), as a percentage.", "interpretation_hints": "1-yr county population change, **computed within a single vintage** (2025 vs 2024 POPESTIMATE). >=1% is a common \"growing county\" screen threshold. Honesty; never compare across vintages (PEP re-estimates the whole back-series each release), negative = shrinking county.", "layer": "built_environment", "lifecycle": "stable", "name": "county_population_growth_1yr_pct", "null_meaning": "County missing from one of the two years, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_PEP", "source_url": "https://www.census.gov/programs-surveys/popest.html", "ttl_seconds": 2592000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Net domestic migration for the containing county (Census PEP Vintage 2025 DOMESTICMIG2025), a component of population change.", "interpretation_hints": "Net **domestic** migrants (in-out, Vintage 2025 DOMESTICMIG), a component of population change. Excludes international migration and natural change. Honesty; legitimately negative for out-migrating counties, estimate, not a survey count.", "layer": "built_environment", "lifecycle": "stable", "name": "county_net_domestic_migration", "null_meaning": "County not present in the PEP table, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_PEP", "source_url": "https://www.census.gov/programs-surveys/popest.html", "ttl_seconds": 2592000, "type": "int", "unit": "people"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total residential housing units authorized by building permits in the containing county, latest full year (Census BPS, sum of 1-unit + 2-unit + 3-4 unit + 5+ unit Units).", "interpretation_hints": "Total residential housing UNITS authorized by building permits, latest full year (2025), from Census BPS. A demand/pipeline signal. Honesty; permits ISSUED != starts != completions, ~44% of counties include **imputed** permits for non-reporting places, annual vintage revised as late reports arrive.", "layer": "built_environment", "lifecycle": "stable", "name": "county_building_permits_total_annual", "null_meaning": "County not present in the BPS annual file, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_BPS", "source_url": "https://www.census.gov/construction/bps/", "ttl_seconds": 2592000, "type": "int", "unit": "units"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Single-family (1-unit) housing units authorized by building permits in the containing county, latest full year (Census BPS 1-unit Units).", "interpretation_hints": "Single-family (1-unit) housing units authorized, latest year (2025), Census BPS. Sibling of `county_building_permits_total_annual` (the multifamily share is total-SF). Honesty; same permits-issued + imputation caveats.", "layer": "built_environment", "lifecycle": "stable", "name": "county_building_permits_sf_annual", "null_meaning": "County not present in the BPS annual file, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_BPS", "source_url": "https://www.census.gov/construction/bps/", "ttl_seconds": 2592000, "type": "int", "unit": "units"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Year-over-year percent change in total permitted housing units for the containing county (latest year vs prior year, Census BPS).", "interpretation_hints": "Year-over-year % change in total permitted units (2025 vs 2024), Census BPS. Momentum signal. Honesty; small-count counties swing hard, both years subject to vintage revision.", "layer": "built_environment", "lifecycle": "stable", "name": "county_building_permits_yoy_pct", "null_meaning": "County missing from one of the two years (or a prior total of 0), or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_BPS", "source_url": "https://www.census.gov/construction/bps/", "ttl_seconds": 2592000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "FHFA House Price Index annual percent change for the containing county, latest year (developmental all-transactions county index; the native \"Annual Change (%)\" column, served verbatim).", "interpretation_hints": "FHFA House Price Index annual **% change**, latest year (2023), all-transactions county **developmental** index. Honesty; NOT a price or valuation ($), a developmental/experimental series, **low-transaction counties are suppressed -> null (never interpolated)**.", "layer": "built_environment", "lifecycle": "stable", "name": "county_hpi_yoy_pct", "null_meaning": "County suppressed for the latest year (low-transaction / small sample), absent from the developmental county set, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "FHFA_HPI", "source_url": "https://www.fhfa.gov/data/hpi", "ttl_seconds": 2592000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "BLS QCEW annual-average covered employment (all ownerships, all industries) for the containing county, latest year.", "interpretation_hints": "BLS QCEW annual-average **covered** employment (place-of-work), latest year (2025). Honesty; covered (UI) employment excludes self-employed, most agriculture, and military - it is NOT the total labor force.", "layer": "built_environment", "lifecycle": "stable", "name": "county_employment_total", "null_meaning": "County not present in the QCEW file (or suppressed on the total row), or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "BLS_QCEW", "source_url": "https://www.bls.gov/cew/", "ttl_seconds": 2592000, "type": "int", "unit": "jobs"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Year-over-year percent change in annual-average covered employment for the containing county (latest year vs prior year, BLS QCEW).", "interpretation_hints": "Year-over-year % change in covered employment (2025 vs 2024), BLS QCEW. Honesty; covered-employment scope caveat as above, reference is annual average.", "layer": "built_environment", "lifecycle": "stable", "name": "county_employment_yoy_pct", "null_meaning": "County missing from one of the two years (or a prior total of 0), or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "BLS_QCEW", "source_url": "https://www.bls.gov/cew/", "ttl_seconds": 2592000, "type": "float", "unit": "percent"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "ACS 5-year pooled median household income (table B19013 estimate) for the containing county, in USD.", "interpretation_hints": "ACS **2019-2023 5-year pooled** median household income (USD), table B19013. Honesty; a smoothed 5-yr estimate with a margin of error, NOT a point-in-time count, the -666666666 jam value is served as null.", "layer": "built_environment", "lifecycle": "stable", "name": "county_median_household_income", "null_meaning": "County suppressed (jam value -666666666), absent from the table, or the dataset is not bootstrapped.", "nullable": true, "presets": [], "source": "CENSUS_ACS", "source_url": "https://www.census.gov/programs-surveys/acs/data/summary-file.html", "ttl_seconds": 2592000, "type": "int", "unit": "USD"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Residents aged 16+ in the civilian labor force in this census tract (ACS 5-year B23025, 2020 tract geography).", "interpretation_hints": "ACS **2019-2023 5-year pooled** civilian labor force count (table B23025_003E), 2020-vintage Census tract. Honesty; a smoothed 5-yr estimate with a margin of error, NOT a point-in-time count. Residence-based (where people live), not jobs-based (where people work) \u2014 pairs with `tract_population` for a labor-force-participation read of the tract.", "layer": "built_environment", "lifecycle": "stable", "name": "tract_civilian_labor_force", "null_meaning": "value not published for this tract or asset not yet ingested.", "nullable": true, "presets": [], "source": "CENSUS_TRACT_WORKFORCE", "source_url": "https://www.census.gov/programs-surveys/acs/data/summary-file.html", "ttl_seconds": 2592000, "type": "int", "unit": "people"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Total population of this census tract (2020 population-weighted centroid file, CenPop2020).", "interpretation_hints": "2020 Census population-weighted tract centroid file (CenPop2020) population count \u2014 a decennial-census-based figure, distinct from the ACS 5-yr estimate basis of `tract_civilian_labor_force`.", "layer": "built_environment", "lifecycle": "stable", "name": "tract_population", "null_meaning": "value not published for this tract or asset not yet ingested.", "nullable": true, "presets": [], "source": "CENSUS_TRACT_WORKFORCE", "source_url": "https://www.census.gov/programs-surveys/acs/data/summary-file.html", "ttl_seconds": 2592000, "type": "int", "unit": "people"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside a mapped EPA Community Water System (CWS) service-area boundary \u2014 the area a public water system reports serving. Sourced from EPA PWS Service Areas V3.0 (March 2026).", "interpretation_hints": "True means the point is inside a MAPPED EPA CWS service-area boundary \u2014 a strong sign municipal water service exists there; it is NOT a will-serve commitment (capacity/annexation are utility decisions). Roughly 43% of EPA polygons are ML-modeled rather than utility-submitted \u2014 read `water_service_area_provenance` to know which, and never assume a large or well-known utility is authoritatively mapped. False can mean unserved (well/self-supply territory), or one of the ~5,000 community water systems EPA has not yet mapped (its own documented coverage gap, published as Missing_CWS_V_3_0.csv) \u2014 use `nearest_water_service_area_distance_m` to tell 'nowhere near service' from 'just outside a boundary'. VINTAGE NOTE (August 2026): this field moved from the V1.2 (February 2025) edition to V3.0 (March 2026). That edition change flips roughly 702 systems from True to False \u2014 SDWIS reclassified them as non-community systems or EPA removed them as inactive/wholesaler \u2014 and adds roughly 939 newly-mapped systems, so an answer here can legitimately differ from one taken before August 2026. Read with `water_system_name`, `public_water_system_population_served`, and `within_sewer_service_area`.", "layer": "utilities", "lifecycle": "stable", "name": "within_water_service_area", "null_meaning": null, "nullable": false, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWS_SERVICE_AREAS", "source_url": "https://www.epa.gov/waterdata", "ttl_seconds": 2592000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Name of the EPA community water system whose mapped service-area polygon contains the point (the most-specific polygon when service areas overlap).", "interpretation_hints": "Name of the community water system whose mapped service area contains the point (most-specific polygon when areas overlap \u2014 typically the retail provider). This is who to contact for a will-serve letter. Complements `nearest_public_water_system_name` (SDWIS admin nearest, which can differ). The boundary that produced this name may be ML-modeled \u2014 check `water_service_area_provenance`.", "layer": "utilities", "lifecycle": "stable", "name": "water_system_name", "null_meaning": "point is outside every mapped CWS service area, the containing system's name cell is blank in source, or the local CWS index is unreadable.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWS_SERVICE_AREAS", "source_url": "https://www.epa.gov/waterdata", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Straight-line distance to the nearest active RCRA-permitted hazardous-waste Treatment, Storage and Disposal (TSD) facility within an 8 km screening band (EPA Facility Registry Service).", "interpretation_hints": "Distance to the nearest **active** RCRA-permitted hazardous-waste Treatment, Storage and Disposal facility (EPA FRS RCRAInfo TSD interest layer, ~2,000 nationally). A TSD facility is a **permitted waste-management operation, not evidence of contamination** \u2014 it is a land-use/neighbour and community-opposition signal, and a due-diligence prompt, not a contamination measurement. Excludes hazardous-waste *generators* (every hospital and factory notifies as one), transporters, and closed/former TSD facilities. FRS positions are largely address-matched, so treat distance as a screening-scale figure, not a sub-100 m measurement. Read with `nearest_superfund_distance_m` and `nearest_brownfield_distance_m`.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_rcra_tsd_distance_m", "null_meaning": "No RCRA TSD facility within 8 km, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_RCRA_TSD", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Count of active RCRA-permitted hazardous-waste Treatment, Storage and Disposal (TSD) facilities within 8 km of the point.", "interpretation_hints": "Exact count of active RCRA TSD facilities within 8 km \u2014 a density signal for industrial waste-management corridors. **Counts are per-program and overlap by design:** one physical site can be registered in SEMS *and* ACRES *and* RCRA TSD, so the three counts must not be summed. Zero means none within the band, not none in the area; most non-industrial coordinates return 0. Read with `superfund_sites_within_radius_count` and `brownfields_within_radius_count`.", "layer": "hazards", "lifecycle": "stable", "name": "rcra_tsd_facilities_within_radius_count", "null_meaning": "The local index is unavailable (bootstrap-pending / corrupt asset); a successful empty radius returns 0.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_RCRA_TSD", "source_url": "https://www.epa.gov/frs", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest wastewater treatment plant in EPA's Clean Watersheds Needs Survey 2022; null beyond the 50 km screening band.", "interpretation_hints": "Geodesic distance to the nearest wastewater treatment plant in EPA's Clean Watersheds Needs Survey 2022 (17,687 plants nationally), searched within a 50 km screening band. The nearest plant is NOT necessarily the plant that would serve this location \u2014 a gravity sewer basin can route a site to a farther plant, and a nearby plant may have no collection main on the parcel. Read with sewer_service_area_provider, which names the plant whose modeled catchment actually contains the point, and with nearest_sewer_service_area_distance_m, which uses the same 50 km cap. CWNS publishes no positional-accuracy metadata, so the coordinate locates a survey record for a plant, not an outfall, headworks or property boundary \u2014 treat this as a screening-scale figure, not a sub-100 m measurement. CWNS 2022 is a SURVEY EDITION (data as of January 2022, published April 2024; EPA states a nominally four-year cadence but the previous edition was 2012), so a plant built or retired since is absent.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_wastewater_plant_distance_m", "null_meaning": "No CWNS 2022 wastewater treatment plant within 50 km (a semantic absence), or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWNS", "source_url": "https://www.epa.gov/cwns/clean-watersheds-needs-survey-cwns-2022-report-and-data", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "CWNS-reported facility name of the nearest wastewater treatment plant, passed through verbatim.", "interpretation_hints": "The plant's name as reported to CWNS, passed through verbatim \u2014 sometimes local or engineering shorthand, and occasionally carrying upstream whitespace quirks \u2014 so treat it as a label, not the legal utility of record. It is the lead for due diligence: look the plant up (its NPDES permit and discharge-monitoring reports are public in EPA ECHO) before characterizing it. This is the NEAREST plant, not the SERVING plant \u2014 compare with sewer_service_area_provider; when the two differ, the point is nearer to one plant than to the one its wastewater is modeled to reach.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_wastewater_plant_name", "null_meaning": "No CWNS 2022 wastewater treatment plant within 50 km, the nearest plant carries no usable facility name, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWNS", "source_url": "https://www.epa.gov/cwns/clean-watersheds-needs-survey-cwns-2022-report-and-data", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Residential population served by the nearest wastewater treatment plant per CWNS 2022, including population from upstream collection systems that discharge into it. A measure of plant scale, not spare capacity.", "interpretation_hints": "Residential population served by the nearest plant per CWNS 2022, INCLUDING population from upstream collection systems that discharge into it \u2014 the honest measure of plant scale, since a large regional plant's directly-served count is near zero by construction. Nationally the median plant serves ~1,500 people (p25 476, p75 6,353, p90 25,654, max 3.35 M), so this is the field that distinguishes a village lagoon from a regional facility. It is SCALE, NOT SPARE CAPACITY: it says nothing about headroom for a new industrial or data-center load \u2014 that is a phone call to the operator. Actual (as-operated) flow is not in CWNS at all; it lives in NPDES/ECHO. The figure excludes nonresidential/industrial load. A value of 0 means the plant reported no residential population \u2014 which can mean it treats purely industrial or reuse flow, or that the figure was left at zero; CWNS does not distinguish these, and 411 of 17,687 plants report 0. Review status varies by tier: every figure is self-reported through a state survey coordinator, and for roughly 1,200 plants the state confirmed only that the plant exists without gathering any technical data at all. Read with sewer_service_area_provider and public_water_system_population_served.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_wastewater_plant_population_served", "null_meaning": "No CWNS 2022 wastewater treatment plant within 50 km, or the local index is unavailable (bootstrap-pending / corrupt asset). A plant that reported zero residential population returns 0, not null.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWNS", "source_url": "https://www.epa.gov/cwns/clean-watersheds-needs-survey-cwns-2022-report-and-data", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest mapped EPA CWS service-area polygon edge; 0.0 when the point is already inside one; null beyond the 50 km search cap.", "interpretation_hints": "Straight-line geodesic distance to the nearest mapped CWS service-area EDGE: 0.0 when the point is already inside one (i.e. within_water_service_area is True), otherwise the true edge distance up to 50,000 m; null beyond that means \"no mapped service area within 50 km\" \u2014 not zero, not unknown. It is a screening proxy only \u2014 NOT pipe-route distance, NOT a main-extension cost estimate, and NOT evidence a utility will extend service (that is a will-serve decision about capacity and annexation). Roughly 43% of EPA boundaries are ml_modeled, so an edge distance is measured against a statistical estimate as often as not \u2014 always read with water_service_area_provenance. Independent of the name/provenance fields (it populates even outside any service area). Pair with nearest_sewer_service_area_distance_m for a combined wet-utility screen.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_water_service_area_distance_m", "null_meaning": "No mapped CWS service-area polygon edge falls within the 50 km search cap (a deep-rural / backcountry / offshore coordinate), or the local CWS index is unreadable.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWS_SERVICE_AREAS", "source_url": "https://www.epa.gov/waterdata", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "How the containing CWS service-area boundary was obtained \u2014 utility_sourced (state agency/utility/public GIS submission) or ml_modeled (EPA machine-learning estimate).", "interpretation_hints": "How the containing service-area boundary was obtained: utility_sourced = published by a state/utility/public-GIS source (high evidentiary weight); ml_modeled = an EPA machine-learning estimate (Random Forest, Decision Tree, parcel or OpenStreetMap derivation) \u2014 43% of all polygons \u2014 whose edge is a statistical guess and never equal in precision to a sourced boundary. NEVER infer this from geography or from how well-known the utility is: Baton Rouge Water Company (580,000 people served), Lansing Board of Water & Light and Augusta-Richmond County are all ml_modeled, while much smaller systems are utility_sourced. Gate every confident claim about within_water_service_area, water_system_name and nearest_water_service_area_distance_m on this field. Same vocabulary as sewer_service_area_provenance, so the two are directly comparable.", "layer": "utilities", "lifecycle": "stable", "name": "water_service_area_provenance", "null_meaning": "within_water_service_area is False. Also null in three rarer cases, each named in the field's notes \u2014 the containing polygon's provenance cell is blank upstream, the upstream value is one this API does not map (logged as schema drift and never passed through raw), or the published CWS artifact predates the provenance column (a pre-V3.0 edition, expected for one restart during a rebuild publish).", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "EPA_CWS_SERVICE_AREAS", "source_url": "https://www.epa.gov/waterdata", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the nearest underground-storage-tank facility in EPA's UST Finder national composite (open or closed tanks); null beyond the 8 km screening band.", "interpretation_hints": "Geodesic distance to the nearest underground-storage-tank facility in EPA's UST Finder national composite (689,673 facilities served, searched within an 8 km screening band). A REGISTERED TANK FACILITY IS NOT CONTAMINATION \u2014 72% of these facilities have only closed tanks, and most never had a release; this is a former-fuel-retail / land-use-legacy signal and a due-diligence prompt, not a measurement of soil or groundwater impact. The contamination signal in this family is open_lust_sites_within_1km_count. The data is a FROZEN SNAPSHOT \u2014 states as of 2018-2019, territories 2020-2021, tribal lands as of October 2025 \u2014 so a tank installed or removed since is absent, and EPA's UST Finder 2.0 re-standardization is pending. About two-thirds of facility positions are geocoded from a street address rather than surveyed, so treat this as a screening-scale figure that locates a RECORD OF A FACILITY, not a tank or a dispenser island. Read with nearest_superfund_distance_m, nearest_brownfield_distance_m and nearest_rcra_tsd_distance_m, which use the same 8 km band.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_ust_facility_distance_m", "null_meaning": "No UST Finder facility within 8 km (a semantic absence), or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_UST_FINDER_FACILITIES", "source_url": "https://www.epa.gov/ust/ust-finder", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Exact count of EPA UST Finder underground-storage-tank facilities within 1 km \u2014 a density signal for historical fuel-retail and fleet-fueling land use, not a contamination count.", "interpretation_hints": "Exact count of UST Finder tank facilities within 1 km \u2014 a density signal for historical fuel-retail and fleet-fueling land use. 1 KM IS DELIBERATELY NARROW: at the 8 km band the other contaminated-site fields use, this count runs into the thousands in any city (1,489 in downtown Houston) and stops being a signal. For reference, ASTM E1527-21 requires only property and adjoining properties for registered-UST records, so 1 km is considerably more inclusive than standard due diligence. Zero means none within 1 km, not none in the area \u2014 most non-urban coordinates return 0, and 0 is a real answer at ok status, never a missing value. Counts can still be inflated where a state supplied ONE coordinate for many records: centroid-grade positions (postal and locality geocodes) are excluded from the served index, but 8.6% of remaining rows share a coordinate with another facility, and the worst such stack carries 97 state-supplied rows. Read with open_lust_sites_within_1km_count, which is the contamination half of the pair.", "layer": "hazards", "lifecycle": "stable", "name": "ust_facilities_within_1km_count", "null_meaning": "The local index is unavailable (bootstrap-pending / corrupt asset); a successful empty radius returns 0.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_UST_FINDER_FACILITIES", "source_url": "https://www.epa.gov/ust/ust-finder", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Exact count of leaking-underground-storage-tank (LUST) release sites within 1 km whose state cleanup status reads Open in EPA's UST Finder snapshot.", "interpretation_hints": "Exact count of leaking-UST release sites within 1 km whose state cleanup status reads OPEN \u2014 releases still being monitored or remediated, not the 84% of historical releases already closed out. THIS IS THE CONTAMINATION SIGNAL IN THIS FAMILY, and 1 km is slightly more inclusive than ASTM E1527-21's 0.5-mile (805 m) minimum search distance for state leaking-tank databases. Cleanup status is AS REPORTED IN THE 2018-2021 SNAPSHOT, not current, so a release closed out since then may still read as open and a release opened since is absent \u2014 confirm current status with the state agency before relying on it. Zero means none within 1 km, and is a real answer at ok status, never a missing value. Read with ust_facilities_within_1km_count and the Superfund / brownfield / RCRA-TSD proximity fields; THESE COUNTS ARE PER-PROGRAM AND OVERLAP BY DESIGN \u2014 one physical site can appear as a UST facility, an open LUST release and an ACRES brownfield, so they must not be summed.", "layer": "hazards", "lifecycle": "stable", "name": "open_lust_sites_within_1km_count", "null_meaning": "The local index is unavailable (bootstrap-pending / corrupt asset); a successful empty radius returns 0.", "nullable": true, "presets": ["site_selection", "data_center_siting"], "source": "EPA_UST_FINDER_RELEASES", "source_url": "https://www.epa.gov/ust/ust-finder", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "True if the queried point falls inside a USGS-mapped area of karst or pseudokarst \u2014 rock units that have developed, or have the potential to develop, dissolution or collapse features including sinkholes, caves and lava tubes.", "interpretation_hints": "An area SCREEN, not a susceptibility or collapse-probability rating \u2014 USGS states explicitly that these maps \"do not indicate degrees of karst hazards within the areas depicted, such as susceptibility for sinkhole collapse\", and that areas of significant karst hazard are only a small subset of what is delineated. About 13.5% of random points in the lower 48 fall inside a mapped unit, so True is common and is a prompt for site-specific investigation, never a finding. True also includes PSEUDOKARST (basaltic lava tubes, piping cavities in loose sediment, thermokarst in ice-rich permafrost) \u2014 read karst_type to know which mechanism. True likewise includes DEEPLY BURIED soluble rock: read karst_exposure_class, because a buried_ value can mean carbonate under up to ~90 m of insoluble cover with no surface expression at all. Source map units are generally 1:500,000 scale or smaller and USGS's own downstream use buffers them by 1 km, so a False within ~1 km of a mapped boundary is not a safe negative \u2014 which is why False reads medium confidence rather than high. Mapped coverage is the 50 states plus Puerto Rico and the U.S. Virgin Islands, but a small tail of polygons lies outside the served coordinate envelope and is unreachable in practice: units south of 18.0 latitude (the southern Puerto Rico coast and USVI), east of -65.0 longitude (USVI), and the western Aleutians across the antimeridian. The compilation is a static 2014 product and is not updated as state geologic maps are revised.", "layer": "hazards", "lifecycle": "stable", "name": "in_karst_area", "null_meaning": null, "nullable": false, "presets": ["natural_hazard"], "source": "USGS_KARST", "source_url": "https://doi.org/10.3133/ofr20141156", "ttl_seconds": 31536000, "type": "bool", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Which ground-collapse mechanism the containing map unit represents \u2014 one of carbonate, evaporite, sandstone_solution, volcanic_pseudokarst, piping_pseudokarst or thermokarst.", "interpretation_hints": "The mechanism behind in_karst_area, which matters because the six values carry very different engineering implications. carbonate (90,300 of the 112,162 mapped units) is limestone/dolostone/marble dissolution \u2014 the classic sinkhole mechanism. evaporite (8,220) is gypsum or halite, which dissolves far faster than carbonate and can collapse on engineering rather than geologic timescales; it is the most aggressive value here. sandstone_solution (16 units, in Minnesota only) is quartz sandstone with solution features. volcanic_pseudokarst (11,738) is basaltic lava tubes \u2014 roof collapse WITHOUT dissolution. piping_pseudokarst (1,586, mostly Texas, South Dakota and Kansas) is subsurface erosion cavities in loose sediment. thermokarst (302, mapped exclusively in Alaska) is ground-ice thaw subsidence, which is progressive settlement rather than sudden collapse. Where mapped units OVERLAP, the value reported is the one that dissolves fastest, because that mechanism governs the shorter timescale: measured on the served artifact, 29 of 4,000 sampled points inside karst fall in more than one unit and 23 of those carry a type conflict \u2014 every one of them carbonate versus evaporite, which resolves to evaporite. Derived from the source LAYER, not from the upstream free-text KARST_TYPE sentence, which is absent entirely from the Alaska thermokarst layer and carries encoding damage elsewhere.", "layer": "hazards", "lifecycle": "stable", "name": "karst_type", "null_meaning": "in_karst_area is False \u2014 no mapped karst or pseudokarst unit at the point.", "nullable": true, "presets": ["natural_hazard"], "source": "USGS_KARST", "source_url": "https://doi.org/10.3133/ofr20141156", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "How deeply the soluble rock is buried \u2014 one of exposed, buried_under_insoluble_cover, buried_under_thin_glacial_cover or buried_under_thick_glacial_cover.", "interpretation_hints": "The single most load-bearing qualifier on in_karst_area. exposed (79,886 of the 112,162 mapped units) means soluble rock at or near the land surface \u2014 the sinkhole-relevant case. buried_under_insoluble_cover (1,806) means under less than 300 ft (~90 m) of insoluble sediments. buried_under_thin_glacial_cover (11,160) means under 50 ft (~15 m) or less of glacially derived insoluble sediments, and buried_under_thick_glacial_cover (5,400) means more than 50 ft of it. A buried_ value means the soluble unit is present at DEPTH but has little or no surface expression, and that distinction is the whole point of this field: Ames, Iowa reports in_karst_area true with buried_under_thick_glacial_cover, which is a completely different site condition from Bowling Green, Kentucky's exposed, and no other field in the set separates them. confidence follows this field \u2014 exposed reads high, any buried_ value reads low, and pseudokarst or a missing exposure attribute reads medium. This is a mapped burial CLASS, not a measured depth to rock; for a measured depth see bedrock_depth_cm.", "layer": "hazards", "lifecycle": "stable", "name": "karst_exposure_class", "null_meaning": "in_karst_area is False; or the containing unit is pseudokarst (volcanic, piping or thermokarst \u2014 surface features by definition, so the source carries no exposure attribute); or the containing unit is one of the 284 Hawaii carbonate units whose exposure attribute is blank upstream.", "nullable": true, "presets": ["natural_hazard"], "source": "USGS_KARST", "source_url": "https://doi.org/10.3133/ofr20141156", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance in metres to the nearest documented unplugged orphaned oil or gas well in the USGS DOW dataset, searched within a 50 km screening band. Covers 27 states only.", "interpretation_hints": "Geodesic distance to the nearest DOCUMENTED unplugged orphaned oil or gas well in the USGS DOW dataset (117,672 wells across 27 states), searched within a 50 km screening band. Coverage is the first thing to check: 23 states, the District of Columbia and all territories have no inventory in this dataset, so a null here can mean 'nobody has looked' rather than 'nothing is near' \u2014 read documented_orphaned_wells_within_1km_count, which is null in the uninventoried case and 0 in an inventoried one. Even a NON-null distance can under-report in an uninventoried state, where the nearest documented well is necessarily across a state line and the true nearest well may be much closer; the provenance note says so when that applies. 'Documented' is load-bearing: the dataset lists only wells a state agency has already recorded with a known location, and the national undocumented population is estimated in the hundreds of thousands, far larger. USGS performed no well-by-well location verification and publishes no positional-accuracy metadata; Kansas and Montana coordinates (5,698 wells, 4.8% of the dataset) were derived by USGS from Public Land Survey System section descriptors \u2014 section-grade, and a section is one square mile \u2014 so treat this as a screening-scale figure, not a sub-100 m measurement. The dataset is a frozen edition published in August 2022, built from state source files spanning July 2019 to June 2022, and the ground truth moves in BOTH directions: $4.675 billion of Bipartisan Infrastructure Law money has been plugging wells since October 2022, so a listed well may already be plugged, and states are still documenting new ones. Read with nearest_superfund_distance_m and nearest_brownfield_distance_m for the wider contamination-screen picture.", "layer": "hazards", "lifecycle": "stable", "name": "nearest_documented_orphaned_well_distance_m", "null_meaning": "Either the state is not one of the 27 states inventoried by the USGS DOW dataset \u2014 read documented_orphaned_wells_within_1km_count, which is also null in that case and 0 when the state IS inventoried \u2014 or the state is inventoried and no documented orphaned well lies within 50 km, or the coordinate is not within a US state, or the local index is unavailable (bootstrap-pending / corrupt asset).", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_ORPHANED_WELLS", "source_url": "https://www.usgs.gov/data/united-states-documented-unplugged-orphaned-oil-and-gas-well-dataset", "ttl_seconds": 2592000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Exact count of documented unplugged orphaned oil and gas wells within 1 km of the queried point, from the USGS DOW dataset. A 0 and a null mean different things \u2014 null means the state has no inventory in this dataset at all.", "interpretation_hints": "Exact count of documented unplugged orphaned wells within 1 km \u2014 the site-adjacency band, chosen because the coordinates are not accurate enough to support a tighter one (4.8% of them are Public Land Survey System section-grade, and a section is one square mile). Nationally 99.5% of random points return 0 and 70% of points inside a producing region still return 0, so a non-zero count is a strong signal: legacy oil districts return tens to hundreds (44 at Bradford PA, 65 at Bolivar NY, up to 473 in the Allegany field). A 0 and a null mean completely different things here: 0 means this state's inventory was searched and nothing is within 1 km; null means the state has no inventory in this dataset at all, which is a coverage gap and NOT evidence that the state holds no orphaned wells (23 states, the District of Columbia and all territories are uninventoried, several of them with real oil-and-gas history). This is a screening prompt, not a liability determination \u2014 an orphaned well near a site is a due-diligence lead (methane leakage, plugging cost, groundwater risk, physical obstruction, access and title questions), and the responsible party, plugging status and state-program queue must be confirmed with the state oil-and-gas agency named in the release. Read with nearest_documented_orphaned_well_distance_m.", "layer": "hazards", "lifecycle": "stable", "name": "documented_orphaned_wells_within_1km_count", "null_meaning": "The state is not one of the 27 states inventoried by the USGS DOW dataset (a semantic absence \u2014 NOT a count of zero), the coordinate is not within a US state, or the local index is unavailable (bootstrap-pending / corrupt asset, including the state-coverage index that decides which of those applies). An inventoried state with no documented orphaned well within 1 km returns 0, not null.", "nullable": true, "presets": ["data_center_siting"], "source": "USGS_ORPHANED_WELLS", "source_url": "https://www.usgs.gov/data/united-states-documented-unplugged-orphaned-oil-and-gas-well-dataset", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Modelled self-supplied (private-well) households per km\u00b2, averaged over the 3 km \u00d7 3 km neighbourhood containing the point. USGS downscales a 2020 census-block self-supplied/publicly-supplied classification to a 1 km grid. Conterminous US only.", "interpretation_hints": "Modelled self-supplied (private-well) HOUSEHOLDS per km\u00b2, averaged over the 3 km \u00d7 3 km neighbourhood containing the point (3\u00d73 cells of the source's 1 km equal-area grid) \u2014 a screening signal for how groundwater-dependent an area is: high density means neighbours draw their own groundwater, so there is no public water main, and a large new groundwater withdrawal carries drawdown, permitting and community-opposition exposure. This is a MODEL estimate, not a well inventory: a machine-learning classifier labels each 2020 census block self-supplied or publicly supplied and downscales to a 1 km grid, so it supports area screening but cannot confirm that any particular well exists at or near the point. HOUSEHOLDS, NOT WELLS \u2014 one household may have one well, and one well may serve several. DOMESTIC USE ONLY: irrigation, industrial and public-supply groundwater withdrawals are NOT counted, so this is not a measure of total aquifer competition, which for a large water user is usually dominated by exactly those uses. Screening-scale and area-describing, never parcel-level. Fixed 2020 vintage; conterminous US only, so Alaska, Hawaii and the territories are absent. A covered area with no self-supplied households returns 0.0, not null \u2014 that is the normal reading inside a city. Read with within_water_service_area (its complement: a public water-service area is where this should be near zero) and with nearest_groundwater_well_depth_to_water_m (a sparse USGS monitoring reading over a different well population).", "layer": "utilities", "lifecycle": "stable", "name": "domestic_well_households_per_km2", "null_meaning": "The point is outside the modelled product's coverage (it is conterminous-US only, so Alaska, Hawaii and the territories are absent, as are open ocean and points across the Canadian or Mexican border), or the local index is unavailable (bootstrap-pending / corrupt asset). A covered area with no self-supplied households returns 0.0, not null.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "USGS_SELF_SUPPLIED_HOUSEHOLDS", "source_url": "https://doi.org/10.5066/P13BILQT", "ttl_seconds": 31536000, "type": "float", "unit": "households/km2"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Coarse class over the same modelled self-supplied-household density \u2014 none / sparse / moderate / dense / very_dense. Frozen physical bands, not quantiles.", "interpretation_hints": "The same modelled value as domestic_well_households_per_km2, banded so it reads without a units lookup. Bands (households/km\u00b2, frozen physical breaks, never quantiles \u2014 quantile breaks would bake any input bias into the labels): none = exactly 0.0; sparse = above 0 up to 1; moderate = above 1 up to 10; dense = above 10 up to 50; very_dense = above 50. Nationally about 41% of covered cells are none, 65% none-or-sparse, 92% at or below moderate, and above 50 is under 0.05% of covered area. `none` means the MODEL estimates no self-supplied households in the neighbourhood \u2014 not a guarantee that no well exists there. Every caveat on domestic_well_households_per_km2 applies unchanged: it is a model estimate rather than a well inventory, it counts households rather than wells, and it counts DOMESTIC use only (no irrigation, industrial or public-supply withdrawals). The class is absent exactly when the density is absent \u2014 the two never disagree about whether there is an answer.", "layer": "utilities", "lifecycle": "stable", "name": "domestic_well_household_density_class", "null_meaning": "The point is outside the modelled product's coverage (conterminous-US only, so Alaska, Hawaii, the territories, open ocean and points across the Canadian or Mexican border are absent), or the local index is unavailable (bootstrap-pending / corrupt asset). The class is absent exactly when domestic_well_households_per_km2 is absent; a covered area with no self-supplied households returns the class `none`, not null.", "nullable": true, "presets": ["site_selection", "utilities", "data_center_siting"], "source": "USGS_SELF_SUPPLIED_HOUSEHOLDS", "source_url": "https://doi.org/10.5066/P13BILQT", "ttl_seconds": 31536000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "CAL FIRE (Office of the State Fire Marshal) regulatory Fire Hazard Severity Zone class at the queried point: Moderate, High, Very High, or Non-Wildland. California-only; null outside California and on Federal Responsibility Area land, which CAL FIRE does not zone.", "interpretation_hints": "CAL FIRE's regulatory Fire Hazard Severity Zone at the point \u2014 Moderate, High, Very High, or Non-Wildland \u2014 from the Office of the State Fire Marshal's own statewide maps (SRA map dated 29 September 2023, effective 1 April 2024; LRA map dated 24 March 2025). ALWAYS read it with fire_hazard_responsibility_area, because that field decides what this one legally means, and the two conventions are opposites. In SRA (state-protected land) all three hazard classes ARE the statutory zone under Public Resources Code 4201-4204 and no local government can override them. In LRA (incorporated cities and most other non-state land) only **Very High** carries statutory weight \u2014 Chapter 7A building code, defensible-space enforcement, and Civil Code 1103 natural-hazard disclosure \u2014 while LRA Moderate and High are informational model output and are NOT a regulatory trigger; treating an LRA \"High\" as a code trigger is the single easiest mistake to make with this field. Non-Wildland is a real classification (urban core, agriculture, low-fuel flats), not missing data. The statewide LRA layer is CAL FIRE's RECOMMENDATION: a city or county may adopt an ordinance EXPANDING the Very High extent and may never shrink it, so a \"not Very High\" LRA answer is a FLOOR, not a guarantee \u2014 check the jurisdiction's own adopted FHSZ map before treating a parcel as clear. THIS IS A CALIFORNIA-ONLY FIELD: outside California it is null because the product does not exist there, never because there is no wildfire hazard. A null INSIDE California is usually Federal Responsibility Area land \u2014 national forest, national park, BLM or DoD \u2014 which CAL FIRE has no statutory mandate to zone, so some of California's highest-hazard landscapes resolve absent here; absence is a jurisdiction artifact, NOT a finding of low hazard. This is a hazard-ZONE classification and nothing more \u2014 it is not a fire-risk score, not an insurance eligibility or rating determination, and not a defensible-space or Chapter 7A compliance check. Pair it with wildfire_annual_frequency (FEMA National Risk Index annualized wildfire frequency) for the modelled-frequency half of the picture.", "layer": "hazards", "lifecycle": "stable", "name": "fire_hazard_severity_zone_class", "null_meaning": "Null in three distinguishable cases, told apart by the field's status plus its provenance note. ABSENT / outside California: CAL FIRE FHSZ is a California-only regulatory product and does not apply \u2014 this is \"not applicable\", never \"no wildfire hazard\". ABSENT / inside California with no polygon in either the SRA or the LRA layer: predominantly Federal Responsibility Area land (national forest, national park, BLM, DoD), which CAL FIRE has no statutory mandate to zone, or an unclassified low-fuel pocket \u2014 again NOT a finding of low hazard. FAILED: the CAL FIRE query errored, only one of the two layers could be reached and it returned nothing, or the feature carried an FHSZ code outside the published vocabulary \u2014 i.e. no answer was obtained and a retry may help.", "nullable": true, "presets": ["wildfire_underwrite", "natural_hazard"], "source": "CALFIRE_FHSZ", "source_url": "https://osfm.fire.ca.gov/what-we-do/community-wildfire-preparedness-and-mitigation/fire-hazard-severity-zones", "ttl_seconds": 7776000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Which wildfire-protection responsibility area the queried point falls in \u2014 SRA (state, CAL FIRE-protected) or LRA (local). Determines whether the accompanying fire_hazard_severity_zone_class is statutory in all classes (SRA) or only at Very High (LRA). California-only.", "interpretation_hints": "SRA or LRA \u2014 who holds wildfire-protection responsibility at the point, and therefore how much legal weight fire_hazard_severity_zone_class carries. SRA (State Responsibility Area, CAL FIRE-protected) means the FHSZ class is unconditionally authoritative: all of Moderate, High and Very High are the statutory zone under Public Resources Code 4201-4204 and there is no local override. LRA (Local Responsibility Area \u2014 incorporated cities and most other non-state land) means the class is CAL FIRE's RECOMMENDATION under Government Code 51175-51189: only Very High is statutory there, and the local jurisdiction may have adopted an ordinance EXPANDING the Very High extent beyond the statewide map (expansion is legal, reduction is not). Always read with fire_hazard_severity_zone_class; the two are always taken from the SAME source polygon, so they can never describe different places. A THIRD regime exists and is deliberately NOT reported here: Federal Responsibility Area (national forest, national park, BLM, DoD), where CAL FIRE has no zoning mandate at all \u2014 an FRA point is null on BOTH fields, which is a jurisdiction artifact and NOT a finding of low hazard. This names the fire-protection JURISDICTION, not the fire department that would actually roll on a call; mutual-aid and contract-county arrangements are outside this dataset. CALIFORNIA-ONLY: null outside California means not applicable, not unprotected. Vintages: SRA map dated 29 September 2023 (effective 1 April 2024), LRA map dated 24 March 2025.", "layer": "hazards", "lifecycle": "stable", "name": "fire_hazard_responsibility_area", "null_meaning": "Null in the same three cases as fire_hazard_severity_zone_class and for the same reasons. ABSENT / outside California (CAL FIRE responsibility areas are a California construct). ABSENT / inside California with no SRA or LRA polygon, which in practice means Federal Responsibility Area land \u2014 a real third regime this field does not report, not missing data. FAILED: the CAL FIRE query errored or could not be completed. A null here never means the point is unprotected.", "nullable": true, "presets": ["wildfire_underwrite", "natural_hazard"], "source": "CALFIRE_FHSZ", "source_url": "https://osfm.fire.ca.gov/what-we-do/community-wildfire-preparedness-and-mitigation/fire-hazard-severity-zones", "ttl_seconds": 7776000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance in metres from the queried point to the BOUNDARY of the nearest CAL FIRE FRAP historical wildfire perimeter (Firep25_1, 23,334 perimeters covering fires 1878 through 2025). Exactly 0 when the point is inside a recorded perimeter. The search is capped at 8,000 m; beyond that the field is absent, meaning \"no recorded perimeter within 8,000 m\", not \"no fire nearby\". California-only.", "interpretation_hints": "Geodesic metres from the point to the nearest CAL FIRE FRAP historical wildfire perimeter's BOUNDARY, read live from CAL FIRE's own published perimeter layer (Firep25_1, released April 2026, 23,334 perimeters, fires 1878 through 2025). A value of exactly 0 means the point falls INSIDE a recorded perimeter. READ THE THREE COMPLETENESS FACTS BEFORE YOU READ THE NUMBER, because a false \"no burn\" is the expensive error with this dataset. FIRST, below-threshold fires are simply absent by design: CAL FIRE's own stated collection criteria are perimeters of 10 acres or more in timber, 50 acres or more in brush, or 300 acres or more in grass, and/or 3 or more impacted residential or commercial structures, and/or 1 or more fatality, with all cooperating agencies submitting at 10 acres or more \u2014 a small fire that burned this exact parcel and cleared none of those gates was never collected at all. SECOND, coverage depends on voluntary agency submission, and CAL FIRE states outright that fires are missing because historical records were lost or damaged, documentation was inadequate, or they \"have not yet been incorporated into the database\" \u2014 the gaps are real and are not uniformly distributed across counties, eras or agencies. THIRD, the current fire season is always missing: a season is published in a single batch around April of the FOLLOWING year (the 2025 season landed in April 2026) and a live query for the current calendar year returns zero perimeters, so a fire that burned this point months ago still reads as no burn. Taken together: \"no recorded burn\" is NOT \"never burned\", and this field can say nothing whatsoever about the current fire season. THE SEARCH IS CAPPED AT 8,000 m \u2014 an absent value means \"no recorded CAL FIRE FRAP perimeter within 8,000 m of this point\", never \"no fire anywhere near\" and never an unbounded nearest-perimeter distance. Candidate geometry is fetched server-generalized for latency (a full-precision query measured 28.6 s against 0.51 s generalized), which leaves roughly 50 to 100 m of boundary tolerance. Containment and any generalized distance within 150 m of the boundary are now confirmed by an automatic full-precision refetch that recomputes both distance and containment before the value is served, so near-boundary answers ARE decisive; the same refetch also fires near the 1,600 m decision line. Outside both bands the 50-to-100 m tolerance still applies to this mid-range distance: trivial against the 8,000 m cap, but not precise enough to be read to the metre. This is a distance to the perimeter POLYGON boundary \u2014 not to the fire's ignition point, and not to any structure: a fire that ignited 20 km away but whose burned area grew to within 200 m of the point correctly reports about 200 m. A perimeter is not burn severity: CAL FIRE documents that over-generalization, particularly on large old fires, shows unburned \"islands\" inside a final perimeter as burned, so a 0 here does not mean this point itself burned. Prescribed burns are excluded (they live in CAL FIRE's separate rxburn service), so absence here is not absence of fire on the ground; an escaped prescribed burn (CAUSE 18) IS included, correctly, because it became a real uncontrolled wildfire. Duplicate and overlapping perimeters for the same ground are common and normal, so the nearest perimeter is not necessarily the only fire at that distance. ALWAYS read with most_recent_burn_year: both fields are taken from the SAME governing perimeter (or, inside a perimeter, the same containing set), so they can never describe different ground. THE PAIR HAS ONE KNOWN PATHOLOGY and it bites this use case directly: because the year describes the NEAREST perimeter, a 1954 perimeter at 200 m alongside a 2020 perimeter at 900 m reports 1954 \u2014 the nearer, older fire \u2014 and the 2020 burn is invisible. This field pair alone therefore does NOT settle the compound claim \"no recorded burn within X metres since year Y\" and is not sufficient evidence for a 10 CCR 2644.9(i) filing resting on that claim; the honest workaround is one extra year-filtered query against the same CAL FIRE layer, asking whether ANY perimeter at or after your cutoff year falls within your radius. CALIFORNIA-ONLY: null outside California means the product does not exist there, never that there is no wildfire history. This is the OBSERVED-history leg of wildfire risk only \u2014 pair it with fire_hazard_severity_zone_class and fire_hazard_responsibility_area for the REGULATORY leg (CAL FIRE's Fire Hazard Severity Zones) and with wildfire_annual_frequency for the MODELLED leg (FEMA National Risk Index annualized wildfire frequency, tract level).", "layer": "hazards", "lifecycle": "stable", "name": "nearest_fire_perimeter_distance_m", "null_meaning": "Null in three distinguishable cases, told apart by the field's status plus its provenance note. ABSENT / outside California: CAL FIRE FRAP is a California-only product and does not apply \u2014 this is \"not applicable\", never \"no wildfire history\". ABSENT / inside California with no perimeter within the 8,000 m search cap: this is a REAL ANSWER \u2014 no CAL FIRE FRAP-recorded perimeter within 8,000 m of the point \u2014 and it is the closest this field comes to supporting \"no recorded burn nearby\", but it remains bounded by the cap AND by every completeness caveat in the hints (below-threshold fires, submission gaps, the always-absent current fire season), so it is never \"never burned\" and never \"no fire anywhere near\". FAILED: the CAL FIRE query errored, timed out, or returned an unusable payload \u2014 no answer was obtained, a retry may help, and a FAILED here must never be read as an absence of burn history. One legitimate divergence to expect: when the governing perimeter carries a null YEAR_, most_recent_burn_year is ABSENT while this distance is still known and valid \u2014 the two fields differ in status without disagreeing about which perimeter they describe.", "nullable": true, "presets": ["wildfire_underwrite", "natural_hazard"], "source": "CALFIRE_FRAP", "source_url": "https://www.fire.ca.gov/what-we-do/fire-resource-assessment-program/fire-perimeters", "ttl_seconds": 7776000, "type": "float", "unit": "m"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Burn year of the governing CAL FIRE FRAP historical wildfire perimeter at the queried point: the most recent year among ALL perimeters containing the point when the point is inside one, otherwise the year of the single geometrically nearest perimeter within the 8,000 m search cap (Firep25_1, fires 1878 through 2025). California-only.", "interpretation_hints": "The burn year of the governing CAL FIRE FRAP wildfire perimeter, read live from CAL FIRE's own published layer (Firep25_1, released April 2026, 23,334 perimeters, fires 1878 through 2025). Inside a perimeter this is the MAXIMUM year across every perimeter containing the point, because reburns are common and the containing set is often more than one; outside, it is the year of the single geometrically NEAREST perimeter, whose distance is nearest_fire_perimeter_distance_m. The two fields are always taken from the SAME governing perimeter or the same containing set, so they can never disagree about which fire they describe. Near a perimeter boundary, containment itself is confirmed by the same automatic full-precision refetch described on nearest_fire_perimeter_distance_m before this governing perimeter or containing set is chosen, so a near-boundary nearest-vs-containing split resolves to the correct one rather than a generalized guess. READ THE THREE COMPLETENESS FACTS BEFORE YOU READ THE NUMBER, because a false \"no burn\" is the expensive error with this dataset. FIRST, below-threshold fires are simply absent by design: CAL FIRE's own stated collection criteria are perimeters of 10 acres or more in timber, 50 acres or more in brush, or 300 acres or more in grass, and/or 3 or more impacted residential or commercial structures, and/or 1 or more fatality, with all cooperating agencies submitting at 10 acres or more \u2014 a small fire that burned this exact parcel and cleared none of those gates was never collected at all. SECOND, coverage depends on voluntary agency submission, and CAL FIRE states outright that fires are missing because historical records were lost or damaged, documentation was inadequate, or they \"have not yet been incorporated into the database\" \u2014 the gaps are real and are not uniformly distributed. THIRD, and most dangerous for any recency claim, the current fire season is always missing: a season is published in a single batch around April of the FOLLOWING year (the 2025 season landed in April 2026) and a live query for the current calendar year returns zero perimeters, so a fire that burned this point months ago still reads as no burn. Consequence, stated plainly: this field can honestly support \"no CAL FIRE FRAP-recorded burn since year Y\" only for a Y at or before last calendar year, never for the current season, and \"no recorded burn\" is NOT \"never burned\". THE PAIR HAS ONE KNOWN PATHOLOGY, stated loudly because it bites the appeal use case directly: outside a perimeter this year describes the NEAREST perimeter, not the most recent perimeter in range. A 1954 perimeter at 200 m sitting alongside a 2020 perimeter at 900 m reports 1954 \u2014 the nearer, older fire \u2014 and the 2020 burn is invisible in this field. Therefore this field pair alone does NOT settle the compound claim \"no recorded burn within X metres since year Y\", because a newer fire slightly farther away is never surfaced, and it is not sufficient evidence for a 10 CCR 2644.9(i) filing resting on that claim; the honest workaround is one extra year-filtered query against the same CAL FIRE layer, asking whether ANY perimeter with a year at or after your cutoff falls within your radius. Data quirks that matter: the year is null on 77 of the 23,334 perimeters, a genuine missing year with no zero sentinel, so the year can be absent while the distance is known; duplicate and overlapping perimeters for the same ground are common and normal (BIG/1900 and LAS FLORES NO. 57/1935 carry identical geometry and identical acreage, and three perimeters from 1979, 1993 and 2025 stack near Eaton), so this year is a property of one governing record, not a count of distinct fires. A perimeter is not burn severity \u2014 CAL FIRE documents unburned \"islands\" inside final perimeters, especially on large old fires \u2014 so a year here does not mean this specific point burned in that year, and the value describes the perimeter POLYGON, not the fire's ignition point. Prescribed burns are excluded (separate rxburn service), so absence here is not absence of fire on the ground, while an escaped prescribed burn (CAUSE 18) IS included because it became a real uncontrolled wildfire. CALIFORNIA-ONLY: null outside California means the product does not exist there, never that there is no wildfire history. This is the OBSERVED-history leg of wildfire risk only \u2014 pair it with fire_hazard_severity_zone_class and fire_hazard_responsibility_area for the REGULATORY leg and with wildfire_annual_frequency for the MODELLED leg (FEMA National Risk Index annualized wildfire frequency, tract level).", "layer": "hazards", "lifecycle": "stable", "name": "most_recent_burn_year", "null_meaning": "Null in four distinguishable cases, told apart by the field's status plus its provenance note. ABSENT / outside California: CAL FIRE FRAP is a California-only product and does not apply \u2014 \"not applicable\", never \"no wildfire history\". ABSENT / inside California with no perimeter within the 8,000 m search cap: a REAL ANSWER \u2014 no CAL FIRE FRAP-recorded burn within 8,000 m of the point \u2014 subject to every completeness caveat in the hints (below-threshold fires, submission gaps, the always-absent current fire season) and bounded by that cap; nearest_fire_perimeter_distance_m is absent for the same reason, so the pair agrees. ABSENT / the governing perimeter exists but its YEAR_ is null (77 of the 23,334 perimeters): the burn year is genuinely unrecorded upstream. This is a semantic absence, NOT a failure, and it is the one case where the two fields legitimately diverge in status \u2014 nearest_fire_perimeter_distance_m is still a known, valid distance to that same perimeter, so read the distance and treat the year as unknown, never as no burn. FAILED: the CAL FIRE query errored, timed out, or returned an unusable payload \u2014 no answer was obtained and a retry may help; a FAILED year must never be read as an absence of burn history.", "nullable": true, "presets": ["wildfire_underwrite", "natural_hazard"], "source": "CALFIRE_FRAP", "source_url": "https://www.fire.ca.gov/what-we-do/fire-resource-assessment-program/fire-perimeters", "ttl_seconds": 7776000, "type": "int", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Fraction (0.0-1.0) of the matched Regrid parcel's own boundary encumbered by PAD-US conservation easement polygons \u2014 the parcel share, computed by intersecting easements with the parcel boundary in the parcel's local UTM (equal-area) projection. NOT the whole mapped easement polygon's size (see easement_acres for that).", "interpretation_hints": "A conservation easement permanently restricts development on the land it covers, so this is a hard buildability constraint, not a risk score. This is the PARCEL SHARE (PAD-US easement \u2229 Regrid parcel boundary), distinct from easement_acres, which reports the whole polygon regardless of parcel. 0.0 is a real 'no easement on this parcel' answer, distinct from null (no Regrid parcel matched at this coordinate, or its boundary geometry was unusable). PAD-US is a compiled national inventory, not a title search \u2014 it does not capture every recorded easement, and absence here is not evidence of clear title. On a small parcel a small nonzero fraction can sit near the source's mapping resolution; treat it as directional and corroborate with a title search before it is load-bearing.", "layer": "parcels", "lifecycle": "stable", "name": "easement_fraction_of_parcel", "null_meaning": "No Regrid parcel at this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "float", "unit": null}, {"billing": {"credits_per_location": null, "metered_group": "parcel_record"}, "derivation": null, "description": "Absolute acres of PAD-US conservation easement area intersecting the matched Regrid parcel's own boundary \u2014 the parcel-clipped encumbered acreage, computed in the parcel's local UTM (equal-area) projection. NOT the whole mapped easement polygon's size (see easement_acres for that).", "interpretation_hints": "A conservation easement permanently restricts development on the land it covers, so these acres are a hard buildability constraint, not a risk score. This is the PARCEL SHARE (PAD-US easement \u2229 Regrid parcel boundary), distinct from easement_acres, which reports the whole polygon regardless of parcel \u2014 a large easement can report thousands of acres there while only a sliver falls on this parcel. Pair with parcel_area_m2 to express it as usable land remaining. 0.0 is a real 'no easement on this parcel' answer, distinct from null (no Regrid parcel matched at this coordinate). PAD-US is a compiled national inventory, not a title search \u2014 absence is not evidence of clear title.", "layer": "parcels", "lifecycle": "stable", "name": "easement_acres_on_parcel", "null_meaning": "No Regrid parcel at this coordinate.", "nullable": true, "presets": [], "source": "USGS_PADUS", "source_url": "https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas", "ttl_seconds": 2592000, "type": "float", "unit": "acres"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Exact distance to the nearest non-disused OpenStreetMap transmission line within 25 km.", "interpretation_hints": "Physical proximity screen from a frozen OSM snapshot; not proof of energized status, available capacity, deliverability, or interconnection rights.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_line_distance_m", "null_meaning": "No qualifying line within 25 km, or the frozen local artifact is unavailable.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Maximum normalized published voltage of the same nearest OSM transmission line.", "interpretation_hints": "Companion attribute from the exact line selected for distance; published OSM voltage, not a capacity rating.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_line_voltage_kv", "null_meaning": "Nearest line has no valid published voltage, no line is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "kV"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized published circuit count on the same nearest OSM transmission line.", "interpretation_hints": "Exact-feature companion; absence means unpublished, not zero, and the value does not establish spare capacity.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_line_circuits", "null_meaning": "Circuit count is unpublished, no line is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "int", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized published operator of the same nearest OSM transmission line.", "interpretation_hints": "Routing clue only; operator tags may be incomplete and do not necessarily name the interconnection utility.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_line_operator", "null_meaning": "Operator is unpublished, no line is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Lifecycle of the same nearest line as active or construction.", "interpretation_hints": "Construction features are visible; disused features are excluded. This is the published mapping state, not field verification.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_line_lifecycle", "null_meaning": "The nearest line has no published lifecycle, no line is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Exact distance to the nearest non-disused mapped OSM substation within 25 km.", "interpretation_hints": "A mapped facility proximity screen, not evidence of expansion space, transformer headroom, or a viable point of interconnection.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_substation_distance_m", "null_meaning": "No qualifying substation within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Published name of the same nearest OSM substation feature.", "interpretation_hints": "Exact-feature companion; use as a utility diligence routing clue, not a capacity claim.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_substation_name", "null_meaning": "Name is unpublished, no substation is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Maximum normalized published voltage on the same nearest OSM substation.", "interpretation_hints": "Voltage class is a scale prior, not proof of deliverable MW or spare transformer capacity.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_substation_max_voltage_kv", "null_meaning": "Voltage is unpublished, no substation is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "kV"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized published operator of the same nearest OSM substation.", "interpretation_hints": "Operator tags are incomplete and may differ from the retail serving utility or transmission owner.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_substation_operator", "null_meaning": "Operator is unpublished, no substation is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized type of the same nearest substation as transmission, distribution, switching, or unknown.", "interpretation_hints": "Published functional type helps screen facility relevance; it does not establish an available interconnection bay.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_substation_type", "null_meaning": "Type is unpublished, no substation is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Distance to the nearest mapped transformer with a winding at or above 69 kV within 25 km.", "interpretation_hints": "Transformer presence is a structural prior only; availability and condition require utility confirmation.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_transformer_distance_m", "null_meaning": "No qualifying transformer within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized primary voltage of the same nearest transmission-scale transformer.", "interpretation_hints": "Exact-transformer companion and published observation, not a guarantee of current configuration.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_transformer_primary_voltage_kv", "null_meaning": "Primary voltage is unpublished, no transformer is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "kV"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Normalized secondary voltage of the same nearest transmission-scale transformer.", "interpretation_hints": "Exact-transformer companion and published observation, not a guarantee of current configuration.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_transformer_secondary_voltage_kv", "null_meaning": "Secondary voltage is unpublished, no transformer is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "kV"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Strictly parsed nameplate MVA published for the same nearest transformer.", "interpretation_hints": "Medium-confidence parsed tag; nameplate MVA is not spare deliverable capacity and null is common.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_osm_transmission_transformer_rating_mva", "null_meaning": "Rating is unpublished or unparseable, no transformer is within 25 km, or lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "MVA"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Fixed search radius used for all OpenInfraMap line, substation, and transformer observations.", "interpretation_hints": "A concrete 25 km query parameter; it remains populated when no feature is found.", "layer": "utilities", "lifecycle": "stable", "name": "osm_grid_search_radius_m", "null_meaning": "Null only when the frozen local artifact lookup failed.", "nullable": true, "presets": ["utilities", "storage_siting", "data_center_siting", "grid_interconnect"], "source": "OPENINFRAMAP_OSM", "source_url": "https://www.openinframap.org", "ttl_seconds": 2592000, "type": "float", "unit": "meters"}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "EIA-860 sector of the nearest power plant \u2014 one of \"Electric Utility\", \"IPP Non-CHP\", \"IPP CHP\", \"Commercial CHP\", \"Commercial Non-CHP\", \"Industrial CHP\", \"Industrial Non-CHP\". EIA classifies a generator by its operator's primary line of business, not by whether it physically exports to the grid.", "interpretation_hints": "READ THIS BEFORE quoting any other nearest_power_plant_* field. Electric Utility / IPP CHP / IPP Non-CHP are EIA's electric power sector \u2014 the operator's business IS selling electricity, so these are grid generation. Commercial * / Industrial * generate primarily for their host site: that class spans an office tower's on-site engine, a university cogeneration plant, and an 890 MW refinery combined cycle that exports heavily, so it is NOT a synonym for behind-the-meter backup \u2014 judge with nearest_power_plant_capacity_mw + nearest_power_plant_technology. Roughly half of major-US-downtown coordinates return a commercial/industrial plant as nearest, so an urban \"nearest power plant\" answer that does not state the sector is misleading. Mireye deliberately does NOT filter these out: no capacity, prime-mover or sector rule separates on-site from grid generation without deleting real plants (856 Electric Utility plants are under 5 MW; the largest commercial installation is 99.6 MW). Not a claim about grid export, interconnection capacity or power availability.", "layer": "utilities", "lifecycle": "stable", "name": "nearest_power_plant_sector", "null_meaning": "No EIA plant within the plants search radius, or the EIA sector attribute is blank for the nearest plant.", "nullable": true, "presets": ["data_center_siting", "grid_interconnect"], "source": "EIA_ATLAS", "source_url": "https://atlas.eia.gov/", "ttl_seconds": 86400, "type": "string", "unit": null}, {"billing": {"credits_per_location": 1, "metered_group": null}, "derivation": null, "description": "Geodesic distance to the OPEN SEA, where open sea means the water still connected to the deep ocean once every entrance narrower than 20 km is sealed - that is, what lies outside the continental landmass. Bays, sounds, estuaries and tidal rivers are INSIDE that boundary, not part of it, so Baltimore Inner Harbor reads about 139 km and Philadelphia about 90 km even though both sit on tidal water. Points on the outer coast read metres (Santa Monica 40 m, Virginia Beach 450 m, Galveston 890 m). This is NOT the same question as coast_distance_m, which measures to the nearest tidal shoreline of any kind and is the right field for river frontage, port access or tidal exposure; at a bay head the two differ by 100 km or more and both are correct. Returns 0 for a point already in open water, and a large distance rather than a null for an inland point (about 1,365 km in Denver). Great Lakes shoreline is not open sea under this definition and is excluded by construction, since the source ocean polygon contains no lakes. Coverage is the US and its offshore approaches, not the whole coordinate envelope: the open-sea polygon is derived over five processing domains covering about 69 percent of the accepted envelope, and every US shoreline sits inside them (asserted at build time). Outside them - the open North Pacific west of 135W below 46N, and north of 56N - the field is ABSENT rather than a number, because out there the polygon's nearest edge is where a processing box clipped the geometry rather than a coastline, and a distance to that edge would be fiction. No US site is affected.", "interpretation_hints": "The honest input for hurricane, storm-surge, salt-spray and marine-exposure reasoning, where fronting the open Atlantic and sitting at the head of the Chesapeake are completely different risks. Read it ALONGSIDE coast_distance_m, not instead of it: small coast_distance_m with large open_ocean_distance_m is the signature of sheltered inland tidal water - navigable access, barge and port logistics, low direct marine exposure - while both small means true open-coast exposure. Precision caveat - the boundary is derived from a 1:10m coastline and smoothed by the 10 km sealing radius, so treat this as answering which side of the coastline a site is on rather than as a survey-grade distance. One known artefact of that smoothing: a site inside a coastal concavity narrower than about 20 km reads too far, measured at about 1.3 km in the crook of Cape Cod.", "layer": "terrain", "lifecycle": "stable", "name": "open_ocean_distance_m", "null_meaning": "One of three things, all honest rather than a data gap. Either the coordinate lies OUTSIDE the five processing domains the open-sea polygon is derived over (the open North Pacific west of 135W below 46N, and north of 56N) - out there the polygon's nearest edge is a processing-box clip rather than a coastline, so no distance is reported; or the response was cached before this field existed (terrain responses carry a one-year TTL, so a pre-deploy cache entry reports absent until it expires); or the boundary artifact was unavailable to the serving process. A null NEVER means \"no ocean nearby\": every coordinate inside the processing domains gets a number - a point in open water returns 0 and a genuinely inland point returns a large distance - and every US shoreline is inside them, asserted at build time. So a null on a US site is a cache or artifact condition, never a coverage one.", "nullable": true, "presets": [], "source": "NATURAL_EARTH_OCEAN", "source_url": "https://www.naturalearthdata.com/downloads/10m-physical-vectors/10m-ocean/", "ttl_seconds": 31536000, "type": "float", "unit": "meters"}], "presets": {"boundaries": ["political_region", "political_county", "political_locality", "tract_geoid"], "building_lookup": ["primary_building_overture_class", "primary_building_height_m", "primary_building_num_floors", "primary_building_footprint_sqm"], "data_center_siting": ["nearest_osm_transmission_line_distance_m", "nearest_osm_transmission_line_voltage_kv", "nearest_osm_transmission_line_circuits", "nearest_osm_transmission_line_operator", "nearest_osm_transmission_line_lifecycle", "nearest_osm_substation_distance_m", "nearest_osm_substation_max_voltage_kv", "nearest_osm_substation_operator", "nearest_osm_substation_type", "nearest_osm_transmission_transformer_distance_m", "nearest_osm_transmission_transformer_primary_voltage_kv", "nearest_osm_transmission_transformer_secondary_voltage_kv", "nearest_osm_transmission_transformer_rating_mva", "osm_grid_search_radius_m", "nearest_substation_distance_m", "nearest_substation_max_voltage_kv", "nearest_substation_status", "nearest_power_plant_operator", "nearest_power_plant_technology", "nearest_power_plant_sector", "electric_utility_service_territory", "avg_retail_electricity_price_industrial_usd_per_kwh", "egrid_subregion", "egrid_co2_output_rate_kg_per_mwh", "interconnection_queue_active_capacity_county_mw", "design_wet_bulb_temperature_0_4pct_degc", "mean_annual_dry_bulb_temperature_degc", "mean_annual_relative_humidity_pct", "days_above_32c_annual_count", "surface_water_supply_use_index_huc12", "public_water_system_population_served", "huc12_thermoelectric_consumptive_use_m3_per_day", "nearest_groundwater_well_depth_to_water_m", "nearest_usgs_gage_daily_discharge_cfs", "fiber_provider_count", "fiber_broadband_available", "mobile_5g_coverage_class", "nearest_submarine_cable_distance_m", "nearest_submarine_cable_name", "nearest_long_haul_rail_corridor_distance_m", "nearest_rail_line_distance_m", "nearest_urban_area_distance_m", "soil_shrink_swell_class", "surface_management_agency", "nearest_gas_pipeline_distance_m", "nearest_interstate_gas_pipeline_distance_m", "surface_water_permanence_pct", "nearest_dam_distance_m", "nearest_dam_hazard_potential", "high_hazard_dams_within_10km", "nearest_hazardous_facility_distance_m", "nearest_hazardous_facility_name", "housing_units_within_1km", "housing_units_density_per_km2", "natural_gas_citygate_price_usd_per_mcf", "natural_gas_industrial_price_usd_per_mcf", "grid_price_usd_per_mwh", "modeled_onsite_gas_generation_cost_usd_per_mwh", "in_shale_play", "nearest_shale_play_name", "sedimentary_basin_name", "nearest_gas_compressor_distance_m", "nearest_gas_storage_distance_m", "nearest_lng_terminal_distance_m", "drought_category", "in_opportunity_zone", "opportunity_zone_tract_geoid", "in_air_quality_nonattainment", "air_quality_nonattainment_pollutants", "in_air_quality_maintenance", "air_quality_maintenance_pollutants", "air_quality_worst_classification", "air_district_name", "air_quality_ozone_status", "air_quality_ozone_classification", "air_quality_pm25_status", "air_quality_pm25_classification", "air_quality_pm10_status", "air_quality_pm10_classification", "air_quality_co_status", "air_quality_co_classification", "air_quality_so2_status", "air_quality_so2_classification", "air_quality_no2_status", "air_quality_no2_classification", "air_quality_lead_status", "air_quality_lead_classification", "nearest_brownfield_distance_m", "brownfields_within_radius_count", "nearest_superfund_distance_m", "superfund_sites_within_radius_count", "nearest_rcra_tsd_distance_m", "rcra_tsd_facilities_within_radius_count", "nearest_ust_facility_distance_m", "ust_facilities_within_1km_count", "open_lust_sites_within_1km_count", "nearest_documented_orphaned_well_distance_m", "documented_orphaned_wells_within_1km_count", "nearest_class_i_area_distance_m", "nearest_class_i_area_name", "nearest_class_i_area_agency", "slope_degrees", "transmission_lines_within_radius_count", "substations_within_radius_count", "substations_radius_m", "nearest_repowering_site_distance_m", "within_floodplain_polygon", "fema_flood_zone", "estimated_annual_power_cost_usd_per_mw", "transmission_redundancy_flag", "grading_difficulty_class", "residential_context_class_1km", "btm_gas_candidacy_flag", "tax_incentive_stack", "near_epa_repowering_site", "free_cooling_hours_per_year_15c", "free_cooling_hours_per_year_10c", "nearest_urban_area_rtt_floor_ms", "soil_hydrologic_group", "soil_restrictive_layer_depth_cm", "soil_restrictive_layer_kind", "soil_erodibility_k_factor", "within_sewer_service_area", "sewer_service_area_provider", "sewer_service_area_provenance", "nearest_sewer_service_area_distance_m", "within_water_service_area", "water_system_name", "nearest_water_service_area_distance_m", "domestic_well_households_per_km2", "domestic_well_household_density_class", "water_service_area_provenance", "nearest_wastewater_plant_distance_m", "nearest_wastewater_plant_name", "nearest_wastewater_plant_population_served"], "flood_risk": ["elevation", "coast_distance_m", "within_floodplain_polygon", "intersects_nhd_area", "intersects_wetland", "wetland_type", "wetland_subtype", "wetland_acres", "nearest_wetland_distance_m", "wetlands_within_100m_count", "wetlands_within_500m_count", "surface_water_permanence_pct", "nearest_waterbody_name"], "grid_interconnect": ["nearest_osm_transmission_line_distance_m", "nearest_osm_transmission_line_voltage_kv", "nearest_osm_transmission_line_circuits", "nearest_osm_transmission_line_operator", "nearest_osm_transmission_line_lifecycle", "nearest_osm_substation_distance_m", "nearest_osm_substation_name", "nearest_osm_substation_max_voltage_kv", "nearest_osm_substation_operator", "nearest_osm_substation_type", "nearest_osm_transmission_transformer_distance_m", "nearest_osm_transmission_transformer_primary_voltage_kv", "nearest_osm_transmission_transformer_secondary_voltage_kv", "nearest_osm_transmission_transformer_rating_mva", "osm_grid_search_radius_m", "nearest_substation_distance_m", "nearest_substation_max_voltage_kv", "nearest_substation_status", "electric_utility_service_territory", "iso_rto", "interconnection_queue_active_capacity_county_mw", "wind_least_cost_interconnect_distance_m", "nearest_proposed_generator_distance_m", "nearest_proposed_generator_capacity_mw", "nearest_proposed_generator_status", "egrid_subregion", "nearest_transmission_line_distance_m", "nearest_power_plant_distance_m", "nearest_power_plant_capacity_mw", "nearest_power_plant_operator", "nearest_power_plant_technology", "nearest_power_plant_sector", "transmission_lines_within_radius_count", "substations_within_radius_count", "substations_radius_m", "transmission_redundancy_flag"], "land_cover": ["lcms_class", "land_use_class", "tree_canopy_pct", "cdl_class", "dominant_crop_5y"], "natural_hazard": ["seismic_pga_2pct_50yr_g", "seismic_design_category", "design_wind_speed_mph", "wildfire_annual_frequency", "tornado_annual_frequency", "hail_annual_frequency", "lightning_annual_flash_days", "landslide_susceptibility_index", "soil_shrink_swell_class", "within_floodplain_polygon", "slope_degrees", "nearest_dam_distance_m", "nearest_dam_hazard_potential", "high_hazard_dams_within_10km", "in_karst_area", "karst_type", "karst_exposure_class", "fire_hazard_severity_zone_class", "fire_hazard_responsibility_area", "nearest_fire_perimeter_distance_m", "most_recent_burn_year"], "points_of_interest": ["nearest_hospital_distance_m", "nearest_hospital_name", "nearest_fire_station_distance_m", "nearest_fire_station_name", "nearest_school_distance_m", "nearest_school_name", "nearest_grocery_store_distance_m", "nearest_lodging_distance_m", "nearest_restaurant_distance_m", "nearest_restaurant_name", "nearest_cafe_distance_m", "nearest_cafe_name", "nearest_bar_distance_m", "nearest_bar_name", "nearest_gas_station_distance_m", "nearest_gas_station_name", "nearest_pharmacy_distance_m", "nearest_pharmacy_name", "nearest_bank_distance_m", "nearest_bank_name", "nearest_shopping_center_distance_m", "nearest_shopping_center_name", "poi_count_1km"], "site_selection": ["elevation", "slope_degrees", "lcms_class", "within_floodplain_polygon", "intersects_wetland", "wetland_type", "nearest_wetland_distance_m", "wetlands_within_100m_count", "nearest_major_road_distance_m", "nearest_major_road_class", "roads_within_500m_count", "nearest_transmission_line_distance_m", "nearest_transmission_line_voltage_kv", "nearest_transmission_line_voltage_class", "nearest_transmission_line_voltage_basis", "max_transmission_line_voltage_kv_within_radius", "max_transmission_line_voltage_class_within_radius", "intersects_conservation_easement", "intersects_protected_area", "protected_area_gap_status", "intersects_critical_habitat", "critical_habitat_status", "parcel_id", "parcel_zoning", "parcel_area_m2", "parcel_geometry_wkt", "parcel_boundary_geojson", "nearest_hospital_distance_m", "nearest_fire_station_distance_m", "nearest_school_distance_m", "nearest_grocery_store_distance_m", "nearest_lodging_distance_m", "poi_count_1km", "transmission_lines_within_radius_count", "substations_within_radius_count", "substations_radius_m", "housing_units_within_1km", "in_opportunity_zone", "nearest_repowering_site_distance_m", "wetland_acres_on_parcel", "transmission_redundancy_flag", "grading_difficulty_class", "residential_context_class_1km", "developable_acres_proxy", "tax_incentive_stack", "near_epa_repowering_site", "onsite_solar_potential_mwac_low", "onsite_solar_potential_mwac_high", "nearest_urban_area_distance_m", "nearest_urban_area_rtt_floor_ms", "within_sewer_service_area", "sewer_service_area_provider", "sewer_service_area_provenance", "nearest_sewer_service_area_distance_m", "within_water_service_area", "water_system_name", "nearest_water_service_area_distance_m", "domestic_well_households_per_km2", "domestic_well_household_density_class", "water_service_area_provenance", "nearest_wastewater_plant_distance_m", "nearest_wastewater_plant_name", "nearest_wastewater_plant_population_served", "nearest_superfund_distance_m", "superfund_sites_within_radius_count", "nearest_brownfield_distance_m", "brownfields_within_radius_count", "nearest_rcra_tsd_distance_m", "rcra_tsd_facilities_within_radius_count", "nearest_ust_facility_distance_m", "ust_facilities_within_1km_count", "open_lust_sites_within_1km_count"], "solar_siting": ["ghi_annual_kwh_m2_day", "dni_annual_kwh_m2_day", "pv_capacity_factor_pct", "pv_specific_yield_kwh_per_kw", "optimal_fixed_tilt_degrees", "surface_albedo_annual", "mean_annual_snow_cover_days", "mean_annual_dry_bulb_temperature_degc", "days_above_32c_annual_count", "nearest_utility_solar_facility_distance_m", "nearest_utility_solar_facility_capacity_mw", "prime_farmland_classification", "blm_solar_application_land_status", "surface_management_agency", "nearest_repowering_site_distance_m", "slope_degrees", "aspect_degrees", "aspect_cardinal", "is_cultivated", "tree_canopy_pct", "housing_units_within_1km", "housing_units_density_per_km2", "grading_difficulty_class", "soil_hydrologic_group", "soil_erodibility_k_factor", "soil_available_water_capacity"], "storage_siting": ["nearest_osm_transmission_line_distance_m", "nearest_osm_transmission_line_voltage_kv", "nearest_osm_transmission_line_circuits", "nearest_osm_transmission_line_operator", "nearest_osm_transmission_line_lifecycle", "nearest_osm_substation_distance_m", "nearest_osm_substation_name", "nearest_osm_substation_max_voltage_kv", "nearest_osm_substation_operator", "nearest_osm_substation_type", "nearest_osm_transmission_transformer_distance_m", "nearest_osm_transmission_transformer_primary_voltage_kv", "nearest_osm_transmission_transformer_secondary_voltage_kv", "nearest_osm_transmission_transformer_rating_mva", "osm_grid_search_radius_m", "nearest_substation_distance_m", "nearest_substation_max_voltage_kv", "nearest_substation_status", "electric_utility_service_territory", "avg_retail_electricity_price_industrial_usd_per_kwh", "egrid_co2_output_rate_kg_per_mwh", "interconnection_queue_active_capacity_county_mw", "wind_least_cost_interconnect_distance_m", "nearest_proposed_generator_distance_m", "nearest_proposed_generator_capacity_mw", "nearest_proposed_generator_status", "nearest_utility_solar_facility_distance_m", "surface_management_agency", "prime_farmland_classification", "nearest_transmission_line_distance_m", "nearest_power_plant_distance_m", "slope_degrees", "grading_difficulty_class", "soil_hydrologic_group"], "terrain": ["elevation", "slope_degrees", "aspect_cardinal", "coast_distance_m", "soil_drainage_class", "bedrock_depth_cm"], "utilities": ["nearest_osm_transmission_line_distance_m", "nearest_osm_transmission_line_voltage_kv", "nearest_osm_transmission_line_circuits", "nearest_osm_transmission_line_operator", "nearest_osm_transmission_line_lifecycle", "nearest_osm_substation_distance_m", "nearest_osm_substation_name", "nearest_osm_substation_max_voltage_kv", "nearest_osm_substation_operator", "nearest_osm_substation_type", "nearest_osm_transmission_transformer_distance_m", "nearest_osm_transmission_transformer_primary_voltage_kv", "nearest_osm_transmission_transformer_secondary_voltage_kv", "nearest_osm_transmission_transformer_rating_mva", "osm_grid_search_radius_m", "nearest_power_plant_name", "nearest_power_plant_distance_m", "nearest_power_plant_primary_fuel", "nearest_power_plant_capacity_mw", "nearest_transmission_line_distance_m", "nearest_transmission_line_voltage_kv", "nearest_transmission_line_voltage_class", "nearest_transmission_line_voltage_basis", "nearest_transmission_line_status", "nearest_transmission_line_owner", "max_transmission_line_voltage_kv_within_radius", "max_transmission_line_voltage_class_within_radius", "transmission_lines_within_radius_count", "nearest_gas_pipeline_distance_m", "within_sewer_service_area", "sewer_service_area_provider", "sewer_service_area_provenance", "nearest_sewer_service_area_distance_m", "within_water_service_area", "water_system_name", "nearest_water_service_area_distance_m", "domestic_well_households_per_km2", "domestic_well_household_density_class", "water_service_area_provenance", "nearest_wastewater_plant_distance_m", "nearest_wastewater_plant_name", "nearest_wastewater_plant_population_served"], "wildfire_underwrite": ["lcms_class", "tree_canopy_pct", "ndvi_current", "ndvi_change_5y", "slope_degrees", "elevation", "fire_hazard_severity_zone_class", "fire_hazard_responsibility_area", "nearest_fire_perimeter_distance_m", "most_recent_burn_year"], "wind_siting": ["mean_wind_speed_100m_ms", "mean_wind_speed_120m_ms", "mean_wind_speed_160m_ms", "wind_power_density_100m_wm2", "prevailing_wind_direction_100m_cardinal", "weibull_k_100m", "wind_capacity_factor_pct", "wind_least_cost_interconnect_distance_m", "nearest_wind_turbine_distance_m", "nearest_wind_turbine_hub_height_m", "nearest_wind_turbine_total_height_m", "nearest_wind_project_capacity_mw", "special_use_airspace_type", "golden_eagle_nest_density_index", "prime_farmland_classification", "surface_management_agency", "nearest_repowering_site_distance_m", "slope_degrees", "elevation", "nearest_airport_distance_m", "bedrock_depth_cm", "housing_units_within_1km", "housing_units_density_per_km2", "grading_difficulty_class", "soil_restrictive_layer_depth_cm", "soil_restrictive_layer_kind"]}, "us_envelope": {"lat_max": 72.0, "lat_min": 18.0, "lng_max": -65.0, "lng_min": -180.0}, "version": "0.16.0"}