Giter Club home page Giter Club logo

egrimod-nem's Introduction

Geospatial Modelling of Australia's National Electricity Market

Overview

Code in this repository compiles information related to the operation of Australia's National Electricity Market (NEM). The NEM's topology is based on geospatial datasets obtained from Geosience Australia [1, 2, 3]. Data describing the technical and economic parameters related to NEM participants are obtained from the Australian Energy Market Operator (AEMO). Public tables within AEMO's Market Management System Data Model (MMSDM) [4] contain basic generator parameters, such as registered capacities and fuel types. Economic parameters for generators are obtained from AEMO's National Transmission Network Development Plan (NTNDP) database [5].

Load signals are obtained from [4], however these data are only given for each of the NEM's five regions (SA, NSW, QLD, TAS, VIC). Disaggregation of these regional load signals to individual nodes used methods presented in [6, 7], where the geospatial distribution of electricity demand is assumed to follow that of population. Data from the Australian Bureau of Statistics (ABS) describing the geospatial distribution of population within Australia are obtained from [8], while state and territory boundaries are obtained from [9]. Dispatch signals are also obtained from [4], and are used to construct nodal power injection signals for intermittent renewable generators. These dispatch data can also be used to benchmark market models against realised outcomes - a unique feature of this dataset.

The code used to construct the network and generator datasets, and also implement power-flow and unit commitment models, is contained within several Jupyter Notebooks, with a summary of each presented below.

Notebook Name Description
assemble_network Compile network information from GA and ABS
collate_generator_data Compile generator information from AEMO's MMSDM and NTNDP database
extract_load_and_dispatch_signals Extract regional load signals and generator dispatch profiles from AEMO's MMSDM database
DCOPF Run direct-current optimal power-flow (DCOPF) model
UC Run unit commitment (UC) model
plotting Plot results
create_tables Create LaTeX tables summarising datasets

Zenodo link

Network and generator datasets constructed using code in this repository are also listed at the following repository: DOI

Caveats

  • This dataset does not contain information related to power system components that provide reactive power support to the grid e.g. capacitor banks. Information related to these network elements may be included in the future if additional data become available.

Setup notes

Creating a conda environment is strongly recommended. An environment.yml file is included within the src folder which may assist in setting up a working environment. Please also note that several packages have been installed using conda-forge.

Usage notes

If running for the first time, execute notebooks in the order in which they appear (e.g. first execute the notebook within 1_network, then execute the notebook within 2_generators and so on).

If running assemble_network.ipynb, be aware that this notebook requires nem_zones.py to be run first. The pickled file generated by nem_zones.py is used as an input by assemble_network.ipynb.

Gurobi has been used to solve the models presented in DCOPF.ipynb and UC.ipynb. As mentioned in #2, open-source alternatives are GLPK and IPOPT, which can be used to run the DCOPF and UC models respectively.

References

[1] - Commonwealth of Australia (Geoscience Australia), Electricity Transmission Lines (2017), at http://pid.geoscience.gov.au/dataset/ga/83105

[2] - Commonwealth of Australia (Geoscience Australia), Electricity Transmission Substations (2017), at http://pid.geoscience.gov.au/dataset/ga/83173

[3] - Commonwealth of Australia (Geoscience Australia), Power Stations (2017), at http://pid.geoscience.gov.au/dataset/ga/82326

[4] - Australian Energy Markets Operator. Data Archive (2018). at http://www.nemweb.com.au/#mms-data-model

[5] - Australian Energy Markets Operator. NTNDP Database. (2018). at https://www.aemo.com.au/Electricity/National-Electricity-Market-NEM/Planning-and-forecasting/National-Transmission-Network-Development-Plan/NTNDP-database

[6] - Zhou, Q. & Bialek, J. W. Approximate model of european interconnected system as a benchmark system to study effects of cross-border trades. IEEE Trans. Power Syst. 20, 782–788 (2005).

[7] - Jensen, T. V. & Pinson, P. RE-Europe, a large-scale dataset for modeling a highly renewable European electricity system. Sci. Data 4, 170175 (2017).

[8] - Australian Bureau of Statistics. Regional Population Growth, Australia, 2014-15. (2016). at http://www.abs.gov.au/AUSSTATS/[email protected]/DetailsPage/3218.02014-15?OpenDocument

[9] - Australian Bureau of Statistics. Local Government Areas ASGS Ed 2016 Digital Boundaries in ESRI Shapefile Format. (2016). at http://www.abs.gov.au/AUSSTATS/[email protected]/DetailsPage/1270.0.55.003July%202016?OpenDocument

Creative Commons Attributions

Geospatial datasets obtained from Geoscience Australia are made available under the following license:

License: CC BY 4.0 © Commonwealth of Australia (Geoscience Australia) 2017. With the exception of the Commonwealth Coat of Arms, and where otherwise noted, this product is provided under a Creative Commons Attribution 4.0 International Licence. http://creativecommons.org/licenses/by/4.0/legalcode

Population datasets obtained from the Australian Bureau of Statistics are made available under the following license:

License: CC BY 4.0 http://creativecommons.org/licenses/by/4.0/legalcode

egrimod-nem's People

Contributors

akxen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.