Skip to content

Commit

Permalink
Added page on Investments in docs
Browse files Browse the repository at this point in the history
  • Loading branch information
JulStraus committed Aug 19, 2024
1 parent 67d4808 commit a76ef63
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ makedocs(
"Constraint functions" => "manual/constraint-functions.md",
"TransmissionMode structure" => "manual/transmission-mode.md",
"Example" => "manual/simple-example.md",
"Investment options"=>"manual/investments.md",
"Release notes" => "manual/NEWS.md",
],
"How to" => Any[
Expand Down
1 change: 1 addition & 0 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Pages = [
"manual/optimization-variables.md",
"manual/constraint-functions.md",
"manual/transmission-mode.md",
"manual/investments.md",
"manual/simple-example.md"
]
Depth = 1
Expand Down
27 changes: 27 additions & 0 deletions docs/src/manual/investments.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# [Adding investments](@id man-emi)

Investment options are added through loading the package [`EnergyModelsInvestments`](https://energymodelsx.github.io/EnergyModelsInvestments.jl/).
`EnergyModelsInvestments` was previously seen as extension package to `EnergyModelsBase`, that it was dependent on `EnergyModelsBase` and only allowed investment options in `EnergyModelsBase`.
This approach was reversed from version 0.7 onwards and `EnergyModelsInvestments` is now a standalone package and provides an extension to `EnergyModelsBase`.

As a consequence, it was not also necessary to move the `EnergyModelsGeography` extension of `EnergyModelsInvestments` to an `EnergyModelsInvestments` extension of `EnergyModelsGeography`.

## [General concept](@id man-emi-gen)

Investment options are added separately to each individual transmission mode through the field `data`.
This is similar to the approach used in
Hence, it is possible to use different prices for the same technology in different regions or allow investments only in a limited subset of technologies.

Transmission mode investments utilize the same data type [`SingleInvData`] as the majority of the node investments.
This type inludes as fields [`AbstractInvData`](@extref EnergyModelsInvestments.AbstractInvData) which can be either in the form of [`StartInvData`](@extref EnergyModelsInvestments.StartInvData) or [`NoStartInvData`](@extref EnergyModelsInvestments.NoStartInvData).
The exact description of the individual investment data and their fields can be found in the *[public library]* of `EnergyModelsInvestments`.

Investments require the application of an [`InvestmentModel`](@ref) instead of an [`OperationalModel`](@ref).
This allows us to provide two core functions with new methods, `constraints_capacity_installed` (as described on *[Constraint functions]*), `variables_trans_capex`, a function previously not declaring any variables, and the update to the objective functoin `update_objective`.

## [Added variables](@id man-emi-var)

Investment options increase the number of variables.
The individual variables are described in the *[documentation of `EnergyModelsInvestments`]*.

All transmission modes with investments use the prefix `:trans`.

0 comments on commit a76ef63

Please sign in to comment.