Source code for macrostat.models.ECO3IOPC.scenarios
"""
Scenarios class for Marco Veronese Passarella's ECO-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.ECO3IOPC.parameters import ParametersECO3IOPC
logger = logging.getLogger(__name__)
[docs]
class ScenariosECO3IOPC(Scenarios):
"""Scenarios class for Marco Veronese Passarella's ECO-3IO-PC model"""
version = "ECO3IOPC"
[docs]
def __init__(
self,
scenario_info: dict | None = None,
parameters: ParametersECO3IOPC | None = None,
*args,
**kwargs,
):
"""Initialize the scenarios of Marco Veronese Passarella's ECO-3IO-PC model"""
if parameters is None:
parameters = ParametersECO3IOPC()
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