Skip to content
sangwonsuhvmPublic

About

course materials

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Carbon Pathway Lab

Hands-on classroom repository for the seminar module Carbon-neutral global pathways: from greenhouse-gas emissions to global temperature.

Students adjust simple global emissions pathways and generate temperature curves through 2100. The practical challenge is to find a scenario that is at or below 1.5 degC warming in 2100 relative to 1850-1900, while also checking whether the pathway temporarily overshoots 1.5 degC before 2100.

Student Quick Start

Run in Google Colab

After this folder is pushed to GitHub, open:

https://colab.research.google.com/github/<ORG>/<REPO>/blob/main/notebooks/01_pathway_lab.ipynb

In Colab, run the first setup cell, then run all cells. If FaIR is unavailable, the notebook automatically uses the transparent teaching emulator.

Run Locally

cd carbon_pathway_lab
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python -m src.run_classroom --controls data/student_scenario_controls.csv --out results/

Open the generated outputs:

  • results/pathway_timeseries.csv
  • results/temperature_results.csv
  • results/pathway_summary.csv
  • results/temperature_curves.png
  • results/emissions_curves.png

Instructor Quick Start

For a 35-45 minute exercise:

  1. Open notebooks/01_pathway_lab.ipynb and run the default scenarios.
  2. Ask students to copy or edit one row in data/student_scenario_controls.csv.
  3. Re-run the notebook or command line script.
  4. Compare 2100 temperature, peak temperature, first overshoot year, and cumulative net CO2.
  5. Discuss which lever mattered most: CO2 decline, methane decline, N2O decline, or CDR.

Command Line

python -m src.run_classroom --controls data/student_scenario_controls.csv --out results/

Optional fallback-only run:

python -m src.run_classroom --controls data/student_scenario_controls.csv --out results/ --force-fallback

Repository Layout

carbon_pathway_lab/
  README.md
  requirements.txt
  environment.yml
  .devcontainer/devcontainer.json
  data/
  notebooks/
  src/
  tests/
  results/

Data Files

The data files are classroom-ready teaching inputs provided by the instructor package.

  • ar6_spm1_ghg_emissions_key_points.csv: IPCC AR6 WGIII Figure SPM.1 key points for 1990, 2000, 2010, and 2019 in GtCO2-eq using AR6 GWP100.
  • derived_physical_emissions_for_teaching.csv: approximate conversion of CH4 and N2O CO2-eq values to physical mass using GWP100 values.
  • noaa_2024_ghg_concentrations.csv: 2024 global concentrations from NOAA AGGI.
  • current_temperature_anchors.csv: current warming anchors from Copernicus, WMO, and NASA references.
  • student_scenario_controls.csv: high-level controls students edit.
  • student_scenario_template_timeseries.csv: annual 2020-2100 example trajectories generated from controls.
  • source_index.csv: source URLs used in the module.

FaIR Versus Fallback Emulator

The wrapper function is:

from src.run_classroom import run_pathways

outputs = run_pathways("data/student_scenario_controls.csv", "results/")

run_pathways calls run_fair_or_fallback(...). It first attempts to import and use FaIR. If FaIR is unavailable or cannot be configured from the simplified teaching inputs, the code prints a clear warning and runs simple_emulator.py.

The fallback emulator is not research-grade. It is included so class does not fail because of package installation or calibration-data issues. It uses:

  • approximate CO2 warming from cumulative net CO2 since 2020 using a TCRE-style parameter;
  • smoothed non-CO2 warming from CH4, N2O, and aggregate F-gas trajectories;
  • calibration to a 2025 temperature anchor of 1.47 degC above 1850-1900.

Research-grade or graded quantitative work should use FaIR with RCMIP/AR6 emissions inputs and calibrated configurations.

Important Caveats

  • The instructor data use teaching-level simplifications, including CO2-eq values and approximate GWP conversions.
  • FaIR normally expects complete physical emissions or concentrations for many species, not only aggregate classroom categories.
  • F-gases are treated as an aggregate CO2-eq forcing proxy in the fallback.
  • Staying below 1.5 degC in 2100 is not the same as never exceeding 1.5 degC. The plots and summary table report both 2100 temperature and overshoot years.
  • Gross CDR is shown as a pathway control, but the temperature calculation uses net CO2 for cumulative CO2 warming.

Source URLs

Development

python -m pip install -r requirements.txt
pytest
python -m src.run_classroom --controls data/student_scenario_controls.csv --out results/ --force-fallback

About

course materials

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages