EnergyModelsBase
EnergyModelsBase is an operational, multi nodal energy system model, written in Julia. The model is based on the JuMP
optimization framework. It is a multi carrier energy model, where the definition of the carriers are fully up to the user of the model. One of the primary design goals was to develop a model that can easily be extended with new functionalities without the need to understand and remember every variable and constraint in the model.
For running a basic energy system model, only the base technology package EnergyModelsBase
and the time structure package TimeStruct
are needed.
The main package provides simple descriptions for energy sources, sinks, conversion, and storage units. It corresponds to an operational model without geographic features.
Other packages can the optionally be added if specific functionality or technology nodes are needed. The most important packages are
EnergyModelsGeography
: this package makes it possible to easily extend your energy model with different geographic areas, where transmission can be set to allow for the transport of resources between the different areas.EnergyModelsInvestments
: this package implements functionality for investments, where the length of the investment periods are fully flexible and is decided by setting the time structure.
Open Packages implementing technology specific nodes:
EnergyModelsRenewableProducers
: implementsNonDisRES
for intermittent (Non-Dispatchable) Renewable Energy Sources andHydroStor
modeling a regulated hydro storage plant as well asPumpedHydroStor
modelling a pumped hydro storage plant.
Manual outline
- Quick Start
- Philosophy
- Optimization variables
- Constraint functions
- Data functions
- Examples
- Adding investments
- Release notes
How to guides
- Create a new node
- Utilize
TimeStruct
- Update your model to the latest versions
- Contribute to EnergyModelsBase