Repository: jbusecke/xMIP (language: python)

Issue:
The pangeo-cmip6.json url should be updated
The current implementation points to the old intake_esm/json file here:
   https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json
but really should be updated to:
   https://cmip6.storage.googleapis.com/pangeo-cmip6.json

The current differences are not very important for cmip6_preprocessing, but as we change the way we deal with dataset versions, see this [issue](https://github.com/pangeo-forge/cmip6-pipeline/issues/12), I would like to be able to update the json, if needed. 

Thanks!  (Yes, I know I could do a pull request - but it will be much more quicker (and reliable) if @jbusecke does it!)


Discussion / hints:
😱 Oh my, yes lets fix that pronto. 

Fix patch:
diff --git a/catalogs/glade-cmip6.json b/catalogs/glade-cmip6.json
deleted file mode 100644
index cab18ddd..00000000
--- a/catalogs/glade-cmip6.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
-  "esmcat_version": "0.1.0",
-  "id": "glade-cmip6",
-  "description": "This is an ESM collection for CMIP6 data accessible on the NCAR's GLADE disk storage system in /glade/collections/cmip/CMIP6",
-  "catalog_file": "/glade/collections/cmip/catalog/intake-esm-datastore/catalogs/glade-cmip6.csv.gz",
-  "attributes": [
-    {
-      "column_name": "activity_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_activity_id.json"
-    },
-    {
-      "column_name": "source_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_source_id.json"
-    },
-    {
-      "column_name": "institution_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_institution_id.json"
-    },
-    {
-      "column_name": "experiment_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_experiment_id.json"
-    },
-    { "column_name": "member_id", "vocabulary": "" },
-    {
-      "column_name": "table_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_table_id.json"
-    },
-    { "column_name": "variable_id", "vocabulary": "" },
-    {
-      "column_name": "grid_label",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_grid_label.json"
-    },
-    {
-      "column_name": "version",
-      "vocabulary": ""
-    },
-    {
-      "column_name": "dcpp_start_year",
-      "vocabulary": ""
-    }         
-  ],
-  "assets": {
-    "column_name": "path",
-    "format": "netcdf"
-  },
-  "aggregation_control": {
-    "variable_column_name": "variable_id",
-    "groupby_attrs": [
-      "activity_id",
-      "institution_id",
-      "source_id",
-      "experiment_id",
-      "table_id",
-      "grid_label"
-    ],
-    "aggregations": [
-      {
-        "type": "join_new",
-        "attribute_name": "member_id",
-        "options": { "coords": "minimal", "compat": "override" }
-      },
-    {
-        "type": "join_new",
-        "attribute_name": "dcpp_init_year",
-        "options": { "coords": "minimal", "compat": "override" }
-      },
-      {
-        "type": "join_existing",
-        "attribute_name": "time_range",
-        "options": { "dim": "time" }
-      },
-      {
-        "type": "union",
-        "attribute_name": "variable_id"
-      }
-    ]
-  }
-}
diff --git a/catalogs/pangeo-cmip6.json b/catalogs/pangeo-cmip6.json
deleted file mode 100644
index 7a81a9bf..00000000
--- a/catalogs/pangeo-cmip6.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
-  "esmcat_version": "0.1.0",
-  "id": "pangeo-cmip6",
-  "description": "This is an ESM collection for CMIP6 Zarr data residing in Pangeo's Google Storage.",
-  "catalog_file": "https://storage.googleapis.com/cmip6/cmip6-zarr-consolidated-stores.csv",
-  "attributes": [
-    {
-      "column_name": "activity_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_activity_id.json"
-    },
-    {
-      "column_name": "source_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_source_id.json"
-    },
-    {
-      "column_name": "institution_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_institution_id.json"
-    },
-    {
-      "column_name": "experiment_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_experiment_id.json"
-    },
-    { "column_name": "member_id", "vocabulary": "" },
-    {
-      "column_name": "table_id",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_table_id.json"
-    },
-    { "column_name": "variable_id", "vocabulary": "" },
-    {
-      "column_name": "grid_label",
-      "vocabulary": "https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_grid_label.json"
-    }
-  ],
-  "assets": {
-    "column_name": "zstore",
-    "format": "zarr"
-  },
-  "aggregation_control": {
-    "variable_column_name": "variable_id",
-    "groupby_attrs": [
-      "activity_id",
-      "institution_id",
-      "source_id",
-      "experiment_id",
-      "table_id",
-      "grid_label"
-    ],
-    "aggregations": [
-      {
-        "type": "join_new",
-        "attribute_name": "member_id",
-        "options": { "coords": "minimal", "compat": "override" }
-      },
-      {
-        "type": "union",
-        "attribute_name": "variable_id"
-      }
-    ]
-  }
-}
diff --git a/ci/environment-py3.7.yml b/ci/environment-py3.7.yml
index bd27ca67..25371b79 100644
--- a/ci/environment-py3.7.yml
+++ b/ci/environment-py3.7.yml
@@ -8,6 +8,7 @@ dependencies:
   - pandas
   - zarr
   - xgcm
+  - intake-esm
   - pyproj
   - matplotlib
   - regionmask # this will fail until the current version is released on conda
