Dimensional Mapping#
Family#
Energia components belong to Dimension families, as shown:
from energia import Model
m = Model()
m.familytree
{energia.components.temporal.periods.Periods: ('time', 'periods'),
energia.components.temporal.modes.Modes: ('time', 'modes'),
energia.components.spatial.location.Location: ('space', 'locations'),
energia.components.spatial.linkage.Linkage: ('space', 'linkages'),
energia.components.commodities.currency.Currency: ('system', 'currencies'),
energia.components.commodities.land.Land: ('system', 'lands'),
energia.components.commodities.emission.Emission: ('system', 'emissions'),
energia.components.commodities.material.Material: ('system', 'materials'),
energia.components.commodities.resource.Resource: ('system', 'resources'),
energia.components.operations.process.Process: ('system', 'processes'),
energia.components.operations.transport.Transport: ('system', 'transports'),
energia.components.operations.storage.Storage: ('system', 'storages'),
energia.components.impact.categories.Environ: ('impact', 'environment'),
energia.components.impact.categories.Social: ('impact', 'society'),
energia.components.impact.categories.Economic: ('impact', 'economy'),
energia.components.game.player.Player: ('game', 'players'),
energia.components.game.couple.Interact: ('game', 'interacts'),
energia.modeling.variables.control.Control: ('problem', 'controls'),
energia.modeling.variables.states.Stream: ('problem', 'streams'),
energia.modeling.variables.states.State: ('problem', 'states'),
energia.modeling.variables.states.Consequence: ('problem', 'consequences')}
Ancestry#
A convenient map of components collections to Dimensions can be accessed via ancestry
m.ancestry
{'periods': 'time',
'modes': 'time',
'locations': 'space',
'linkages': 'space',
'currencies': 'system',
'lands': 'system',
'emissions': 'system',
'materials': 'system',
'resources': 'system',
'processes': 'system',
'transports': 'system',
'storages': 'system',
'environment': 'impact',
'society': 'impact',
'economy': 'impact',
'players': 'game',
'interacts': 'game',
'controls': 'problem',
'streams': 'problem',
'states': 'problem',
'consequences': 'problem'}