Source code for energia.dimensions.impact

"""Consequence"""

from dataclasses import dataclass

from .._core._dimension import _Dimension
from ..components.impact.categories import Economic, Environ, Social


[docs] @dataclass class Impact(_Dimension): """ A representation of the Consequence of the system dimensions based on the impact determined as the product of activity and indicators. All impact indicators are attached to this object. :param model: Model to which the representation belongs. :type model: Model :ivar name: Name of the dimension, generated based on the class and model name. :vartype name: str :ivar envs: List of environmental indicators. :vartype envs: list[Env] :ivar socs: List of social indicators. :vartype socs: list[Soc] :ivar ecos: List of economic indicators. :vartype ecos: list[Eco] .. note:: - name is self generated - environ, socs, and ecos are populated as model is defined """ def __post_init__(self): # economic impact self.economy: list[Economic] = [] # environmental impact self.environment: list[Environ] = [] # social impact self.society: list[Social] = [] _Dimension.__post_init__(self) @property def indicators(self) -> list[Environ | Social | Economic]: """All indicators""" return self.environment + self.society + self.economy