diff --git a/cmip6_preprocessing/utils.py b/cmip6_preprocessing/utils.py
new file mode 100644
index 00000000..c72303db
--- /dev/null
+++ b/cmip6_preprocessing/utils.py
@@ -0,0 +1,8 @@
+import intake
+
+
+def google_cmip_col():
+    """A tiny utility function to point to the 'official' pangeo cmip6 cloud files."""
+    return intake.open_esm_datastore(
+        "https://cmip6.storage.googleapis.com/pangeo-cmip6.json"
+    )
diff --git a/doc/whats-new.rst b/doc/whats-new.rst
index 6338ae92..291992ac 100644
--- a/doc/whats-new.rst
+++ b/doc/whats-new.rst
@@ -26,6 +26,8 @@ New Features
 
 Bug fixes
 ~~~~~~~~~
+- Updated cmip6 catalog location for the pangeo gc archive (:issue:`80`) (:pull:`81`)
+By `Julius Busecke <https://github.com/jbusecke>`_
 
 
 Documentation
diff --git a/notebooks/maintenance_grids.ipynb b/notebooks/maintenance_grids.ipynb
index eb447e76..1aba6adb 100644
--- a/notebooks/maintenance_grids.ipynb
+++ b/notebooks/maintenance_grids.ipynb
@@ -29,14 +29,26 @@
    "metadata": {},
    "outputs": [
     {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/intake/source/discovery.py:136: FutureWarning: The drivers ['geojson', 'postgis', 'shapefile', 'spatialite'] do not specify entry_points and were only discovered via a package scan. This may break in a future release of intake. The packages should be updated.\n",
-      "  FutureWarning)\n"
-     ]
+     "data": {
+      "text/plain": [
+       "'earthcube_commit+188.gf918540.dirty'"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
+   "source": [
+    "import cmip6_preprocessing\n",
+    "cmip6_preprocessing.__version__"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "%load_ext autoreload\n",
     "%autoreload 2\n",
@@ -49,33 +61,204 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "<ipython-input-8-ddf6b9ba7c8c>:5: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.\n",
+      "  col = google_cmip_col()\n"
+     ]
+    }
+   ],
+   "source": [
+    "# url = \"https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json\"\n",
+    "# col = intake.open_esm_datastore(url)\n",
+    "\n",
+    "from cmip6_preprocessing.utils import google_cmip_col\n",
+    "col = google_cmip_col()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<p><strong>pangeo-cmip6 catalog with 6637 dataset(s) from 410094 asset(s)</strong>:</p> <div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>unique</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>activity_id</th>\n",
+       "      <td>17</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>institution_id</th>\n",
+       "      <td>35</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>source_id</th>\n",
+       "      <td>84</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>experiment_id</th>\n",
+       "      <td>160</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>member_id</th>\n",
+       "      <td>549</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>table_id</th>\n",
+       "      <td>37</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>variable_id</th>\n",
+       "      <td>707</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>grid_label</th>\n",
+       "      <td>10</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>zstore</th>\n",
+       "      <td>410094</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>dcpp_init_year</th>\n",
+       "      <td>60</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>version</th>\n",
+       "      <td>808</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "col"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "<ipython-input-10-64c6a66bc5eb>:34: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.\n",
+      "  _, all_models = available_output()\n"
+     ]
+    },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Did not find tracer data for these models:{'UKESM1-0-LL.gm', 'HadGEM3-GC31-LL.gnz', 'HadGEM3-GC31-MM.gm', 'NorESM1-F.gr', 'HadGEM3-GC31-LL.gm', 'NorESM2-LM.gm', 'NorESM2-MM.gm', 'IPSL-CM6A-LR.gr', 'NorCPM1.grz', 'NorCPM1.gm', 'MRI-ESM2-0.gr2z', 'NorESM2-LM.grz', 'NorESM2-MM.grz', 'UKESM1-0-LL.gnz', 'MRI-ESM2-0.gm', 'MIROC6.gm', 'EC-Earth3-Veg.gr', 'MRI-ESM2-0.gnz'}\n",
-      "\n",
-      "Did not find u data for these models:{'UKESM1-0-LL.gm', 'HadGEM3-GC31-LL.gnz', 'HadGEM3-GC31-MM.gm', 'NorESM1-F.gr', 'FGOALS-g3.gn', 'IITM-ESM.gn', 'CNRM-CM6-1.gr1', 'CESM1-1-CAM5-CMIP5.gn', 'HadGEM3-GC31-LL.gm', 'NorESM2-LM.gm', 'EC-Earth3.gr', 'KACE-1-0-G.gr', 'GISS-E2-1-H.gn', 'NorESM2-MM.gm', 'NorCPM1.gn', 'CESM2.gr', 'CESM1-1-CAM5-CMIP5.gr', 'IPSL-CM6A-LR.gr', 'EC-Earth3-Veg-LR.gn', 'NorCPM1.grz', 'CESM2-WACCM.gr', 'GFDL-OM4p5B.gn', 'NorCPM1.gm', 'GFDL-CM4.gr', 'MRI-ESM2-0.gr2z', 'NorESM2-LM.grz', 'CAS-ESM2-0.gn', 'NorESM2-MM.grz', 'CESM2-WACCM-FV2.gr', 'GFDL-OM4p5B.gr', 'CESM2-FV2.gr', 'UKESM1-0-LL.gnz', 'AWI-ESM-1-1-LR.gn', 'CNRM-ESM2-1.gr1', 'MRI-ESM2-0.gm', 'MIROC6.gm', 'NorESM1-F.gn', 'GFDL-ESM4.gn', 'MRI-ESM2-0.gr', 'GFDL-ESM4.gr', 'EC-Earth3-Veg.gr', 'MRI-ESM2-0.gnz'}\n",
-      "\n",
-      "Did not find v data for these models:{'UKESM1-0-LL.gm', 'HadGEM3-GC31-LL.gnz', 'HadGEM3-GC31-MM.gm', 'NorESM1-F.gr', 'FGOALS-g3.gn', 'IITM-ESM.gn', 'CNRM-CM6-1.gr1', 'CESM1-1-CAM5-CMIP5.gn', 'HadGEM3-GC31-LL.gm', 'NorESM2-LM.gm', 'EC-Earth3.gr', 'KACE-1-0-G.gr', 'GISS-E2-1-H.gn', 'NorESM2-MM.gm', 'NorCPM1.gn', 'CESM2.gr', 'CESM1-1-CAM5-CMIP5.gr', 'IPSL-CM6A-LR.gr', 'EC-Earth3-Veg-LR.gn', 'NorCPM1.grz', 'CESM2-WACCM.gr', 'GFDL-OM4p5B.gn', 'NorCPM1.gm', 'GFDL-CM4.gr', 'MRI-ESM2-0.gr2z', 'NorESM2-LM.grz', 'CAS-ESM2-0.gn', 'NorESM2-MM.grz', 'CESM2-WACCM-FV2.gr', 'GFDL-OM4p5B.gr', 'CESM2-FV2.gr', 'UKESM1-0-LL.gnz', 'AWI-ESM-1-1-LR.gn', 'CNRM-ESM2-1.gr1', 'MRI-ESM2-0.gm', 'MIROC6.gm', 'NorESM1-F.gn', 'GFDL-ESM4.gn', 'MRI-ESM2-0.gr', 'GFDL-ESM4.gr', 'EC-Earth3-Veg.gr', 'MRI-ESM2-0.gnz'}\n",
+      "<pangeo-cmip6 catalog with 1161 dataset(s) from 97437 asset(s)>\n",
+      "103\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "<ipython-input-10-64c6a66bc5eb>:37: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.\n",
+      "  cat_tracer, tracer_models = available_output(['tos', 'thetao'])\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<pangeo-cmip6 catalog with 659 dataset(s) from 10852 asset(s)>\n",
+      "Did not find tracer data for these models:{'IPSL-CM6A-LR-INCA.gn', 'NorESM2-MM.grz', 'IPSL-CM6A-LR.gr', 'MRI-ESM2-0.gr2z', 'UKESM1-0-LL.gnz', 'HadGEM3-GC31-MM.gm', 'NorESM1-F.gr', 'MRI-ESM2-0.gm', 'NorCPM1.grz', 'UKESM1-0-LL.gm', 'NorESM2-LM.gm', 'MIROC6.gr', 'MRI-ESM2-0.gnz', 'EC-Earth3-CC.gn', 'MIROC6.gm', 'HadGEM3-GC31-LL.gm', 'HadGEM3-GC31-LL.gnz', 'NorESM2-LM.grz', 'NorCPM1.gm', 'IPSL-CM5A2-INCA.gn', 'NorESM2-MM.gm'}\n",
+      "\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "<ipython-input-10-64c6a66bc5eb>:41: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.\n",
+      "  cat_u, u_models = available_output(['uo'])\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<pangeo-cmip6 catalog with 365 dataset(s) from 1312 asset(s)>\n",
+      "Did not find u data for these models:{'CNRM-CM6-1.gr1', 'IPSL-CM6A-LR-INCA.gn', 'NorESM2-MM.grz', 'IPSL-CM6A-LR.gr', 'MRI-ESM2-0.gr2z', 'UKESM1-0-LL.gnz', 'CNRM-ESM2-1.gr1', 'CESM2-WACCM.gr', 'HadGEM3-GC31-MM.gm', 'NorCPM1.gn', 'NorESM1-F.gr', 'GFDL-ESM4.gn', 'MRI-ESM2-0.gm', 'CESM2.gr', 'EC-Earth3-Veg-LR.gn', 'CAS-ESM2-0.gn', 'MRI-ESM2-0.gn', 'EC-Earth3-Veg.gr', 'GFDL-OM4p5B.gn', 'NorCPM1.grz', 'EC-Earth3.gr', 'UKESM1-0-LL.gm', 'GFDL-OM4p5B.gr', 'GFDL-CM4.gr', 'EC-Earth3-AerChem.gn', 'NorESM2-LM.gm', 'MIROC6.gr', 'MRI-ESM2-0.gnz', 'CESM2-WACCM-FV2.gr', 'EC-Earth3-CC.gn', 'MIROC6.gm', 'GFDL-ESM4.gr', 'CESM2-FV2.gr', 'KACE-1-0-G.gr', 'HadGEM3-GC31-LL.gm', 'HadGEM3-GC31-LL.gnz', 'NorESM2-LM.grz', 'NorESM1-F.gn', 'CMCC-CM2-HR4.gn', 'GFDL-ESM2M.gn', 'CESM1-1-CAM5-CMIP5.gn', 'NorCPM1.gm', 'GISS-E2-1-H.gn', 'MRI-ESM2-0.gr', 'CMCC-ESM2.gn', 'IPSL-CM5A2-INCA.gn', 'NorESM2-MM.gm', 'CESM1-1-CAM5-CMIP5.gr', 'KIOST-ESM.gr1'}\n",
+      "\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "<ipython-input-10-64c6a66bc5eb>:45: DtypeWarning: Columns (10) have mixed types.Specify dtype option on import or set low_memory=False.\n",
+      "  cat_v, v_models = available_output(['vo'])\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<pangeo-cmip6 catalog with 375 dataset(s) from 1316 asset(s)>\n",
+      "Did not find v data for these models:{'CNRM-CM6-1.gr1', 'IPSL-CM6A-LR-INCA.gn', 'NorESM2-MM.grz', 'IPSL-CM6A-LR.gr', 'MRI-ESM2-0.gr2z', 'UKESM1-0-LL.gnz', 'CNRM-ESM2-1.gr1', 'CESM2-WACCM.gr', 'HadGEM3-GC31-MM.gm', 'NorCPM1.gn', 'NorESM1-F.gr', 'GFDL-ESM4.gn', 'MRI-ESM2-0.gm', 'CESM2.gr', 'CAS-ESM2-0.gn', 'MRI-ESM2-0.gn', 'EC-Earth3-Veg.gr', 'GFDL-OM4p5B.gn', 'NorCPM1.grz', 'EC-Earth3.gr', 'UKESM1-0-LL.gm', 'GFDL-OM4p5B.gr', 'GFDL-CM4.gr', 'NorESM2-LM.gm', 'MIROC6.gr', 'MRI-ESM2-0.gnz', 'CESM2-WACCM-FV2.gr', 'EC-Earth3-CC.gn', 'MIROC6.gm', 'GFDL-ESM4.gr', 'CESM2-FV2.gr', 'KACE-1-0-G.gr', 'HadGEM3-GC31-LL.gm', 'HadGEM3-GC31-LL.gnz', 'NorESM2-LM.grz', 'NorESM1-F.gn', 'CMCC-CM2-HR4.gn', 'GFDL-ESM2M.gn', 'CESM1-1-CAM5-CMIP5.gn', 'NorCPM1.gm', 'GISS-E2-1-H.gn', 'MRI-ESM2-0.gr', 'CMCC-ESM2.gn', 'IPSL-CM5A2-INCA.gn', 'NorESM2-MM.gm', 'CESM1-1-CAM5-CMIP5.gr', 'KIOST-ESM.gr1'}\n",
       "\n",
