Skip to content

Add Tier I ECS diagnosis via Gregory regression#101

Open
duncanwp wants to merge 1 commit intomainfrom
tier1-ecs-gregory-regression
Open

Add Tier I ECS diagnosis via Gregory regression#101
duncanwp wants to merge 1 commit intomainfrom
tier1-ecs-gregory-regression

Conversation

@duncanwp
Copy link
Contributor

Summary

  • Implements Tier I ECS diagnosis via Gregory regression on abrupt-4xCO2 / piControl experiments (closes Tier I: ECS diagnosis via Gregory regression (metadata) #77)
  • Adds DataFinder.load_experiment_ds() for loading arbitrary CMIP6 experiments (piControl, abrupt-4xCO2, etc.) without the historical+SSP concatenation logic
  • Hardens standardize_dims() to gracefully handle out-of-bounds time coordinates common in long control runs
  • Adds rsdt (incoming TOA SW flux) to VARIABLE_FREQUENCY_GROUP and makes DataFinder handle variables without observation paths

New script: benchmark_scrips/ecs_benchmark.py

Loads tas, rsdt, rsut, rlut from piControl (baseline) and abrupt-4xCO2 (first 150 yr by default), performs linear regression of TOA net flux vs global-mean temperature, and outputs ECS / lambda / forcing / R-squared to results/ecs/ecs_results.csv.

Usage:
python ecs_benchmark.py --model CanESM5
python ecs_benchmark.py --model UKESM1-0-LL --n_years 150 --save_to_cloud

Test plan

  • Run python ecs_benchmark.py --model CanESM5 and verify ECS output is in expected range (~5.6 K for CanESM5)
  • Verify results/ecs/ecs_results.csv is created with correct columns
  • Run with --save_to_cloud flag and verify GCS upload
  • Confirm existing model_benchmark.py still works unchanged

Generated with Claude Code

Implement ECS benchmark using Gregory regression on abrupt-4xCO2 and
piControl experiments. Extends DataFinder to support loading arbitrary
CMIP6 experiments and hardens standardize_dims for non-standard time
coordinates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tier I: ECS diagnosis via Gregory regression (metadata)

1 participant