You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A package for downloading and handling historical forecast data for the National Electricity Market (NEM) produced by the Australian Energy Market Operator (AEMO).
10
-
11
-
## Development progress
12
-
13
-
While this package is currently under development, `nemseer` can currently be used to download and cache historical forecast data from AEMO. Future releases will focus on handling downloaded data.
14
-
15
-
For a high-level overview of development, check out the [roadmap](./ROADMAP.md).
9
+
A package for downloading and handling historical National Electricity Market (NEM) forecast data produced by the Australian Energy Market Operator (AEMO).
16
10
17
11
## Installation
18
12
@@ -22,15 +16,15 @@ pip install nemseer
22
16
23
17
## Overview
24
18
25
-
`nemseer` allows you to access historical AEMO [pre-dispatch](https://aemo.com.au/en/energy-systems/electricity/national-electricity-market-nem/data-nem/market-management-system-mms-data/pre-dispatch) and [Projected Assessment of System Adequacy (PASA)](https://wa.aemo.com.au/energy-systems/electricity/national-electricity-market-nem/nem-forecasting-and-planning/forecasting-and-reliability/projected-assessment-of-system-adequacy) forecast data available through the [MMSDM Historical Data SQLLoader](https://nemseer.readthedocs.io/en/latest/glossary.html#term-MMSDM-Historical-Data-SQLLOader).
19
+
`nemseer` allows you to access historical AEMO [pre-dispatch](https://aemo.com.au/en/energy-systems/electricity/national-electricity-market-nem/data-nem/market-management-system-mms-data/pre-dispatch) and [Projected Assessment of System Adequacy (PASA)](https://wa.aemo.com.au/energy-systems/electricity/national-electricity-market-nem/nem-forecasting-and-planning/forecasting-and-reliability/projected-assessment-of-system-adequacy) forecast[^1] data available through the [MMSDM Historical Data SQLLoader](https://nemseer.readthedocs.io/en/latest/glossary.html#term-MMSDM-Historical-Data-SQLLOader).
<sub><sup>Source: [Reserve services in the National Electricity Market, AEMC, 2021](https://www.aemc.gov.au/sites/default/files/2020-12/AEMC_Reserve%20services%20in%20the%20NEM%20directions%20paper_05.01.2021.pdf)</sup></sub>
30
24
31
-
Whereas PASA processes are primarily used to assess resource adequacy (i.e. *"can operational demand be met in the forecast horizon with a sufficient safety (reserve) margin?"*) based on technical inputs and assumptions for resources in the market, pre-dispatch processes incorporate the latest set of market participant offers and thus produce regional prices forecasts[^1] for energy and frequency control ancillary services [(FCAS)](https://aemo.com.au/-/media/files/electricity/nem/security_and_reliability/ancillary_services/guide-to-ancillary-services-in-the-national-electricity-market.pdf). A more detailed overview of the various pre-dispatch and PASA processes can be found in the [glossary](https://nemseer.readthedocs.io/en/latest/glossary.html).
25
+
Whereas PASA processes are primarily used to assess resource adequacy based on technical inputs and assumptions for resources in the market (i.e. used to answer questions such as *"can operational demand be met in the forecast horizon with a sufficient safety (reserve) margin?"*), pre-dispatch processes incorporate the latest set of market participant offers and thus produce regional prices forecasts for energy and frequency control ancillary services [(FCAS)](https://aemo.com.au/-/media/files/electricity/nem/security_and_reliability/ancillary_services/guide-to-ancillary-services-in-the-national-electricity-market.pdf). Overviews of the various pre-dispatch and PASA processes can be found in the [glossary](https://nemseer.readthedocs.io/en/latest/glossary.html).
32
26
33
-
[^1]: We use the term *"forecast"* loosely, especially given that pre-dispatch "forecasts" change once participants update offer information (e.g. through rebidding). Rather, the purpose of these *"ahead processes"* is to provide system and market information to participants to inform their decision-making. However, to avoid confusion, we use the words "*"forecast"* and *"forecast types"* in `nemseer`.
27
+
[^1]: We use the term *"forecast"* loosely, especially given that these *"forecasts"* change once participants update offer information (e.g. through rebidding) or submit revised resource availabilities and energy constraints. Both of these are intended outcomes of these *"ahead processes"*, which are run to provide system and market information to participants to inform their decision-making. However, to avoid confusion and to ensure consistency with the language used by AEMO, we use the terms *"forecast"*(or outputs) and *"forecast types"* (or ahead processes) in `nemseer`.
34
28
35
29
`nemseer` enables you to download and work with data from the following forecast types (where available, AEMO process and table descriptions are linked):
36
30
@@ -50,12 +44,18 @@ Note that the methodologies for PD PASA and ST PASA are being reviewed by AEMO.
50
44
51
45
### Glossary
52
46
53
-
The [glossary](https://nemseer.readthedocs.io/en/latest/glossary.html) contains overviews of the PASA and pre-dispatch processes, and descriptions of terminology relevant to using`nemseer`.
47
+
The [glossary](https://nemseer.readthedocs.io/en/latest/glossary.html) contains overviews of the PASA and pre-dispatch processes, and descriptions of terminology used in`nemseer`.
54
48
55
49
### Quick start
56
50
57
51
Check out the [Quick start](https://nemseer.readthedocs.io/en/latest/quick_start.html) for examples of how you can use `nemseer`.
58
52
53
+
## Development progress
54
+
55
+
While this package is currently under development, `nemseer` can currently be used to download, cache and handle historical forecast data from AEMO. Future development will focus on implementing advanced features, such as casting compiled data to [xarray](https://docs.xarray.dev/en/stable/index.html) n-dimensional arrays and caching processed queries in a netCDF format.
56
+
57
+
For a high-level overview of development, check out the [roadmap](./ROADMAP.md).
58
+
59
59
## Contributing
60
60
61
61
Interested in contributing? Check out the [contributing guidelines](./CONTRIBUTING.md), which also includes steps to install `nemseer` for development.
@@ -70,4 +70,4 @@ Please note that this project is released with a [Code of Conduct](./CONDUCT.md)
70
70
71
71
`nemseer` was created with [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) and the `py-pkgs-cookiecutter`[template](https://github.com/py-pkgs/py-pkgs-cookiecutter).
72
72
73
-
Thanks to Nick Gorman for his help in reviewing elements of `nemseer`.
73
+
Thanks to Nicholas Gorman for his help in reviewing elements of `nemseer`.
Copy file name to clipboardExpand all lines: docs/source/api.md
+26-6Lines changed: 26 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
## Classes
8
8
9
-
### Query Class
9
+
### Query
10
10
11
11
```{note}
12
12
Use the {meth}`initialise() <nemseer.query.Query.initialise()>` class method to create an instance of the {class}`Query <nemseer.query.Query>` object, as this method assembles metadata relevant to NEMSEER cache searching.
@@ -17,7 +17,7 @@ Use the {meth}`initialise() <nemseer.query.Query.initialise()>` class method to
17
17
:members:
18
18
```
19
19
20
-
### Downloader Class
20
+
### Downloader
21
21
22
22
```{note}
23
23
Use the {meth}`from_Query() <nemseer.downloader.ForecastTypeDownloader.from_Query()>` class method to create an instance of the {class}`ForecastTypeLoader <nemseer.downloader.ForecastTypeDownloader>` object.
@@ -28,6 +28,17 @@ Use the {meth}`from_Query() <nemseer.downloader.ForecastTypeDownloader.from_Quer
28
28
:members:
29
29
```
30
30
31
+
### DataCompiler
32
+
33
+
```{note}
34
+
Use the {meth}`from_Query() <nemseer.data_compilers.DataCompiler.from_Query()>` class method to create an instance of the {class}`DataCompiler <nemseer.data_compilers.DataCompiler>` object.
@@ -41,18 +52,18 @@ Use the {meth}`from_Query() <nemseer.downloader.ForecastTypeDownloader.from_Quer
41
52
42
53
**Scrapers**: These functions scrape the {term}`MMSDM Historical Data SQLLoader` repository to assist `nemseer` in validating inputs and providing feedback to users.
43
54
44
-
**Downloader**: Used to download a `.zip` file.
55
+
**Downloaders**: Used to download and unzip a `.zip` file.
Valid inputs for {func}`clean_forecast_csv <nemseer.data_handlers.clean_forecast_csv>` are the same as those for {func}`pandas.read_csv <pandas.read_csv()>`
66
+
Valid inputs for {func}`clean_forecast_csv <nemseer.data_handlers.clean_forecast_csv>` are the same as those for {func}`pandas.read_csv <pandas.read_csv()>`.
56
67
57
68
```{eval-rst}
58
69
.. automodule:: nemseer.data_handlers
@@ -61,11 +72,20 @@ Valid inputs for {func}`clean_forecast_csv <nemseer.data_handlers.clean_forecast
61
72
62
73
## Forecast-specific helpers
63
74
64
-
### Validators
75
+
### Datetime validators
65
76
66
77
These validators are specific to each {term}`forecast type`. They are used prior to initiating data compilation, and check that user-supplied datetime inputs are valid for the relevant {term}`forecast type`.
67
78
68
79
```{eval-rst}
69
80
.. automodule:: nemseer.forecast_type.validators
70
81
:members:
71
82
```
83
+
84
+
### Run time generators
85
+
86
+
Run time generators produce the widest valid {term}`run time` range for a particular {term}`forecast type` given {term}`forecasted_start` and {term}`forecasted_end`.
0 commit comments