-      "Any models that have only u or v:set()\n"
+      "Any models that have only u or v:{'EC-Earth3-AerChem.gn', 'EC-Earth3-Veg-LR.gn'}\n"
      ]
     }
    ],
    "source": [
     "# Grab all available ocean output.\n",
-    "\n",
-    "\n",
     "def available_output(variables=None):\n",
     "    \"\"\"Show which source_id/grid_label combos have any data, and return a df that picks only one dataset for each combo\"\"\"\n",
     "    url = \"https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json\"\n",
     "    col = intake.open_esm_datastore(url)\n",
-    "    query = dict(table_id=['Omon', 'Oyr'], variable_id=variables) # pick all available ocean fields for now\n",
+    "    query = dict(table_id=['Omon', 'Oyr'])\n",
+    "    if variables is not None:\n",
+    "        query['variable_id'] = variables\n",
+    "        \n",
+    "    \n",
+    "    # pick all available ocean fields for now\n",
     "    cat = col.search(**query)\n",
+    "    print(cat)\n",
     "    \n",
     "    available = []\n",
     "    dataframes = []\n",
@@ -97,8 +280,7 @@
     "    return cat, available\n",
     "\n",
     "_, all_models = available_output()\n",
-    "    \n",
-    "# print(len(all_models))\n",
+    "print(len(all_models))\n",
     "\n",
     "cat_tracer, tracer_models = available_output(['tos', 'thetao'])\n",
     "missing_tracer_models = set(tracer_models).symmetric_difference(set(all_models))\n",
@@ -117,138 +299,1362 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2-WACCM: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2-WACCM-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/home/jovyan/cmip6_preprocessing/cmip6_preprocessing/preprocessing.py:254: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
+      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "MIROC-ES2L: No units found\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "MIROC-ES2L: No units found\n",
+      "MIROC6: No units found\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0\n",
-      "1\n",
-      "2\n",
-      "3\n",
-      "4\n",
-      "5\n",
-      "6\n",
-      "7\n",
-      "8\n",
-      "9\n",
-      "10\n",
       "CESM2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "11\n",
-      "12\n"
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "13\n",
-      "14\n",
       "CESM2-WACCM: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "15\n",
-      "16\n",
-      "17\n",
-      "18\n",
-      "19\n",
-      "20\n",
-      "21\n",
-      "22\n",
-      "23\n",
-      "24\n",
-      "25\n",
-      "26\n",
-      "27\n",
-      "28\n",
-      "29\n",
-      "30\n",
-      "31\n",
-      "32\n",
-      "33\n",
-      "34\n"
+      "\t Converted to `m`\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "CESM2-WACCM-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/cmip6_preprocessing/preprocessing.py:253: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
-      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/home/jovyan/cmip6_preprocessing/cmip6_preprocessing/preprocessing.py:254: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
+      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "MIROC-ES2L: No units found\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "35\n",
-      "36\n",
-      "37\n",
-      "38\n",
-      "39\n",
-      "40\n",
-      "41\n",
-      "42\n",
-      "43\n",
-      "44\n",
-      "45\n",
-      "46\n",
-      "47\n",
-      "48\n",
-      "49\n",
-      "50\n",
-      "51\n",
-      "52\n",
-      "53\n",
-      "54\n",
-      "55\n",
-      "56\n",
       "MIROC-ES2L: No units found\n",
-      "57\n",
-      "MIROC6: No units found\n",
-      "58\n",
-      "59\n",
-      "60\n",
-      "61\n",
-      "62\n",
-      "63\n",
-      "64\n",
-      "65\n",
-      "66\n",
-      "67\n",
-      "68\n",
-      "69\n",
-      "70\n",
-      "71\n",
-      "72\n",
-      "73\n",
-      "0\n",
-      "1\n",
-      "2\n",
-      "3\n",
-      "4\n",
-      "5\n",
-      "6\n",
+      "MIROC6: No units found\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/home/jovyan/cmip6_preprocessing/cmip6_preprocessing/preprocessing.py:273: UserWarning: Found time as dimension in `lon_bounds`. Assuming this is an error and just picking the first step along that dimension.\n",
+      "  warnings.warn(\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
       "CESM2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "7\n",
-      "CESM2-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
       "\t Converted to `m`\n"
      ]
     },
