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

NameTypeDescription
valtextUnique identifier for emission
desctextDescription of emission

Julia code

  • Set of emissions: semission (an Array of EMISSION.val)
  • Subscript for emissions in other variables: e

Fuel

Energy carriers. Abbreviation: f.

Scenario database

Table: FUEL

NameTypeDescription
valtextUnique identifier for fuel
desctextDescription of fuel

Julia code

  • Set of fuels: sfuel (an Array of FUEL.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

NameTypeDescription
valtextUnique identifier for mode
desctextDescription of mode

Julia code

  • Set of modes: smode_of_operation (an Array of MODE_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

NameTypeDescription
valtextUnique identifier for node
desctextDescription of node
rtextRegion in which node is located (REGION.val)

Julia code

  • Set of nodes: snode (an Array of NODE.val)
  • Subscript for nodes in other variables: n

Region

Geographic regions. Abbreviation: r.

Scenario database

Table: REGION

NameTypeDescription
valtextUnique identifier for region
desctextDescription of region

Julia code

  • Set of regions: sregion (an Array of REGION.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

NameTypeDescription
valtextUnique identifier for region group
desctextDescription of region group

Julia code

  • Subscript for region groups in variables: rg

Storage

Energy storage options or facilities. Abbreviation: s.

Scenario database

Table: STORAGE

NameTypeDescription
valtextUnique identifier for storage
desctextDescription of storage
netzeroyearintegerIndicates that storage can have no net charging or discharging over a year (1 = enabled)
netzerotg1integerIndicates that storage can have no net charging or discharging over a time slice group 1 (1 = enabled)
netzerotg2integerIndicates that storage can have no net charging or discharging over a time slice group 2 (1 = enabled)

Julia code

  • Set of storage: sstorage (an Array of STORAGE.val)
  • Subscript for storage in other variables: s

Technology

Energy-consuming or producing devices or equipment. Abbreviation: t.

Scenario database

Table: TECHNOLOGY

NameTypeDescription
valtextUnique identifier for technology
desctextDescription of technology

Julia code

  • Set of technologies: stechnology (an Array of TECHNOLOGY.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

NameTypeDescription
valtextUnique identifier for time slice
desctextDescription of time slice

Julia code

  • Set of time slices: stimeslice (an Array of TIMESLICE.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

NameTypeDescription
nametextUnique identifier for group
desctextDescription of group
orderintegerOrder of group within a year (should be 1 for first group, incremented by 1 for subsequent groups)
multiplierrealMultiplier used in storage calculations (see Time slicing)

Julia code

  • Set of groups: stsgroup1 (an Array of TSGROUP1.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

NameTypeDescription
nametextUnique identifier for group
desctextDescription of group
orderintegerOrder of group within a time slice group 1 (should be 1 for first group, incremented by 1 for subsequent groups)
multiplierrealMultiplier used in storage calculations (see Time slicing)

Julia code

  • Set of groups: stsgroup2 (an Array of TSGROUP2.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

NameTypeDescription
idtextUnique identifier for line
n1textFirst node connected to line (NODE.val)
n2textSecond node connected to line (NODE.val)
ftextFuel transported over line (FUEL.val)
maxflowrealMaximum flow supported by line (MW)
reactancerealLine'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)
yconstructionintegerExogenously specified construction year for line (leave null if NEMO should endogenously determine whether to build line [i.e., for candidate lines])
capitalcostrealLine's capital cost (scenario's cost unit)
fixedcostrealLine's fixed annual operation and maintenance cost (scenario's cost unit)
variablecostrealLine's variable operation and maintenance (scenario's cost unit / energy unit)
operationallifeintegerLine's operational lifetime (years, used to retire both exogenously and endogenously built lines)
efficiencyrealEfficiency of transmission over line (%, only used for pipeline flow modeling; see TransmissionModelingEnabled)
interestraterealInterest rate NEMO should use to calculate financing costs if building line endogenously (0 to 1; see vfinancecosttransmission)

Julia code

  • Set of lines: stransmission (an Array of TransmissionLine.id)
  • Subscript for lines in other variables: tr
Note

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

NameTypeDescription
valtextUnique identifier for year
desctextDescription of year

Julia code

  • Set of years: syear (an Array of YEAR.val in numeric order)
  • Subscript for years in other variables: y