Source code for macrostat.models.ECO3IOPC.eco3iopc

"""
ECO3ECO3IOPC model for Marco Veronese Pasarella's ECO-3IO-PC model
"""

__author__ = ["Karl Naumann-Woleske"]
__credits__ = ["Karl Naumann-Woleske"]
__license__ = "MIT"
__maintainer__ = ["Karl Naumann-Woleske"]

import logging

from macrostat.core.model import Model
from macrostat.models.ECO3IOPC.behavior import BehaviorECO3IOPC
from macrostat.models.ECO3IOPC.parameters import ParametersECO3IOPC
from macrostat.models.ECO3IOPC.scenarios import ScenariosECO3IOPC
from macrostat.models.ECO3IOPC.variables import VariablesECO3IOPC

logger = logging.getLogger(__name__)


[docs] class ECO3IOPC(Model): """ECO3IOPC model class for Marco Veronese Pasarella's ECO-3IO-PC model""" version = "ECO3IOPC"
[docs] def __init__( self, parameters: ParametersECO3IOPC | None = ParametersECO3IOPC(), variables: VariablesECO3IOPC | None = None, scenarios: ScenariosECO3IOPC | None = None, *args, **kwargs, ): """Initialize the ECO3IOPC model. Parameters ---------- parameters: ParametersECO3IOPC | None The parameters of the model. If None, default parameters will be used. variables: VariablesECO3IOPC | None The variables of the model. If None, default variables will be used. scenarios: ScenariosECO3IOPC | None The scenarios of the model. If None, default scenarios will be used. """ if parameters is None: parameters = ParametersECO3IOPC() if variables is None: variables = VariablesECO3IOPC(parameters=parameters) if scenarios is None: scenarios = ScenariosECO3IOPC(parameters=parameters) super().__init__( parameters=parameters, variables=variables, scenarios=scenarios, behavior=BehaviorECO3IOPC, *args, **kwargs, )