@@ -256,107 +1662,95 @@
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "8\n",
-      "CESM2-WACCM: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "9\n",
-      "CESM2-WACCM-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "10\n",
-      "11\n",
-      "12\n",
-      "13\n",
-      "14\n",
-      "15\n",
-      "16\n",
-      "17\n",
-      "18\n",
-      "19\n",
-      "20\n",
-      "21\n",
-      "22\n"
+      "CESM2-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/cmip6_preprocessing/preprocessing.py:253: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
-      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "23\n",
-      "24\n",
-      "25\n",
-      "26\n",
-      "27\n",
-      "28\n",
-      "29\n",
-      "30\n",
-      "31\n",
-      "32\n",
-      "33\n",
-      "34\n",
-      "35\n",
-      "MIROC-ES2L: No units found\n",
-      "36\n",
-      "MIROC6: No units found\n",
-      "37\n",
-      "38\n",
-      "39\n",
-      "40\n",
-      "41\n",
-      "42\n",
-      "43\n",
-      "44\n",
-      "45\n",
-      "46\n",
-      "47\n"
+      "CESM2-WACCM: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "\t Converted to `m`\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/cmip6_preprocessing/preprocessing.py:273: UserWarning: Found time as dimension in `lon_bounds`. Assuming this is an error and just picking the first step along that dimension.\n",
-      "  f\"Found {ed} as dimension in `{co}`. Assuming this is an error and just picking the first step along that dimension.\"\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "48\n",
-      "49\n",
-      "0\n",
-      "1\n",
-      "2\n",
-      "3\n",
-      "4\n",
-      "5\n",
-      "6\n",
-      "CESM2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "7\n",
-      "CESM2-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
+      "CESM2-WACCM-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
       "\t Converted to `m`\n"
      ]
     },
