Dimensions
Input parameters and calculated variables in NEMO are segmented (subscripted) by certain key components of the energy system. These model dimensions describe geographical, technological, temporal, and other elements of the system. You define dimensions for each NEMO scenario, and they can vary between scenarios for a given energy system. Dimensions are specified in tables in a NEMO scenario database as outlined below. Each dimension has an abbreviation that's used when referring to it in NEMO's code and scenario databases.
Emission
Emissions or other externalities in the energy system. You can associate costs with emissions, and the quantity of emissions produced can be constrained (see Parameters). Abbreviation: e
.
Scenario database
Table: EMISSION
Name | Type | Description |
---|---|---|
val | text | Unique identifier for emission |
desc | text | Description of emission |
Julia code
- Set of emissions:
semission
(anArray
ofEMISSION.val
) - Subscript for emissions in other variables:
e
Fuel
Energy carriers. Abbreviation: f
.
Scenario database
Table: FUEL
Name | Type | Description |
---|---|---|
val | text | Unique identifier for fuel |
desc | text | Description of fuel |
Julia code
- Set of fuels:
sfuel
(anArray
ofFUEL.val
) - Subscript for fuels in other variables:
f
Mode of operation
Different ways in which technologies can function. Typically, one mode is defined for energy generation or production; if a scenario models energy storage, another is defined for charging storage. Abbreviation: m
.
Scenario database
Table: MODE_OF_OPERATION
Name | Type | Description |
---|---|---|
val | text | Unique identifier for mode |
desc | text | Description of mode |
Julia code
- Set of modes:
smode_of_operation
(anArray
ofMODE_OF_OPERATION.val
) - Subscript for modes in other variables:
m
Node
Locations in a transmission (or transmission and distribution) network. Networks are defined with nodes and transmission lines or segments, and nodal modeling of energy demand and supply can be enabled for individual fuels. Abbreviation: n
.
Scenario database
Table: NODE
Name | Type | Description |
---|---|---|
val | text | Unique identifier for node |
desc | text | Description of node |
r | text | Region in which node is located (REGION.val ) |
Julia code
- Set of nodes:
snode
(anArray
ofNODE.val
) - Subscript for nodes in other variables:
n
Region
Geographic regions. Abbreviation: r
.
Scenario database
Table: REGION
Name | Type | Description |
---|---|---|
val | text | Unique identifier for region |
desc | text | Description of region |
Julia code
- Set of regions:
sregion
(anArray
ofREGION.val
) - Subscript for regions in other variables:
r
Region group
Groups of geographic regions. Each region can belong to multiple groups. Abbreviation: rg
.
Scenario database
Table: REGIONGROUP
Name | Type | Description |
---|---|---|
val | text | Unique identifier for region group |
desc | text | Description of region group |
Julia code
- Subscript for region groups in variables:
rg
Storage
Energy storage options or facilities. Abbreviation: s
.
Scenario database
Table: STORAGE
Name | Type | Description |
---|---|---|
val | text | Unique identifier for storage |
desc | text | Description of storage |
netzeroyear | integer | Indicates that storage can have no net charging or discharging over a year (1 = enabled) |
netzerotg1 | integer | Indicates that storage can have no net charging or discharging over a time slice group 1 (1 = enabled) |
netzerotg2 | integer | Indicates that storage can have no net charging or discharging over a time slice group 2 (1 = enabled) |
Julia code
- Set of storage:
sstorage
(anArray
ofSTORAGE.val
) - Subscript for storage in other variables:
s
Technology
Energy-consuming or producing devices or equipment. Abbreviation: t
.
Scenario database
Table: TECHNOLOGY
Name | Type | Description |
---|---|---|
val | text | Unique identifier for technology |
desc | text | Description of technology |
Julia code
- Set of technologies:
stechnology
(anArray
ofTECHNOLOGY.val
) - Subscript for technologies in other variables:
t
Time slice
Sub-annual periods used to model energy demand and supply in selected cases. The width of each time slice (as a fraction of the year) is defined with the parameter YearSplit. Abbreviation: l
.
Scenario database
Table: TIMESLICE
Name | Type | Description |
---|---|---|
val | text | Unique identifier for time slice |
desc | text | Description of time slice |
Julia code
- Set of time slices:
stimeslice
(anArray
ofTIMESLICE.val
) - Subscript for technologies in other variables:
l
Time slice group 1
Groupings of time slices within a year. Abbreviation: tg1
.
Scenario database
Table: TSGROUP1
Name | Type | Description |
---|---|---|
name | text | Unique identifier for group |
desc | text | Description of group |
order | integer | Order of group within a year (should be 1 for first group, incremented by 1 for subsequent groups) |
multiplier | real | Multiplier used in storage calculations (see Time slicing) |
Julia code
- Set of groups:
stsgroup1
(anArray
ofTSGROUP1.name
) - Subscript for groups in other variables:
tg1
Time slice group 2
Groupings of time slices within a time slice group 1. Abbreviation: tg2
.
Scenario database
Table: TSGROUP2
Name | Type | Description |
---|---|---|
name | text | Unique identifier for group |
desc | text | Description of group |
order | integer | Order of group within a time slice group 1 (should be 1 for first group, incremented by 1 for subsequent groups) |
multiplier | real | Multiplier used in storage calculations (see Time slicing) |
Julia code
- Set of groups:
stsgroup2
(anArray
ofTSGROUP2.name
) - Subscript for groups in other variables:
tg2
Transmission line
Connections between nodes in a transmission (or transmission and distribution) network - e.g., electrical lines or pipes in a natural gas network. Transmission lines allow energy to flow from one node to another. Abbreviation: tr
.
Scenario database
Table: TransmissionLine
Name | Type | Description |
---|---|---|
id | text | Unique identifier for line |
n1 | text | First node connected to line (NODE.val ) |
n2 | text | Second node connected to line (NODE.val ) |
f | text | Fuel transported over line (FUEL.val ) |
maxflow | real | Maximum flow supported by line (MW) |
reactance | real | Line's reactance (per unit assuming a 1 MVA power base, only relevant for electrical lines when using direct current optimized power flow modeling; see TransmissionModelingEnabled ) |
yconstruction | integer | Exogenously specified construction year for line (leave null if NEMO should endogenously determine whether to build line [i.e., for candidate lines]) |
capitalcost | real | Line's capital cost (scenario's cost unit) |
fixedcost | real | Line's fixed annual operation and maintenance cost (scenario's cost unit) |
variablecost | real | Line's variable operation and maintenance (scenario's cost unit / energy unit) |
operationallife | integer | Line's operational lifetime (years, used to retire both exogenously and endogenously built lines) |
efficiency | real | Efficiency of transmission over line (%, only used for pipeline flow modeling; see TransmissionModelingEnabled ) |
interestrate | real | Interest rate NEMO should use to calculate financing costs if building line endogenously (0 to 1; see vfinancecosttransmission ) |
Julia code
- Set of lines:
stransmission
(anArray
ofTransmissionLine.id
) - Subscript for lines in other variables:
tr
NEMO includes binary decision variables in a scenario's optimization problem if you a) model a transmission line with a non-zero variable cost; or b) model a line with an efficiency less than 1 using transmission modeling type 3. This can increase solver run-time.
Year
Years covered by scenario. Years must be integral. Abbreviation: y
.
Scenario database
Table: YEAR
Name | Type | Description |
---|---|---|
val | text | Unique identifier for year |
desc | text | Description of year |
Julia code
- Set of years:
syear
(anArray
ofYEAR.val
in numeric order) - Subscript for years in other variables:
y