{
  "anchors": [
    {
      "about": "2-letter state/jurisdiction code (PD-003).",
      "format": "usps_state",
      "kind": "geography",
      "name": "state",
      "scope": "universal"
    },
    {
      "about": "5-digit Census county FIPS, zero-padded string.",
      "format": "fips5",
      "kind": "geography",
      "name": "county_fips",
      "scope": "universal"
    }
  ],
  "capability": "power.interconnection_queue_nyiso",
  "codebooks": {
    "application_status": {
      "codes": {
        "ACTIVE": {
          "label": "Active \u2014 a live request still in the queue (requested, not built)"
        },
        "AFFECTED_SYSTEM": {
          "label": "Affected-system study \u2014 an out-of-NYISO project studied for NY-system impact"
        },
        "AFFECTED_SYSTEM_WITHDRAWN": {
          "label": "Withdrawn affected-system study"
        },
        "IN_SERVICE": {
          "label": "In service \u2014 the project is built and energized"
        },
        "WITHDRAWN": {
          "label": "Withdrawn \u2014 the request left the queue (the queue is withdrawn-dominated)"
        }
      },
      "coverage": "the distinct application_status values served from the NYISO snapshot",
      "note": "ALWAYS scope by `application_status` or `sheet_name` \u2014 the queue is dominated by WITHDRAWN requests. `ACTIVE` is the live pipeline of REQUESTED (not built) capacity (the Interconnection Queue, Cluster Projects and Load Projects tabs, minus rows NYISO's own status code marks withdrawn); `IN_SERVICE` is built and energized; `WITHDRAWN` left the queue; `AFFECTED_SYSTEM` is out-of-NYISO projects studied for NY-system impact. A queue-MW total is requested capacity, never built \u2014 for built/operating capacity use query_power_capacity_v1.",
      "semantics": "as_reported_lifecycle_status",
      "source": "NYISO Interconnection Queue \u2014 the lifecycle tab's reading (Interconnection Queue / Cluster Projects / Load Projects / Affected System Studies / the Withdrawn forms / In Service), overridden to the withdrawn form when the row's own status code is NYISO's 0 ('0=Withdrawn', the workbook's printed key \u2014 since 2026-07 NYISO carries withdrawn load/affected-system rows inside the active tabs)."
    },
    "end_use": {
      "codes": {
        "DAT": {
          "label": "DAT \u2014 as-reported (NYISO publishes no key for End-Use codes)"
        },
        "DAT-AI": {
          "label": "DAT-AI \u2014 as-reported"
        },
        "DAT-CM": {
          "label": "DAT-CM \u2014 as-reported"
        },
        "M-CG": {
          "label": "M-CG \u2014 as-reported"
        },
        "M-CH": {
          "label": "M-CH \u2014 as-reported"
        },
        "M-IN": {
          "label": "M-IN \u2014 as-reported"
        },
        "O": {
          "label": "O \u2014 as-reported"
        },
        "RD": {
          "label": "RD \u2014 as-reported"
        }
      },
      "coverage": "the distinct end_use codes observed in the served NYISO snapshot (null before the 2026-07 edition and on non-load tabs)",
      "note": "NYISO publishes NO key for these codes in the workbook \u2014 they are served verbatim and the labels below document the observed vocabulary only. The `DAT` family dominates the load queue (40 of 51 coded requests in the first edition that carries the column). Filter by NYISO's EXACT value; a load request NYISO left uncoded is null (as are all rows from pre-2026-07 snapshots \u2014 scope with `as_of` when counting).",
      "semantics": "as_reported_end_use_class",
      "source": "NYISO Interconnection Queue `End-Use` (Load Projects tab, 2026-07 edition onward) \u2014 NYISO's own end-use class per load interconnection request, served verbatim."
    },
    "study_status_code": {
      "codes": {
        "0": {
          "label": "Withdrawn"
        },
        "1": {
          "label": "Scoping Meeting Pending"
        },
        "11": {
          "label": "IA Completed"
        },
        "14": {
          "label": "In Service Commercial"
        },
        "6": {
          "label": "SRIS/SIS Approved"
        }
      },
      "coverage": "the distinct study-status codes observed in the served NYISO snapshot",
      "note": "NYISO's serial study-phase legend (kept as-reported, may include alphanumeric codes like 3A / 5P / 15 / P): 0=Withdrawn, 1=Scoping Meeting, 2-3=Feasibility Study, 4-6=SRIS/SIS, 7-9=Facilities Study, 10-11=IA, 12=Under Construction, 13=In Service for Test, 14=In Service Commercial, 15=Partial In-Service. The FERC Order 2023 cluster tabs use a separate phase system. Filter by NYISO's EXACT value.",
      "semantics": "as_reported_study_phase",
      "source": "NYISO Interconnection Queue \u2014 the as-reported study-phase code (`S` through the 2026-06 edition; `Project Status #` on the generation/load tabs and `NYISO Status` on Affected System Studies since 2026-07)."
    },
    "type_fuel": {
      "codes": {
        "AC": {
          "label": "AC Transmission (not generation \u2014 null MW)"
        },
        "C": {
          "label": "Coal"
        },
        "CC": {
          "label": "Combined Cycle"
        },
        "CR": {
          "label": "CSR \u2014 Co-located Storage Resource: Energy Storage + Solar (hybrid)"
        },
        "CS": {
          "label": "Steam Turbine & Combustion Turbine"
        },
        "CT": {
          "label": "Combustion Turbine"
        },
        "CW": {
          "label": "CSR \u2014 Co-located Storage Resource: Energy Storage + Wind (hybrid)"
        },
        "D": {
          "label": "Dual Fuel"
        },
        "DC": {
          "label": "DC Transmission (not generation \u2014 null MW)"
        },
        "ES": {
          "label": "Energy Storage (standalone battery)"
        },
        "F": {
          "label": "Flywheel"
        },
        "FC": {
          "label": "Fuel Cell"
        },
        "H": {
          "label": "Hydro"
        },
        "L": {
          "label": "Load (a load interconnection request \u2014 the Load Projects tab)"
        },
        "M": {
          "label": "Methane"
        },
        "NG": {
          "label": "Natural Gas"
        },
        "NU": {
          "label": "Nuclear"
        },
        "O": {
          "label": "Oil"
        },
        "OSW": {
          "label": "Off-Shore Wind"
        },
        "PS": {
          "label": "Pumped Storage"
        },
        "S": {
          "label": "Solar"
        },
        "ST": {
          "label": "Steam Turbine"
        },
        "SW": {
          "label": "Solid Waste"
        },
        "W": {
          "label": "Wind (onshore)"
        },
        "Wo": {
          "label": "Wood"
        }
      },
      "coverage": "the distinct type_fuel codes observed in the served NYISO snapshot",
      "note": "NYISO's resource type is a SHORT CODE \u2014 filter by NYISO's EXACT code, not a fuel word. The CSR codes are co-located storage HYBRIDS: `CR` = CSR (Energy Storage + Solar) and `CW` = CSR (Energy Storage + Wind) \u2014 NYISO's analog of a solar+storage / wind+storage hybrid (NOT a deliverability or capacity-service class). `ES` is standalone battery storage, `OSW` is offshore wind (distinct from onshore `W`), `L` is a load interconnection request (the Load Projects tab), and `AC`/`DC` are transmission (not generation, so they carry null MW). Values are AS-REPORTED, so a few older rows use a spelled-out or variant form (e.g. `Solar` for `S`, `BAT` for storage); a request with no type is null.",
      "semantics": "as_reported_resource_type",
      "source": "NYISO Interconnection Queue `Type/ Fuel` \u2014 NYISO's coded resource type, from the workbook's own footer Type/Fuel legend."
    },
    "zone": {
      "codes": {
        "A": {
          "label": "Zone A \u2014 West"
        },
        "F": {
          "label": "Zone F \u2014 Capital"
        },
        "J": {
          "label": "Zone J \u2014 New York City"
        },
        "K": {
          "label": "Zone K \u2014 Long Island"
        }
      },
      "coverage": "the distinct NYISO load zones observed in the served snapshot",
      "note": "NYISO's eleven load zones, west to east: A=West, B=Genesee, C=Central, D=North, E=Mohawk Valley, F=Capital, G=Hudson Valley, H=Millwood, I=Dunwoodie, J=NYC, K=Long Island. A project spanning zones carries a multi-zone value as-reported. Filter by NYISO's EXACT value.",
      "semantics": "as_reported_load_zone",
      "source": "NYISO Interconnection Queue `NYISO Zone` / `Z` \u2014 the NYISO load zone (A\u2013K)."
    }
  },
  "data_point": {
    "does_not_answer": [
      "built/operating/nameplate capacity as a queue total (sp_mw/wp_mw/peak_mw_load are REQUESTED interconnection, not built; for operating capacity use power.capacity / EIA-860M; an In Service-tab project is the per-project built reading)",
      "a single nameplate figure (NYISO publishes summer SP and winter WP separately; both are served and never collapsed; the gridstatus max(SP,WP) convention is not adopted)",
      "a sum of MW treated as planned or operating capacity (most queued MW withdraws \u2014 totals are scoped by application_status / sheet_name, never read as built)",
      "a cross-ISO or national queue total (methodologies, inclusion, and withdrawal rates differ per ISO \u2014 never summed or deduped across ISOs; for the MISO queue use query_power_interconnection_queue_v1, for PJM query_power_interconnection_queue_pjm_v1, for CAISO query_power_interconnection_queue_caiso_v1)",
      "which Load Projects are \"data-center driven\" (NYISO publishes load requests but does not tag data centers; that inference is the analyst's, never tagged here)",
      "the probability that a queued project will actually be built or reach commercial operation",
      "generation MWh, demand, prices, retail sales, or transmission flows",
      "lat/lon or plant-level attribution (NYISO supplies none; only state, as-reported county, NYISO zone, and derived county_fips)",
      "queues for other ISOs/RTOs (MISO, PJM, CAISO, ISO-NE, ERCOT, SPP) \u2014 each is a separate block under the same gate"
    ],
    "grain": "project_snapshot",
    "id": "power.interconnection_queue_nyiso",
    "note": "This is NYISO's Interconnection Queue \u2014 the New York ISO generator + load interconnection queue. `sp_mw` (summer) and `wp_mw` (winter) are REQUESTED interconnection capacity (a waiting line), NOT built / installed / operating capacity, served separately under NYISO's own names (never blended). The queue is withdrawn-dominated, so always scope by `application_status` (ACTIVE / WITHDRAWN / IN_SERVICE / AFFECTED_SYSTEM / AFFECTED_SYSTEM_WITHDRAWN \u2014 the lifecycle tab's reading, overridden to the withdrawn form when a row carries NYISO's own status code 0, '0=Withdrawn' per the workbook's printed key) or `sheet_name`. NYISO uniquely publishes a Load Projects tab (load requests, with `peak_mw_load`) \u2014 and since the 2026-07 edition each load request carries NYISO's own `end_use` class (e.g. DAT / DAT-AI / DAT-CM, served verbatim; filter or group by `end_use`) and a `sis_bundle` study-batch code. The `In Service` tab is the built reading. For operating capacity use query_power_capacity_v1. NYISO only \u2014 never summed or compared across ISOs; for MISO use query_power_interconnection_queue_v1, for PJM query_power_interconnection_queue_pjm_v1, for CAISO query_power_interconnection_queue_caiso_v1.",
    "product_spec": "blocks/power_interconnection_queue_nyiso/card.md",
    "represented_fact": "The NYISO generator interconnection queue \u2014 New York ISO's public Interconnection Queue workbook, the waiting line of every project that has REQUESTED to connect to the New York grid, served as-reported, project by project across every lifecycle tab NYISO publishes (nine tabs through 2026-06; seven since NYISO's 2026-07 restructure folded the load-withdrawn and affected-withdrawn lists into the active tabs under its own status code 0, the workbook's printed '0=Withdrawn' key): the active serial queue (`Interconnection Queue`) and FERC Order 2023 cluster queue (`Cluster Projects`); the LOAD interconnection requests (`Load Projects`) \u2014 NYISO is the one ISO that publishes load/large-load requests, carried as-reported with its own `peak_mw_load` and, since 2026-07, NYISO's own `End-Use` class per load request (`end_use`, e.g. DAT / DAT-AI / DAT-CM \u2014 NYISO publishes no key for these codes; they are served verbatim) and the `SIS Bundle` study-batch code (`sis_bundle`, NYISO's 'XX-Y' = scope-year + serial); the cross-border `Affected System Studies`; the `Withdrawn` and cluster-withdrawn lists; and the built `In Service` list. NYISO's full published structure is carried faithfully, in NYISO's own words: the summer-peak and winter-peak megawatts (`sp_mw` / `wp_mw`, kept SEPARATE \u2014 NYISO publishes no single nameplate and we never blend them), the load `peak_mw_load`, the as-reported study-phase code (`study_status_code` \u2014 NYISO's numeric key, published as `S` through 2026-06 and as `Project Status #` / `NYISO Status` since), the request `record_type`, the `type_fuel` codebook, the NYISO load `zone` (A\u2013K), the energy-storage capability, the location (state, county, point of interconnection, utility), and the lifecycle dates. This is a REQUEST, not built capacity: historically the large majority of queued MW withdraws before it is built. NYISO carries the requested-vs-built distinction in its OWN structure \u2014 every project's `application_status` (the lifecycle tab's reading: ACTIVE / WITHDRAWN / IN_SERVICE / AFFECTED_SYSTEM / AFFECTED_SYSTEM_WITHDRAWN, overridden to the withdrawn form when the row's own status code is NYISO's 0) and the tab it sits on \u2014 so the MW figures are served under NYISO's own names and never relabeled or summed as operating capacity. A project may appear on more than one tab, so the grain is (sheet, queue_position) and we never invent a cross-tab dedup. This is a forward-looking slice (capacity/generation/demand are backward-looking actuals). NYISO carries no county_fips and no lat/lon; county_fips is derived by name (state-scoped) where it resolves and left null otherwise (out-of-NY rows in PA/NJ/CT, cross-border labels, and multi-county cells stay null). The `Load Projects` tab is served as-reported: `end_use` is NYISO's OWN classification, served verbatim \u2014 we still never infer an end use NYISO did not print; interpretation beyond the code is the analyst's, from cited rows.",
    "source_basis": [
      "energy.nyiso.queue"
    ],
    "source_decisions": [
      "docs/verticals/power/interconnection-queues.md"
    ]
  },
  "input": {
    "controls": [
      "include_records",
      "include_evidence",
      "limit",
      "order_by",
      "top_n",
      "order",
      "rollup_other"
    ],
    "date_range_params": [
      "ir_date_from",
      "ir_date_to"
    ],
    "date_ranges": [
      "ir_date"
    ],
    "field_metadata": {},
    "filters": [
      "as_of",
      "state",
      "county_fips",
      "application_status",
      "sheet_name",
      "study_status_code",
      "record_type",
      "type_fuel",
      "zone",
      "utility",
      "studies_available",
      "end_use",
      "ir_date"
    ],
    "group_by": [
      "state",
      "county_fips",
      "application_status",
      "sheet_name",
      "study_status_code",
      "record_type",
      "type_fuel",
      "zone",
      "utility",
      "studies_available",
      "end_use"
    ],
    "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": [
          "sp_mw",
          "wp_mw",
          "peak_mw_load",
          "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",
      "raw_file_sha256",
      "as_of"
    ],
    "detail_fields": [
      "source_id",
      "sheet_name",
      "iso",
      "queue_position",
      "source_record_key",
      "application_status",
      "project_name",
      "developer",
      "record_type",
      "project_type",
      "state",
      "state_raw",
      "county",
      "county_fips",
      "county_fips_source",
      "county_fips_unresolved",
      "zone",
      "type_fuel",
      "energy_storage_capability",
      "min_duration_full_discharge",
      "sp_mw",
      "wp_mw",
      "peak_mw_load",
      "study_status_code",
      "studies_available",
      "end_use",
      "sis_bundle",
      "point_of_interconnection",
      "utility",
      "affected_to",
      "ir_date",
      "last_update",
      "ia_tender_date",
      "cy_fs_complete_date",
      "fs_completion_date",
      "proposed_in_service",
      "proposed_initial_backfeed",
      "proposed_sync_date",
      "proposed_cod",
      "report_period",
      "source_row_number",
      "as_of",
      "raw_file_sha256",
      "citation"
    ],
    "metric_groups": {
      "load_mw": [
        "peak_mw_load"
      ],
      "records": [
        "source_record_count"
      ],
      "requested_mw": [
        "sp_mw",
        "wp_mw"
      ]
    },
    "metric_metadata": {
      "peak_mw_load": {
        "additive_across_groups": true,
        "aggregation": "sum",
        "authoritative_total_path": "summary.totals.peak_mw_load",
        "category": "load_mw",
        "definition": "The project's requested peak load (Load Projects tab), as NYISO reports it (Peak MW load).",
        "description": "This is REQUESTED interconnection capacity (a project in the queue), NOT built, installed, or operating capacity: historically the large majority of queued MW withdraws before it is built, so the queue is withdrawn-dominated. It is additive across distinct project-rows (each is its own request) but must be read as REQUESTED \u2014 scope it with `application_status` or `sheet_name`. NYISO publishes summer (`SP`) and winter (`WP`) peak MW separately; they are served under NYISO's own names and never blended into one nameplate. The `In Service` tab is the built reading. For operating capacity use query_power_capacity_v1.",
        "display_name": "Peak load MW (requested)",
        "display_precision": "MW values are rounded to 6 decimal places in JSON to remove binary floating-point noise.",
        "grain": "queue project-row",
        "null_handling": "A project with no reported value contributes null (ignored by the sum); an empty-query summary returns zero.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.peak_mw_load",
        "source_fields": [
          "Peak MW load"
        ],
        "unit": "MW"
      },
      "source_record_count": {
        "additive_across_groups": true,
        "aggregation": "count source records",
        "authoritative_total_path": "summary.totals.source_record_count",
        "category": "records",
        "definition": "Count of NYISO queue project-rows in the current result scope (one atom = one row of one lifecycle tab; nine tabs through 2026-06, seven since the 2026-07 restructure).",
        "description": "Number of queued project-rows contributing to the value \u2014 scope with application_status or sheet_name to separate active from withdrawn from in-service.",
        "display_name": "Queued project-row count",
        "display_precision": "Integer.",
        "grain": "queue project-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"
      },
      "sp_mw": {
        "additive_across_groups": true,
        "aggregation": "sum",
        "authoritative_total_path": "summary.totals.sp_mw",
        "category": "requested_mw",
        "definition": "The project's maximum summer megawatt output, as NYISO reports it (SP (MW)).",
        "description": "This is REQUESTED interconnection capacity (a project in the queue), NOT built, installed, or operating capacity: historically the large majority of queued MW withdraws before it is built, so the queue is withdrawn-dominated. It is additive across distinct project-rows (each is its own request) but must be read as REQUESTED \u2014 scope it with `application_status` or `sheet_name`. NYISO publishes summer (`SP`) and winter (`WP`) peak MW separately; they are served under NYISO's own names and never blended into one nameplate. The `In Service` tab is the built reading. For operating capacity use query_power_capacity_v1.",
        "display_name": "Summer peak MW (requested)",
        "display_precision": "MW values are rounded to 6 decimal places in JSON to remove binary floating-point noise.",
        "grain": "queue project-row",
        "null_handling": "A project with no reported value contributes null (ignored by the sum); an empty-query summary returns zero.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.sp_mw",
        "source_fields": [
          "SP (MW)"
        ],
        "unit": "MW"
      },
      "wp_mw": {
        "additive_across_groups": true,
        "aggregation": "sum",
        "authoritative_total_path": "summary.totals.wp_mw",
        "category": "requested_mw",
        "definition": "The project's maximum winter megawatt output, as NYISO reports it (WP (MW)).",
        "description": "This is REQUESTED interconnection capacity (a project in the queue), NOT built, installed, or operating capacity: historically the large majority of queued MW withdraws before it is built, so the queue is withdrawn-dominated. It is additive across distinct project-rows (each is its own request) but must be read as REQUESTED \u2014 scope it with `application_status` or `sheet_name`. NYISO publishes summer (`SP`) and winter (`WP`) peak MW separately; they are served under NYISO's own names and never blended into one nameplate. The `In Service` tab is the built reading. For operating capacity use query_power_capacity_v1.",
        "display_name": "Winter peak MW (requested)",
        "display_precision": "MW values are rounded to 6 decimal places in JSON to remove binary floating-point noise.",
        "grain": "queue project-row",
        "null_handling": "A project with no reported value contributes null (ignored by the sum); an empty-query summary returns zero.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.wp_mw",
        "source_fields": [
          "WP (MW)"
        ],
        "unit": "MW"
      }
    },
    "metrics": [
      "sp_mw",
      "wp_mw",
      "peak_mw_load",
      "source_record_count"
    ],
    "summary_fields": [
      "group_count",
      "totals"
    ]
  },
  "primitive": "query_power_interconnection_queue_nyiso_v1",
  "status": "available"
}