@@ -364,96 +1758,505 @@
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/home/jovyan/cmip6_preprocessing/cmip6_preprocessing/preprocessing.py:254: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
+      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "8\n",
-      "CESM2-WACCM: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "9\n",
-      "CESM2-WACCM-FV2: Unexpected unit (centimeters) for coordinate `lev` detected.\n",
-      "\t Converted to `m`\n",
-      "10\n",
-      "11\n",
-      "12\n",
-      "13\n",
-      "14\n",
-      "15\n",
-      "16\n",
-      "17\n",
-      "18\n",
-      "19\n",
-      "20\n",
-      "21\n",
-      "22\n"
+      "MIROC-ES2L: No units found\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/cmip6_preprocessing/preprocessing.py:253: UserWarning: `FGOALS-f3-L` does not provide lon or lat bounds.\n",
-      "  warnings.warn(\"`FGOALS-f3-L` does not provide lon or lat bounds.\")\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "23\n",
-      "24\n",
-      "25\n",
-      "26\n",
-      "27\n",
-      "28\n",
-      "29\n",
-      "30\n",
-      "31\n",
-      "32\n",
-      "33\n",
-      "34\n",
-      "35\n",
       "MIROC-ES2L: No units found\n",
-      "36\n",
-      "MIROC6: No units found\n",
-      "37\n",
-      "38\n",
-      "39\n",
-      "40\n",
-      "41\n",
-      "42\n",
-      "43\n",
-      "44\n",
-      "45\n",
-      "46\n",
-      "47\n"
+      "MIROC6: No units found\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/cmip6_preprocessing/preprocessing.py:273: UserWarning: Found time as dimension in `lon_bounds`. Assuming this is an error and just picking the first step along that dimension.\n",
-      "  f\"Found {ed} as dimension in `{co}`. Assuming this is an error and just picking the first step along that dimension.\"\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "48\n",
-      "49\n"
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/home/jovyan/cmip6_preprocessing/cmip6_preprocessing/preprocessing.py:273: UserWarning: Found time as dimension in `lon_bounds`. Assuming this is an error and just picking the first step along that dimension.\n",
+      "  warnings.warn(\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n",
+      "/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/indexing.py:1369: PerformanceWarning: Slicing is producing a large chunk. To accept the large\n",
+      "chunk and silence this warning, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):\n",
+      "    ...     array[indexer]\n",
+      "\n",
+      "To avoid creating the large chunks, set the option\n",
+      "    >>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):\n",
+      "    ...     array[indexer]\n",
+      "  return self.array[key]\n"
      ]
     }
    ],
@@ -473,7 +2276,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -494,35 +2297,7 @@
       "############### CESM2.gn #######################\n",
       "############### CESM2.gr #######################\n",
       "ATTENTION: Setting shift to left for CESM2.gr, since there is no velocity data\n",
-      "############### CESM2-FV2.gn #######################\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n",
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/dask/core.py:119: RuntimeWarning: invalid value encountered in greater\n",
-      "  return func(*args2)\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
+      "############### CESM2-FV2.gn #######################\n",
       "############### CESM2-FV2.gr #######################\n",
       "ATTENTION: Setting shift to left for CESM2-FV2.gr, since there is no velocity data\n",
       "############### CESM2-WACCM.gn #######################\n",
