Breakthrough-Energy / REISE.jl

Renewable Energy Integration Simulation Engine
https://breakthrough-energy.github.io/docs/
MIT License
30 stars 22 forks source link

logo

Code Style: Blue Documentation GitHub contributors GitHub commit activity GitHub last commit (branch) GitHub pull requests License: MIT Code of Conduct DOI

REISE.jl

REISE.jl is the Renewable Energy Simulation Engine developed by Breakthrough Energy Sciences (BES) to solve DC optimal power flow problems. It is written in Julia and can be used with the BES software ecosystem (see PowerSimData) or in a standalone mode (see [Zenodo] for sample data).

Main Features

Here are a few things that REISE.jl can do:

Where to get it

For now, only the source code is available. Clone or Fork the code here on GitHub.

Dependencies

REISE.jl relies on several Julia packages. The list can be found in the Project.toml file located at the root of this package.

This program builds an optimization problem, but still relies on an external solver to generate results. Any solver compatible with JuMP can be used, although performance with open-source solvers (e.g. Clp, GLPK) may be significantly slower than with commercial solvers.

Installation

There are two options, either install all the dependencies yourself or setup the engine within a Docker image. Detailed installation notes can be found here. You will also find in this document instructions to use REISE.jl in the standalone mode or in combination with PowerSimData.

License

MIT

Communication Channels

Sign up to our email list and our Slack workspace to get in touch with us.

Contributing

All contributions (bug report, documentation, feature development, etc.) are welcome. An overview on how to contribute to this project can be found in our Contribution Guide.

This package is formatted following the Blue Style conventions. Pull requests will be automatically checked against consistency to this style guide. Formatting is as easy as:

julia> using JuliaFormatter

julia> format(FILE_OR_DIRECTORY)

If an individual file is passed, that file will be formatted. If a directory is passed, all Julia files in that directory and subdirectories will be formatted. Use format(".") from the root of the package to format all files.