Interact with an approximate model of Australia's National Electricity Market Dispatch Engine (NEMDE) via an API. Users submit NEMDE case files to the API which are posted to a Redis Queue. Workers monitoring the queue take these parameters, formulate and solve an optimisation problem approximating NEMDE, and then post results back to the queue.
This repository is intended to provide a simple interface allowing users to interact with the model. There is no need to set up solvers or dependancies - these are all managed using Docker containers. If you're interested in model development please see https://github.com/akxen/nemde. Learn how to use the API and explore potential use cases at https://akxen.github.io/dispatch-api-docs.
- Clone repository:
git clone --recurse-submodules https://github.com/akxen/dispatch-api - Set up MySQL database environment variables. Rename
mysql/nemde-mysql-template.envtomysql/nemde-mysql.env. SetMYSQL_PASSWORDandMYSQL_ROOT_PASSWORDenvironment variables. - Set up API environment variables. Rename
api/config/nemde-api-base-template.envtoapi/config/nemde-api-base.env. Set missing envirnoment variables. EnsureMYSQL_PASSWORDis the same asMYSQL_ROOT_PASSWORDinmysql/nemde-mysql.env. - Set up Redis Queue dashboard environment varaibles. Rename
dashboard-template.envtodashboard.env. - Set up NEMDE worker environment variables. Rename
nemde-worker/config/nemde-worker-template.envtonemde-worker/config/nemde-worker.env. Use the following settings for missing environment variables:
| Name | Value |
|---|---|
| REDIS_HOST | nemde_redis |
| REDIS_PORT | 6379 |
| REDIS_DB | 0 |
| REDIS_QUEUE | public |
- Run
docker-compose up --buildto run services. - See the docs at https://akxen.github.io/dispatch-api-docs to explore potential use cases.