@@ -532,6 +2307,18 @@
       "############### CESM2-WACCM-FV2.gr #######################\n",
       "ATTENTION: Setting shift to left for CESM2-WACCM-FV2.gr, since there is no velocity data\n",
       "############### CIESM.gn #######################\n",
+      "############### CMCC-CM2-HR4.gn #######################\n",
+      "ATTENTION: Setting shift to left for CMCC-CM2-HR4.gn, since there is no velocity data\n",
+      "############### CMCC-CM2-SR5.gn #######################\n",
+      "SCHEISSE X\n",
+      "x\n",
+      "right\n",
+      "left\n",
+      "y\n",
+      "center\n",
+      "right\n",
+      "############### CMCC-ESM2.gn #######################\n",
+      "ATTENTION: Setting shift to left for CMCC-ESM2.gn, since there is no velocity data\n",
       "############### CNRM-CM6-1.gn #######################\n",
       "############### CNRM-CM6-1.gr1 #######################\n",
       "ATTENTION: Setting shift to left for CNRM-CM6-1.gr1, since there is no velocity data\n",
@@ -547,17 +2334,22 @@
       "############### EC-Earth3.gn #######################\n",
       "############### EC-Earth3.gr #######################\n",
       "ATTENTION: Setting shift to left for EC-Earth3.gr, since there is no velocity data\n",
+      "############### EC-Earth3-AerChem.gn #######################\n",
+      "ATTENTION: Setting shift to left for EC-Earth3-AerChem.gn, since there is no velocity data\n",
       "############### EC-Earth3-LR.gn #######################\n",
       "############### EC-Earth3-Veg.gn #######################\n",
+      "############### EC-Earth3-Veg.gr #######################\n",
+      "ATTENTION: Setting shift to left for EC-Earth3-Veg.gr, since there is no velocity data\n",
       "############### EC-Earth3-Veg-LR.gn #######################\n",
       "ATTENTION: Setting shift to left for EC-Earth3-Veg-LR.gn, since there is no velocity data\n",
       "############### FGOALS-f3-L.gn #######################\n",
       "############### FGOALS-g3.gn #######################\n",
-      "ATTENTION: Setting shift to left for FGOALS-g3.gn, since there is no velocity data\n",
       "############### FIO-ESM-2-0.gn #######################\n",
       "############### GFDL-CM4.gn #######################\n",
       "############### GFDL-CM4.gr #######################\n",
       "ATTENTION: Setting shift to left for GFDL-CM4.gr, since there is no velocity data\n",
+      "############### GFDL-ESM2M.gn #######################\n",
+      "ATTENTION: Setting shift to left for GFDL-ESM2M.gn, since there is no velocity data\n",
       "############### GFDL-ESM4.gn #######################\n",
       "ATTENTION: Setting shift to left for GFDL-ESM4.gn, since there is no velocity data\n",
       "############### GFDL-ESM4.gr #######################\n",
@@ -575,23 +2367,36 @@
       "############### HadGEM3-GC31-LL.gn #######################\n",
       "############### HadGEM3-GC31-MM.gn #######################\n",
       "############### IITM-ESM.gn #######################\n",
-      "ATTENTION: Setting shift to left for IITM-ESM.gn, since there is no velocity data\n",
       "############### INM-CM4-8.gr1 #######################\n",
       "############### INM-CM5-0.gr1 #######################\n",
       "############### IPSL-CM6A-LR.gn #######################\n",
       "############### KACE-1-0-G.gr #######################\n",
       "ATTENTION: Setting shift to left for KACE-1-0-G.gr, since there is no velocity data\n",
+      "############### KIOST-ESM.gr1 #######################\n",
+      "ATTENTION: Setting shift to left for KIOST-ESM.gr1, since there is no velocity data\n",
       "############### MCM-UA-1-0.gn #######################\n",
       "############### MIROC-ES2L.gn #######################\n",
+      "############### MIROC-ES2L.gr1 #######################\n",
       "############### MIROC6.gn #######################\n",
       "############### MPI-ESM-1-2-HAM.gn #######################\n",
-      "{'right', 'left'}\n",
-      "SCHEISSE\n",
+      "SCHEISSE Y\n",
+      "u\n",
+      "left\n",
+      "right\n",
+      "v\n",
+      "left\n",
+      "left\n",
       "############### MPI-ESM1-2-HR.gn #######################\n",
       "############### MPI-ESM1-2-LR.gn #######################\n",
-      "{'right', 'left'}\n",
-      "SCHEISSE\n",
+      "SCHEISSE Y\n",
+      "u\n",
+      "left\n",
+      "right\n",
+      "v\n",
+      "left\n",
+      "left\n",
       "############### MRI-ESM2-0.gn #######################\n",
+      "ATTENTION: Setting shift to left for MRI-ESM2-0.gn, since there is no velocity data\n",
       "############### MRI-ESM2-0.gr #######################\n",
       "ATTENTION: Setting shift to left for MRI-ESM2-0.gr, since there is no velocity data\n",
       "############### NESM3.gn #######################\n",
@@ -633,6 +2438,8 @@
     "\n",
     "                x_shift_v = detect_shift(ds_ref, ds_v, 'X')\n",
     "                y_shift_v = detect_shift(ds_ref, ds_v, 'Y')\n",
+    "                \n",
+    "                \n",
     "\n",
     "                # check that there is only one left after removing 'center'\n",
     "                x_shift = set([x_shift_u, x_shift_v]) - set(['center'])\n",
@@ -644,8 +2451,13 @@
     "                elif len(x_shift) == 1:\n",
     "                    x_shift = list(x_shift)[0]\n",
     "                else:\n",
-    "                    print(x_shift)\n",
-    "                    print('SCHEISSE')\n",
+    "                    print('SCHEISSE X')\n",
+    "                    print('x')\n",
+    "                    print(x_shift_u)\n",
+    "                    print(x_shift_v)\n",
+    "                    print('y')\n",
+    "                    print(y_shift_u)\n",
+    "                    print(y_shift_v)\n",
     "                    x_shift=None\n",
     "\n",
     "                if len(y_shift) == 0:\n",
@@ -653,8 +2465,13 @@
     "                elif len(y_shift) == 1:\n",
     "                    y_shift = list(y_shift)[0]\n",
     "                else:\n",
-    "                    print(y_shift)\n",
-    "                    print('SCHEISSE')\n",
+    "                    print('SCHEISSE Y')\n",
+    "                    print('u')\n",
+    "                    print(x_shift_u)\n",
+    "                    print(y_shift_u)\n",
+    "                    print('v')\n",
+    "                    print(x_shift_v)\n",
+    "                    print(y_shift_v)\n",
     "                    y_shift = None\n",
     "        else:\n",
     "            print(f\"ATTENTION: Setting shift to left for {k}, since there is no velocity data\")\n",
@@ -676,7 +2493,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -688,15 +2505,15 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Keys in the old grid, which are not in the new one set()\n",
-      "Newly added models {'GFDL-ESM4', 'INM-CM5-0', 'CESM1-1-CAM5-CMIP5', 'NorCPM1', 'INM-CM4-8', 'FGOALS-g3', 'KACE-1-0-G', 'E3SM-1-1-ECA', 'E3SM-1-1', 'GFDL-OM4p5B', 'GISS-E2-1-H', 'CAS-ESM2-0', 'IITM-ESM', 'E3SM-1-0', 'EC-Earth3-Veg-LR', 'NorESM1-F'}\n"
+      "Keys in the old grid, which are not in the new one {'MPI-ESM1-2-LR'}\n",
+      "Newly added models {'EC-Earth3-AerChem', 'CMCC-CM2-HR4', 'CMCC-ESM2', 'KIOST-ESM', 'GFDL-ESM2M'}\n"
      ]
     }
    ],
@@ -709,7 +2526,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
@@ -719,7 +2536,7 @@
        " 'gr': {'axis_shift': {'X': 'left', 'Y': 'left'}}}"
       ]
      },
-     "execution_count": 32,
+     "execution_count": 17,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -730,235 +2547,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
     "with open('test.yaml', 'w') as file:\n",
     "    documents = yaml.dump(staggered_grid_dict, file)"
    ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Simple example for issue"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "\n",
-    "# # Test PR from anderson\n",
-    "# ! pip install git+https://github.com/NCAR/intake-esm.git@refs/pull/247/head   "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/srv/conda/envs/notebook/lib/python3.7/site-packages/intake/source/discovery.py:136: FutureWarning: The drivers ['geojson', 'postgis', 'shapefile', 'spatialite'] do not specify entry_points and were only discovered via a package scan. This may break in a future release of intake. The packages should be updated.\n",
-      "  FutureWarning)\n"
-     ]
-    }
-   ],
-   "source": [
-    "import intake_esm"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'2020.5.21.post4'"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "intake_esm.__version__"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import intake\n",
-    "import pandas as pd\n",
-    "url = \"https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json\"\n",
-    "col = intake.open_esm_datastore(url)\n",
-    "\n",
-    "cat = col.search(table_id=['Omon', 'Oyr'])\n",
-    "\n",
-    "# now modify the dataframe manually\n",
-    "cat.df = cat.df.iloc[0:3, :]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "<p><strong>pangeo-cmip6 catalog with 1 dataset(s) from 3 asset(s)</strong>:</p> <div>\n",
-       "<style scoped>\n",
-       "    .dataframe tbody tr th:only-of-type {\n",
-       "        vertical-align: middle;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe tbody tr th {\n",
-       "        vertical-align: top;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe thead th {\n",
-       "        text-align: right;\n",
-       "    }\n",
-       "</style>\n",
-       "<table border=\"1\" class=\"dataframe\">\n",
-       "  <thead>\n",
-       "    <tr style=\"text-align: right;\">\n",
-       "      <th></th>\n",
-       "      <th>unique</th>\n",
-       "    </tr>\n",
-       "  </thead>\n",
-       "  <tbody>\n",
-       "    <tr>\n",
-       "      <th>activity_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>institution_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>source_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>experiment_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>member_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>table_id</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>variable_id</th>\n",
-       "      <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>grid_label</th>\n",
-       "      <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>zstore</th>\n",
-       "      <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>dcpp_init_year</th>\n",
-       "      <td>0</td>\n",
-       "    </tr>\n",
-       "  </tbody>\n",
-       "</table>\n",
-       "</div>"
-      ],
-      "text/plain": [
-       "<pangeo-cmip6 catalog with 1 dataset(s) from 3 asset(s)>"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "cat"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\n",
-      "--> The keys in the returned dictionary of datasets are constructed as follows:\n",
-      "\t'activity_id.institution_id.source_id.experiment_id.table_id.grid_label'\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "\n",
-       "    <div>\n",
-       "        <style>\n",
-       "            /* Turns off some styling */\n",
-       "            progress {\n",
-       "                /* gets rid of default border in Firefox and Opera. */\n",
-       "                border: none;\n",
-       "                /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
-       "                background-size: auto;\n",
-       "            }\n",
-       "            .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
-       "                background: #F44336;\n",
-       "            }\n",
-       "        </style>\n",
-       "      <progress value='1' class='' max='1' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
-       "      100.00% [1/1 00:00<00:00]\n",
-       "    </div>\n",
-       "    "
-      ],
-      "text/plain": [
-       "<IPython.core.display.HTML object>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "ddict = cat.to_dataset_dict()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
@@ -977,7 +2572,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.3"
+   "version": "3.8.6"
   }
  },
  "nbformat": 4,


