Load CMIP6 Data with Intake ESM¶
Intake ESM is an experimental new package that aims to provide a higher-level interface to searching and loading Earth System Model data archives, such as CMIP6. The packages is under very active development, and features may be unstable. Please report any issues or suggestions on github.
import dask
import xarray as xr
xr.set_options(display_style='html')
import intake
%matplotlib inline
dask.config.set({'array.slicing.split_large_chunks': True})
<dask.config.set at 0x7efce5395700>
Intake ESM works by parsing an ESM Collection Spec and converting it to an intake catalog. The collection spec is stored in a .json file. Here we open it using intake.
cat_url = "https://storage.googleapis.com/cmip6/pangeo-cmip6.json"
col = intake.open_esm_datastore(cat_url)
col
/opt/conda/envs/pangeo/lib/python3.8/site-packages/IPython/core/interactiveshell.py:3418: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.
exec(code_obj, self.user_global_ns, self.user_ns)
pangeo-cmip6 catalog with 5630 dataset(s) from 347099 asset(s):
unique | |
---|---|
activity_id | 17 |
institution_id | 35 |
source_id | 79 |
experiment_id | 146 |
member_id | 495 |
table_id | 36 |
variable_id | 659 |
grid_label | 10 |
zstore | 347099 |
dcpp_init_year | 60 |
version | 547 |
We can now use intake methods to search the collection, and, if desired, export a pandas dataframe.
cat = col.search(experiment_id=['historical', 'ssp585'], table_id='Oyr', variable_id='o2',
grid_label='gn')
cat.df
activity_id | institution_id | source_id | experiment_id | member_id | table_id | variable_id | grid_label | zstore | dcpp_init_year | version | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | CMIP | CCCma | CanESM5-CanOE | historical | r1i1p2f1 | Oyr | o2 | gn | gs://cmip6/CMIP/CCCma/CanESM5-CanOE/historical... | NaN | 20190429 |
1 | CMIP | CCCma | CanESM5-CanOE | historical | r2i1p2f1 | Oyr | o2 | gn | gs://cmip6/CMIP/CCCma/CanESM5-CanOE/historical... | NaN | 20190429 |
2 | CMIP | CCCma | CanESM5-CanOE | historical | r3i1p2f1 | Oyr | o2 | gn | gs://cmip6/CMIP/CCCma/CanESM5-CanOE/historical... | NaN | 20190429 |
3 | CMIP | CCCma | CanESM5 | historical | r10i1p1f1 | Oyr | o2 | gn | gs://cmip6/CMIP/CCCma/CanESM5/historical/r10i1... | NaN | 20190429 |
4 | CMIP | CCCma | CanESM5 | historical | r10i1p2f1 | Oyr | o2 | gn | gs://cmip6/CMIP/CCCma/CanESM5/historical/r10i1... | NaN | 20190429 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
138 | ScenarioMIP | MPI-M | MPI-ESM1-2-LR | ssp585 | r10i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MPI-M/MPI-ESM1-2-LR/ssp... | NaN | 20190710 |
139 | ScenarioMIP | MPI-M | MPI-ESM1-2-LR | ssp585 | r1i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MPI-M/MPI-ESM1-2-LR/ssp... | NaN | 20190710 |
140 | ScenarioMIP | MRI | MRI-ESM2-0 | ssp585 | r1i2p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MRI/MRI-ESM2-0/ssp585/r... | NaN | 20200303 |
141 | ScenarioMIP | NCC | NorESM2-LM | ssp585 | r1i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/NCC/NorESM2-LM/ssp585/r... | NaN | 20191108 |
142 | ScenarioMIP | NCC | NorESM2-MM | ssp585 | r1i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/NCC/NorESM2-MM/ssp585/r... | NaN | 20191108 |
143 rows × 11 columns
Intake knows how to automatically open the datasets using xarray. Furthermore, intake esm contains special logic to concatenate and merge the individual results of our query into larger, more high-level aggregated xarray datasets.
dset_dict = cat.to_dataset_dict(zarr_kwargs={'consolidated': True})
list(dset_dict.keys())
--> The keys in the returned dictionary of datasets are constructed as follows:
'activity_id.institution_id.source_id.experiment_id.table_id.grid_label'
['ScenarioMIP.DWD.MPI-ESM1-2-HR.ssp585.Oyr.gn',
'CMIP.NCC.NorESM2-MM.historical.Oyr.gn',
'ScenarioMIP.DKRZ.MPI-ESM1-2-HR.ssp585.Oyr.gn',
'ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp585.Oyr.gn',
'ScenarioMIP.MIROC.MIROC-ES2L.ssp585.Oyr.gn',
'ScenarioMIP.MRI.MRI-ESM2-0.ssp585.Oyr.gn',
'CMIP.IPSL.IPSL-CM6A-LR.historical.Oyr.gn',
'ScenarioMIP.CCCma.CanESM5-CanOE.ssp585.Oyr.gn',
'ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp585.Oyr.gn',
'ScenarioMIP.CCCma.CanESM5.ssp585.Oyr.gn',
'CMIP.MRI.MRI-ESM2-0.historical.Oyr.gn',
'CMIP.NCC.NorESM2-LM.historical.Oyr.gn',
'CMIP.MPI-M.MPI-ESM1-2-HR.historical.Oyr.gn',
'ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp585.Oyr.gn',
'CMIP.MPI-M.MPI-ESM1-2-LR.historical.Oyr.gn',
'ScenarioMIP.NCC.NorESM2-LM.ssp585.Oyr.gn',
'CMIP.MIROC.MIROC-ES2L.historical.Oyr.gn',
'CMIP.CSIRO.ACCESS-ESM1-5.historical.Oyr.gn',
'ScenarioMIP.NCC.NorESM2-MM.ssp585.Oyr.gn',
'CMIP.CCCma.CanESM5.historical.Oyr.gn',
'CMIP.HAMMOZ-Consortium.MPI-ESM-1-2-HAM.historical.Oyr.gn',
'CMIP.CCCma.CanESM5-CanOE.historical.Oyr.gn']
ds = dset_dict['CMIP.CCCma.CanESM5.historical.Oyr.gn']
ds
<xarray.Dataset> Dimensions: (i: 360, j: 291, lev: 45, member_id: 35, time: 165) Coordinates: * i (i) int32 0 1 2 3 4 5 6 7 8 ... 352 353 354 355 356 357 358 359 * j (j) int32 0 1 2 3 4 5 6 7 8 ... 283 284 285 286 287 288 289 290 latitude (j, i) float64 dask.array<chunksize=(291, 360), meta=np.ndarray> * lev (lev) float64 3.047 9.454 16.36 ... 5.126e+03 5.375e+03 5.625e+03 longitude (j, i) float64 dask.array<chunksize=(291, 360), meta=np.ndarray> * time (time) object 1850-07-02 12:00:00 ... 2014-07-02 12:00:00 * member_id (member_id) <U9 'r10i1p1f1' 'r10i1p2f1' ... 'r9i1p1f1' 'r9i1p2f1' Data variables: o2 (member_id, time, lev, j, i) float32 dask.array<chunksize=(1, 12, 45, 291, 360), meta=np.ndarray> Attributes: experiment: all-forcing simulation of the recent past parent_time_units: days since 1850-01-01 0:0:0.0 mip_era: CMIP6 realization_index: 9 sub_experiment_id: none creation_date: 2019-05-30T08:58:45Z license: CMIP6 model data produced by The Government ... nominal_resolution: 100 km experiment_id: historical forcing_index: 1 status: 2019-10-25;created;by nhn2@columbia.edu parent_activity_id: CMIP intake_esm_varname: ['o2'] sub_experiment: none cmor_version: 3.4.0 title: CanESM5 output prepared for CMIP6 parent_experiment_id: piControl institution_id: CCCma data_specs_version: 01.00.29 Conventions: CF-1.7 CMIP-6.2 references: Geophysical Model Development Special issue ... YMDH_branch_time_in_parent: 5950:01:01:00 further_info_url: https://furtherinfo.es-doc.org/CMIP6.CCCma.C... history: 2019-05-02T13:53:53Z ;rewrote data to be con... realm: ocnBgchem table_id: Oyr source_id: CanESM5 CCCma_model_hash: Unknown initialization_index: 1 grid: ORCA1 tripolar grid, 1 deg with refinement t... source_type: AOGCM CCCma_parent_runid: p2-pictrl version: v20190429 branch_time_in_child: 0.0 tracking_id: hdl:21.14100/41426118-701c-482b-ae16-82932e4... YMDH_branch_time_in_child: 1850:01:01:00 CCCma_runid: p2-his09 parent_mip_era: CMIP6 table_info: Creation Date:(20 February 2019) MD5:374fbe5... source: CanESM5 (2019): \naerosol: interactive\natmo... parent_source_id: CanESM5 external_variables: areacello volcello contact: ec.cccma.info-info.ccmac.ec@canada.ca variant_label: r9i1p2f1 activity_id: CMIP branch_time_in_parent: 1496500.0 variable_id: o2 frequency: yr institution: Canadian Centre for Climate Modelling and An... branch_method: Spin-up documentation grid_label: gn product: model-output intake_esm_dataset_key: CMIP.CCCma.CanESM5.historical.Oyr.gn
- i: 360
- j: 291
- lev: 45
- member_id: 35
- time: 165
- i(i)int320 1 2 3 4 5 ... 355 356 357 358 359
- long_name :
- cell index along first dimension
- units :
- 1
array([ 0, 1, 2, ..., 357, 358, 359], dtype=int32)
- j(j)int320 1 2 3 4 5 ... 286 287 288 289 290
- long_name :
- cell index along second dimension
- units :
- 1
array([ 0, 1, 2, ..., 288, 289, 290], dtype=int32)
- latitude(j, i)float64dask.array<chunksize=(291, 360), meta=np.ndarray>
- bounds :
- vertices_latitude
- long_name :
- latitude
- standard_name :
- latitude
- units :
- degrees_north
Array Chunk Bytes 838.08 kB 838.08 kB Shape (291, 360) (291, 360) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - lev(lev)float643.047 9.454 ... 5.375e+03 5.625e+03
- axis :
- Z
- bounds :
- lev_bnds
- long_name :
- ocean depth coordinate
- positive :
- down
- standard_name :
- depth
- units :
- m
array([3.046773e+00, 9.454049e+00, 1.636397e+01, 2.389871e+01, 3.220929e+01, 4.148185e+01, 5.194513e+01, 6.387905e+01, 7.762451e+01, 9.359412e+01, 1.122835e+02, 1.342823e+02, 1.602840e+02, 1.910925e+02, 2.276233e+02, 2.708962e+02, 3.220169e+02, 3.821444e+02, 4.524429e+02, 5.340197e+02, 6.278525e+02, 7.347150e+02, 8.551112e+02, 9.892289e+02, 1.136922e+03, 1.297724e+03, 1.470893e+03, 1.655472e+03, 1.850365e+03, 2.054414e+03, 2.266454e+03, 2.485371e+03, 2.710133e+03, 2.939812e+03, 3.173588e+03, 3.410756e+03, 3.650712e+03, 3.892950e+03, 4.137047e+03, 4.382654e+03, 4.629485e+03, 4.877303e+03, 5.125919e+03, 5.375177e+03, 5.624952e+03])
- longitude(j, i)float64dask.array<chunksize=(291, 360), meta=np.ndarray>
- bounds :
- vertices_longitude
- long_name :
- longitude
- standard_name :
- longitude
- units :
- degrees_east
Array Chunk Bytes 838.08 kB 838.08 kB Shape (291, 360) (291, 360) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - time(time)object1850-07-02 12:00:00 ... 2014-07-...
- axis :
- T
- bounds :
- time_bnds
- long_name :
- time
- standard_name :
- time
array([cftime.DatetimeNoLeap(1850, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1851, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1852, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1853, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1854, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1855, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1856, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1857, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1858, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1859, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1860, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1861, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1862, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1863, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1864, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1865, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1866, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1867, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1868, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1869, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1870, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1871, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1872, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1873, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1874, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1875, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1876, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1877, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1878, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1879, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1880, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1881, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1882, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1883, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1884, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1885, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1886, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1887, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1888, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1889, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1890, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1891, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1892, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1893, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1894, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1895, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1896, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1897, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1898, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1899, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1900, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1901, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1902, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1903, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1904, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1905, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1906, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1907, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1908, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1909, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1910, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1911, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1912, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1913, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1914, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1915, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1916, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1917, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1918, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1919, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1920, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1921, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1922, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1923, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1924, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1925, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1926, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1927, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1928, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1929, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1930, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1931, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1932, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1933, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1934, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1935, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1936, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1937, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1938, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1939, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1940, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1941, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1942, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1943, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1944, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1945, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1946, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1947, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1948, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1949, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1950, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1951, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1952, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1953, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1954, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1955, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1956, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1957, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1958, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1959, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1960, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1961, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1962, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1963, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1964, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1965, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1966, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1967, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1968, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1969, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1970, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1971, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1972, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1973, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1974, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1975, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1976, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1977, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1978, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1979, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1980, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1981, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1982, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1983, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1984, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1985, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1986, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1987, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1988, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1989, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1990, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1991, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1992, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1993, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1994, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1995, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1996, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1997, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1998, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(1999, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2000, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2001, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2002, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2003, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2004, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2005, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2006, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2007, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2008, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2009, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2010, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2011, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2012, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2013, 7, 2, 12, 0, 0, 0), cftime.DatetimeNoLeap(2014, 7, 2, 12, 0, 0, 0)], dtype=object)
- member_id(member_id)<U9'r10i1p1f1' ... 'r9i1p2f1'
array(['r10i1p1f1', 'r10i1p2f1', 'r11i1p1f1', 'r12i1p1f1', 'r13i1p1f1', 'r14i1p1f1', 'r15i1p1f1', 'r16i1p1f1', 'r17i1p1f1', 'r18i1p1f1', 'r19i1p1f1', 'r1i1p1f1', 'r1i1p2f1', 'r20i1p1f1', 'r21i1p1f1', 'r22i1p1f1', 'r23i1p1f1', 'r24i1p1f1', 'r25i1p1f1', 'r2i1p1f1', 'r2i1p2f1', 'r3i1p1f1', 'r3i1p2f1', 'r4i1p1f1', 'r4i1p2f1', 'r5i1p1f1', 'r5i1p2f1', 'r6i1p1f1', 'r6i1p2f1', 'r7i1p1f1', 'r7i1p2f1', 'r8i1p1f1', 'r8i1p2f1', 'r9i1p1f1', 'r9i1p2f1'], dtype='<U9')
- o2(member_id, time, lev, j, i)float32dask.array<chunksize=(1, 12, 45, 291, 360), meta=np.ndarray>
- cell_measures :
- area: areacello volume: volcello
- cell_methods :
- area: mean where sea time: mean
- comment :
- 'Mole concentration' means number of moles per unit volume, also called 'molarity', and is used in the construction mole_concentration_of_X_in_Y, where X is a material constituent of Y. A chemical or biological species denoted by X may be described by a single term such as 'nitrogen' or a phrase such as 'nox_expressed_as_nitrogen'.
- history :
- meanm2y_mltby1em3
- long_name :
- Dissolved Oxygen Concentration
- original_name :
- O2
- standard_name :
- mole_concentration_of_dissolved_molecular_oxygen_in_sea_water
- units :
- mol m-3
Array Chunk Bytes 108.90 GB 226.28 MB Shape (35, 165, 45, 291, 360) (1, 12, 45, 291, 360) Count 1505 Tasks 490 Chunks Type float32 numpy.ndarray
- experiment :
- all-forcing simulation of the recent past
- parent_time_units :
- days since 1850-01-01 0:0:0.0
- mip_era :
- CMIP6
- realization_index :
- 9
- sub_experiment_id :
- none
- creation_date :
- 2019-05-30T08:58:45Z
- license :
- CMIP6 model data produced by The Government of Canada (Canadian Centre for Climate Modelling and Analysis, Environment and Climate Change Canada) is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and at https:///pcmdi.llnl.gov/. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
- nominal_resolution :
- 100 km
- experiment_id :
- historical
- forcing_index :
- 1
- status :
- 2019-10-25;created;by nhn2@columbia.edu
- parent_activity_id :
- CMIP
- intake_esm_varname :
- ['o2']
- sub_experiment :
- none
- cmor_version :
- 3.4.0
- title :
- CanESM5 output prepared for CMIP6
- parent_experiment_id :
- piControl
- institution_id :
- CCCma
- data_specs_version :
- 01.00.29
- Conventions :
- CF-1.7 CMIP-6.2
- references :
- Geophysical Model Development Special issue on CanESM5 (https://www.geosci-model-dev.net/special_issues.html)
- YMDH_branch_time_in_parent :
- 5950:01:01:00
- further_info_url :
- https://furtherinfo.es-doc.org/CMIP6.CCCma.CanESM5.historical.none.r9i1p2f1
- history :
- 2019-05-02T13:53:53Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-30T08:58:40Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr. 2019-05-02T13:55:44Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:55:48Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:57:46Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:57:48Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:59:47Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T14:03:56Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T14:03:56Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T14:05:56Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T14:05:59Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:43:39Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-09T03:45:13Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T14:08:04Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:20:11Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:23:33Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:26:53Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:30:19Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:33:43Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:47:48Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-03T22:15:10Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:03:35Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-09T03:45:41Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:06:50Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-09T03:46:25Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-02T13:47:47Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-09T03:52:34Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:11:36Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-09T03:53:05Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-01T20:13:32Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-30T08:58:34Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr. 2019-05-02T13:49:43Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-30T08:58:24Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr. 2019-05-01T20:16:55Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.; Output from $runid 2019-05-30T08:58:45Z ;rewrote data to be consistent with CMIP for variable o2 found in table Oyr.
- realm :
- ocnBgchem
- table_id :
- Oyr
- source_id :
- CanESM5
- CCCma_model_hash :
- Unknown
- initialization_index :
- 1
- grid :
- ORCA1 tripolar grid, 1 deg with refinement to 1/3 deg within 20 degrees of the equator; 361 x 290 longitude/latitude; 45 vertical levels; top grid cell 0-6.19 m
- source_type :
- AOGCM
- CCCma_parent_runid :
- p2-pictrl
- version :
- v20190429
- branch_time_in_child :
- 0.0
- tracking_id :
- hdl:21.14100/41426118-701c-482b-ae16-82932e459080 hdl:21.14100/eec166d5-9295-4804-8d89-84aba920b811 hdl:21.14100/f0f2847d-bbce-4736-896a-f9e3cbb0e0c3 hdl:21.14100/b74e3b07-ed7b-43b3-976f-3b4a55c5e175 hdl:21.14100/13d7408e-82f9-4a16-8df4-566be14a3a98 hdl:21.14100/61cf3578-a156-42ed-bcae-b7f40ad10006 hdl:21.14100/c6962c8d-fa1f-4a37-a9b5-9b582f4a3e6b hdl:21.14100/8f2d67cc-cc88-411f-a1d2-4ef8e750680b hdl:21.14100/0831d083-1a2a-4458-ad36-45d147602204 hdl:21.14100/d33a8318-1b3c-45e5-8a11-da0ef4ecf843 hdl:21.14100/016fd306-f6da-4738-958e-bea744adfaf3 hdl:21.14100/20a231ca-ffe0-442b-b108-482157972ed4 hdl:21.14100/6bf5ab72-1e53-49d6-811b-77d0fa3ae243 hdl:21.14100/aa79d225-29ee-45cb-801f-3a76c1f86c4d hdl:21.14100/6fc32405-158a-4de6-b4b4-658e333e503f hdl:21.14100/17b8cc29-f5c9-4288-98f1-eb4bcd94c53b hdl:21.14100/d89491b9-6c8e-4e5e-850c-0617b735b70e hdl:21.14100/ef1f08a7-cc33-4e95-8dbb-d477d3b47453 hdl:21.14100/39a9a206-c798-4f74-a776-d8fba0a27211 hdl:21.14100/b82755e0-528f-4eec-93b8-f448144863e2 hdl:21.14100/7c231895-a470-48a3-962a-e398b0a74e00 hdl:21.14100/82cd73fd-2af7-4c7e-9fc2-fa4f7fca96cd hdl:21.14100/af60d07f-a4e8-4e2e-a8c9-2751869d09e7 hdl:21.14100/9d312870-1e23-40a4-9fd0-d7e057eecd89 hdl:21.14100/ef98f4e6-4eb5-4177-9b82-988d6ab51316 hdl:21.14100/cc1b9d02-bc6f-4ee4-b81e-8da5b4807169 hdl:21.14100/76dfee08-3aae-446d-8199-6f0e1174a3d4 hdl:21.14100/a9e89083-8b09-445e-888f-86179165d14c hdl:21.14100/fe25b1d7-1d16-4871-a0e9-4f469844e106 hdl:21.14100/02053d4c-4bda-486b-9853-998ac4ed41ae hdl:21.14100/75e52ad8-bc26-4153-ab02-cde78cf88355 hdl:21.14100/089723f9-e9f3-4bb2-b5fb-caf37cd987b7 hdl:21.14100/9347e50e-bcdc-47c6-9d58-d18bd90f00d9 hdl:21.14100/6c06e2a5-0005-46c4-9753-d20fb161abb4 hdl:21.14100/d6d1a7a2-41cc-419c-a912-3bafa10e2c01
- YMDH_branch_time_in_child :
- 1850:01:01:00
- CCCma_runid :
- p2-his09
- parent_mip_era :
- CMIP6
- table_info :
- Creation Date:(20 February 2019) MD5:374fbe5a2bcca535c40f7f23da271e49
- source :
- CanESM5 (2019): aerosol: interactive atmos: CanAM5 (T63L49 native atmosphere, T63 Linear Gaussian Grid; 128 x 64 longitude/latitude; 49 levels; top level 1 hPa) atmosChem: specified oxidants for aerosols land: CLASS3.6/CTEM1.2 landIce: specified ice sheets ocean: NEMO3.4.1 (ORCA1 tripolar grid, 1 deg with refinement to 1/3 deg within 20 degrees of the equator; 361 x 290 longitude/latitude; 45 vertical levels; top grid cell 0-6.19 m) ocnBgchem: Canadian Model of Ocean Carbon (CMOC); NPZD ecosystem with OMIP prescribed carbonate chemistry seaIce: LIM2
- parent_source_id :
- CanESM5
- external_variables :
- areacello volcello
- contact :
- ec.cccma.info-info.ccmac.ec@canada.ca
- variant_label :
- r9i1p2f1
- activity_id :
- CMIP
- branch_time_in_parent :
- 1496500.0
- variable_id :
- o2
- frequency :
- yr
- institution :
- Canadian Centre for Climate Modelling and Analysis, Environment and Climate Change Canada, Victoria, BC V8P 5C2, Canada
- branch_method :
- Spin-up documentation
- grid_label :
- gn
- product :
- model-output
- intake_esm_dataset_key :
- CMIP.CCCma.CanESM5.historical.Oyr.gn