macrostat.models.ECO3IOPC#

Macro Veronese Passarella’s ECO-3IO-PC model

The macrostat.models.ECO3IOPC module consists of the following classes

ECO3IOPC(parameters, variables, scenarios, ...)

ECO3IOPC model class for Marco Veronese Pasarella's ECO-3IO-PC model

BehaviorECO3IOPC([parameters, scenarios, ...])

Behavior class for Marco Veronese Passarella's ECO-3IO-PC model

ParametersECO3IOPC([parameters, ...])

Parameters class for the ECO-3IO-PC model.

ScenariosECO3IOPC([scenario_info, parameters])

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

VariablesECO3IOPC([variable_info, ...])

Variables class for Marco Veronese Passarella's ECO-3IO-PC model

class macrostat.models.ECO3IOPC.BehaviorECO3IOPC(parameters: ParametersECO3IOPC | None = None, scenarios: ScenariosECO3IOPC | None = None, variables: VariablesECO3IOPC | None = None, scenario: int = 0, debug: bool = False)[source]#

Bases: Behavior

Behavior class for Marco Veronese Passarella’s ECO-3IO-PC model

carbon_mass_nonrenewable_energy(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The carbon mass of non-renewable energy is given by the conversion of emissions (due to non-renewable energy) with a fixed constant

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} cen(t) &= \frac{emis(t)}{car} \end{align}

Dependency

  • state: Emissions

  • params: CarbonToCO2Conversion

Sets

  • CarbonMassOfEnergy

central_bank_bill_holdings(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the central bank bill holdings.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} B_{CB}(t) = B_{s}(t) - B_{h}(t) \end{align}

Dependency

  • state: GovernmentBillStock

  • state: HouseholdBillStock

Sets

  • CentralBankBillStock

central_bank_money_stock(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the central bank money stock.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} H_{s}(t) = H_{s}(t-1) + (B_{CB}(t) - B_{CB}(t-1)) \end{align}

Dependency

  • state: CentralBankBillStock

  • prior: CentralBankMoneyStock

  • prior: CentralBankBillStock

Sets

  • CentralBankMoneyStock

central_bank_profits(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the central bank profits (income on bills held).

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} r(t-1)B_{CB}(t-1) \end{align}

Dependency

  • prior: InterestRate

  • prior: CentralBankBillStock

Sets

  • CentralBankProfits

co2_intensity_change(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The energy emission intensity decreases by a fixed percentage each period

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} \beta_e(t) = \beta_e(t-1) (1 - \Delta_\% \beta_e) \end{align}

Dependency

  • prior: CO2IntensityNonRenewableEnergy

  • params: CO2IntensityNonRenewableEnergyGrowth

Sets

  • CO2IntensityNonRenewableEnergy

consumption(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the consumption.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} c(t) = \alpha_1 \left(\frac{YD^e(t)}{p_c(t)} - \pi(t)\right) + \alpha_2 \frac{V(t-1)}{p_c(t)} \end{align}

Dependency

  • state: PropensityToConsumeIncome

  • state: ExpectedDisposableIncome

  • state: ConsumerPriceIndex

  • state: ConsumerPriceInflation

  • prior: Wealth

  • params: PropensityToConsumeSavings

Sets

  • RealConsumptionHousehold

