NEMO
The National Electricity Market Optimizer is a chronological dispatch model for testing and optimizing different portfolios of conventional and renewable electricity generation technologies.
https://github.com/bje-/NEMO
Category: Energy Systems
Sub Category: Energy Markets
Last synced: about 19 hours ago
JSON representation
Repository metadata
National Electricity Market Optimiser
- Host: GitHub
- URL: https://github.com/bje-/NEMO
- Owner: bje-
- License: gpl-3.0
- Created: 2015-11-23T00:43:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T02:48:19.000Z (about 1 month ago)
- Last Synced: 2025-04-17T22:43:07.891Z (10 days ago)
- Language: Python
- Size: 17.6 MB
- Stars: 44
- Watchers: 7
- Forks: 16
- Open Issues: 0
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
README.md
National Electricity Market Optimiser (NEMO)
NEMO is a chronological production-cost and capacity expansion model
for testing and optimising different portfolios of renewable and
fossil electricity generation technologies. It has been developed and
improved over the past decade and has a growing number of users.
It requires no proprietary software to run, making it particularly
accessible to the governments of developing countries, academic
researchers and students. The model is available for others to inspect
and, importantly, to validate the results.
Installation
pip install nemopt
Features
For a set of given (or default) generation or demand traces, users can:
- Specify & simulate a custom resource mix, or;
- "Evolve" a resource mix using pre-configured scenarios, or
configure their own scenario
Evolution strategy
The benefit of an evolutionary approach is that while NEMO is
searching for the least-cost solution, NEMO can also explore
"near-optimal" resource mixes.
NEMO no longer uses genetic algorithms, but has adopted the better
performing CMA-ES method.
Resource models
NEMO has models for the following resources: wind (including
offshore), photovoltaics, concentrating solar power (CSP), hydropower,
pumped storage hydro, biomass, black coal, open cycle gas turbines
(OCGTs), combined cycle gas turbines (CCGTs), diesel generators, coal
with carbon capture and storage (CCS), CCGT with CCS, geothermal,
demand response, batteries, electrolysers, hydrogen fuelled gas
turbines, and more.
Documentation
Documentation is progressively being added to a User's
Guide
in the form of a Jupyter notebook.
API documentation exists for
the nemo
module. This is useful when building new tools that use the
simulation framework.
The model is described in an Energy Policy paper titled Least cost
100% renewable electricity scenarios in the Australian National
Electricity
Market
by Elliston, MacGill and Diesendorf (2013).
System requirements
NEMO should run on any operating system where Python 3 is available
(eg, Windows, Mac OS X, Linux). It utilises some add-on packages:
Scaling up
For simple simulations or scripted sensitivity analyses, a laptop or
desktop PC will be adequate. However, for optimising larger systems, a
cluster of compute nodes is desirable. The model is scalable and you
can devote as many locally available CPU cores to the model as you
wish.
Note
Due to a lack of active development, support for
SCOOP has been removed. It
will be soon replaced with something like Ray.
Citation
If you use NEMO, please cite the following paper:
Ben Elliston, Mark Diesendorf, Iain MacGill, Simulations of
scenarios with 100% renewable electricity in the Australian National
Electricity
Market,
Energy Policy, Volume 45, 2012, Pages 606-613, ISSN 0301-4215,
https://doi.org/10.1016/j.enpol.2012.03.011
Community
The nemo-devel mailing
list is where users and developers can correspond.
Contributing
Enhancements and bug fixes are very welcome. Please report bugs in the
issue tracker. Authors retain
copyright over their work.
License
NEMO was first developed by Dr Ben
Elliston in 2011 at
the Collaboration for Energy and Environmental Markets, UNSW
Sydney.
NEMO is free software and the source code is licensed under the GPL version 3 license.
Useful references
Australian cost data are taken from the Australian Energy Technology
Assessments
(2012, 2013), the Australian Power Generation Technology
Report (2015)
and the CSIRO GenCost
reports
(2021, 2022, 2023). The GenCost reports provide the basis of the input
cost assumptions for the AEMO Integrated System
Plan.
Costs for other countries may be added in time.
Renewable energy trace data covering the Australian National
Electricity Market territory are taken from the AEMO 100% Renewables
Study. An accompanying
report
describes the method of generating the traces.
Acknowledgements
Early development of NEMO was financially supported by the Australian
Renewable Energy Agency (ARENA). Thanks to
undergraduate and postgraduate student users at UNSW who have provided
valuable feedback on how to improve (and document!) the model.
Owner metadata
- Name: Ben Elliston
- Login: bje-
- Email:
- Kind: user
- Description:
- Website:
- Location: Canberra, Australia
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/4327840?v=4
- Repositories: 35
- Last ynced at: 2024-06-11T15:43:29.060Z
- Profile URL: https://github.com/bje-
GitHub Events
Total
- Watch event: 2
- Push event: 36
- Fork event: 2
Last Year
- Watch event: 2
- Push event: 36
- Fork event: 2
Committers metadata
Last synced: 8 days ago
Total Commits: 1,703
Total Committers: 4
Avg Commits per committer: 425.75
Development Distribution Score (DDS): 0.312
Commits in past year: 98
Committers in past year: 1
Avg Commits per committer in past year: 98.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Ben Elliston | b****e@a****u | 1172 |
Ben Elliston | b****n@u****u | 460 |
Ben Elliston | b****n@s****u | 70 |
Abi Prakash | a****7@g****m | 1 |
Committer domains:
- student.unsw.edu.au: 1
- unsw.edu.au: 1
- air.net.au: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 4
Total pull requests: 1
Average time to close issues: 17 days
Average time to close pull requests: about 1 hour
Total issue authors: 3
Total pull request authors: 1
Average comments per issue: 12.5
Average comments per pull request: 1.0
Merged pull request: 1
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jotaigna (2)
- Gerryjj (1)
- bje- (1)
Top Pull Request Authors
- prakaa (1)
Top Issue Labels
Top Pull Request Labels
Dependencies
- Gooey >=1.0.4
- attrdict3 *
- bandit *
- codespell *
- coverage *
- deap *
- flake8 *
- matplotlib *
- numpy *
- pandas *
- pdoc3 *
- pint *
- pydocstyle *
- pyflakes *
- pylama *
- pylint *
- pytest *
- pytest-cov *
- twine *
- vulture *
- wheel *
- Gooey >=1.0.4
- deap *
- matplotlib *
- numpy *
- pandas *
- pint *
- actions/checkout v1 composite
- actions/setup-python v1 composite
Score: 5.170483995038151