CapacityExpansion is a julia implementation of a input-data-scaling, multi-sector capacity expansion modeling framework.
The main purpose of the package is providing an extensible, simple-to-use generation and transmission capacity extension model that allows to address a diverse set of research questions in the area of energy systems planning. The secondary purposes are:
- Providing a simple process to integrate (clustered) time-series input data, geographical input data, cost input data, and technology input data.
- Providing a model configuration, a modular model setup and model optimization.
- Providing an interface between the optimization result and further analysis.
| Model Information | |
|---|---|
| Model class | Capacity Expansion Problem |
| Model type | Optimization, Linear optimization model input-data depending energy system |
| Carriers | Electricity, Hydrogen, ... |
| Technologies | dispathable and non-dispathable Generation, Conversion, Storage (seasonal), Transmission |
| Decisions | investment and dispatch |
| Objective | Total system cost |
| Variables | Cost, Capacities, Generation, Storage, Lost-Load, Lost-Emissions |
| Input Data Depending | Provided Input Data |
|---|---|
| Regions | California, USA (single and multi-node) and Germany, Europe (single and multi-node) |
| Geographic Resolution | aggregated regions |
| Time resolution | hourly |
| Network coverage | transmission, DCOPF load flow |
The package uses TimeSeriesClustering as a basis for its time-series aggregation.
This package is developed by Elias Kuepper @YoungFaithful and Holger Teichgraeber @holgerteichgraeber.
Installation
This package runs under julia v1.0 and higher. It depends on:
JuMP.jl- for the modeling environmentCSV.jl- for handling of.csv-FilesDataFrames.jl- for handling of tablesStatsBase.jl- for handling of basicJLD2.jl- for saving your result dataFileIO.jl- for file accessingTimeSeriesClustering.jl- for time-series data
using Pkg
Pkg.add("CapacityExpansion")A solver is required to run an optimization as explained in section Solver. Install e.g.:
using Pkg
Pkg.add("Clp")