Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERCOT - Add ORDC Price Data #173

Open
xmattyshea opened this issue Feb 27, 2023 · 2 comments
Open

ERCOT - Add ORDC Price Data #173

xmattyshea opened this issue Feb 27, 2023 · 2 comments

Comments

@xmattyshea
Copy link
Contributor

The 15-Minute Settlement Price Point (SPP) is comprised of the time-weighted, 5-minute LMP, as well as the RTRSVPOR and RTRDP scarcity price adders.

ERCOT also publishes per-SCED data and annual historical archives.

I think it makes sense to start with the 15-minute data for now as the 15-Minute RT market is already supported.

@kmax12
Copy link
Collaborator

kmax12 commented Feb 28, 2023

What API would you suggest?

right now, every new data set gets a method like get_lmp, get_load, etc. We could continue to do this, but once we get into more specific datasets, not sure there is much value in have the method named like that.

I'm wonder about something like

iso.get_dataset(dataset_name, date, start, end, kwargs)

so in this case

iso = gridstatus.ERCOT()
iso.get_dataset(iso.ORDC_15_MIN, start="2022-01-01", end="today")

Gridstatus would have to handle using the real time or historical dataset as necessary.

If done correctly, I think we could use this approach to scale out to nearly every ERCOT dataset

@xmattyshea
Copy link
Contributor Author

I think the get_dataset() approach is definitely more maintainable and would be much easier to scale. It would also allow for the following:

iso = gridstatus.ERCOT()
supported_datasets = iso.supported_datasets()

that could all reference a single data structure (dict?). Also, in the case where there are different granularities for single datatypes:

iso = gridstatus.ERCOT()
ordc = iso.get_supported_granularity(iso.ORDC_15_MIN) # don't love the method name here but

This approach could also support passing multiple datasets in the same function call. Only problem I might see arising is the amount of checks you'd have to do once you start getting more and more unique datasets. Overall though I think the pros outweigh the cons. Will have to start tinkering with it to really get a sense, tho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants