Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Equilibrium Climate Sensitivity from CMIP6

Access CMIP6 zarr data from AWS using the osdf protocol and compute Equilibrium Climate Sensitivity (ECS)

Section 1: Introduction

  • Load python packkages

  • Load catalog url

/glade/derecho/scratch/harshah/tmp/ipykernel_65276/3451259092.py:6: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
  from tqdm.autonotebook import tqdm

Section 2: Select Dask Cluster

Select the Dask cluster type

The default will be LocalCluster as that can run on any system.

If running on a HPC computer with a PBS Scheduler, set to True. Otherwise, set to False.

If running on Jupyter server with Dask Gateway configured, set to True. Otherwise, set to False.

Python function for a PBS cluster
Python function for a Gateway Cluster
Python logic for a Local Cluster

This uses True/False boolean logic based on the variables set in the previous cells

/glade/u/home/harshah/.conda/envs/osdf/lib/python3.11/site-packages/distributed/node.py:188: UserWarning: Port 8787 is already in use.
Perhaps you already have a cluster running?
Hosting the HTTP server on port 39347 instead
  warnings.warn(
Loading...

Section 3: Data Loading

  • Load catalog and select data subset

Loading...
['esm-ssp585-ssp126Lu', 'ssp126-ssp370Lu', 'ssp370-ssp126Lu', 'ssp585', 'ssp245', 'ssp370-lowNTCF', 'ssp370SST-ssp126Lu', 'ssp370SST', 'ssp370pdSST', 'ssp370SST-lowCH4', 'ssp370SST-lowNTCF', 'ssp126', 'ssp119', 'ssp370', 'esm-ssp585', 'ssp245-nat', 'ssp245-GHG', 'ssp460', 'ssp434', 'ssp534-over', 'ssp245-aer', 'ssp245-stratO3', 'ssp245-cov-fossil', 'ssp245-cov-modgreen', 'ssp245-cov-strgreen', 'ssp245-covid', 'ssp585-bgc']
Loading...
/glade/u/home/harshah/.conda/envs/osdf/lib/python3.11/site-packages/pyproj/network.py:59: UserWarning: pyproj unable to set PROJ database path.
  _set_context_ca_bundle_path(ca_bundle_path)
CPU times: user 5.69 s, sys: 326 ms, total: 6.01 s
Wall time: 19.5 s
Loading...

Section 4: Data Analysis

  • Reduce data via Global Mean

  • Grab some observations ?

  2%|▏         | 1/41 [00:01<00:47,  1.18s/it]
Missing experiment for ACCESS-ESM1-5
 22%|██▏       | 9/41 [00:04<00:10,  3.02it/s]
Missing experiment for CAS-ESM2-0
 39%|███▉      | 16/41 [00:07<00:12,  2.08it/s]
Missing experiment for EC-Earth3-Veg
 46%|████▋     | 19/41 [00:08<00:10,  2.16it/s]
Missing experiment for FIO-ESM-2-0
Missing experiment for GFDL-CM4
 78%|███████▊  | 32/41 [00:14<00:04,  1.98it/s]
Missing experiment for MPI-ESM-1-2-HAM
100%|██████████| 41/41 [00:20<00:00,  1.96it/s]
CPU times: user 19.5 s, sys: 1.16 s, total: 20.6 s
Wall time: 11min 32s
/glade/derecho/scratch/harshah/tmp/ipykernel_65276/4208675474.py:4: FutureWarning: In a future version of xarray the default value for join will change from join='outer' to join='exact'. This change will result in the following ValueError: cannot be aligned with join='exact' because index/labels/sizes are not equal along these coordinates (dimensions): 'year' ('year',) The recommendation is to set join explicitly for this case.
  big_ds = xr.concat([ds.reset_coords(drop=True) for ds in dsets_aligned_.values()],
Loading...

Calculated Derived Variables

Loading...
<xarray.plot.facetgrid.FacetGrid at 0x14c66105fc90>
<Figure size 1747.88x2100 with 35 Axes>

Calculate ECS

Loading...
<Figure size 1750x2450 with 35 Axes>
CPU times: user 6.25 s, sys: 144 ms, total: 6.39 s
Wall time: 6.34 s