consumption_government(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the consumption of the government. This is given exogenously by the scenario.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Dependency

  • scenario: ConsumptionGovernment

Sets

  • RealConsumptionGovernment

cumulative_co2_emissions(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Cumulative CO2 emissions are simply incremented by the current emissions

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} co2_{cum}(t) = co2_{cum}(t-1) + emis(t) \end{align}

Dependency

  • state: Emissions

  • prior: CumulativeCO2

Sets

  • CumulativeCO2

discarding_of_socioeconomic_stock(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The discarding of socioeconomic stock occurs as a percentage of existing stock, converted into units of matter

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} dis(t) &= m_{mat}^\top (\zeta \cdot dc(t-1)) \end{align}

Dependency

  • prior: DurableGoodsStock

  • params: MaterialIntensity

  • params: DiscardedStockShare

Sets

  • DiscardedSocioeconomicStock

disposable_income(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the disposable income.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} YD(t) = Y(t) - T(t) + r(t-1)B_h(t-1) \end{align}

Dependency

  • state: NationalIncome

  • state: Taxes

  • state: InterestEarnedOnBillsHousehold

Sets

  • DisposableIncome

emissions_from_nonrenewable_energy(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Emissions are based on the use of non-renewable energy, with a fixed emission intensity

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} emis(t) = \beta_e nen(t) \end{align}

Dependency

  • state: NonRenewableEnergy

  • state: CO2IntensityNonRenewableEnergy

Sets

  • Emissions

energy_reserves(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Energyreserves are depleted by human use and incremented by the conversion from resources

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} k_e(t) &= k_e(t-1) + conv_e(t) - mat(t) \end{align}

Dependency

  • prior: EnergyReserves

  • state: ConversionEnergyToReserves

  • state: EnergyRequiredForProduction

Sets

  • EnergyReserves

energy_to_resource_conversion(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Energy resources are converted into reserves at a fixed rate

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} res_e(t) &= res_e(t-1) - conv_e(t)\\ conv_e(t) &= \sigma_e res_e(t) \end{align}

Dependency

  • prior: EnergyResources

  • params: EnergyToResourceConversionRate

Sets

  • EnergyResources

  • ConversionEnergyToReserves

energy_used_in_production(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Energy use in production is given by a fixed energy intensity of production

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} en(t) = \epsilon_e^\top x(t) \end{align}

Dependency

  • state: RealGrossOutput

  • params: EnergyIntensity

Sets

  • EnergyRequiredForProduction

expected_disposable_income(t: tensor, scenario: dict, params: dict | None = None)[source]#

The expected disposable income is simply the prior period’s disposable income. Equation (3.20) in the book.

Parameters:
  • t (torch.tensor) – Current time step

  • scenario (dict)

Equations

\[YD^e(t) = YD(t-1)\]

Dependency

  • prior: DisposableIncome

Sets

  • ExpectedDisposableIncome

expected_wealth(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the expected wealth.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} V^e(t) = V(t-1) + YD^e(t) - C(t) \end{align}

Dependency

  • state: ExpectedDisposableIncome

  • state: RealConsumptionHousehold

  • state: ConsumerPriceIndex

  • prior: Wealth

Sets

  • ExpectedWealth

extraction_of_matter(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The matter extracted is the difference in the matter consumed and the matter that was recycled

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} mat(t) &= x_{mat} - rec(t) \end{align}

Dependency

  • state: RawMaterialProduction

  • state: RecycledSocioeconomicStock

Sets

  • ExtractedMatter

final_demand(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the final demand as the sum of household and government demands spread over the sectors

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} d_i(t) = \beta_{HH,i}C_{HH}(t) + \beta_{GOV,i}G(t) \end{align}

Dependency

  • state: RealConsumptionHousehold

  • state: RealConsumptionGovernment

  • params: HouseholdBudgetShare

  • params: GovernmentBudgetShare

Sets

  • RealFinalDemand

government_bill_issuance(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the government bill issuance.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} B_s(t) = B_s(t-1) + (G(t) - r(t-1)B_s(t-1)) - (T(t) + r(t-1)B_{CB}(t-1)) \end{align}

Dependency

  • prior: InterestRate

  • prior: GovernmentBillStock

  • state: GovernmentPriceIndex

  • state: RealConsumptionGovernment

  • state: Taxes

  • state: CentralBankProfits

Sets

  • GovernmentBillStock

household_bill_demand(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the household bill demand.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} \frac{B_h(t)}{V^e(t)} = \lambda_0 + \lambda_1 r(t) - \lambda_2 \frac{YD^e(t)}{V^e(t)} \end{align}

Dependency

  • state: ExpectedWealth

  • state: ExpectedDisposableIncome

  • state: InterestRate

  • params: WealthShareBills_Constant

  • params: WealthShareBills_InterestRate

  • params: WealthShareBills_Income

Sets

  • HouseholdBillDemand

household_bill_holdings(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the household bill holdings.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} B_h(t) = B_h(t-1) + (B_h^d(t) - B_h(t-1)) \end{align}

Dependency

  • state: HouseholdBillDemand

Sets

  • HouseholdBillStock

household_money_stock(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the household deposits as a residual.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} H_h(t) = V(t) - B_h(t) \end{align}

Dependency

  • state: Wealth

  • state: HouseholdBillStock

Sets

  • HouseholdMoneyStock

inflation(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Compute the inflation (i.e. term for absence of money illusion)

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} \pi(t) &= \left(\frac{p_c(t) - p_c(t-1)}{p_c(t-1)}\right)\left(\frac{V(t-1)}{p_c(t-1)}\right) \end{align}

Dependency

  • prior: Wealth

  • prior: ConsumerPriceIndex

  • state: ConsumerPriceIndex

Sets

  • ConsumerPriceInflation

initialize()[source]#

Initialize the behavior of Passarella’s 3IO-PC model in the spirit of Godley & Lavoie, by keeping all variables as zero. Accordingly, we can just “pass” the function as by default the state variables are all zero. The only exceptions are the price-indices which we initialize to one

interest_earned_on_bills_household(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the interest earned on bills by the household.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} r(t-1)B_h(t-1) \end{align}

Dependency

  • prior: InterestRate

  • prior: HouseholdBillStock

Sets

  • InterestEarnedOnBillsHousehold

material_goods_production(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The material goods production in the economy

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} x_{mat}(t) &= m_{mat}^\top x(t) \end{align}

Dependency

  • state: RealGrossOutput

  • params: MaterialIntensity

Sets

  • RawMaterialProduction

matter_reserves(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Matter reserves are depleted by human use and incremented by the conversion from resources

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} k_m(t) &= k_m(t-1) + conv_m(t) - mat(t) \end{align}

Dependency

  • prior: MatterReserves

  • state: ConversionMatterToReserves

  • state: ExtractedMatter

Sets

  • MatterReserves

matter_to_resource_conversion(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Matter resources is converted into reserves at a fixed rate

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} res(t) &= res(t-1) - conv_m(t)\\ conv_m(t) &= \sigma_m res(t) \end{align}

Dependency

  • prior: MatterResources

  • params: MatterToResourceConversionRate

Sets

  • MatterResources

  • ConversionMatterToReserves

national_income(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

National income is the sum of nominal final demand

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} Y(t) = P^\top(t)d(t) \end{align}

Dependency

  • state: Prices

  • state: RealFinalDemand

Sets

  • NationalIncome

non_renewable_energy_used_in_production(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Non-renewable energy use in production is given by the difference in energy used and renewable energy used.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} nen(t) = en(t) - ren(t) \end{align}

Dependency

  • state: EnergyRequiredForProduction

  • state: RenewableEnergy

Sets

  • NonRenewableEnergy

oxygen(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The oxygen level is given by the difference in emissions and the carbon mass of energy

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} o2(t) &= emis(t) - cen(t) \end{align}

Dependency

  • state: Emissions

  • state: CarbonMassOfEnergy

Sets

  • MassOfOxygen

price_indices(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Compute the consumer and government price indices based on their consumption shares

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} p_c(t) &= \beta_{HH}^\top P(t)\\ p_g(t) &= \beta_{G}^\top P(t) \end{align}

Dependency

  • state: Prices

  • params: HouseholdBudgetShare

  • params: GovernmentBudgetShare

Sets

  • ConsumerPriceIndex

  • GovernmentPriceIndex

prices(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Compute the sectoral prices as the sum of unit labour cost and a markup on intermediate prices

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} P_i(t) = \frac{w}{pr_i} + (1 + \mu)\sum_j a_{ij}P_j(t) \end{align}

Dependency

  • scenario: WageRate

  • params: LabourProductivity

  • params: Requirement

  • params: Markup

Sets

  • Prices

propensity_to_consume_income(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Endogenous propensity to consume out of income, dependent on the rate of interest

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} \alpha_1(t) = \alpha_{10} - \alpha_{11} r(t-1) \end{align}

Dependency

  • prior: InterestRate

  • params: PropensityToConsumeIncomeBase

  • params: PropensityToConsumeIncomeInterest

Sets

  • PropensityToConsumeIncome

real_gross_output(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Compute real gross output as the solution to the linear set of equations

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} x(t) = (I - A)^{-1}d(t) \end{align}

Dependency

  • state: RealFinalDemand

  • params: Requirement

Sets

  • RealGrossOutput

recycling_of_discarded_stock(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

A fixed share of the discarded socioeconomic stock is recycled

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} rec(t) &= \rho_{dis} dis(t) \end{align}

Dependency

  • state: DiscardedSocioeconomicStock

  • params: RecyclingRate

Sets

  • RecycledSocioeconomicStock

renewable_energy_used_in_production(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Renewable energy use in production is given by a fixed energy intensity of production combined with a fixed share of energy sourced from renewables

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} ren(t) = \epsilon_e^\top (\eta_{en} \cdot x(t)) \end{align}

Dependency

  • state: RealGrossOutput

  • params: EnergyIntensity

  • params: RenewableEnergyUseShare

Sets

  • RenewableEnergy

set_interest_rate(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Set the interest rate. This is given exogenously by the scenario.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} r(t) = \bar{r} \end{align)

Dependency

  • scenario: InterestRate

Sets

  • InterestRate

socioeconomic_stock(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The socioeconomic stock grows through material extraction and shrinks due to discards

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} k_h(t) &= k_h(t-1) + x_{mat}(t) - dis(t) \end{align}

Dependency

  • prior: SocioeconomicStock

  • state: RawMaterialProduction

  • state: DiscardedSocioeconomicStock

Sets

  • SocioeconomicStock

step(**kwargs)[source]#

Step function of the Godley-Lavoie 2006 PC model.

stock_of_durable_goods(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

The stock of durable goods evolves based on inflows from consumption and outflows from discard

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} dc(t) &= dc(t-1) + B_c c(t) - \zeta dc(t-1) \end{align}

Dependency

  • prior: DurableGoodsStock

  • state: RealConsumptionHousehold

  • params: HouseholdBudgetShare

  • params: DiscardedStockShare

Sets

  • DurableGoodsStock

taxes(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the taxes.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} T(t) = \theta (Y(t) + r(t-1)B_h(t-1)) \end{align}

Dependency

  • params: TaxRate

  • state: NationalIncome

  • state: InterestEarnedOnBillsHousehold

Sets

  • Taxes

temperature(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Temperature is determined by a transformation of cumulative CO2

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} temp(t) = \frac{1}{1-fnc}\cdot tcre \cdot co2_{cum}(t) \end{align}

Dependency

  • state: CumulativeCO2

  • params: TransientClimateResponseCumCO2

  • params: NonCO2AnthropocentricForcing

Sets

  • CumulativeCO2

version = 'ECO3IOPC'#
waste(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Waste is computed as the difference in matter extraction and the growth in the SocioeconomicStock

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} wa(t) &= mat(t) - (k_h(t) - k_h(t-1)) \end{align}

Dependency

  • prior: SocioeconomicStock

  • state: SocioeconomicStock

  • state: ExtractedMatter

Sets

  • Waste

wealth(t: int, scenario: dict, params: dict | None = None, **kwargs)[source]#

Calculate the wealth.

Parameters:
  • t (int) – The time step.

  • scenario (dict) – The scenario.

  • params (dict | None) – The parameters.

Equations

\begin{align} V(t) = V(t-1) + YD(t) - C(t) \end{align}

Dependency

  • state: DisposableIncome

  • state: ConsumerPriceIndex

  • state: RealConsumptionHousehold

  • prior: Wealth

Sets

  • Wealth

class macrostat.models.ECO3IOPC.ECO3IOPC(parameters: ParametersECO3IOPC | None = <macrostat.models.ECO3IOPC.parameters.ParametersECO3IOPC object>, variables: VariablesECO3IOPC | None = None, scenarios: ScenariosECO3IOPC | None = None, *args, **kwargs)[source]#

Bases: Model

ECO3IOPC model class for Marco Veronese Pasarella’s ECO-3IO-PC model

version = 'ECO3IOPC'#
class macrostat.models.ECO3IOPC.ParametersECO3IOPC(parameters: dict | None = None, hyperparameters: dict | None = None, bounds: dict | None = None, *args, **kwargs)[source]#

Bases: Parameters

Parameters class for the ECO-3IO-PC model.

get_default_hyperparameters()[source]#

Return the default hyperparameter values.

get_default_parameters()[source]#

Return the default parameter values.

version = 'ECO3IOPC'#
class macrostat.models.ECO3IOPC.ScenariosECO3IOPC(scenario_info: dict | None = None, parameters: ParametersECO3IOPC | None = None, *args, **kwargs)[source]#

Bases: Scenarios

Scenarios class for Marco Veronese Passarella’s ECO-3IO-PC model

get_default_scenario_values()[source]#

Return the default scenario values.

version = 'ECO3IOPC'#
class macrostat.models.ECO3IOPC.VariablesECO3IOPC(variable_info: dict | None = None, timeseries: dict | None = None, parameters: ParametersECO3IOPC | None = None, *args, **kwargs)[source]#

Bases: Variables

Variables class for Marco Veronese Passarella’s ECO-3IO-PC model

check_health(tolerance: float = 0.0001)[source]#

Check the health of the variables by verifying that the redundant equations hold and that all the assets and liabilities are positive.

Parameters:

tolerance (float (default: 1e-4)) – The tolerance for the checks.

Equations

Redundant equations:
\begin{align} H_h(t) = H_s(t) \end{align}
General checks:
\begin{align} A(t) &> 0 & L(t) &> 0 \end{align}

where \(A(t)\) are all assets and \(L(t)\) are all liabilities.

Returns:

True if the variables are healthy, False otherwise.

Return type:

bool

get_default_variables()[source]#

Return the default variables information dictionary.

version = 'ECO3IOPC'#