Two changes:
1. Make single-sector (M=1) the default run mode. The 8-sector industry
calibration is now opt-in via `multi_sector=True` parameter on
solve_steady_state() and run_transition_path(), or via the
`multi-sector` CLI flag:
uv run python examples/run_oguk.py ss pooled # M=1
uv run python examples/run_oguk.py ss pooled multi-sector # M=8
2. Enable calibrated heterogeneous CES elasticities (epsilon) in the
8-sector mode. Previously forced to 1.0 (Cobb-Douglas) for all
sectors due to solver NaN issues — now uses literature values from
Chirinko (2008) and Knoblach et al. (2020):
Energy=0.50, Construction=0.70, Trade & Transport=1.00,
Info & Finance=1.20, Real Estate=0.40, Business Services=1.30,
Public & Other=0.90, Manufacturing=0.80
Supporting changes:
- Recalibrate TFP (Z) using CES Solow residuals instead of
Cobb-Douglas residuals when epsilon != 1
- Use hybr root-finder (Powell hybrid) instead of LM for
multi-sector SS — LM gets stuck at ~1e-5 residuals
- Relax mindist_SS and RC_SS to 1e-4 for multi-sector
Requires OG-Core PR PSLmodels/OG-Core#1096 (numerical guards for
CES production functions).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
multi_sector=Trueonsolve_steady_state()/run_transition_path(), ormulti-sectorCLI flag. This makes the default run faster and matches OG-Core's built-in M=1 defaults.frischg_y_annualdelta_annualbeta_annualworld_int_rate_annualdelta_tau_annual) now varies by sector using ONS CAPSTK data, from 3% (Real Estate — long-lived structures) to 10% (Info & Finance — IT equipment).Usage
Dependencies
Requires PSLmodels/OG-Core#1096 (numerical guards for CES production functions) to prevent NaN when ε<1 and inputs are near zero.
Test plan
🤖 Generated with Claude Code