-
Notifications
You must be signed in to change notification settings - Fork 2
Interface elements
The interface of ETLocal is available in the interface_elements
folder. It's roughly split up into 'main sections' (like: 'general', 'households' etc.) and sub-sections (for example: 'households_energy_demand').
Every file is in YAML format and looks like this:
key: households_energy_demand
groups:
- items:
households_final_demand_electricity_demand:
unit: 'TJ'
households_final_demand_network_gas_demand:
unit: 'TJ'
households_final_demand_steam_hot_water_demand:
unit: 'TJ'
households_final_demand_wood_pellets_demand:
unit: 'TJ'
households_final_demand_crude_oil_demand:
unit: 'TJ'
households_final_demand_coal_demand:
unit: 'TJ'
The key
is a name of the menu item. The groups
tag allows you to define an array of items. This renders as:
Within the groups
tag you're also allowed to set header
-tags:
groups:
- header: local_production
items:
households_solar_pv_solar_radiation_demand:
unit: TJ
households_final_demand_solar_thermal_demand:
unit: TJ
- header: heat_network_supply
items:
households_collective_chp_network_gas_demand:
unit: TJ
households_collective_chp_wood_pellets_demand:
unit: TJ
households_collective_chp_biogas_demand:
unit: TJ
households_collective_geothermal_demand:
unit: TJ
This allows you to add a header between two series of items.
Items are either direct 'sparse graph' keys (i.e. the value users fill in for this key are mapped one-to-one to a node/edge in the ETM graph) or they are not.
A direct one-to-one sparse graph key directly relates to a Node or an Edge in Atlas in combination with an attribute. All one-to-one interface elements are named like so: <node/edge name>_attribute
. For example, the interface element named households_final_demand_network_gas_demand
directly sets the demand of the node households_final_demand_network_gas
.
The other option is to define a custom item key. By convention, custom keys start with input_
. Custom keys can be used if directly setting a node/edge value is not intuitive for users. Take for example the node energy_power_supercritical_coal_production
. In the ETM graph the demand of this node equals the primary demand of the coal power plant, i.e. how much coal goes into the plant. The user is unlikely to know this, but may know how much electricity is produced by the power plant. So rather than adding a key named energy_power_supercritical_coal_production_demand
to the ETLocal front-end (which would directly set the primary demand of the coal power plant) we create a custom key called input_energy_power_supercritical_coal_production
.
In this input field the user can specify how much electricity the coal power plant produces. We can then use a sparse graph query to convert this user input to the appropriate node demand. In this case we can do so by dividing the user input (i.e. the total electricity production) by the electricity output efficiency of the energy_power_supercritical_coal_production
node. This will give us the nodes' primary demand.