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.
[1]:
import xarray as xr
xr.set_options(display_style='html')
import intake
%matplotlib inline
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.
[2]:
cat_url = "https://storage.googleapis.com/cmip6/pangeo-cmip6.json"
col = intake.open_esm_datastore(cat_url)
col
/srv/conda/envs/notebook/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3417: 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 4749 dataset(s) from 294376 asset(s):
unique | |
---|---|
activity_id | 15 |
institution_id | 34 |
source_id | 79 |
experiment_id | 107 |
member_id | 213 |
table_id | 30 |
variable_id | 392 |
grid_label | 10 |
zstore | 294376 |
dcpp_init_year | 60 |
version | 529 |
We can now use intake methods to search the collection, and, if desired, export a pandas dataframe.
[3]:
cat = col.search(experiment_id=['historical', 'ssp585'], table_id='Oyr', variable_id='o2',
grid_label='gn')
cat.df
[3]:
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 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
133 | ScenarioMIP | IPSL | IPSL-CM6A-LR | ssp585 | r4i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/IPSL/IPSL-CM6A-LR/ssp58... | NaN | 20191122 |
134 | ScenarioMIP | IPSL | IPSL-CM6A-LR | ssp585 | r6i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/IPSL/IPSL-CM6A-LR/ssp58... | NaN | 20191121 |
135 | ScenarioMIP | MIROC | MIROC-ES2L | ssp585 | r1i1p1f2 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MIROC/MIROC-ES2L/ssp585... | NaN | 20190823 |
136 | ScenarioMIP | MPI-M | MPI-ESM1-2-LR | ssp585 | r10i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MPI-M/MPI-ESM1-2-LR/ssp... | NaN | 20190710 |
137 | ScenarioMIP | MPI-M | MPI-ESM1-2-LR | ssp585 | r1i1p1f1 | Oyr | o2 | gn | gs://cmip6/ScenarioMIP/MPI-M/MPI-ESM1-2-LR/ssp... | NaN | 20190710 |
138 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.
[4]:
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'
[4]:
['ScenarioMIP.MPI-M.MPI-ESM1-2-LR.ssp585.Oyr.gn',
'ScenarioMIP.CCCma.CanESM5-CanOE.ssp585.Oyr.gn',
'CMIP.HAMMOZ-Consortium.MPI-ESM-1-2-HAM.historical.Oyr.gn',
'CMIP.MPI-M.MPI-ESM1-2-LR.historical.Oyr.gn',
'CMIP.CSIRO.ACCESS-ESM1-5.historical.Oyr.gn',
'ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp585.Oyr.gn',
'ScenarioMIP.DWD.MPI-ESM1-2-HR.ssp585.Oyr.gn',
'CMIP.NCC.NorESM2-MM.historical.Oyr.gn',
'ScenarioMIP.MIROC.MIROC-ES2L.ssp585.Oyr.gn',
'CMIP.CCCma.CanESM5-CanOE.historical.Oyr.gn',
'CMIP.MIROC.MIROC-ES2L.historical.Oyr.gn',
'ScenarioMIP.IPSL.IPSL-CM6A-LR.ssp585.Oyr.gn',
'CMIP.NCC.NorESM2-LM.historical.Oyr.gn',
'ScenarioMIP.DKRZ.MPI-ESM1-2-HR.ssp585.Oyr.gn',
'CMIP.CCCma.CanESM5.historical.Oyr.gn',
'ScenarioMIP.CCCma.CanESM5.ssp585.Oyr.gn',
'CMIP.MPI-M.MPI-ESM1-2-HR.historical.Oyr.gn',
'CMIP.IPSL.IPSL-CM6A-LR.historical.Oyr.gn']
[5]:
ds = dset_dict['CMIP.CCCma.CanESM5.historical.Oyr.gn']
ds
[5]:
<xarray.Dataset> Dimensions: (bnds: 2, i: 360, j: 291, lev: 45, member_id: 35, time: 165, vertices: 4) Coordinates: * i (i) int32 0 1 2 3 4 5 6 ... 353 354 355 356 357 358 359 * j (j) int32 0 1 2 3 4 5 6 ... 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.375e+03 5.625e+03 lev_bnds (lev, bnds) float64 dask.array<chunksize=(45, 2), meta=np.ndarray> 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:0... time_bnds (time, bnds) object dask.array<chunksize=(165, 2), meta=np.ndarray> * member_id (member_id) <U9 'r10i1p1f1' 'r10i1p2f1' ... 'r9i1p2f1' Dimensions without coordinates: bnds, vertices Data variables: o2 (member_id, time, lev, j, i) float32 dask.array<chunksize=(1, 12, 45, 291, 360), meta=np.ndarray> vertices_latitude (j, i, vertices) float64 dask.array<chunksize=(291, 360, 4), meta=np.ndarray> vertices_longitude (j, i, vertices) float64 dask.array<chunksize=(291, 360, 4), meta=np.ndarray> Attributes: variant_label: r9i1p2f1 branch_method: Spin-up documentation source: CanESM5 (2019): \naerosol: interactive\natmo... sub_experiment_id: none cmor_version: 3.4.0 institution_id: CCCma experiment: all-forcing simulation of the recent past mip_era: CMIP6 parent_source_id: CanESM5 parent_activity_id: CMIP nominal_resolution: 100 km parent_time_units: days since 1850-01-01 0:0:0.0 source_type: AOGCM branch_time_in_child: 0.0 activity_id: CMIP grid_label: gn experiment_id: historical grid: ORCA1 tripolar grid, 1 deg with refinement t... forcing_index: 1 CCCma_model_hash: Unknown source_id: CanESM5 YMDH_branch_time_in_child: 1850:01:01:00 external_variables: areacello volcello references: Geophysical Model Development Special issue ... CCCma_parent_runid: p2-pictrl realm: ocnBgchem product: model-output institution: Canadian Centre for Climate Modelling and An... table_id: Oyr realization_index: 9 YMDH_branch_time_in_parent: 5950:01:01:00 frequency: yr creation_date: 2019-05-30T08:58:45Z title: CanESM5 output prepared for CMIP6 Conventions: CF-1.7 CMIP-6.2 status: 2019-10-25;created;by nhn2@columbia.edu CCCma_runid: p2-his09 parent_mip_era: CMIP6 data_specs_version: 01.00.29 parent_experiment_id: piControl version: v20190429 license: CMIP6 model data produced by The Government ... variable_id: o2 further_info_url: https://furtherinfo.es-doc.org/CMIP6.CCCma.C... history: 2019-05-02T13:53:53Z ;rewrote data to be con... sub_experiment: none tracking_id: hdl:21.14100/41426118-701c-482b-ae16-82932e4... contact: ec.cccma.info-info.ccmac.ec@canada.ca branch_time_in_parent: 1496500.0 initialization_index: 1 intake_esm_varname: ['o2'] table_info: Creation Date:(20 February 2019) MD5:374fbe5... intake_esm_dataset_key: CMIP.CCCma.CanESM5.historical.Oyr.gn
- bnds: 2
- i: 360
- j: 291
- lev: 45
- member_id: 35
- time: 165
- vertices: 4
- 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])
- lev_bnds(lev, bnds)float64dask.array<chunksize=(45, 2), meta=np.ndarray>
Array Chunk Bytes 720 B 720 B Shape (45, 2) (45, 2) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - 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)
- time_bnds(time, bnds)objectdask.array<chunksize=(165, 2), meta=np.ndarray>
Array Chunk Bytes 2.64 kB 2.64 kB Shape (165, 2) (165, 2) Count 2 Tasks 1 Chunks Type object numpy.ndarray - 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 - vertices_latitude(j, i, vertices)float64dask.array<chunksize=(291, 360, 4), meta=np.ndarray>
- units :
- degrees_north
Array Chunk Bytes 3.35 MB 3.35 MB Shape (291, 360, 4) (291, 360, 4) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vertices_longitude(j, i, vertices)float64dask.array<chunksize=(291, 360, 4), meta=np.ndarray>
- units :
- degrees_east
Array Chunk Bytes 3.35 MB 3.35 MB Shape (291, 360, 4) (291, 360, 4) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray
- variant_label :
- r9i1p2f1
- branch_method :
- Spin-up documentation
- 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
- sub_experiment_id :
- none
- cmor_version :
- 3.4.0
- institution_id :
- CCCma
- experiment :
- all-forcing simulation of the recent past
- mip_era :
- CMIP6
- parent_source_id :
- CanESM5
- parent_activity_id :
- CMIP
- nominal_resolution :
- 100 km
- parent_time_units :
- days since 1850-01-01 0:0:0.0
- source_type :
- AOGCM
- branch_time_in_child :
- 0.0
- activity_id :
- CMIP
- grid_label :
- gn
- experiment_id :
- historical
- 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
- forcing_index :
- 1
- CCCma_model_hash :
- Unknown
- source_id :
- CanESM5
- YMDH_branch_time_in_child :
- 1850:01:01:00
- external_variables :
- areacello volcello
- references :
- Geophysical Model Development Special issue on CanESM5 (https://www.geosci-model-dev.net/special_issues.html)
- CCCma_parent_runid :
- p2-pictrl
- realm :
- ocnBgchem
- product :
- model-output
- institution :
- Canadian Centre for Climate Modelling and Analysis, Environment and Climate Change Canada, Victoria, BC V8P 5C2, Canada
- table_id :
- Oyr
- realization_index :
- 9
- YMDH_branch_time_in_parent :
- 5950:01:01:00
- frequency :
- yr
- creation_date :
- 2019-05-30T08:58:45Z
- title :
- CanESM5 output prepared for CMIP6
- Conventions :
- CF-1.7 CMIP-6.2
- status :
- 2019-10-25;created;by nhn2@columbia.edu
- CCCma_runid :
- p2-his09
- parent_mip_era :
- CMIP6
- data_specs_version :
- 01.00.29
- parent_experiment_id :
- piControl
- version :
- v20190429
- 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.
- variable_id :
- o2
- 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.
- sub_experiment :
- none
- 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
- contact :
- ec.cccma.info-info.ccmac.ec@canada.ca
- branch_time_in_parent :
- 1496500.0
- initialization_index :
- 1
- intake_esm_varname :
- ['o2']
- table_info :
- Creation Date:(20 February 2019) MD5:374fbe5a2bcca535c40f7f23da271e49
- intake_esm_dataset_key :
- CMIP.CCCma.CanESM5.historical.Oyr.gn
[ ]: