Storage parameters
These parameters configure storage in a scenario, including storage costs, performance, pre-existing capacity, capacity and investment limits, and connections between storage and technologies.
Capital cost storage
Cost to build a unit of capacity for the specified storage.
Since storage is typically linked to charging and discharging technologies (see TechnologyToStorage and TechnologyFromStorage), and capital costs are typically defined for those technologies, it may not be necessary to use this parameter. If it is used, the costs specified by CapitalCostStorage are added to the technology costs.
Scenario database
Table: CapitalCostStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Cost (scenario's cost unit / region's energy unit) |
Interest rate storage
Interest rate used to calculate financing costs for endogenously built storage capacity.
Scenario database
Table: InterestRateStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Rate (0 to 1) |
Minimum storage charge
Minimum fraction of a storage's capacity that must be charged. NEMO ensures the charge never drops below this level.
When this parameter is set, NEMO assumes that new storage capacity (endogenous and exogenous) is delivered with the minimum charge.
If you set a minimum storage charge, make sure the corresponding storage start level is at least as large as the minimum. Otherwise your model will be infeasible.
Scenario database
Table: MinStorageCharge
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Fraction (0 to 1) |
Operational life storage
Lifetime of a storage in years. NEMO uses this parameter to:
- Retire endogenously determined capacity. If a unit of capacity is built endogenously in year
y, NEMO will retire the capacity in yeary + OperationalLife. - Calculate the salvage value of endogenously determined capacity remaining at the end of the modeling period (see
DepreciationMethod).
In this way, the parameter serves as both an operational and an economic lifetime.
NEMO does not automatically retire exogenously specified storage capacity, which is defined by ResidualStorageCapacity. It is up to you to do so in the values you provide for ResidualStorageCapacity.
Scenario database
Table: OperationalLifeStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
val | real | Lifetime (years) |
Residual storage capacity
Exogenously specified capacity for a storage. Note that NEMO does not automatically retire this capacity; it is up to you to do so in the values you provide for ResidualStorageCapacity.
Scenario database
Table: ResidualStorageCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Capacity (region's energy unit) |
Storage full load hours
Factor relating endogenously determined capacity for a storage and technologies that discharge it (see TechnologyFromStorage). When this parameter is specified, each unit of endogenous discharging capacity is accompanied by enough endogenous storage capacity to power it for the full load hours.
Scenario database
Table: StorageFullLoadHours
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Hours |
Storage maximum charge rate
Maximum charging rate for a storage.
When storage is linked to charging technologies (see TechnologyToStorage), the capacity of these technologies also limits the charging rate of the storage. This can obviate StorageMaxChargeRate in many cases.
Scenario database
Table: StorageMaxChargeRate
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
val | real | Charging rate (region's energy unit / year) |
Storage maximum discharge rate
Maximum discharging rate for a storage.
When storage is linked to discharging technologies (see TechnologyFromStorage), the capacity of these technologies also limits the discharging rate of the storage. This can obviate StorageMaxDischargeRate in many cases.
Scenario database
Table: StorageMaxDischargeRate
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
val | real | Discharging rate (region's energy unit / year) |
Storage start level
Fraction of exogenous storage capacity that is charged at the start of the first modeled year.
Scenario database
Table: StorageLevelStart
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
val | real | Fraction (0 to 1) |
Technology from storage
Indicator of whether a technology can discharge a storage.
Scenario database
Table: TechnologyFromStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
s | text | Storage |
m | text | Mode of operation |
val | real | Indicator (0 for no, 1 for yes) |
It is not necessary to populate zeros in TechnologyFromStorage for technologies that aren't connected to a storage. NEMO assumes no connection if a technology isn't represented in the table.
If a technology is connected to storage via TechnologyFromStorage, the fuels it produces must be time-sliced (FUEL.timesliced = 1).
Technology to storage
Indicator of whether a technology can charge a storage.
Scenario database
Table: TechnologyToStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
s | text | Storage |
m | text | Mode of operation |
val | real | Indicator (0 for no, 1 for yes) |
It is not necessary to populate zeros in TechnologyToStorage for technologies that aren't connected to a storage. NEMO assumes no connection if a technology isn't represented in the table.
If a technology is connected to storage via TechnologyToStorage, the fuels it consumes must be time-sliced (FUEL.timesliced = 1).
Total annual maximum capacity storage
Maximum capacity for a storage in a year (including both exogenous and endogenous capacity). Only specify this parameter if you want to enforce a particular limit.
Scenario database
Table: TotalAnnualMaxCapacityStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Capacity (region's energy unit) |
Total annual maximum capacity investment storage
Maximum addition of endogenously determined capacity for a storage in a year. Only specify this parameter if you want to enforce a particular limit. This parameter is scaled up to account for non-modeled years when selected years are calculated.
Scenario database
Table: TotalAnnualMaxCapacityInvestmentStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Capacity (region's energy unit) |
Total annual minimum capacity storage
Minimum capacity for a storage in a year (including both exogenous and endogenous capacity). Only specify this parameter if you want to enforce a particular limit (other than 0, which NEMO assumes by default). This parameter is scaled up to account for non-modeled years when selected years are calculated.
Scenario database
Table: TotalAnnualMinCapacityStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Capacity (region's energy unit) |
Total annual minimum capacity investment storage
Minimum addition of endogenously determined capacity for a storage in a year. Only specify this parameter if you want to enforce a particular limit (other than 0, which NEMO assumes by default).
Scenario database
Table: TotalAnnualMinCapacityInvestmentStorage
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
s | text | Storage |
y | text | Year |
val | real | Capacity (region's energy unit) |