Interconnection Queues#

All ISOs support retrieving interconnection queues with iso.get_interconnection_queue methods.

Each of the ISOs report slightly differently fields for their queues, so a best effort was made to standardize column names. When a column couldn’t be standardized, it is appended to end of the returned dataframe.

Below you can see preview of each of ISOs interconnection queues

NYISO#

import gridstatus
nyiso = gridstatus.NYISO()
nyiso.get_interconnection_queue()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [1], in <cell line: 3>()
      1 import gridstatus
      2 nyiso = gridstatus.NYISO()
----> 3 nyiso.get_interconnection_queue()

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/gridstatus/nyiso.py:380, in NYISO.get_interconnection_queue(self, verbose)
    375 if (
    376     "SGIA Tender Date" in active.columns
    377     and "SGIA Tender Date" not in completed.columns
    378 ):
    379     active = active.drop(columns=["SGIA Tender Date"])
--> 380 completed.columns = active.columns
    382 # the spreadsheet doesnt have a date, so make it null
    383 completed["Proposed  In-Service"] = None

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/pandas/core/generic.py:5915, in NDFrame.__setattr__(self, name, value)
   5913 try:
   5914     object.__getattribute__(self, name)
-> 5915     return object.__setattr__(self, name, value)
   5916 except AttributeError:
   5917     pass

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/pandas/_libs/properties.pyx:69, in pandas._libs.properties.AxisProperty.__set__()

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/pandas/core/generic.py:823, in NDFrame._set_axis(self, axis, labels)
    821 def _set_axis(self, axis: int, labels: AnyArrayLike | list) -> None:
    822     labels = ensure_index(labels)
--> 823     self._mgr.set_axis(axis, labels)
    824     self._clear_item_cache()

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/pandas/core/internals/managers.py:230, in BaseBlockManager.set_axis(self, axis, new_labels)
    228 def set_axis(self, axis: int, new_labels: Index) -> None:
    229     # Caller is responsible for ensuring we have an Index object.
--> 230     self._validate_set_axis(axis, new_labels)
    231     self.axes[axis] = new_labels

File ~/checkouts/readthedocs.org/user_builds/isodata/envs/0.24.0/lib/python3.10/site-packages/pandas/core/internals/base.py:70, in DataManager._validate_set_axis(self, axis, new_labels)
     67     pass
     69 elif new_len != old_len:
---> 70     raise ValueError(
     71         f"Length mismatch: Expected axis has {old_len} elements, new "
     72         f"values have {new_len} elements"
     73     )

ValueError: Length mismatch: Expected axis has 24 elements, new values have 21 elements

CAISO#

caiso = gridstatus.CAISO()
caiso.get_interconnection_queue()

SPP#

spp = gridstatus.SPP()
spp.get_interconnection_queue()

Ercot#

ercot = gridstatus.Ercot()
ercot.get_interconnection_queue()

MISO#

miso = gridstatus.MISO()
miso.get_interconnection_queue()

ISONE#

isone = gridstatus.ISONE()
isone.get_interconnection_queue()

PJM#

pjm = gridstatus.PJM()
pjm.get_interconnection_queue()