CapacityExpansion is a julia implementation of an input-data-scaling capacity expansion modeling framework.
The primary purpose of the package is providing an extensible, simple-to-use generation and transmission capacity expansion model that allows addressing 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 Planning |
Model type | Optimization, Linear optimization model input-data depending energy system |
Carriers | Electricity, Hydrogen,... |
Technologies | dispatchable and non-dispatchable Generation, Conversion, Storage (seasonal), Transmission, Demand |
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 multiple packages, which are also listed in the Project.toml
. The packages are automatically installed by the julia package manager:
JuMP.jl
- for the modeling environmentCSV.jl
- for handling of.csv
-FilesDataFrames.jl
- for handling of tablesStatsBase.jl
- for handling of basicJLD2
- for saving your result dataFileIO
- for file accessingTimeSeriesClustering.jl
- for time-series data
You can install CapacityExpansion
using the package mode:
]
add CapacityExpansion
or using the Pkg.add
function:
using Pkg
Pkg.add("CapacityExpansion")
A solver is required to run an optimization, as explained in section Solver. Install, e.g. Clp
using the package mode:
]
add Clp
or using the Pkg.add
function:
using Pkg
Pkg.add("Clp")