{
  "anchors": [
    {
      "about": "EIA plant code; joins within the EIA family.",
      "format": "positive_int",
      "kind": "entity",
      "name": "eia_plant_id",
      "scope": "opportunistic"
    },
    {
      "about": "2-letter state/jurisdiction code (PD-003).",
      "format": "usps_state",
      "kind": "geography",
      "name": "state",
      "scope": "universal"
    },
    {
      "about": "EIA-reported BA code; source-reported, not a validated footprint (PD-002/009).",
      "format": "ba_code",
      "kind": "entity",
      "name": "balancing_authority_code",
      "scope": "opportunistic"
    },
    {
      "about": "EIA generator id, unique within a plant.",
      "format": "short_code",
      "kind": "entity",
      "name": "generator_id",
      "scope": "opportunistic"
    }
  ],
  "capability": "power.generation",
  "codebooks": {
    "balancing_authority_code": {
      "codes": {
        "AEC": {
          "label": "PowerSouth Energy Cooperative"
        },
        "AECI": {
          "label": "Associated Electric Cooperative, Inc."
        },
        "AESO": {
          "label": "Alberta Electric System Operator"
        },
        "AVA": {
          "label": "Avista Corporation"
        },
        "AVRN": {
          "label": "Avangrid Renewables, LLC"
        },
        "AZPS": {
          "label": "Arizona Public Service Company"
        },
        "BANC": {
          "label": "Balancing Authority of Northern California"
        },
        "BCHA": {
          "label": "British Columbia Hydro and Power Authority"
        },
        "BHBA": {
          "label": "Black Hills Energy"
        },
        "BPAT": {
          "label": "Bonneville Power Administration"
        },
        "CEN": {
          "label": "Centro Nacional de Control de Energia"
        },
        "CFE": {
          "label": "Comision Federal de Electricidad"
        },
        "CHPD": {
          "label": "Public Utility District No. 1 of Chelan County"
        },
        "CISO": {
          "label": "California Independent System Operator"
        },
        "CPLE": {
          "label": "Duke Energy Progress East"
        },
        "CPLW": {
          "label": "Duke Energy Progress West"
        },
        "DEAA": {
          "label": "Arlington Valley, LLC"
        },
        "DOPD": {
          "label": "PUD No. 1 of Douglas County"
        },
        "DUK": {
          "label": "Duke Energy Carolinas"
        },
        "EEI": {
          "label": "Electric Energy, Inc."
        },
        "EPE": {
          "label": "El Paso Electric Company"
        },
        "ERCO": {
          "label": "Electric Reliability Council of Texas, Inc."
        },
        "FMPP": {
          "label": "Florida Municipal Power Pool"
        },
        "FPC": {
          "label": "Duke Energy Florida, Inc."
        },
        "FPL": {
          "label": "Florida Power & Light Co."
        },
        "GCPD": {
          "label": "Public Utility District No. 2 of Grant County, Washington"
        },
        "GLHB": {
          "label": "GridLiance"
        },
        "GRID": {
          "label": "Gridforce Energy Management, LLC"
        },
        "GRIF": {
          "label": "Griffith Energy, LLC"
        },
        "GRMA": {
          "label": "Gila River Power, LLC"
        },
        "GVL": {
          "label": "Gainesville Regional Utilities"
        },
        "GWA": {
          "label": "NaturEner Power Watch, LLC"
        },
        "HGMA": {
          "label": "New Harquahala Generating Company, LLC"
        },
        "HQT": {
          "label": "Hydro-Quebec TransEnergie"
        },
        "HST": {
          "label": "City of Homestead"
        },
        "IESO": {
          "label": "Ontario IESO"
        },
        "IID": {
          "label": "Imperial Irrigation District"
        },
        "IPCO": {
          "label": "Idaho Power Company"
        },
        "ISNE": {
          "label": "ISO New England"
        },
        "JEA": {
          "label": "JEA"
        },
        "LDWP": {
          "label": "Los Angeles Department of Water and Power"
        },
        "LGEE": {
          "label": "Louisville Gas and Electric Company and Kentucky Utilities Company"
        },
        "MHEB": {
          "label": "Manitoba Hydro"
        },
        "MISO": {
          "label": "Midcontinent Independent System Operator, Inc."
        },
        "NBSO": {
          "label": "New Brunswick System Operator"
        },
        "NEVP": {
          "label": "Nevada Power Company"
        },
        "NSB": {
          "label": "Utilities Commission of New Smyrna Beach"
        },
        "NWMT": {
          "label": "NorthWestern Corporation"
        },
        "NYIS": {
          "label": "New York Independent System Operator"
        },
        "OVEC": {
          "label": "Ohio Valley Electric Corporation"
        },
        "PACE": {
          "label": "PacifiCorp East"
        },
        "PACW": {
          "label": "PacifiCorp West"
        },
        "PGE": {
          "label": "Portland General Electric Company"
        },
        "PJM": {
          "label": "PJM Interconnection, LLC"
        },
        "PNM": {
          "label": "Public Service Company of New Mexico"
        },
        "PSCO": {
          "label": "Public Service Company of Colorado"
        },
        "PSEI": {
          "label": "Puget Sound Energy, Inc."
        },
        "SC": {
          "label": "South Carolina Public Service Authority"
        },
        "SCEG": {
          "label": "Dominion Energy South Carolina, Inc."
        },
        "SCL": {
          "label": "Seattle City Light"
        },
        "SEC": {
          "label": "Seminole Electric Cooperative"
        },
        "SEPA": {
          "label": "Southeastern Power Administration"
        },
        "SIKE": {
          "label": "Sikeston Board Of Municipal Utilities"
        },
        "SOCO": {
          "label": "Southern Company Services, Inc. - Trans"
        },
        "SPA": {
          "label": "Southwestern Power Administration"
        },
        "SPC": {
          "label": "Saskatchewan Power Corporation"
        },
        "SRP": {
          "label": "Salt River Project Agricultural Improvement and Power District"
        },
        "SWPP": {
          "label": "Southwest Power Pool"
        },
        "SWPW": {
          "label": "Southwest Power Pool West Balancing Authority Area"
        },
        "TAL": {
          "label": "City of Tallahassee"
        },
        "TEC": {
          "label": "Tampa Electric Company"
        },
        "TEPC": {
          "label": "Tucson Electric Power"
        },
        "TIDC": {
          "label": "Turlock Irrigation District"
        },
        "TPWR": {
          "label": "City of Tacoma, Department of Public Utilities, Light Division"
        },
        "TVA": {
          "label": "Tennessee Valley Authority"
        },
        "WACM": {
          "label": "Western Area Power Administration - Rocky Mountain Region"
        },
        "WALC": {
          "label": "Western Area Power Administration - Desert Southwest Region"
        },
        "WAUE": {
          "label": "Western Area Power Administration - Upper Great Plains East"
        },
        "WAUW": {
          "label": "Western Area Power Administration - Upper Great Plains West"
        },
        "WWA": {
          "label": "NaturEner Wind Watch, LLC"
        },
        "YAD": {
          "label": "Alcoa Power Generating, Inc. - Yadkin Division"
        }
      },
      "coverage": "partial_for_eia923",
      "note": "EIA-923 reports this BA code on the plant row. exascale.build preserves it as source-reported data; it is not an independently validated physical BA-footprint assignment or corrected grid-operator attribution. A balancing authority is not a state. ERCO (ERCOT) lies wholly within Texas and covers ~90% of its load, but state=TX is the larger jurisdiction \u2014 it also includes non-ERCOT El Paso (WECC), the Panhandle (SPP), and East Texas (MISO), a material (~20%+) difference. Use balancing_authority_code for a grid and state for a jurisdiction; they are not interchangeable. When a phrase like 'the Texas grid' is ambiguous between the two, report both readings rather than guessing one (PD-009).",
      "semantics": "source_reported_eia923_plant_row_assignment",
      "source": "EIA-930 reference table BAs sheet."
    },
    "energy_source_code": {
      "codes": {
        "AB": {
          "label": "Agricultural By-Products"
        },
        "ANT": {
          "label": "Anthracite Coal"
        },
        "BFG": {
          "label": "Blast Furnace Gas"
        },
        "BIT": {
          "label": "Bituminous Coal"
        },
        "BLQ": {
          "label": "Black Liquor"
        },
        "DFO": {
          "label": "Distillate Fuel Oil (including diesel, No. 1, No. 2, and No. 4 fuel oils)"
        },
        "GEO": {
          "label": "Geothermal"
        },
        "H2": {
          "label": "Hydrogen"
        },
        "JF": {
          "label": "Jet Fuel"
        },
        "KER": {
          "label": "Kerosene"
        },
        "LFG": {
          "label": "Landfill Gas"
        },
        "LIG": {
          "label": "Lignite Coal"
        },
        "MSB": {
          "label": "Municipal Solid Waste \u2014 Biogenic component"
        },
        "MSN": {
          "label": "Municipal Solid Waste \u2014 Non-biogenic component"
        },
        "MSW": {
          "label": "Municipal Solid Waste"
        },
        "MWH": {
          "label": "Electricity used for energy storage"
        },
        "NG": {
          "label": "Natural Gas"
        },
        "NUC": {
          "label": "Nuclear (including Uranium, Plutonium, and Thorium)"
        },
        "OBG": {
          "label": "Other Biomass Gas (including digester gas, methane, and other biomass gases; specify in SCHEDULE 7)"
        },
        "OBL": {
          "label": "Other Biomass Liquids (specify in SCHEDULE 7)"
        },
        "OBS": {
          "label": "Other Biomass Solids (specify in SCHEDULE 7)"
        },
        "OG": {
          "label": "Other Gas (specify in SCHEDULE 7)"
        },
        "OTH": {
          "label": "Specify in SCHEDULE 7"
        },
        "PC": {
          "label": "Petroleum Coke"
        },
        "PG": {
          "label": "Gaseous Propane"
        },
        "PUR": {
          "label": "Purchased Steam"
        },
        "RC": {
          "label": "Refined Coal"
        },
        "RFO": {
          "label": "Residual Fuel Oil (incl. Nos. 5 & 6 fuel oils, and bunker C fuel oil)"
        },
        "SC": {
          "label": "Coal-based Synfuel (briquettes, pellets, or extrusions from binding/recycling processes)"
        },
        "SGC": {
          "label": "Coal-Derived Synthesis Gas"
        },
        "SGP": {
          "label": "Synthesis Gas from Petroleum Coke"
        },
        "SLW": {
          "label": "Sludge Waste"
        },
        "SUB": {
          "label": "Subbituminous Coal"
        },
        "SUN": {
          "label": "Solar"
        },
        "TDF": {
          "label": "Tire-derived Fuels"
        },
        "WAT": {
          "label": "Pumping Energy for Reversible (Pumped Storage) Hydroelectric Turbine"
        },
        "WC": {
          "label": "Waste/Other Coal (incl. anthracite culm, bituminous gob, fine coal, lignite waste, waste coal)"
        },
        "WDL": {
          "label": "Wood Waste Liquids excluding Black Liquor (including red liquor, sludge wood, spent sulfite liquor, and other wood-based liquids)"
        },
        "WDS": {
          "label": "Wood/Wood Waste Solids (incl. paper pellets, railroad ties, utility poles, wood chips, bark, and wood waste solids)"
        },
        "WH": {
          "label": "Waste heat not directly attributed to a fuel source (WH should only be reported when the fuel source is undetermined, and for combined cycle steam turbines that do not have supplemental firing.)"
        },
        "WND": {
          "label": "Wind"
        },
        "WO": {
          "label": "Waste/Other Oil (including crude oil, liquid butane, liquid propane, naphtha, oil waste, re-refined motor oil, sludge oil, tar oil, or other petroleum-based liquid wastes)"
        }
      },
      "coverage": "complete_for_validated_eia923_reported_fuel_codes",
      "source": "EIA energy source and prime mover code workbook, plus the reviewed addendum declared in block.yml (H2, MSB, MSN, SC \u2014 PD-007)."
    },
    "prime_mover_code": {
      "codes": {
        "BA": {
          "label": "Energy Storage, Battery"
        },
        "BT": {
          "label": "Turbines Used in a Binary Cycle (including those used for geothermal applications)"
        },
        "CA": {
          "label": "Combined Cycle Steam Part"
        },
        "CC": {
          "label": "Combined Cycle Total Unit (use only for plants/generators that are in planning stage, for which specific generator details cannot be provided)"
        },
        "CE": {
          "label": "Energy Storage, Compressed Air"
        },
        "CP": {
          "label": "Energy Storage, Concentrated Solar Power"
        },
        "CS": {
          "label": "Combined Cycle Single Shaft (combustion turbine and steam turbine share a single generator)"
        },
        "CT": {
          "label": "Combined Cycle Combustion Turbine Part"
        },
        "ES": {
          "label": "Energy Storage, Other (specify in SCHEDULE 7)"
        },
        "FC": {
          "label": "Fuel Cell"
        },
        "FW": {
          "label": "Energy Storage, Flywheel"
        },
        "GT": {
          "label": "Combustion (Gas) Turbine (does not include the combustion turbine part of a combined cycle; see code CT, below)"
        },
        "HA": {
          "label": "Hydrokinetic, Axial Flow Turbine"
        },
        "HB": {
          "label": "Hydrokinetic, Wave Buoy"
        },
        "HK": {
          "label": "Hydrokinetic, Other (specify in SCHEDULE 7)"
        },
        "HY": {
          "label": "Hydroelectric Turbine (includes turbines associated with delivery of water by pipeline)"
        },
        "IC": {
          "label": "Internal Combustion Engine (diesel, piston, reciprocating)"
        },
        "OT": {
          "label": "Other (specify in SCHEDULE 7)"
        },
        "PS": {
          "label": "Energy Storage, Reversible Hydraulic Turbine (Pumped Storage)"
        },
        "PV": {
          "label": "Photovoltaic"
        },
        "ST": {
          "label": "Steam Turbine, including nuclear, geothermal and solar steam (does not include combined cycle)"
        },
        "WS": {
          "label": "Wind Turbine, Offshore"
        },
        "WT": {
          "label": "Wind Turbine, Onshore"
        }
      },
      "coverage": "complete_for_validated_eia923_prime_mover_codes",
      "source": "EIA energy source and prime mover code workbook."
    }
  },
  "data_point": {
    "does_not_answer": [
      "installed or nameplate capacity (MW)",
      "planned or future generation",
      "retirements",
      "electricity demand or load",
      "wholesale electricity prices",
      "physical fuel consumption quantities or fuel cost",
      "heat rate or efficiency",
      "capacity factor as a standalone number (use query_capacity_factor_v1)",
      "real-time or hourly dispatch",
      "transmission"
    ],
    "grain": "generator_monthly_flow",
    "id": "power.generation",
    "note": "Capacity (MW) and generation (MWh) are different data points, never interchangeable: capacity is a stock \u2014 what installed generators COULD produce at full output \u2014 while generation is a flow \u2014 what they actually DID produce over a stated period (PD-001/PD-006). For a bare 'how much power' question with no MW/MWh signal and no could/did signal, surface BOTH readings \u2014 installed capacity (power.capacity) and net generation (power.generation) \u2014 rather than answering with one.",
    "product_spec": "blocks/power_generation/card.md",
    "represented_fact": "EIA-923 reports monthly net electricity generation (MWh) by plant, prime mover, and fuel (Page 1) and by individual generator (Page 4), as a monthly time series. Page 1 also reports total and electric-only fuel consumption separately in MMBtu.",
    "source_basis": [
      "energy.eia.eia923"
    ],
    "source_decisions": [
      "docs/sources/energy/eia/eia923/source-decision.md"
    ]
  },
  "input": {
    "atoms": {
      "default": "by_fuel",
      "description": "The two non-additive generation grains. Select one with `atom` (default `by_fuel`, the complete plant total); never sum across them. `by_generator` is the generator-level drill-down where reported, joinable to EIA-860M generators.",
      "values": [
        "by_fuel",
        "by_generator"
      ]
    },
    "controls": [
      "atom",
      "is_state_increment",
      "included_in_default_us_metrics",
      "include_records",
      "include_evidence",
      "limit",
      "order_by",
      "top_n",
      "order",
      "rollup_other"
    ],
    "date_range_params": [
      "data_month_from",
      "data_month_to"
    ],
    "date_ranges": [
      "data_month"
    ],
    "filters": [
      "atom",
      "as_of",
      "data_month",
      "state",
      "balancing_authority_code",
      "energy_source_code",
      "fuel_group",
      "mer_fuel_type_code",
      "prime_mover_code",
      "sector_number",
      "eia_plant_id",
      "generator_id",
      "is_state_increment"
    ],
    "fuel_groups": {
      "description": "Canonical multi-code fuel filter (same taxonomy as power.capacity). Pass `fuel_group=<name>` to total a fuel spanning several energy_source_code values; it expands server-side to the exact code set below. Conflicts with an explicit energy_source_code filter. Also a `group_by` dimension: `group_by=[\"fuel_group\"]` breaks a result into one bucket per fuel in a single query (coal as one row, not six codes); base fuels only \u2014 meta-groups like `fossil` stay filter-only. With that group_by, set `rollup_other=true` to fold the ungrouped tail into one `(other)` bucket for a tidy mix; storage (`MWH`) stays its own row (PD-004).",
      "groups": {
        "biomass": {
          "codes": [
            "AB",
            "BLQ",
            "LFG",
            "MSW",
            "MSB",
            "OBG",
            "OBL",
            "OBS",
            "SLW",
            "WDL",
            "WDS"
          ],
          "label": "Biomass"
        },
        "coal": {
          "codes": [
            "ANT",
            "BIT",
            "LIG",
            "SUB",
            "RC",
            "WC"
          ],
          "label": "Coal"
        },
        "fossil": {
          "codes": [
            "ANT",
            "BIT",
            "LIG",
            "SUB",
            "RC",
            "WC",
            "NG",
            "DFO",
            "RFO",
            "KER",
            "JF",
            "WO",
            "PC"
          ],
          "composed_of": [
            "coal",
            "natural_gas",
            "petroleum"
          ],
          "label": "Fossil (coal + natural gas + petroleum)"
        },
        "geothermal": {
          "codes": [
            "GEO"
          ],
          "label": "Geothermal"
        },
        "hydro": {
          "codes": [
            "WAT"
          ],
          "label": "Hydro (includes pumped storage)"
        },
        "natural_gas": {
          "codes": [
            "NG"
          ],
          "label": "Natural gas"
        },
        "nuclear": {
          "codes": [
            "NUC"
          ],
          "label": "Nuclear"
        },
        "petroleum": {
          "codes": [
            "DFO",
            "RFO",
            "KER",
            "JF",
            "WO",
            "PC"
          ],
          "label": "Petroleum"
        },
        "solar": {
          "codes": [
            "SUN"
          ],
          "label": "Solar"
        },
        "wind": {
          "codes": [
            "WND"
          ],
          "label": "Wind"
        },
        "wood": {
          "codes": [
            "WDS",
            "WDL",
            "BLQ"
          ],
          "label": "Wood and wood waste"
        }
      }
    },
    "group_by": [
      "atom",
      "data_month",
      "state",
      "balancing_authority_code",
      "energy_source_code",
      "fuel_group",
      "mer_fuel_type_code",
      "prime_mover_code",
      "sector_number",
      "eia_plant_id",
      "generator_id"
    ],
    "ranking": {
      "no_ranking": "Omit order_by and top_n to return all groups in group-key order.",
      "order": {
        "default": "desc",
        "valid_values": [
          "desc",
          "asc"
        ]
      },
      "order_by": {
        "accepts": "one of output.metrics",
        "note": "Ranks the groups by a metric (a measure). Not a group_by dimension \u2014 rows already come back grouped by each group_by field.",
        "requires": [
          "group_by"
        ],
        "valid_values": [
          "net_generation_mwh",
          "distinct_plant_count",
          "source_record_count"
        ]
      },
      "top_n": {
        "note": "Keeps the top N groups by order_by; the rest fold into one (other) remainder (additive metrics sum into it, non-additive ones are nulled) so the result still reconciles to summary.totals.",
        "requires": [
          "group_by",
          "order_by"
        ],
        "type": "positive integer"
      }
    }
  },
  "output": {
    "aggregate_citation_fields": [
      "source_id",
      "publisher",
      "source_url",
      "source_file",
      "raw_file_sha256",
      "as_of",
      "source_rows_count",
      "source_rows_sample",
      "verify",
      "lineage_filter"
    ],
    "citation_fields": [
      "source_id",
      "source_url",
      "source_file",
      "sheet",
      "source_row",
      "source_col",
      "raw_file_sha256",
      "as_of"
    ],
    "detail_fields": [
      "source_id",
      "atom",
      "sheet_name",
      "source_record_key",
      "region_scope",
      "included_in_default_us_metrics",
      "is_state_increment",
      "report_period",
      "data_month",
      "source_row_number",
      "eia_plant_id",
      "plant_name",
      "operator_id",
      "operator_name",
      "generator_id",
      "nuclear_unit_id",
      "state",
      "balancing_authority_code",
      "census_region",
      "nerc_region",
      "naics_code",
      "sector_number",
      "sector_name",
      "combined_heat_and_power",
      "prime_mover_code",
      "energy_source_code",
      "mer_fuel_type_code",
      "net_generation_mwh",
      "total_fuel_consumed_mmbtu",
      "electric_fuel_consumed_mmbtu",
      "field_citations",
      "as_of",
      "raw_file_sha256",
      "citation"
    ],
    "metric_groups": {
      "entities": [
        "distinct_plant_count"
      ],
      "generation_mwh": [
        "net_generation_mwh"
      ],
      "records": [
        "source_record_count"
      ]
    },
    "metric_metadata": {
      "distinct_plant_count": {
        "additive_across_groups": false,
        "aggregation": "count_distinct",
        "authoritative_total_path": "summary.totals.distinct_plant_count",
        "category": "entities",
        "definition": "Count of distinct EIA plant IDs within the current result scope.",
        "description": "Distinct EIA plant IDs contributing to the current row or summary scope.",
        "display_name": "Distinct plant count",
        "display_precision": "Integer.",
        "grain": "result scope",
        "null_handling": "Always an integer count.",
        "rollup_behavior": "distinct_entity_count_not_additive",
        "row_metric_path": "rows[].metrics.distinct_plant_count",
        "source_fields": [
          "eia_plant_id"
        ],
        "unit": "count"
      },
      "net_generation_mwh": {
        "additive_across_groups": true,
        "aggregation": "sum",
        "authoritative_total_path": "summary.totals.net_generation_mwh",
        "category": "generation_mwh",
        "definition": "Sum of EIA-923 net electricity generation (MWh) within the current result scope.",
        "description": "Sum of EIA-923 net generation; signed (negative monthly values are real parasitic load and summed as-is).",
        "display_name": "Net generation",
        "display_precision": "MWh values are rounded to 6 decimal places in JSON to remove binary floating-point noise.",
        "grain": "plant/generator-month record",
        "null_handling": "Null source values are ignored by the sum; a matched group with only null source values returns null; an empty-query summary returns zero.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.net_generation_mwh",
        "source_fields": [
          "net_generation_mwh"
        ],
        "unit": "MWh"
      },
      "source_record_count": {
        "additive_across_groups": true,
        "aggregation": "count source records",
        "authoritative_total_path": "summary.totals.source_record_count",
        "category": "records",
        "definition": "Count of normalized source rows (atom-months) contributing to the current result scope.",
        "description": "Number of normalized EIA-923 source rows (atom-months) contributing to the value.",
        "display_name": "Source record count",
        "display_precision": "Integer.",
        "grain": "source row",
        "null_handling": "Always an integer count.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.source_record_count",
        "source_fields": [
          "source_record_key"
        ],
        "unit": "count"
      }
    },
    "metrics": [
      "net_generation_mwh",
      "distinct_plant_count",
      "source_record_count"
    ],
    "summary_fields": [
      "group_count",
      "totals"
    ]
  },
  "primitive": "query_power_generation_v1",
  "status": "available"
}
