Source code for macrostat.models.IOPC.scenarios

"""
Scenarios class for Marco Veronese Passarella's 3IO-PC model
"""

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

import logging

from macrostat.core.scenarios import Scenarios
from macrostat.models.IOPC.parameters import ParametersIOPC

logger = logging.getLogger(__name__)


[docs] class ScenariosIOPC(Scenarios): """Scenarios class for Marco Veronese Passarella's 3IO-PC model""" version = "IOPC"
[docs] def __init__( self, scenario_info: dict | None = None, parameters: ParametersIOPC | None = None, *args, **kwargs, ): """Initialize the scenarios of Marco Veronese Passarella's 3IO-PC model""" if parameters is None: parameters = ParametersIOPC() super().__init__( scenario_info=scenario_info, parameters=parameters, *args, **kwargs, )
[docs] def get_default_scenario_values(self): """Return the default scenario values.""" sc = { "GovernmentDemand": 20, "WageRate": 0.4, "InterestRate": 0.025, } for k in self.parameters.values.keys(): sc[f"{k.replace('.', '_')}_add"] = 0.0 return sc