Parameters
NEMO includes a number of parameters that define data and set the terms of constraints for scenarios. As with model dimensions, parameters are specified in a NEMO scenario database. NEMO reads them from the database and uses them to build constraints at run-time. Generally, NEMO does not create separate Julia variables for parameters.
Most parameters are subscripted by one or more dimensions. Parameter tables in a scenario database refer to dimensions by their abbreviation (r for region, t for technology, and so on). The abbreviation serves as the name of the dimension's column, and the column should be populated with unique identifiers for the dimension (val, name, or id, depending on the dimension).
Accumulated annual demand
Exogenous demand that is not time sliced. NEMO ensures the demand is met, but it may be met at any point in the specified year.
Scenario database
Table: AccumulatedAnnualDemand
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
y | text | Year |
val | real | Demand (region's energy unit) |
Annual emission limit
Maximum emissions allowed in the specified year.
Scenario database
Table: AnnualEmissionLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
e | text | Emission |
y | text | Year |
val | real | Amount of emissions (scenario's emissions unit) |
Annual exogenous emission
Exogenously specified emissions, assumed to occur regardless of what else is happening in the energy system.
Scenario database
Table: AnnualExogenousEmission
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
e | text | Emission |
y | text | Year |
val | real | Amount of emissions (scenario's emissions unit) |
Availability factor
Not currently used.
Capacity factor
Fraction of time a technology is available to operate.
Scenario database
Table: CapacityFactor
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
l | text | Time slice |
y | text | Year |
val | real | Fraction (0 to 1) |
Capacity of one technology unit
Increment in which endogenously determined capacity is added for a technology.
If this parameter is defined, NEMO uses an integer variable to solve for the technology's endogenous capacity. This can substantially increase model run-time. If the parameter is not defined, a continuous variable is used instead.
Scenario database
Table: CapacityOfOneTechnologyUnit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Increment for endogenous capacity additions (region's power unit) |
Capacity to activity unit
Factor relating a region's power unit to its energy unit. See Units of measure.
Scenario database
Table: CapacityToActivityUnit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
val | real | Factor value (region's energy unit / (power unit * year)) |
Capital cost
Cost to build a unit of capacity for the specified technology.
Scenario database
Table: CapitalCost
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Cost (scenario's cost unit / region's power unit) |
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) |
Note that capacity for storage is denominated in energy terms.
Default parameters
Default value for the parameter identified by tablename.
Scenario database
Table: DefaultParams
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
tablename | text | Name of parameter table |
val | real | Default value |
Depreciation method
Method for calculating the salvage value of technology, storage, and transmission line capacity existing at the end of the modeling period.
- 1: Sinking fund depreciation (assuming the
DiscountRateis not 0; if it is, straight line depreciation is used instead)
- 2: Straight line depreciation
Scenario database
Table: DepreciationMethod
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
val | real | Depreciation method (1 or 2) |
Discount rate
Rate used to discount costs in a region.
Scenario database
Table: DiscountRate
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
val | real | Rate (0 to 1) |
Emission penalty
Cost of emissions.
Scenario database
Table: EmissionsPenalty
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
e | text | Emission |
y | text | Year |
val | real | Cost (scenario's cost unit / scenario's emissions unit) |
Emissions activity ratio
Emission factor for the indicated technology and mode.
Scenario database
Table: EmissionActivityRatio
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
e | text | Emission |
m | text | Mode of operation |
y | text | Year |
val | real | Factor (scenario's emissions unit / region's energy unit) |
Fixed cost
Fixed operation and maintenance costs for a technology.
Scenario database
Table: FixedCost
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Cost (scenario's cost unit / region's power unit) |
Input activity ratio
Factor multiplied by dispatched capacity to determine the use (input) of the specified fuel. InputActivityRatio is used in conjunction with OutputActivityRatio. A common approach is to:
- Set the
InputActivityRatiofor input fuels to the reciprocal of the technology's efficiency. - Set the
OutputActivityRatiofor output fuels to 1.
For example, if a technology had an efficiency of 80%, the InputActivityRatio for inputs would be 1.25, and the OutputActivityRatio for outputs would be 1.0.
Scenario database
Table: InputActivityRatio
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
f | text | Fuel |
m | text | Mode of operation |
y | text | Year |
val | real | Factor |
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) |
Model period emission limit
Maximum emissions allowed in the modeling period (i.e., over all years).
Scenario database
Table: ModelPeriodEmissionLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
e | text | Emission |
val | real | Amount of emissions (scenario's emissions unit) |
Model period exogenous emission
Exogenously specified emissions, counted toward the model period emission limit regardless of what else is happening in the energy system.
Scenario database
Table: ModelPeriodExogenousEmission
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
e | text | Emission |
val | real | Amount of emissions (scenario's emissions unit) |
Nodal distribution demand
Fraction of exogenously specified demand for a fuel assigned to a node. If in a given year transmission modeling is enabled for a fuel (see TransmissionModelingEnabled), and the fuel has exogenous demands, the sum of NodalDistributionDemand across nodes should be 1.
Scenario database
Table: NodalDistributionDemand
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
n | text | Node |
f | text | Fuel |
y | text | Year |
val | real | Fraction (0 to 1) |
Nodal distribution storage capacity
Fraction of the specified storage's capacity assigned to the specified node. If NodalDistributionStorageCapacity is defined for a storage in a year, the sum of the parameter across nodes should be 1 for the year.
Scenario database
Table: NodalDistributionStorageCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
n | text | Node |
s | text | storage |
y | text | Year |
val | real | Fraction (0 to 1) |
Nodal distribution technology capacity
Fraction of the specified technology's capacity assigned to the specified node. If NodalDistributionTechnologyCapacity is defined for a technology in a year, the sum of the parameter across nodes should be 1 for the year.
Scenario database
Table: NodalDistributionTechnologyCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
n | text | Node |
t | text | Technology |
y | text | Year |
val | real | Fraction (0 to 1) |
Operational life
Lifetime of a technology 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 technology capacity, which is defined by ResidualCapacity. It is up to you to do so in the values you provide for ResidualCapacity.
Scenario database
Table: OperationalLife
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
val | real | Lifetime (years) |
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) |
Output activity ratio
Factor multiplied by dispatched capacity to determine the production (output) of the specified fuel. OutputActivityRatio is used in conjunction with InputActivityRatio. A common approach is to:
- Set the
InputActivityRatiofor input fuels to the reciprocal of the technology's efficiency; and - Set the
OutputActivityRatiofor output fuels to 1.
For example, if a technology had an efficiency of 80%, the InputActivityRatio for inputs would be 1.25, and the OutputActivityRatio for outputs would be 1.0.
Scenario database
Table: OutputActivityRatio
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
f | text | Fuel |
m | text | Mode of operation |
y | text | Year |
val | real | Factor |
Ramp rate
Fraction of a technology's available capacity that can be brought online or taken offline in a time slice and year. Ramp rates determine how quickly a technology's utilization can change. NEMO ignores ramp rates of 1.0 (i.e., 100%) since they effectively don't impose a limit.
Scenario database
Table: RampRate
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
l | text | Time slice |
val | real | Fraction (0 to 1) |
Ramping reset
Indicator that determines which time slices are exempt from ramp rate limitations. NEMO can set technology utilization to any level in these time slices. The following values are supported for this parameter:
- 0 - Exempts the first time slice in each year.
- 1 - Exempts the first time slice in each time slice group 1 and year.
- 2 - Exempts the first time slice in each time slice group 2, time slice group 1, and year.
Note that because of the way time slices and groups are configured in NEMO, these values build on one another. For example, the first time slice in each year is exempted in all cases, and the first slice in each group 1 and year is exempted when the value is 2. If you don't specify a value for this parameter, NEMO assumes the value is 2.
Scenario database
Table: RampingReset
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
val | integer | 0, 1, or 2 |
Renewable energy minimum production target
Fraction of production of fuels tagged with RETagFuel that constitutes a renewable energy target. NEMO ensures that production by technologies tagged with RETagTechnology meets or exceeds the target, pro-rating each technology's production by its RETagTechnology. To take a specific example, suppose that in a given region and year,
- There is one fuel - electricity - whose
RETagFuelis 1;
- Total electricity production is 100 (in the region's energy unit);
REMinProductionTargetis 0.5; and
- There are two technologies,
t1with anRETagTechnologyof 0.75 andt2with anRETagTechnologyof 0.5.
Then NEMO will make sure that 75% of t1's production + 50% of t2's production is at least 50 energy units.
Scenario database
Table: REMinProductionTarget
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
y | text | Year |
val | real | Fraction (0 to 1) |
Renewable energy tag fuel
Indicator of whether a fuel is included when calculating the renewable energy minimum production target.
Scenario database
Table: RETagFuel
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
y | text | Year |
val | real | Indicator (0 for no, 1 for yes) |
It is not necessary to populate zeros in RETagFuel for fuels that are excluded from the renewable energy minimum production target. NEMO assumes exclusion if a fuel isn't represented in the table.
Renewable energy tag technology
Fraction of a technology's production that counts toward meeting the renewable energy minimum production target.
Scenario database
Table: RETagTechnology
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Fraction (0 to 1) |
Reserve margin
Multiplier that causes NEMO to deploy extra technology capacity as a reserve. In each year and time slice, NEMO ensures that the capacity of technologies tagged with ReserveMarginTagTechnology is at least ReserveMargin times the rate of production of fuels tagged with ReserveMarginTagFuel. Technology capacity is pro-rated by ReserveMarginTagTechnology in these calculations.
Scenario database
Table: ReserveMargin
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
y | text | Year |
val | real | Multiplier (typically > 0; e.g., 1.15 for a 15% reserve margin) |
Reserve margin tag fuel
Indicator of whether a fuel is included in reserve margin calculations.
Scenario database
Table: ReserveMarginTagFuel
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
y | text | Year |
val | real | Indicator (0 for no, 1 for yes) |
It is not necessary to populate zeros in ReserveMarginTagFuel for fuels that are excluded from reserve margin calculations. NEMO assumes exclusion if a fuel isn't represented in the table.
Reserve margin tag technology
Fraction of a technology's capacity that counts toward the reserve margin.
Scenario database
Table: ReserveMarginTagTechnology
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Fraction (0 to 1) |
Residual capacity
Exogenously specified capacity for a technology. Note that NEMO does not automatically retire this capacity; it is up to you to do so in the values you provide for ResidualCapacity.
Scenario database
Table: ResidualCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Capacity (region's power unit) |
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) |
Specified annual demand
Time-sliced exogenous demand. Use this parameter to specify the total demand in a year, and SpecifiedDemandProfile to assign the demand to time slices. NEMO ensures the demand is met in each time slice.
Scenario database
Table: SpecifiedAnnualDemand
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
y | text | Year |
val | real | Demand (region's energy unit) |
Specified demand profile
Fraction of specified annual demand assigned to a time slice. For a given fuel and year, the sum of SpecifiedDemandProfile across time slices should be 1.
Scenario database
Table: SpecifiedDemandProfile
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
l | text | Time Slice |
y | text | Year |
val | real | Fraction (0 to 1) |
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 modeling period.
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.
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.
Time slice group assignment
Map of time slices to time slice groups. Each time slice must belong to one time slice 1 and one time slice group 2.
Scenario database
Table: LTsGroup
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
l | text | Time slice |
lorder | integer | Order of time slice within time slice group 2 (1 for first time slice, incremented by 1 for each succeeding time slice) |
tg2 | text | Time slice group 2 |
tg1 | text | Time slice group 1 |
Total annual maximum capacity
Maximum capacity for a technology in a year (including both exogenous and endogenous capacity). Only specify this parameter if you want to enforce a particular limit.
Scenario database
Table: TotalAnnualMaxCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Capacity (region's power unit) |
Total annual maximum capacity investment
Maximum addition of endogenously determined capacity for a technology in a year. Only specify this parameter if you want to enforce a particular limit.
Scenario database
Table: TotalAnnualMaxCapacityInvestment
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Capacity (region's power unit) |
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.
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
Minimum capacity for a technology 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).
Scenario database
Table: TotalAnnualMinCapacity
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Capacity (region's power unit) |
Total annual minimum capacity investment
Minimum addition of endogenously determined capacity for a technology 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: TotalAnnualMinCapacityInvestment
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Capacity (region's power 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).
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) |
Total technology annual activity lower limit
Minimum nominal energy produced by a technology in a year. Nominal energy is calculated by multiplying dispatched capacity by the length of time it is dispatched. Only specify this parameter if you want to enforce a particular limit (other than 0, which NEMO assumes by default).
Scenario database
Table: TotalTechnologyAnnualActivityLowerLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Nominal energy (region's energy unit) |
Total technology annual activity upper limit
Maximum nominal energy produced by a technology in a year. Nominal energy is calculated by multiplying dispatched capacity by the length of time it is dispatched. Only specify this parameter if you want to enforce a particular limit.
Scenario database
Table: TotalTechnologyAnnualActivityUpperLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
y | text | Year |
val | real | Nominal energy (region's energy unit) |
Total technology model period activity lower limit
Minimum nominal energy produced by a technology over the modeling period (i.e., all years). Nominal energy is calculated by multiplying dispatched capacity by the length of time it is dispatched. Only specify this parameter if you want to enforce a particular limit (other than 0, which NEMO assumes by default).
Scenario database
Table: TotalTechnologyModelPeriodActivityLowerLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
val | real | Nominal energy (region's energy unit) |
Total technology model period activity upper limit
Maximum nominal energy produced by a technology over the modeling period (i.e., all years). Nominal energy is calculated by multiplying dispatched capacity by the length of time it is dispatched. Only specify this parameter if you want to enforce a particular limit.
Scenario database
Table: TotalTechnologyModelPeriodActivityUpperLimit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
val | real | Nominal energy (region's energy unit) |
Trade route
Indicator of whether region r can trade a fuel to region rr.
Scenario database
Table: TradeRoute
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | First region connected by trade route |
rr | text | Second region connected by trade route |
f | text | Fuel |
y | text | Year |
val | real | Indicator (0 for no, 1 for yes) |
To enable trade between two regions, you must put two rows in TradeRoute with a val of 1: one with the first region as r and the second region as rr, and one with the first region as rr and the second region as r.
It is not necessary to populate zeros in TradeRoute for cases where trade is disallowed. NEMO assumes trade is not allowed unless a route is explicitly defined in the table.
Transmission capacity to activity unit
Multiplier to convert 1 megawatt-year to a region's energy unit (e.g., 0.031536 if the energy unit is petajoules). This parameter is required if transmission modeling is enabled (see TransmissionModelingEnabled).
Scenario database
Table: TransmissionCapacityToActivityUnit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
val | real | Multiplier |
Transmission modeling enabled
Indicator of whether transmission modeling is enabled for a region, fuel, and year. The type field specifies the approach to simulating energy flow:
- 1 - Direct current optimized power flow (classical formulation).[1]
- 2 - Direct current optimized power flow with a disjunctive relaxation.[2] This formulation produces equivalent results to type 1 but is compatible with a wider range of solvers.
- 3 - Pipeline flow. This approach treats transmission lines as pipelines whose flow is governed only by their maximum flow and efficiency.
At present, NEMO does not endogenously simulate line losses for types 1 and 2.
Scenario database
Table: TransmissionModelingEnabled
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
f | text | Fuel |
y | text | Year |
type | integer | Indicator (1, 2, or 3) |
You should not put rows in TransmissionModelingEnabled for regions/fuels/years for which you don't want to model transmission. NEMO does not support a type 0 for this parameter.
Variable cost
Running cost for a technology, defined in terms of cost per unit of nominal energy produced. Nominal energy is calculated by multiplying dispatched capacity by the length of time it is dispatched.
Scenario database
Table: VariableCost
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
r | text | Region |
t | text | Technology |
m | text | Mode of operation |
y | text | Year |
val | real | Cost (scenario's cost unit / region's energy unit) |
Year split
Width of a time slice as a fraction of the specified year.
Scenario database
Table: YearSplit
| Name | Type | Description |
|---|---|---|
id | integer | Unique identifier for row |
l | text | Time slice |
y | text | Year |
val | real | Fraction (0 to 1) |
- 1See, e.g., Krishnan, V., Ho, J., Hobbs, B. F., Liu, A. L., McCalley, J. D., Shahidehpour, M. and Zheng, Q. P. (2016). Co-optimization of electricity transmission and generation resources for planning and policy analysis: review of concepts and modeling approaches. Energy Systems, 7(2). 297–332. DOI:10.1007/s12667-015-0158-4.
- 2Hui Zhang, Heydt, G. T., Vittal, V. and Mittelmann, H. D. (2012). Transmission expansion planning using an ac model: Formulations and possible relaxations. 2012 IEEE Power and Energy Society General Meeting 1–8. Proceedings of the 2012 IEEE Power & Energy Society General Meeting. New Energy Horizons - Opportunities and Challenges, San Diego, CA. IEEE. DOI:10.1109/PESGM.2012.6345410.