Logo Lanfrica

anand-adroid/PyWorld3-Country-Food-System

Domain:

agricultureclimate

Record type:

softwaremodel
Creator:
ana
Host:
A five-sector coupled system dynamics model of national food systems, calibrated for **Canada** and **Nigeria** # PyWorld3 Country-Level Food System Model A five-sector coupled system dynamics model of national food systems, calibrated for **Canada** and **Nigeria**. Based on the World3 architecture of Meadows et al. (1972) *The Limits to Growth*, implemented in Python on top of PyWorld3 (Vanwynsberghe, 2021), with an IPCC AR6 climate overlay (Zhu et al. 2018) for SSP scenario analysis. The model simulates how five interdependent sectors evolve from 1971 to 2100 under bidirectional feedback: | Sector | Stocks (state variables) | |---|---| | Population | Four age cohorts (0-14, 15-44, 45-64, 65+) | | Capital | Industrial Capital, Service Capital | | Agriculture | Arable Land, Land Fertility | | Pollution | Persistent Pollution | | Nutrition | (terminal sector — calories, protein, micronutrients) | Plus an **exogenous climate module** (ClimateAgricultureBridge) that optionally overlays IPCC AR6 SSP1-2.6 / SSP2-4.5 / SSP3-7.0 / SSP5-8.5 temperature, precipitation, and CO2 trajectories onto the agriculture sector. CO2-induced nutrient dilution (protein, iron, zinc) follows Zhu et al. (2018) *Nature Plants*. The interactive Streamlit dashboard (9 tabs) lets users adjust any parameter, crop mix, or IPCC scenario and watch the effects cascade through all five sectors and seven named feedback loops. Dashboard pyworld3-country-food-syste… ## Quick start Install dependencies: ``` pip install -r requirements.txt ``` Run the interactive dashboard: ``` streamlit run climate_nutrition_world3/dashboard_v2.py ``` Or run a scenario from Python: ```python from climate_nutrition_world3 import World3Integrator # Baseline with simple linear climate model model = World3Integrator.from_country('nigeria', 1971, 2100) model.run() df = model.get_all_results() model.print_summary() # Same country under IPCC SSP5-8.5 (fossil-fuel future) model_climate = World3Integrator.from_country( 'nigeria', 1971, 2100, climate_scenario='ssp585' ) model_cli …