Climate Module

The CliMaPan-Lab climate module simulates environmental effects and their economic impacts. This module has been streamlined to focus on two main climate damage mechanisms plus an option to disable climate effects entirely.

Climate Damage Types

AggPop (Aggregate Population)

Aggregate population-level climate damage affects the entire economy uniformly:

  • Description: Climate shocks impact all economic agents equally

  • Use case: Modeling economy-wide climate effects

  • Implementation: Uniform damage multipliers applied across all sectors

params['climateModuleFlag'] = True
params['climateShockMode'] = 'AggPop'

Idiosyncratic

Individual-level climate damage with heterogeneous effects:

  • Description: Climate shocks vary across individual agents and sectors

  • Use case: Modeling differential climate vulnerability

  • Implementation: Varied damage based on agent characteristics

params['climateModuleFlag'] = True
params['climateShockMode'] = 'Idiosyncratic'

None

Disables climate damage effects while maintaining other climate calculations:

  • Description: No economic damage from climate shocks

  • Use case: Baseline scenarios without climate impacts

  • Implementation: Climate module tracks emissions but applies no damage

params['climateModuleFlag'] = True
params['climateShockMode'] = 'None'

Climate Parameters

Key climate-related parameters:

# Enable/disable climate module
'climateModuleFlag': True,

# Climate damage type
'climateShockMode': 'AggPop',  # or 'Idiosyncratic' or 'None'

# Climate shock timing
'climate_shock_start': 120,  # months until shocks activate

# Emission intensities
'climateZetaGreen': 0.01,    # green energy emission intensity
'climateZetaBrown': 0.5,     # brown energy emission intensity

# Climate sensitivity parameters
'climateSensitivity': 6.90625,
'climateT0': 0,              # initial temperature

# Damage parameters
'climateAlpha_d': 0.05,      # benchmark damage
'climateSigma_d': 0.9,       # storm sensitivity
'psi_h': 0.1,                # household damage parameter
'psi_f_g': 0.15,             # green firm damage parameter
'psi_f_b': 0.25,             # brown firm damage parameter

Climate Variables

The climate module tracks several key variables:

  • CO2 Emissions: Total and sectoral emissions

  • CO2 Concentration: Atmospheric concentration levels

  • Temperature: Global temperature anomaly

  • Radiative Forcing: Climate forcing effects

  • Climate Damage: Economic damage from climate effects

Command Line Usage

Use the climate damage options via command line:

# Run with aggregate population damage
climapan-run --climateDamage AggPop --settings CT

# Run with idiosyncratic damage
climapan-run --climateDamage Idiosyncratic --settings CTRa

# Run without climate damage
climapan-run --climateDamage None --settings BAU

Integration with Economic Scenarios

Climate damage works with all economic scenarios:

Carbon Tax Scenarios

# Carbon tax with aggregate climate damage
params = {
    'settings': 'CT',
    'climateModuleFlag': True,
    'climateShockMode': 'AggPop',
    'co2_tax': 0.05
}

# Carbon tax with revenue recycling and idiosyncratic damage
params = {
    'settings': 'CTRa',
    'climateModuleFlag': True,
    'climateShockMode': 'Idiosyncratic',
    'co2_tax': 0.03
}

COVID-Climate Interactions

# Combined pandemic and climate scenario
params = {
    'settings': 'CT',
    'covid_settings': 'LOCK',
    'climateModuleFlag': True,
    'climateShockMode': 'AggPop'
}

Historical Context

Note

Previous versions of CliMaPan-Lab included flood-specific climate damage mechanisms. These have been removed and consolidated into the more flexible AggPop and Idiosyncratic damage types, which can represent various climate impacts including floods, droughts, storms, and other climate events.

Best Practices

  1. Start with AggPop: For initial explorations, use aggregate damage for simplicity

  2. Use Idiosyncratic for detailed analysis: When studying inequality effects

  3. Calibrate carefully: Climate parameters should be calibrated to real-world data

  4. Consider interactions: Climate effects interact with other policies and shocks

  5. Validate results: Compare outputs with and without climate effects

Example Analysis

import matplotlib.pyplot as plt
from climapan_lab.model import EconModel
from climapan_lab.base_params import economic_params

# Run scenarios with different climate damage types
scenarios = ['None', 'AggPop', 'Idiosyncratic']
results = {}

for scenario in scenarios:
    params = economic_params.copy()
    params['climateModuleFlag'] = True
    params['climateShockMode'] = scenario
    params['settings'] = 'CT'
    params['steps'] = 240

    model = EconModel(params)
    results[scenario] = model.run()

# Compare GDP trajectories
plt.figure(figsize=(10, 6))
for scenario, result in results.items():
    df = result.variables.EconModel
    plt.plot(df['GDP'], label=f'Climate Damage: {scenario}')

plt.title('GDP Under Different Climate Damage Scenarios')
plt.xlabel('Time Steps (Months)')
plt.ylabel('GDP')
plt.legend()
plt.show()