Test patch:
diff --git a/cmip6_preprocessing/tests/cloud_test_utils.py b/cmip6_preprocessing/tests/cloud_test_utils.py
index df5f618f..fb4469fe 100644
--- a/cmip6_preprocessing/tests/cloud_test_utils.py
+++ b/cmip6_preprocessing/tests/cloud_test_utils.py
@@ -2,20 +2,14 @@
 import contextlib
 import xarray as xr
 import numpy as np
-import intake
 import fsspec
 from cmip6_preprocessing.preprocessing import combined_preprocessing
 from cmip6_preprocessing.grids import combine_staggered_grid
+from cmip6_preprocessing.utils import google_cmip_col
 
 pytest.importorskip("gcsfs")
 
 
-def col():
-    return intake.open_esm_datastore(
-        "https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json"
-    )
-
-
 def diagnose_doubles(data):
     """displays non-unique entries in data"""
     _, idx = np.unique(data, return_index=True)
@@ -33,7 +27,7 @@ def data(source_id, variable_id, experiment_id, grid_label, use_intake_esm):
         # "use_cftime": True,
     }
 
-    cat = col().search(
+    cat = google_cmip_col().search(
         source_id=source_id,
         experiment_id=experiment_id,
         variable_id=variable_id,
@@ -67,7 +61,7 @@ def data(source_id, variable_id, experiment_id, grid_label, use_intake_esm):
 
 
 def all_models():
-    df = col().df
+    df = google_cmip_col().df
     all_models = df["source_id"].unique()
     all_models = tuple(np.sort(all_models))
     return all_models
diff --git a/cmip6_preprocessing/tests/test_utils.py b/cmip6_preprocessing/tests/test_utils.py
new file mode 100644
index 00000000..12a0e5ab
--- /dev/null
+++ b/cmip6_preprocessing/tests/test_utils.py
@@ -0,0 +1,9 @@
+import pytest
+
+pytest.importorskip("intake")
+from cmip6_preprocessing.utils import google_cmip_col
+
+
+def test_google_cmip_col():
+    col = google_cmip_col()
+    assert col.catalog_file == "https://storage.googleapis.com/cmip6/pangeo-cmip6.csv"
diff --git a/notebooks/test.yaml b/notebooks/test.yaml
new file mode 100644
index 00000000..fb675cb4
--- /dev/null
+++ b/notebooks/test.yaml
@@ -0,0 +1,367 @@
+ACCESS-CM2:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+ACCESS-ESM1-5:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+BCC-CSM2-MR:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+BCC-ESM1:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+CAMS-CSM1-0:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+CAS-ESM2-0:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+CESM1-1-CAM5-CMIP5:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+CESM2:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+CESM2-FV2:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+CESM2-WACCM:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+CESM2-WACCM-FV2:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+CIESM:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+CMCC-CM2-HR4:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+CMCC-ESM2:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+CNRM-CM6-1:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+CNRM-CM6-1-HR:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+CNRM-ESM2-1:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+CanESM5:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+CanESM5-CanOE:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+E3SM-1-0:
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+E3SM-1-1:
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+E3SM-1-1-ECA:
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+EC-Earth3:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+EC-Earth3-AerChem:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+EC-Earth3-LR:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+EC-Earth3-Veg:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+EC-Earth3-Veg-LR:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+FGOALS-f3-L:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+FGOALS-g3:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+FIO-ESM-2-0:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+GFDL-CM4:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+GFDL-ESM2M:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+GFDL-ESM4:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+GFDL-OM4p5B:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+GISS-E2-1-G:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+GISS-E2-1-G-CC:
+  gn:
+    axis_shift:
+      X: right
+      Y: left
+GISS-E2-1-H:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+GISS-E2-2-G:
+  gn:
+    axis_shift:
+      X: right
+      Y: left
+HadGEM3-GC31-LL:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+HadGEM3-GC31-MM:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+IITM-ESM:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+INM-CM4-8:
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+INM-CM5-0:
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+IPSL-CM6A-LR:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+KACE-1-0-G:
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+KIOST-ESM:
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+MCM-UA-1-0:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+MIROC-ES2L:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+  gr1:
+    axis_shift:
+      X: left
+      Y: left
+MIROC6:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+MPI-ESM1-2-HR:
+  gn:
+    axis_shift:
+      X: right
+      Y: left
+MRI-ESM2-0:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+NESM3:
+  gn:
+    axis_shift:
+      X: right
+      Y: right
+NorCPM1:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+  gr:
+    axis_shift:
+      X: left
+      Y: left
+NorESM1-F:
+  gn:
+    axis_shift:
+      X: left
+      Y: left
+NorESM2-LM:
+  gn:
+    axis_shift:
+      X: right
+      Y: left
+  gr:
+    axis_shift:
+      X: right
+      Y: left
+NorESM2-MM:
+  gn:
+    axis_shift:
+      X: right
+      Y: left
+  gr:
+    axis_shift:
+      X: right
+      Y: left
+SAM0-UNICON:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+TaiESM1:
+  gn:
+    axis_shift:
+      X: left
+      Y: right
+UKESM1-0-LL:
+  gn:
+    axis_shift:
+      X: right
+      Y: right