EnergyModels is a free software toolbox for optimising modern power systems that include features such as conventional generators, variable wind and solar generation, storage units, coupling to other energy sectors, and mixed alternating and direct current networks. EnergyModels is explicitly designed to be memory proficient for large networks and long time series, while keeping a clearly delineated and extensible model system.
This project has been developed by the Energy System Modelling group at the Institute for Automation and Applied Informatics at the Karlsruhe Institute of Technology. The current development is financed by the PrototypeFund.
Usage Outlook (WIP)
jumpmodel = JuMP.direct_model(Gurobi.Optimizer()) model = EnergyModel("elec_s_45.nc", jumpmodel=jumpmodel) build!(model) print(jumpmodel) optimize!(model) print(model[Generator][:p_nom]) plot(sum(model[:onwind][:p], dim=1))
model_uc = EnergyModel(model, OperationalModel, Generator=>GeneratorCommitForm, StorageUnit=>StorageUnitUC) build!(model, Gurobi.Optimizer())