--- /srv/reproducible-results/rbuild-debian/r-b-build.fJv1aePw/b1/python-xarray_2023.01.0-1.1_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.fJv1aePw/b2/python-xarray_2023.01.0-1.1_armhf.changes ├── Files │ @@ -1,3 +1,3 @@ │ │ - f2c747a67f8200ce5498424acef0c8e1 5277120 doc optional python-xarray-doc_2023.01.0-1.1_all.deb │ + 44e33ac1c4d118fd91e800b7932faaee 5277408 doc optional python-xarray-doc_2023.01.0-1.1_all.deb │ 6e5f6af35de770365644ec5792cfe64e 630312 python optional python3-xarray_2023.01.0-1.1_all.deb ├── python-xarray-doc_2023.01.0-1.1_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2023-02-19 00:50:57.000000 debian-binary │ │ -rw-r--r-- 0 0 0 6248 2023-02-19 00:50:57.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 5270680 2023-02-19 00:50:57.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 5270968 2023-02-19 00:50:57.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: python-xarray-doc │ │ │ │ Source: python-xarray │ │ │ │ Version: 2023.01.0-1.1 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Debian Science Maintainers │ │ │ │ -Installed-Size: 13025 │ │ │ │ +Installed-Size: 13026 │ │ │ │ Depends: libjs-sphinxdoc (>= 5.2), libjs-mathjax, libjs-requirejs │ │ │ │ Built-Using: alabaster (= 0.7.12-1), sphinx (= 5.3.0-4) │ │ │ │ Section: doc │ │ │ │ Priority: optional │ │ │ │ Homepage: http://xarray.pydata.org/ │ │ │ │ Description: documentation for xarray │ │ │ │ xarray (formerly xray) is an open source project and Python package that aims │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -233,31 +233,31 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5097 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/api-hidden.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 17503 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/api.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 81125 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/contributing.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7040 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/developers-meeting.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 19841 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/ecosystem.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 108993 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ERA5-GRIB-example.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 6551 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ERA5-GRIB-example.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 6548 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ERA5-GRIB-example.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 45795 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ROMS_ocean_model.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 24060 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ROMS_ocean_model.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 24072 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/ROMS_ocean_model.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 128905 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/apply_ufunc_vectorize_1d.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 9548 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/apply_ufunc_vectorize_1d.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 9576 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/apply_ufunc_vectorize_1d.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 36809 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/area_weighted_temperature.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 21769 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/area_weighted_temperature.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 21786 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/area_weighted_temperature.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22771 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/blank_template.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1561 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/blank_template.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1563 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/blank_template.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 45664 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/monthly-means.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3558 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/monthly-means.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3568 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/monthly-means.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 38738 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/multidimensional-coords.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11197 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/multidimensional-coords.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11212 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/multidimensional-coords.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 65410 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/visualization_gallery.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 4684 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/visualization_gallery.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 4702 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/visualization_gallery.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 92379 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/weather-data.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 367787 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/weather-data.ipynb.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 367812 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/examples/weather-data.ipynb.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6546 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/gallery.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8063 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/genindex.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/getting-started-guide/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 28859 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/getting-started-guide/faq.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6381 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/getting-started-guide/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 20999 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/getting-started-guide/installing.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 42869 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/getting-started-guide/quick-overview.html │ │ │ │ @@ -271,20 +271,20 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6791 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/internals/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9602 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/internals/variable-objects.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 32114 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/internals/zarr-encoding-spec.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16394 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/objects.inv │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5487 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/py-modindex.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22790 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/roadmap.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5240 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/search.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 198563 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/searchindex.js │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 198602 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/searchindex.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7175 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/tutorials-and-videos.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 56706 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/combining.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 125736 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/computation.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 74640 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/dask.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 74829 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/dask.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 98807 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/data-structures.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15231 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/duckarrays.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 37489 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/groupby.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7597 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 252969 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/indexing.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 91318 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/interpolation.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 253831 2023-02-19 00:50:57.000000 ./usr/share/doc/python-xarray-doc/html/user-guide/io.html │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/ERA5-GRIB-example.html │ │ │ │ @@ -433,15 +433,15 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -Error in callback <function _draw_all_if_interactive at 0xab993398> (for post_execute):
│ │ │ │ +Error in callback <function _draw_all_if_interactive at 0xec4c83e8> (for post_execute):
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -99,15 +99,15 @@
│ │ │ │ │  ----> 7 plot = ds.t2m[0].plot(
│ │ │ │ │        8     cmap=plt.cm.coolwarm, transform=ccrs.PlateCarree(), cbar_kwargs=
│ │ │ │ │  {"shrink": 0.6}
│ │ │ │ │        9 )
│ │ │ │ │       10 plt.title("ERA5 - 2m temperature British Isles March 2019")
│ │ │ │ │  
│ │ │ │ │  NameError: name 'ds' is not defined
│ │ │ │ │ -Error in callback  (for
│ │ │ │ │ +Error in callback  (for
│ │ │ │ │  post_execute):
│ │ │ │ │  ---------------------------------------------------------------------------
│ │ │ │ │  PermissionError                           Traceback (most recent call last)
│ │ │ │ │  File /usr/lib/python3/dist-packages/matplotlib/pyplot.py:119, in
│ │ │ │ │  _draw_all_if_interactive()
│ │ │ │ │      117 def _draw_all_if_interactive():
│ │ │ │ │      118     if matplotlib.is_interactive():
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/ERA5-GRIB-example.ipynb.gz
│ │ │ │ ├── ERA5-GRIB-example.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.9985416666666667%
│ │ │ │ │ │┄ Differences: {"'cells'": "{2: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:11:32.555303Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:11:32.544632Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:12:00.141414Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:12:00.137464Z'}}}, 4: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:12:00.186716Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:12:00.172439Z', 'iopub.status.idle': '2024-01-12T07:12:0 […]
│ │ │ │ │ │ @@ -15,18 +15,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:27:45.659634Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:27:45.658603Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:27:56.981312Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:27:56.974026Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:11:32.555303Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:11:32.544632Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:12:00.141414Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:12:00.137464Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "name": "stderr",
│ │ │ │ │ │                      "output_type": "stream",
│ │ │ │ │ │                      "text": [
│ │ │ │ │ │ @@ -54,18 +54,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:27:56.995943Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:27:56.994799Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:27:58.504791Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:27:58.493195Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:12:00.186716Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:12:00.172439Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:12:03.490813Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:12:03.481047Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -95,18 +95,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:27:58.531900Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:27:58.530912Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:27:58.668475Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:27:58.655996Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:12:03.530528Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:12:03.516818Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:12:03.758827Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:12:03.752318Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -131,18 +131,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:27:58.688901Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:27:58.682330Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:07.904844Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:07.900757Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:12:03.802179Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:12:03.788211Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:12:43.422803Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:12:43.409443Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -153,15 +153,15 @@
│ │ │ │ │ │                          "\u001b[0;31mNameError\u001b[0m: name 'ds' is not defined"
│ │ │ │ │ │                      ]
│ │ │ │ │ │                  },
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "name": "stdout",
│ │ │ │ │ │                      "output_type": "stream",
│ │ │ │ │ │                      "text": [
│ │ │ │ │ │ -                        "Error in callback  (for post_execute):\n"
│ │ │ │ │ │ +                        "Error in callback  (for post_execute):\n"
│ │ │ │ │ │                      ]
│ │ │ │ │ │                  },
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "PermissionError",
│ │ │ │ │ │                      "evalue": "[Errno 13] Permission denied: '/nonexistent'",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │                      "traceback": [
│ │ │ │ │ │ @@ -262,18 +262,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:07.934908Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:07.933593Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:08.016535Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:08.014220Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:12:43.491677Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:12:43.476951Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:12:43.841505Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:12:43.833471Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/ROMS_ocean_model.ipynb.gz
│ │ │ │ ├── ROMS_ocean_model.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.9988051470588235%
│ │ │ │ │ │┄ Differences: {"'cells'": "{2: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:13:28.895559Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:13:28.884752Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:13:50.738928Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:13:50.725448Z'}}}, 5: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:13:50.800417Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:13:50.785000Z', 'iopub.status.idle': '2024-01-12T07:13:5 […]
│ │ │ │ │ │ @@ -17,18 +17,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:20.016913Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:20.015742Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:26.407406Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:26.400924Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:28.895559Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:28.884752Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:50.738928Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:50.725448Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [],
│ │ │ │ │ │              "source": [
│ │ │ │ │ │                  "import numpy as np\n",
│ │ │ │ │ │                  "import cartopy.crs as ccrs\n",
│ │ │ │ │ │                  "import cartopy.feature as cfeature\n",
│ │ │ │ │ │ @@ -75,18 +75,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:26.451149Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:26.444092Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:27.880056Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:27.876540Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:50.800417Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:50.785000Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:55.779942Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:55.773502Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -130,18 +130,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:27.905009Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:27.902910Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:28.022945Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:28.020466Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:55.848873Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:55.846611Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:56.399557Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:56.393503Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -175,18 +175,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:28.034440Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:28.033593Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:28.152468Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:28.147071Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:56.460876Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:56.458607Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:56.836022Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:56.829521Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "scrolled": false
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │ @@ -211,18 +211,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:28.166343Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:28.165553Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:28.233905Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:28.231522Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:56.888719Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:56.886430Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:57.131933Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:57.113508Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -250,18 +250,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 6,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:28.245275Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:28.244359Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:28.313242Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:28.309503Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:57.192900Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:57.190651Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:13:57.571773Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:13:57.565505Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -285,18 +285,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 7,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:28.326428Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:28.325587Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:29.224496Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:29.212455Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:13:57.638944Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:13:57.636493Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:01.305608Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:01.289508Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/apply_ufunc_vectorize_1d.ipynb.gz
│ │ │ │ ├── apply_ufunc_vectorize_1d.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.9994283536585367%
│ │ │ │ │ │┄ Differences: {"'cells'": "{2: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:14:40.539598Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:14:40.524738Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:14:57.157626Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:14:57.141523Z'}}}, 4: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:14:57.233942Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:14:57.215378Z', 'iopub.status.idle': '2024-01-12T07:14:5 […]
│ │ │ │ │ │ @@ -36,18 +36,18 @@
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:45:51.659160Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:45:50.528742Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:39.751599Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:39.750572Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.092490Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.076476Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:40.539598Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:40.524738Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:57.157626Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:57.141523Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -91,18 +91,18 @@
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:45:55.431708Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:45:55.104701Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.119492Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.118634Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.247113Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.236806Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:57.233942Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:57.215378Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:57.633622Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:57.617543Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -131,18 +131,18 @@
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:45:57.889496Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:45:57.792269Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.270162Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.269283Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.363112Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.359855Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:57.701391Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:57.683097Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:58.175688Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:58.165509Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -190,18 +190,18 @@
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:45:59.768626Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:45:59.543808Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.385668Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.384804Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.477476Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.471236Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:58.242575Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:58.227957Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:58.631494Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:58.625504Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -256,18 +256,18 @@
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:02.187012Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:02.105563Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.501794Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.500890Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.575515Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.571338Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:58.665407Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:58.663024Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:58.929278Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:58.923146Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -334,18 +334,18 @@
│ │ │ │ │ │              "execution_count": 6,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:05.031672Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:04.947588Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.587475Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.586623Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.680573Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.678336Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:58.960788Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:58.958714Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:59.180814Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:59.173256Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -380,18 +380,18 @@
│ │ │ │ │ │              "execution_count": 7,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:09.325218Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:09.303020Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.694533Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.691814Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.777794Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.775113Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:59.217092Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:59.214657Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:59.435088Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:59.428350Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -428,18 +428,18 @@
│ │ │ │ │ │              "execution_count": 8,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:11.295440Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:11.226553Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.795684Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.794854Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:44.897428Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:44.888151Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:59.472598Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:59.471148Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:14:59.933490Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:14:59.917457Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -492,18 +492,18 @@
│ │ │ │ │ │              "execution_count": 9,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:13.808646Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:13.680098Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:44.910341Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:44.909495Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.005826Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.000788Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:14:59.983592Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:14:59.972847Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:00.513602Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:00.497499Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -565,18 +565,18 @@
│ │ │ │ │ │              "execution_count": 10,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:26.633233Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:26.515209Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.018983Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.018177Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.107067Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.104461Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:00.574621Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:00.566662Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:01.105590Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:01.089483Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -622,18 +622,18 @@
│ │ │ │ │ │              "execution_count": 11,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:46:30.026663Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:46:29.893267Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.120392Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.119478Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.227144Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.223091Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:01.164850Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:01.162606Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:01.760563Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:01.753507Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -710,18 +710,18 @@
│ │ │ │ │ │              "execution_count": 12,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:48:42.469341Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:48:42.344209Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.246384Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.244835Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.353060Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.350688Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:01.829950Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:01.823260Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:02.491388Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:02.478134Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -796,18 +796,18 @@
│ │ │ │ │ │              "execution_count": 13,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:48:45.267633Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:48:44.943939Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.369914Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.369028Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.516508Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.500424Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:02.565343Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:02.551111Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:02.875263Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:02.865548Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ModuleNotFoundError",
│ │ │ │ │ │                      "evalue": "No module named 'numba'",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -848,18 +848,18 @@
│ │ │ │ │ │              "execution_count": 14,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:48:54.755405Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:48:54.634724Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.539248Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.538415Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.715421Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.700429Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:02.946494Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:02.944188Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:03.484073Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:03.477510Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'interp1d_np_gufunc' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -902,18 +902,18 @@
│ │ │ │ │ │              "execution_count": 15,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-01-15T14:49:28.667528Z",
│ │ │ │ │ │                      "start_time": "2020-01-15T14:49:28.103914Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:45.735359Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:45.734494Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:28:45.932517Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:28:45.916452Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:15:03.551647Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:15:03.548128Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:15:04.161635Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:15:04.145617Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ModuleNotFoundError",
│ │ │ │ │ │                      "evalue": "No module named 'numba'",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/area_weighted_temperature.ipynb.gz
│ │ │ │ ├── area_weighted_temperature.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.99921875%
│ │ │ │ │ │┄ Differences: {"'cells'": "{2: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:16:10.459385Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:16:10.448667Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:16:35.914804Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:16:35.905449Z'}}}, 4: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:16:35.971728Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:16:35.948614Z', 'iopub.status.idle': '2024-01-12T07:16:4 […]
│ │ │ │ │ │ @@ -28,18 +28,18 @@
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:43:57.222351Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:43:56.147541Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:28:59.089378Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:28:59.088185Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:03.777284Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:03.770050Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:10.459385Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:10.448667Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:35.914804Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:35.905449Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [],
│ │ │ │ │ │              "source": [
│ │ │ │ │ │                  "%matplotlib inline\n",
│ │ │ │ │ │                  "\n",
│ │ │ │ │ │                  "import cartopy.crs as ccrs\n",
│ │ │ │ │ │ @@ -63,18 +63,18 @@
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:43:57.831734Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:43:57.651845Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:03.793926Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:03.792657Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:04.470927Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:04.468775Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:35.971728Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:35.948614Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:41.299922Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:41.293026Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -116,18 +116,18 @@
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:43:59.887120Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:43:59.582894Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:04.481977Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:04.481186Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:04.892126Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:04.889926Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:41.332536Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:41.330116Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:43.533614Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:43.517573Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -172,18 +172,18 @@
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:44:18.777092Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:44:18.736587Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:04.907607Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:04.906468Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:04.969062Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:04.966736Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:43.597108Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:43.594791Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:43.997593Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:43.981513Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -213,18 +213,18 @@
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:44:52.607120Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:44:52.564674Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:04.985138Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:04.979887Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:05.038553Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:05.036398Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:44.049159Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:44.046839Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:44.425609Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:44.409506Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -246,18 +246,18 @@
│ │ │ │ │ │              "execution_count": 6,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:44:54.334279Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:44:54.280022Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:05.049916Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:05.049035Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:05.617684Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:05.612425Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:44.492680Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:44.490532Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:45.869600Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:45.853509Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'air_weighted' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -288,18 +288,18 @@
│ │ │ │ │ │              "execution_count": 7,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2020-03-17T14:45:08.877307Z",
│ │ │ │ │ │                      "start_time": "2020-03-17T14:45:08.673383Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:05.639390Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:05.638558Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:05.768472Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:05.752415Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:16:45.949040Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:16:45.946820Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:16:46.335853Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:16:46.329502Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'weighted_mean' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/blank_template.ipynb.gz
│ │ │ │ ├── blank_template.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.9991319444444444%
│ │ │ │ │ │┄ Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:17:25.863843Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:17:25.852207Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:17:40.713613Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:17:40.697514Z'}}}}"}
│ │ │ │ │ │ @@ -12,18 +12,18 @@
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "id": "41b90ede",
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:16.543369Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:16.542402Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:19.845511Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:19.842875Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:17:25.863843Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:17:25.852207Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:17:40.713613Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:17:40.697514Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/monthly-means.ipynb.gz
│ │ │ │ ├── monthly-means.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.998721590909091%
│ │ │ │ │ │┄ Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:18:12.287447Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:18:12.272781Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:18:31.081477Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:18:31.069451Z'}}}, 3: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:18:31.156308Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:18:31.123862Z', 'iopub.status.idle': '2024-01-12T07:18:3 […]
│ │ │ │ │ │ @@ -19,18 +19,18 @@
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:35.958210Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:35.936966Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:27.943292Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:27.942410Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:34.497605Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:34.487860Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:12.287447Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:12.272781Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:31.081477Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:31.069451Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [],
│ │ │ │ │ │              "source": [
│ │ │ │ │ │                  "%matplotlib inline\n",
│ │ │ │ │ │                  "import numpy as np\n",
│ │ │ │ │ │                  "import pandas as pd\n",
│ │ │ │ │ │ @@ -50,18 +50,18 @@
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:36.072316Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:36.016594Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:34.522932Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:34.521641Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:35.553068Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:35.549732Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:31.156308Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:31.123862Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:36.917030Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:36.909529Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -96,18 +96,18 @@
│ │ │ │ │ │              ]
│ │ │ │ │ │          },
│ │ │ │ │ │          {
│ │ │ │ │ │              "cell_type": "code",
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:35.572064Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:35.571119Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:35.675460Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:35.672569Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:36.985552Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:36.983104Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:37.327003Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:37.313494Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -129,18 +129,18 @@
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:36.132413Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:36.073708Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:35.694581Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:35.693520Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:35.832101Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:35.828504Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:37.388660Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:37.386307Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:38.021607Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:38.005517Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'month_length' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -170,18 +170,18 @@
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:36.152913Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:36.133997Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:35.855147Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:35.854238Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:35.949907Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:35.947536Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:38.085071Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:38.082778Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:38.392220Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:38.385525Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds_weighted' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -202,18 +202,18 @@
│ │ │ │ │ │              "execution_count": 6,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:36.190765Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:36.154416Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:35.974016Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:35.973111Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:36.065118Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:36.060560Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:38.422894Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:38.420485Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:38.791928Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:38.779568Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -236,18 +236,18 @@
│ │ │ │ │ │              "execution_count": 7,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:40.264871Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:36.192467Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:36.087792Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:36.086913Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:36.266815Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:36.263477Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:38.850160Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:38.847484Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:39.162649Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:39.158596Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds_unweighted' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -316,18 +316,18 @@
│ │ │ │ │ │              "execution_count": 8,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:51:40.284898Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:51:40.266406Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:36.282748Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:36.281797Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:36.314928Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:36.312589Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:18:39.184050Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:18:39.180812Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:18:39.218316Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:18:39.214314Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [],
│ │ │ │ │ │              "source": [
│ │ │ │ │ │                  "# Wrap it into a simple function\n",
│ │ │ │ │ │                  "def season_mean(ds, calendar=\"standard\"):\n",
│ │ │ │ │ │                  "    # Make a DataArray with the number of days in each month, size = len(time)\n",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/multidimensional-coords.ipynb.gz
│ │ │ │ ├── multidimensional-coords.ipynb
│ │ │ │ │ ├── Pretty-printed
│ │ │ │ │ │┄ Similarity: 0.99931640625%
│ │ │ │ │ │┄ Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:19:20.722371Z', "
│ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:19:20.704404Z', 'iopub.status.idle': "
│ │ │ │ │ │┄             "'2024-01-12T07:19:45.302904Z', 'shell.execute_reply': "
│ │ │ │ │ │┄             "'2024-01-12T07:19:45.293458Z'}}}, 3: {'metadata': {'execution': "
│ │ │ │ │ │┄             "{'iopub.execute_input': '2024-01-12T07:19:45.352248Z', 'iopub.status.busy': "
│ │ │ │ │ │┄             "'2024-01-12T07:19:45.340961Z', 'iopub.status.idle': '2024-01-12T07:19:5 […]
│ │ │ │ │ │ @@ -16,18 +16,18 @@
│ │ │ │ │ │              "execution_count": 1,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:49:56.068395Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:49:56.035349Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:47.355494Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:47.354550Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:53.928633Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:53.915953Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:20.722371Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:20.704404Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:19:45.302904Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:19:45.293458Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [],
│ │ │ │ │ │              "source": [
│ │ │ │ │ │                  "%matplotlib inline\n",
│ │ │ │ │ │                  "import numpy as np\n",
│ │ │ │ │ │                  "import pandas as pd\n",
│ │ │ │ │ │ @@ -48,18 +48,18 @@
│ │ │ │ │ │              "execution_count": 2,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:13.629720Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:13.484542Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:53.973019Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:53.947963Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:55.161211Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:55.158670Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:45.352248Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:45.340961Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:19:50.661593Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:19:50.657443Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "ImportError",
│ │ │ │ │ │                      "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -93,18 +93,18 @@
│ │ │ │ │ │              "execution_count": 3,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:15.836061Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:15.768376Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:55.177573Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:55.176609Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:55.258326Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:55.255684Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:50.719814Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:50.709021Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:19:51.034801Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:19:51.025439Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -135,18 +135,18 @@
│ │ │ │ │ │              "execution_count": 4,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:17.928556Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:17.031211Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:55.273177Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:55.272234Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:58.083899Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:58.080445Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:51.091503Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:51.080825Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:19:59.137504Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:19:59.121453Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -188,18 +188,18 @@
│ │ │ │ │ │              "execution_count": 5,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:20.567749Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:19.999393Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:58.095045Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:58.094177Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:58.204989Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:58.200508Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:59.191190Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:59.168612Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:19:59.521503Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:19:59.509440Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -227,18 +227,18 @@
│ │ │ │ │ │              "execution_count": 6,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:31.131708Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:30.444697Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:58.235602Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:58.234715Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:58.989925Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:58.984481Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:19:59.574631Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:19:59.559927Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:20:01.221657Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:20:01.213507Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ │ │ │ @@ -285,18 +285,18 @@
│ │ │ │ │ │              "execution_count": 7,
│ │ │ │ │ │              "metadata": {
│ │ │ │ │ │                  "ExecuteTime": {
│ │ │ │ │ │                      "end_time": "2018-11-28T20:50:43.670463Z",
│ │ │ │ │ │                      "start_time": "2018-11-28T20:50:43.245501Z"
│ │ │ │ │ │                  },
│ │ │ │ │ │                  "execution": {
│ │ │ │ │ │ -                    "iopub.execute_input": "2024-01-12T06:29:59.027577Z",
│ │ │ │ │ │ -                    "iopub.status.busy": "2024-01-12T06:29:59.026706Z",
│ │ │ │ │ │ -                    "iopub.status.idle": "2024-01-12T06:29:59.267594Z",
│ │ │ │ │ │ -                    "shell.execute_reply": "2024-01-12T06:29:59.252453Z"
│ │ │ │ │ │ +                    "iopub.execute_input": "2024-01-12T07:20:01.302125Z",
│ │ │ │ │ │ +                    "iopub.status.busy": "2024-01-12T07:20:01.280434Z",
│ │ │ │ │ │ +                    "iopub.status.idle": "2024-01-12T07:20:01.811581Z",
│ │ │ │ │ │ +                    "shell.execute_reply": "2024-01-12T07:20:01.796696Z"
│ │ │ │ │ │                  }
│ │ │ │ │ │              },
│ │ │ │ │ │              "outputs": [
│ │ │ │ │ │                  {
│ │ │ │ │ │                      "ename": "NameError",
│ │ │ │ │ │                      "evalue": "name 'ds' is not defined",
│ │ │ │ │ │                      "output_type": "error",
│ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/visualization_gallery.html
│ │ │ │ @@ -574,15 +574,15 @@
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -/tmp/ipykernel_24969/2946363816.py:1: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html
│ │ │ │ +/tmp/ipykernel_27594/2946363816.py:1: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html
│ │ │ │    da = xr.tutorial.open_rasterio("RGB.byte")
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -657,15 +657,15 @@ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -/tmp/ipykernel_24969/3653941964.py:4: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html
│ │ │ │ +/tmp/ipykernel_27594/3653941964.py:4: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html
│ │ │ │    da = xr.tutorial.open_rasterio("RGB.byte")
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -210,15 +210,15 @@ │ │ │ │ │ # https://github.com/SciTools/cartopy/issues/813 is implemented │ │ │ │ │ crs = ccrs.UTM("18") │ │ │ │ │ │ │ │ │ │ # Plot on a map │ │ │ │ │ ax = plt.subplot(projection=crs) │ │ │ │ │ da.plot.imshow(ax=ax, rgb="band", transform=crs) │ │ │ │ │ ax.coastlines("10m", color="r") │ │ │ │ │ -/tmp/ipykernel_24969/2946363816.py:1: DeprecationWarning: open_rasterio is │ │ │ │ │ +/tmp/ipykernel_27594/2946363816.py:1: DeprecationWarning: open_rasterio is │ │ │ │ │ Deprecated in favor of rioxarray. For information about transitioning, see: │ │ │ │ │ https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html │ │ │ │ │ da = xr.tutorial.open_rasterio("RGB.byte") │ │ │ │ │ --------------------------------------------------------------------------- │ │ │ │ │ ModuleNotFoundError Traceback (most recent call last) │ │ │ │ │ File /build/reproducible-path/python-xarray-2023.01.0/xarray/tutorial.py:222, │ │ │ │ │ in open_rasterio(name, engine, cache, cache_dir, **kws) │ │ │ │ │ @@ -282,15 +282,15 @@ │ │ │ │ │ y="lat", │ │ │ │ │ transform=ccrs.PlateCarree(), │ │ │ │ │ cmap="Greys_r", │ │ │ │ │ shading="auto", │ │ │ │ │ add_colorbar=False, │ │ │ │ │ ) │ │ │ │ │ ax.coastlines("10m", color="r") │ │ │ │ │ -/tmp/ipykernel_24969/3653941964.py:4: DeprecationWarning: open_rasterio is │ │ │ │ │ +/tmp/ipykernel_27594/3653941964.py:4: DeprecationWarning: open_rasterio is │ │ │ │ │ Deprecated in favor of rioxarray. For information about transitioning, see: │ │ │ │ │ https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html │ │ │ │ │ da = xr.tutorial.open_rasterio("RGB.byte") │ │ │ │ │ --------------------------------------------------------------------------- │ │ │ │ │ ModuleNotFoundError Traceback (most recent call last) │ │ │ │ │ File /build/reproducible-path/python-xarray-2023.01.0/xarray/tutorial.py:222, │ │ │ │ │ in open_rasterio(name, engine, cache, cache_dir, **kws) │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/visualization_gallery.ipynb.gz │ │ │ │ ├── visualization_gallery.ipynb │ │ │ │ │ ├── Pretty-printed │ │ │ │ │ │┄ Similarity: 0.9983506944444445% │ │ │ │ │ │┄ Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:20:43.365334Z', " │ │ │ │ │ │┄ "'iopub.status.busy': '2024-01-12T07:20:43.347185Z', 'iopub.status.idle': " │ │ │ │ │ │┄ "'2024-01-12T07:21:06.292541Z', 'shell.execute_reply': " │ │ │ │ │ │┄ "'2024-01-12T07:21:06.285518Z'}}}, 3: {'metadata': {'execution': " │ │ │ │ │ │┄ "{'iopub.execute_input': '2024-01-12T07:21:06.363581Z', 'iopub.status.busy': " │ │ │ │ │ │┄ "'2024-01-12T07:21:06.350619Z', 'iopub.status.idle': '2024-01-12T07:21:1 […] │ │ │ │ │ │ @@ -10,18 +10,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 1, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:14.697103Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:14.691355Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:21.728694Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:21.712830Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:20:43.365334Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:20:43.347185Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:06.292541Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:06.285518Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [], │ │ │ │ │ │ "source": [ │ │ │ │ │ │ "import cartopy.crs as ccrs\n", │ │ │ │ │ │ "import matplotlib.pyplot as plt\n", │ │ │ │ │ │ "import xarray as xr\n", │ │ │ │ │ │ @@ -37,18 +37,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 2, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:21.748048Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:21.746789Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:23.136524Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:23.124463Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:06.363581Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:06.350619Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:11.617507Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:11.601451Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "ImportError", │ │ │ │ │ │ "evalue": "tutorial.open_dataset depends on pooch to download and manage datasets. To proceed please install pooch.", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -85,18 +85,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 3, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:23.171852Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:23.170939Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:23.400504Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:23.384452Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:11.707459Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:11.688591Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:12.284334Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:12.277438Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "NameError", │ │ │ │ │ │ "evalue": "name 'ds' is not defined", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -138,18 +138,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 4, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:23.419572Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:23.418707Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:23.672523Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:23.656467Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:12.343388Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:12.337746Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:12.931854Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:12.921498Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "NameError", │ │ │ │ │ │ "evalue": "name 'ds' is not defined", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -202,18 +202,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 5, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:23.691397Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:23.690506Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:23.892487Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:23.884455Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:13.012538Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:13.011027Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:13.604006Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:13.593503Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "NameError", │ │ │ │ │ │ "evalue": "name 'ds' is not defined", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -258,18 +258,18 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 6, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:23.911269Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:23.910393Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:24.189202Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:24.120436Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:13.669045Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:13.660834Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:14.281499Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:14.265434Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "NameError", │ │ │ │ │ │ "evalue": "name 'ds' is not defined", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -320,26 +320,26 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 7, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:24.207107Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:24.206238Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:25.300489Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:25.286057Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:14.350194Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:14.327961Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:16.866809Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:16.853428Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "name": "stderr", │ │ │ │ │ │ "output_type": "stream", │ │ │ │ │ │ "text": [ │ │ │ │ │ │ - "/tmp/ipykernel_24969/2946363816.py:1: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html\n", │ │ │ │ │ │ + "/tmp/ipykernel_27594/2946363816.py:1: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html\n", │ │ │ │ │ │ " da = xr.tutorial.open_rasterio(\"RGB.byte\")\n" │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "ImportError", │ │ │ │ │ │ "evalue": "tutorial.open_rasterio depends on pooch to download and manage datasets. To proceed please install pooch.", │ │ │ │ │ │ "output_type": "error", │ │ │ │ │ │ @@ -385,26 +385,26 @@ │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "cell_type": "code", │ │ │ │ │ │ "execution_count": 8, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:25.323536Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:25.322663Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:25.737645Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:25.728452Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:21:16.939860Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:21:16.925067Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:21:18.313509Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:21:18.297438Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "name": "stderr", │ │ │ │ │ │ "output_type": "stream", │ │ │ │ │ │ "text": [ │ │ │ │ │ │ - "/tmp/ipykernel_24969/3653941964.py:4: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html\n", │ │ │ │ │ │ + "/tmp/ipykernel_27594/3653941964.py:4: DeprecationWarning: open_rasterio is Deprecated in favor of rioxarray. For information about transitioning, see: https://corteva.github.io/rioxarray/stable/getting_started/getting_started.html\n", │ │ │ │ │ │ " da = xr.tutorial.open_rasterio(\"RGB.byte\")\n" │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ "ename": "ImportError", │ │ │ │ │ │ "evalue": "tutorial.open_rasterio depends on pooch to download and manage datasets. To proceed please install pooch.", │ │ │ │ │ │ "output_type": "error", │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/weather-data.html │ │ │ │ @@ -705,37 +705,37 @@ │ │ │ │
<xarray.Dataset>
│ │ │ │  Dimensions:   (time: 731, location: 3)
│ │ │ │  Coordinates:
│ │ │ │    * time      (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31
│ │ │ │    * location  (location) <U2 'IA' 'IN' 'IL'
│ │ │ │  Data variables:
│ │ │ │      tmin      (time, location) float64 -8.037 -1.788 -3.932 ... -1.346 -4.544
│ │ │ │ -    tmax      (time, location) float64 12.98 3.31 6.779 ... 6.636 3.343 3.805
  • location
    PandasIndex
    PandasIndex(Index(['IA', 'IN', 'IL'], dtype='object', name='location'))
  • │ │ │ │ │ │ │ │
    │ │ │ │

    Examine a dataset with pandas and seaborn

    │ │ │ │
    │ │ │ │

    Convert to a pandas DataFrame

    │ │ │ │
    │ │ │ │
    [2]:
    │ │ │ │ @@ -932,15 +932,15 @@
    │ │ │ │  
    │ │ │ │
    │ │ │ │
    [5]:
    │ │ │ │  
    │ │ │ │
    │ │ │ │
    │ │ │ │
    │ │ │ │ -<seaborn.axisgrid.PairGrid at 0xaa1915f0>
    │ │ │ │ +<seaborn.axisgrid.PairGrid at 0xeab28fd0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │
    │ │ │ │
    │ │ │ │
    │ │ │ │
    │ │ │ │ ../_images/examples_weather-data_9_1.png │ │ │ │ @@ -1338,26 +1338,26 @@ │ │ │ │ [0. , 0. , 0. ], │ │ │ │ [0. , 0. , 0. ], │ │ │ │ [0. , 0.01612903, 0. ], │ │ │ │ [0.33333333, 0.35 , 0.23333333], │ │ │ │ [0.93548387, 0.85483871, 0.82258065]]) │ │ │ │ Coordinates: │ │ │ │ * location (location) <U2 'IA' 'IN' 'IL' │ │ │ │ - * month (month) int64 1 2 3 4 5 6 7 8 9 10 11 12
    • location
      (location)
      <U2
      'IA' 'IN' 'IL'
      array(['IA', 'IN', 'IL'], dtype='<U2')
    • month
      (month)
      int64
      1 2 3 4 5 6 7 8 9 10 11 12
      array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12], dtype=int64)
    • location
      PandasIndex
      PandasIndex(Index(['IA', 'IN', 'IL'], dtype='object', name='location'))
    • month
      PandasIndex
      PandasIndex(Int64Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
  • │ │ │ │ │ │ │ │
    │ │ │ │
    [7]:
    │ │ │ │  
    │ │ │ │
    │ │ │ │
    freeze.to_pandas().plot()
    │ │ │ │  
    │ │ │ │ @@ -1863,18 +1863,18 @@ │ │ │ │ Dimensions: (time: 731, location: 3) │ │ │ │ Coordinates: │ │ │ │ * time (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31 │ │ │ │ * location (location) <U2 'IA' 'IN' 'IL' │ │ │ │ month (time) int64 1 1 1 1 1 1 1 1 1 ... 12 12 12 12 12 12 12 12 12 │ │ │ │ Data variables: │ │ │ │ some_missing (time, location) float64 nan nan nan ... 2.063 -1.346 -4.544 │ │ │ │ - filled (time, location) float64 -5.163 -4.216 ... -1.346 -4.544
  • location
    PandasIndex
    PandasIndex(Index(['IA', 'IN', 'IL'], dtype='object', name='location'))
  • │ │ │ │ │ │ │ │
    │ │ │ │
    [12]:
    │ │ │ │  
    │ │ │ │
    │ │ │ │
    df = both.sel(time="2000").mean("location").reset_coords(drop=True).to_dataframe()
    │ │ │ │  df.head()
    │ │ │ │ ├── html2text {}
    │ │ │ │ │ @@ -157,15 +157,15 @@
    │ │ │ │ │  
    │ │ │ │ │  [../_images/examples_weather-data_7_1.png]
    │ │ │ │ │  
    │ │ │ │ │  **** Visualize using seaborn¶ ****
    │ │ │ │ │  [5]:
    │ │ │ │ │  sns.pairplot(df.reset_index(), vars=ds.data_vars)
    │ │ │ │ │  [5]:
    │ │ │ │ │ -
    │ │ │ │ │ +
    │ │ │ │ │  [../_images/examples_weather-data_9_1.png]
    │ │ │ │ │  
    │ │ │ │ │  ***** Probability of freeze by calendar month¶ *****
    │ │ │ │ │  [6]:
    │ │ │ │ │  freeze = (ds["tmin"] <= 0).groupby("time.month").mean("time")
    │ │ │ │ │  freeze
    │ │ │ │ │  [6]:
    │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/examples/weather-data.ipynb.gz
    │ │ │ │ ├── weather-data.ipynb
    │ │ │ │ │ ├── Pretty-printed
    │ │ │ │ │ │┄ Similarity: 0.9992323118860381%
    │ │ │ │ │ │┄ Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2024-01-12T07:22:02.370334Z', "
    │ │ │ │ │ │┄             "'iopub.status.busy': '2024-01-12T07:22:02.352558Z', 'iopub.status.idle': "
    │ │ │ │ │ │┄             "'2024-01-12T07:22:37.843692Z', 'shell.execute_reply': "
    │ │ │ │ │ │┄             "'2024-01-12T07:22:37.837513Z'}}, 'outputs': {0: {'data': {'text/html': {insert: "
    │ │ │ │ │ │┄             '[(370, "    tmax      (time, location) float64 12.98 3.31 6.779 ... 6.636 3.343 '
    │ │ │ │ │ │┄             "3.805
    <xarray.Dataset>\n", │ │ │ │ │ │ "Dimensions: (time: 731, location: 3)\n", │ │ │ │ │ │ "Coordinates:\n", │ │ │ │ │ │ " * time (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31\n", │ │ │ │ │ │ " * location (location) <U2 'IA' 'IN' 'IL'\n", │ │ │ │ │ │ "Data variables:\n", │ │ │ │ │ │ " tmin (time, location) float64 -8.037 -1.788 -3.932 ... -1.346 -4.544\n", │ │ │ │ │ │ - " tmax (time, location) float64 12.98 3.31 6.779 ... 6.636 3.343 3.805
  • " │ │ │ │ │ │ ], │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "\n", │ │ │ │ │ │ "Dimensions: (time: 731, location: 3)\n", │ │ │ │ │ │ "Coordinates:\n", │ │ │ │ │ │ " * time (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31\n", │ │ │ │ │ │ " * location (location) \n", │ │ │ │ │ │ @@ -587,18 +587,18 @@ │ │ │ │ │ │ "execution_count": 3, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:47:32.682065Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:47:32.652629Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:48.698455Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:48.697628Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:48.760511Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:48.757951Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:22:38.209636Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:22:38.203179Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:22:38.507621Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:22:38.501523Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/html": [ │ │ │ │ │ │ "
    \n", │ │ │ │ │ │ @@ -701,18 +701,18 @@ │ │ │ │ │ │ "execution_count": 4, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:47:34.617042Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:47:34.282605Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:48.771307Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:48.770489Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:51.584494Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:51.576455Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:22:38.586282Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:22:38.583834Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:22:43.759932Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:22:43.753496Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ │ │ │ @@ -749,25 +749,25 @@ │ │ │ │ │ │ "execution_count": 5, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:47:37.643175Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:47:37.202479Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:51.603471Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:51.602541Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:59.208552Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:59.192447Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:22:43.838564Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:22:43.826437Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:12.597486Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:12.583334Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ - "" │ │ │ │ │ │ + "" │ │ │ │ │ │ ] │ │ │ │ │ │ }, │ │ │ │ │ │ "execution_count": 5, │ │ │ │ │ │ "metadata": {}, │ │ │ │ │ │ "output_type": "execute_result" │ │ │ │ │ │ }, │ │ │ │ │ │ { │ │ │ │ │ │ @@ -797,18 +797,18 @@ │ │ │ │ │ │ "execution_count": 6, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:48:11.241224Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:48:11.211156Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:59.239391Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:59.238519Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:30:59.421224Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:30:59.418929Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:12.680098Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:12.677010Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:13.251286Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:13.244533Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/html": [ │ │ │ │ │ │ "
    \n", │ │ │ │ │ │ @@ -1185,26 +1185,26 @@ │ │ │ │ │ │ " [0. , 0. , 0. ],\n", │ │ │ │ │ │ " [0. , 0. , 0. ],\n", │ │ │ │ │ │ " [0. , 0.01612903, 0. ],\n", │ │ │ │ │ │ " [0.33333333, 0.35 , 0.23333333],\n", │ │ │ │ │ │ " [0.93548387, 0.85483871, 0.82258065]])\n", │ │ │ │ │ │ "Coordinates:\n", │ │ │ │ │ │ " * location (location) <U2 'IA' 'IN' 'IL'\n", │ │ │ │ │ │ - " * month (month) int64 1 2 3 4 5 6 7 8 9 10 11 12
    • location
      (location)
      <U2
      'IA' 'IN' 'IL'
      array(['IA', 'IN', 'IL'], dtype='<U2')
    • month
      (month)
      int64
      1 2 3 4 5 6 7 8 9 10 11 12
      array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12], dtype=int64)
    • location
      PandasIndex
      PandasIndex(Index(['IA', 'IN', 'IL'], dtype='object', name='location'))
    • month
      PandasIndex
      PandasIndex(Int64Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
  • " │ │ │ │ │ │ ], │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "\n", │ │ │ │ │ │ "array([[0.9516129 , 0.88709677, 0.93548387],\n", │ │ │ │ │ │ " [0.84210526, 0.71929825, 0.77192982],\n", │ │ │ │ │ │ " [0.24193548, 0.12903226, 0.16129032],\n", │ │ │ │ │ │ " [0. , 0. , 0. ],\n", │ │ │ │ │ │ @@ -1236,18 +1236,18 @@ │ │ │ │ │ │ "execution_count": 7, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:48:13.131247Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:48:12.924985Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:30:59.430870Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:30:59.430044Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:00.244500Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:00.228469Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:13.316697Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:13.303180Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:17.793493Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:17.781432Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ │ │ │ @@ -1284,18 +1284,18 @@ │ │ │ │ │ │ "execution_count": 8, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:48:08.498259Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:48:08.210890Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:31:00.259194Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:31:00.258366Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:02.540507Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:02.524450Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:17.812981Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:17.811409Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:23.831001Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:23.821482Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ │ │ │ @@ -1349,18 +1349,18 @@ │ │ │ │ │ │ "execution_count": 9, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:49:34.855086Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:49:34.406439Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:31:02.563511Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:31:02.562632Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:04.667100Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:04.664822Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:23.869460Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:23.863488Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:29.481132Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:29.477434Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ │ │ │ @@ -1408,18 +1408,18 @@ │ │ │ │ │ │ "execution_count": 10, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:50:09.144586Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:50:08.734682Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:31:04.684627Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:31:04.683713Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:06.868989Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:06.856443Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:29.526170Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:29.516454Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:36.589466Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:36.585442Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ │ │ │ @@ -1477,18 +1477,18 @@ │ │ │ │ │ │ "execution_count": 11, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:51:40.279299Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:51:40.220342Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:31:06.883616Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:31:06.882874Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:07.196495Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:07.180450Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:36.646578Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:36.640712Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:37.593497Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:37.585398Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/html": [ │ │ │ │ │ │ "
    \n", │ │ │ │ │ │ @@ -1858,18 +1858,18 @@ │ │ │ │ │ │ "Dimensions: (time: 731, location: 3)\n", │ │ │ │ │ │ "Coordinates:\n", │ │ │ │ │ │ " * time (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31\n", │ │ │ │ │ │ " * location (location) <U2 'IA' 'IN' 'IL'\n", │ │ │ │ │ │ " month (time) int64 1 1 1 1 1 1 1 1 1 ... 12 12 12 12 12 12 12 12 12\n", │ │ │ │ │ │ "Data variables:\n", │ │ │ │ │ │ " some_missing (time, location) float64 nan nan nan ... 2.063 -1.346 -4.544\n", │ │ │ │ │ │ - " filled (time, location) float64 -5.163 -4.216 ... -1.346 -4.544
  • " │ │ │ │ │ │ ], │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "\n", │ │ │ │ │ │ "Dimensions: (time: 731, location: 3)\n", │ │ │ │ │ │ "Coordinates:\n", │ │ │ │ │ │ " * time (time) datetime64[ns] 2000-01-01 2000-01-02 ... 2001-12-31\n", │ │ │ │ │ │ " * location (location) \n", │ │ │ │ │ │ @@ -2052,18 +2052,18 @@ │ │ │ │ │ │ "execution_count": 13, │ │ │ │ │ │ "metadata": { │ │ │ │ │ │ "ExecuteTime": { │ │ │ │ │ │ "end_time": "2020-01-27T15:52:14.867866Z", │ │ │ │ │ │ "start_time": "2020-01-27T15:52:14.449684Z" │ │ │ │ │ │ }, │ │ │ │ │ │ "execution": { │ │ │ │ │ │ - "iopub.execute_input": "2024-01-12T06:31:07.363542Z", │ │ │ │ │ │ - "iopub.status.busy": "2024-01-12T06:31:07.362670Z", │ │ │ │ │ │ - "iopub.status.idle": "2024-01-12T06:31:09.737512Z", │ │ │ │ │ │ - "shell.execute_reply": "2024-01-12T06:31:09.734980Z" │ │ │ │ │ │ + "iopub.execute_input": "2024-01-12T07:23:37.822135Z", │ │ │ │ │ │ + "iopub.status.busy": "2024-01-12T07:23:37.808143Z", │ │ │ │ │ │ + "iopub.status.idle": "2024-01-12T07:23:44.161314Z", │ │ │ │ │ │ + "shell.execute_reply": "2024-01-12T07:23:44.157451Z" │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ "outputs": [ │ │ │ │ │ │ { │ │ │ │ │ │ "data": { │ │ │ │ │ │ "text/plain": [ │ │ │ │ │ │ "" │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/getting-started-guide/quick-overview.html │ │ │ │ @@ -310,15 +310,15 @@ │ │ │ │
    │ │ │ │ │ │ │ │
    │ │ │ │
    │ │ │ │

    Plotting

    │ │ │ │

    Visualizing your datasets is quick and convenient:

    │ │ │ │
    In [37]: data.plot()
    │ │ │ │ -Out[37]: <matplotlib.collections.QuadMesh at 0xab597710>
    │ │ │ │ +Out[37]: <matplotlib.collections.QuadMesh at 0xee94efb0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/plotting_quick_overview.png │ │ │ │

    Note the automatic labeling with names and units. Our effort in adding metadata attributes has paid off! Many aspects of these figures are customizable: see Plotting.

    │ │ │ │
    │ │ │ │
    │ │ │ │

    pandas

    │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -269,15 +269,15 @@ │ │ │ │ │ Coordinates: │ │ │ │ │ * x (x) int32 10 20 │ │ │ │ │ Dimensions without coordinates: y │ │ │ │ │ │ │ │ │ │ ***** Plotting¶ ***** │ │ │ │ │ Visualizing your datasets is quick and convenient: │ │ │ │ │ In [37]: data.plot() │ │ │ │ │ -Out[37]: │ │ │ │ │ +Out[37]: │ │ │ │ │ [../_images/plotting_quick_overview.png] │ │ │ │ │ Note the automatic labeling with names and units. Our effort in adding metadata │ │ │ │ │ attributes has paid off! Many aspects of these figures are customizable: see │ │ │ │ │ Plotting. │ │ │ │ │ │ │ │ │ │ ***** pandas¶ ***** │ │ │ │ │ Xarray objects can be easily converted to and from pandas objects using the │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/searchindex.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -1124,15 +1124,15 @@ │ │ │ │ │ "british": 6, │ │ │ │ │ "isl": 6, │ │ │ │ │ "march": [6, 46], │ │ │ │ │ "7": [6, 7, 8, 9, 11, 12, 13, 14, 19, 23, 25, 28, 29, 31, 32, 33, 34, 36, 38, 39, 40, 42, 43, 44, 46, 47], │ │ │ │ │ "callback": 6, │ │ │ │ │ "lt": [6, 14], │ │ │ │ │ "_draw_all_if_interact": 6, │ │ │ │ │ - "0xab993398": 6, │ │ │ │ │ + "0xec4c83e8": 6, │ │ │ │ │ "post_execut": 6, │ │ │ │ │ "permissionerror": 6, │ │ │ │ │ "usr": 6, │ │ │ │ │ "lib": 6, │ │ │ │ │ "dist": 6, │ │ │ │ │ "119": [6, 32, 38, 39, 43, 46], │ │ │ │ │ "117": [6, 32, 38, 43, 46], │ │ │ │ │ @@ -1281,15 +1281,15 @@ │ │ │ │ │ "108": [6, 32, 38, 43, 46], │ │ │ │ │ "105": [6, 31, 32, 38, 42, 43, 48], │ │ │ │ │ "isnan": 6, │ │ │ │ │ "106": [6, 32, 38, 43, 48], │ │ │ │ │ "extent_geom": 6, │ │ │ │ │ "sgeom": 6, │ │ │ │ │ "box": 6, │ │ │ │ │ - "107": [6, 32, 38, 43], │ │ │ │ │ + "107": [6, 32, 33, 38, 43], │ │ │ │ │ "109": [6, 32, 38, 43], │ │ │ │ │ "110": [6, 32, 38, 43], │ │ │ │ │ "111": [6, 32, 38, 43], │ │ │ │ │ "287": 6, │ │ │ │ │ "categori": [6, 29, 34], │ │ │ │ │ "286": 6, │ │ │ │ │ "_natural_earth_geom_cach": 6, │ │ │ │ │ @@ -1813,21 +1813,21 @@ │ │ │ │ │ "until": [13, 33, 36, 40, 43], │ │ │ │ │ "scitool": [13, 18], │ │ │ │ │ "813": 13, │ │ │ │ │ "band": [13, 34, 40, 44], │ │ │ │ │ "color": [13, 16, 18, 43, 48], │ │ │ │ │ "r": [13, 28, 32, 33, 34, 38, 39, 40, 48], │ │ │ │ │ "tmp": 13, │ │ │ │ │ - "ipykernel_24969": 13, │ │ │ │ │ + "ipykernel_27594": 13, │ │ │ │ │ "2946363816": 13, │ │ │ │ │ "favor": [13, 16, 40, 42, 48], │ │ │ │ │ "transit": [13, 40, 43, 48], │ │ │ │ │ "corteva": [13, 40], │ │ │ │ │ "getting_start": [13, 40], │ │ │ │ │ - "222": [13, 33], │ │ │ │ │ + "222": 13, │ │ │ │ │ "221": 13, │ │ │ │ │ "223": 13, │ │ │ │ │ "224": 13, │ │ │ │ │ "226": 13, │ │ │ │ │ "227": 13, │ │ │ │ │ "229": [13, 48], │ │ │ │ │ "230": 13, │ │ │ │ │ @@ -1936,15 +1936,15 @@ │ │ │ │ │ "80527925": 14, │ │ │ │ │ "timepandasindexpandasindex": 14, │ │ │ │ │ "datetimeindex": [14, 34, 38, 46, 47, 48], │ │ │ │ │ "04": [14, 33, 34, 38, 40, 42, 46], │ │ │ │ │ "05": [14, 32, 34, 40, 43, 46, 47, 48], │ │ │ │ │ "06": [14, 32, 34, 40, 46], │ │ │ │ │ "07": [14, 34, 46, 47], │ │ │ │ │ - "08": [14, 34, 46, 48], │ │ │ │ │ + "08": [14, 33, 34, 46, 48], │ │ │ │ │ "09": [14, 32, 34, 46], │ │ │ │ │ "22": [14, 19, 29, 31, 32, 33, 34, 36, 38, 39, 40, 42, 43, 44, 46, 47], │ │ │ │ │ "26": [14, 19, 31, 32, 33, 34, 36, 38, 39, 40, 42, 43, 44, 46, 47], │ │ │ │ │ "27": [14, 19, 31, 32, 33, 34, 36, 38, 39, 40, 43, 44, 46, 47], │ │ │ │ │ "freq": [14, 34, 38, 46, 47, 48], │ │ │ │ │ "locationpandasindexpandasindex": 14, │ │ │ │ │ "df": [14, 33, 34, 42, 48], │ │ │ │ │ @@ -1983,15 +1983,15 @@ │ │ │ │ │ "xlabel": [14, 43], │ │ │ │ │ "pairplot": 14, │ │ │ │ │ "reset_index": [14, 42, 44, 48], │ │ │ │ │ "var": [14, 25, 31, 32, 38, 43, 48], │ │ │ │ │ "data_var": [14, 32, 34, 38, 40, 44, 48], │ │ │ │ │ "axisgrid": 14, │ │ │ │ │ "pairgrid": 14, │ │ │ │ │ - "0xaa1915f0": 14, │ │ │ │ │ + "0xeab28fd0": 14, │ │ │ │ │ "9516129": 14, │ │ │ │ │ "88709677": 14, │ │ │ │ │ "93548387": 14, │ │ │ │ │ "84210526": 14, │ │ │ │ │ "71929825": 14, │ │ │ │ │ "77192982": 14, │ │ │ │ │ "24193548": 14, │ │ │ │ │ @@ -2321,15 +2321,15 @@ │ │ │ │ │ "36": [19, 31, 32, 33, 34, 38, 39, 40, 43, 44, 46, 48], │ │ │ │ │ "9781708": 19, │ │ │ │ │ "37342613": 19, │ │ │ │ │ "49497537": 19, │ │ │ │ │ "33584385": 19, │ │ │ │ │ "37": [19, 31, 32, 33, 34, 36, 38, 39, 40, 43, 44, 48], │ │ │ │ │ "quadmesh": [19, 43, 48], │ │ │ │ │ - "0xab597710": 19, │ │ │ │ │ + "0xee94efb0": 19, │ │ │ │ │ "paid": 19, │ │ │ │ │ "customiz": 19, │ │ │ │ │ "to_seri": [19, 42, 48], │ │ │ │ │ "to_xarrai": [19, 42], │ │ │ │ │ "38": [19, 31, 32, 33, 34, 38, 39, 40, 43, 44, 48], │ │ │ │ │ "469112": [19, 42], │ │ │ │ │ "282863": [19, 42], │ │ │ │ │ @@ -2993,15 +2993,15 @@ │ │ │ │ │ "64": [32, 34, 38, 39, 40, 43, 48], │ │ │ │ │ "65": [32, 34, 38, 40, 43, 48], │ │ │ │ │ "66": [32, 34, 38, 39, 40, 43, 48], │ │ │ │ │ "67": [32, 34, 36, 38, 40, 43, 48], │ │ │ │ │ "1999": 32, │ │ │ │ │ "364": [32, 46], │ │ │ │ │ "68": [32, 34, 38, 40, 43, 48], │ │ │ │ │ - "69": [32, 34, 38, 40, 43, 48], │ │ │ │ │ + "69": [32, 33, 34, 38, 40, 43, 48], │ │ │ │ │ "03343858": 32, │ │ │ │ │ "06683976": 32, │ │ │ │ │ "48672119": 32, │ │ │ │ │ "51565952": 32, │ │ │ │ │ "54402111": 32, │ │ │ │ │ "03343845": 32, │ │ │ │ │ "06683951": 32, │ │ │ │ │ @@ -3183,15 +3183,15 @@ │ │ │ │ │ "gaussian_2d": 32, │ │ │ │ │ "xalpha": 32, │ │ │ │ │ "yalpha": 32, │ │ │ │ │ "94": [32, 38, 43, 48], │ │ │ │ │ "multi_peak": 32, │ │ │ │ │ "zero": [32, 38, 40, 43, 48], │ │ │ │ │ "96": [32, 38, 43, 48], │ │ │ │ │ - "97": [32, 38, 43, 48], │ │ │ │ │ + "97": [32, 33, 38, 43, 48], │ │ │ │ │ "n_peak": 32, │ │ │ │ │ "99": [32, 34, 38, 39, 43, 44, 48], │ │ │ │ │ "101": [32, 38, 43, 48], │ │ │ │ │ "102": [32, 38, 43, 48], │ │ │ │ │ "normal": [32, 38, 43, 44, 48], │ │ │ │ │ "103": [32, 38, 43, 48], │ │ │ │ │ "param_nam": 32, │ │ │ │ │ @@ -3213,15 +3213,15 @@ │ │ │ │ │ "466e": 32, │ │ │ │ │ "parlanc": 32, │ │ │ │ │ "expand": [32, 40, 42, 48], │ │ │ │ │ "reorder": [32, 48], │ │ │ │ │ "112": [32, 38, 43], │ │ │ │ │ "subtract": [32, 33, 38, 39, 48], │ │ │ │ │ "113": [32, 38, 43], │ │ │ │ │ - "114": [32, 33, 38, 43], │ │ │ │ │ + "114": [32, 38, 43], │ │ │ │ │ "a2": [32, 48], │ │ │ │ │ "b2": [32, 48], │ │ │ │ │ "115": [32, 38, 43], │ │ │ │ │ "116": [32, 38, 43, 46], │ │ │ │ │ "inner": [32, 38, 48], │ │ │ │ │ "120": [32, 38, 40, 43, 46], │ │ │ │ │ "arithmetic_join": [32, 41, 48], │ │ │ │ │ @@ -3308,19 +3308,22 @@ │ │ │ │ │ "178": 33, │ │ │ │ │ "179": [33, 38], │ │ │ │ │ "concaten": [33, 36, 40, 44, 48], │ │ │ │ │ "disclaim": 33, │ │ │ │ │ "execut": [33, 48], │ │ │ │ │ "ineffect": 33, │ │ │ │ │ "reveal": 33, │ │ │ │ │ - "86fd385b8a6f7c00d182c4a804b7fb4ctemperatur": 33, │ │ │ │ │ + "66d334fc2f4611bff21c1218002c3d06temperatur": 33, │ │ │ │ │ "progressbar": 33, │ │ │ │ │ "progress": [33, 48], │ │ │ │ │ "schedul": [33, 48], │ │ │ │ │ "delayed_obj": 33, │ │ │ │ │ + "211": 33, │ │ │ │ │ + "315": 33, │ │ │ │ │ + "420": 33, │ │ │ │ │ "hdf5_use_file_lock": 33, │ │ │ │ │ "compet": 33, │ │ │ │ │ "hdf5": [33, 40, 48], │ │ │ │ │ "swmr": 33, │ │ │ │ │ "scheme": [33, 46], │ │ │ │ │ "to_dask_datafram": [33, 42, 48], │ │ │ │ │ "npartit": 33, │ │ │ │ │ @@ -3667,16 +3670,16 @@ │ │ │ │ │ "__delitem__": [34, 48], │ │ │ │ │ "shallow": 34, │ │ │ │ │ "modif": [34, 40], │ │ │ │ │ "temperature2": 34, │ │ │ │ │ "chain": [34, 38, 48], │ │ │ │ │ "flow": 34, │ │ │ │ │ "line2d": [34, 39, 43], │ │ │ │ │ - "0xa447e770": 34, │ │ │ │ │ - "0xa44b4750": 34, │ │ │ │ │ + "0xe5332a10": 34, │ │ │ │ │ + "0xe4e7c970": 34, │ │ │ │ │ "penalti": 34, │ │ │ │ │ "mutat": [34, 48], │ │ │ │ │ "swap_dim": [34, 48], │ │ │ │ │ "swap": [34, 48], │ │ │ │ │ "ancillari": 34, │ │ │ │ │ "sole": [34, 48], │ │ │ │ │ "otherwis": [34, 38, 44, 47, 48], │ │ │ │ │ @@ -3963,19 +3966,19 @@ │ │ │ │ │ "911": 39, │ │ │ │ │ "912": 39, │ │ │ │ │ "789": 39, │ │ │ │ │ "069": 39, │ │ │ │ │ "interp1d": [39, 46, 48], │ │ │ │ │ "decomposit": 39, │ │ │ │ │ "interpn": 39, │ │ │ │ │ - "0xade47150": 39, │ │ │ │ │ - "0xab58eb10": 39, │ │ │ │ │ + "0xe50483b0": 39, │ │ │ │ │ + "0xee971150": 39, │ │ │ │ │ "cubic": [39, 48], │ │ │ │ │ - "0xadf9fbb0": 39, │ │ │ │ │ - "0xadf927b0": 39, │ │ │ │ │ + "0xee84da30": 39, │ │ │ │ │ + "0xee849310": 39, │ │ │ │ │ "814": [39, 40], │ │ │ │ │ "604": 39, │ │ │ │ │ "2778": 39, │ │ │ │ │ "05556": 39, │ │ │ │ │ "1667": 39, │ │ │ │ │ "8333": [39, 40], │ │ │ │ │ "056": 39, │ │ │ │ │ @@ -4440,15 +4443,15 @@ │ │ │ │ │ "dataarraycoordin": [43, 48], │ │ │ │ │ "385": 43, │ │ │ │ │ "t_dataarrai": 43, │ │ │ │ │ "819": 43, │ │ │ │ │ "818": 43, │ │ │ │ │ "zip": [43, 48], │ │ │ │ │ "_replace_maybe_drop_dim": 43, │ │ │ │ │ - "0xa15581b0": 43, │ │ │ │ │ + "0xe1f76bb0": 43, │ │ │ │ │ "contour": [43, 48], │ │ │ │ │ "prove": 43, │ │ │ │ │ "america": 43, │ │ │ │ │ "nha": 43, │ │ │ │ │ "fallen": 43, │ │ │ │ │ "ylabel": 43, │ │ │ │ │ "d_ylog": 43, │ │ │ │ │ @@ -4557,80 +4560,80 @@ │ │ │ │ │ "373e": 43, │ │ │ │ │ "072e": 43, │ │ │ │ │ "667e": 43, │ │ │ │ │ "453e": 43, │ │ │ │ │ "906e": 43, │ │ │ │ │ "aunit": 43, │ │ │ │ │ "pathcollect": 43, │ │ │ │ │ - "0xa14a82f0": 43, │ │ │ │ │ - "0xa14964f0": 43, │ │ │ │ │ - "0xa12db170": 43, │ │ │ │ │ - "0xa1222e50": 43, │ │ │ │ │ + "0xe4e5ecf0": 43, │ │ │ │ │ + "0xe5bd3a30": 43, │ │ │ │ │ + "0xe1f76f70": 43, │ │ │ │ │ + "0xe1d6cbd0": 43, │ │ │ │ │ "colorbar": [43, 48], │ │ │ │ │ - "0xa11c4930": 43, │ │ │ │ │ - "0xa12d7d50": 43, │ │ │ │ │ + "0xe238c2d0": 43, │ │ │ │ │ + "0xe1c2c190": 43, │ │ │ │ │ "markers": 43, │ │ │ │ │ "size_norm": 43, │ │ │ │ │ - "0xa118b0d0": 43, │ │ │ │ │ + "0xe1c322f0": 43, │ │ │ │ │ "mpl_toolkit": 43, │ │ │ │ │ "mplot3d": 43, │ │ │ │ │ "art3d": 43, │ │ │ │ │ "path3dcollect": 43, │ │ │ │ │ - "0xa11de4f0": 43, │ │ │ │ │ - "0xa11cabf0": 43, │ │ │ │ │ - "0xa0ad3a50": 43, │ │ │ │ │ - "0xa03b8d70": 43, │ │ │ │ │ + "0xe1c9c3d0": 43, │ │ │ │ │ + "0xe1bcbc10": 43, │ │ │ │ │ + "0xe2381df0": 43, │ │ │ │ │ + "0xe15358d0": 43, │ │ │ │ │ "denot": 43, │ │ │ │ │ - "0xa048eb10": 43, │ │ │ │ │ + "0xe195c2d0": 43, │ │ │ │ │ "streamlin": 43, │ │ │ │ │ "linecollect": 43, │ │ │ │ │ - "0xa04dfd30": 43, │ │ │ │ │ + "0xe16a0bf0": 43, │ │ │ │ │ "tangent": 43, │ │ │ │ │ - "0xa0e44a90": 43, │ │ │ │ │ + "0xe1785410": 43, │ │ │ │ │ "script": [43, 48], │ │ │ │ │ "orthograph": 43, │ │ │ │ │ "grai": [43, 48], │ │ │ │ │ "transfer": 43, │ │ │ │ │ "gridlin": 43, │ │ │ │ │ "submodul": 43, │ │ │ │ │ "xplt": 43, │ │ │ │ │ - "0xa0a65130": 43, │ │ │ │ │ - "0xa0ce4270": 43, │ │ │ │ │ - "0xa0f6e6b0": 43, │ │ │ │ │ - "0x9edaf030": 43, │ │ │ │ │ + "0xdf809df0": 43, │ │ │ │ │ + "0xdf85def0": 43, │ │ │ │ │ + "0xe1979130": 43, │ │ │ │ │ + "0xe0ecc390": 43, │ │ │ │ │ "dispatch": [43, 48], │ │ │ │ │ "uniformli": 43, │ │ │ │ │ "pixel": [43, 48], │ │ │ │ │ "carefulli": 43, │ │ │ │ │ - "0x9ee399b0": 43, │ │ │ │ │ + "0xdf791b50": 43, │ │ │ │ │ "strang": 43, │ │ │ │ │ - "0x9ede9990": 43, │ │ │ │ │ + "0xdfe82ef0": 43, │ │ │ │ │ "polar": [43, 48], │ │ │ │ │ "gh781": [43, 48], │ │ │ │ │ "geocollect": 43, │ │ │ │ │ "geoquadmesh": 43, │ │ │ │ │ - "0x9ede9bb0": 43, │ │ │ │ │ - "0x9ed308b0": 43, │ │ │ │ │ - "0x9f46b2d0": 43, │ │ │ │ │ + "0xe1705f10": 43, │ │ │ │ │ + "0xe18e3290": 43, │ │ │ │ │ + "0xdf834510": 43, │ │ │ │ │ "draw_label": 43, │ │ │ │ │ - "0x9ed21a90": 43, │ │ │ │ │ + "0xdf7630f0": 43, │ │ │ │ │ "infer_interv": [43, 48], │ │ │ │ │ - "0x9daa3b30": 43, │ │ │ │ │ - "0x9daab230": 43, │ │ │ │ │ - "0x9ed10cb0": 43, │ │ │ │ │ - "0x9db0e0d0": 43, │ │ │ │ │ - "0x9db14c10": 43, │ │ │ │ │ - "0x9da1d6f0": 43, │ │ │ │ │ - "0x9da1d850": 43, │ │ │ │ │ - "0x9da1d9b0": 43, │ │ │ │ │ - "0x9da94e30": 43, │ │ │ │ │ - "0x9da2a7b0": 43, │ │ │ │ │ - "0x9da2a910": 43, │ │ │ │ │ - "0x9da2aa70": 43, │ │ │ │ │ - "0x9da2abf0": 43, │ │ │ │ │ + "0xde527730": 43, │ │ │ │ │ + "0xde527d90": 43, │ │ │ │ │ + "0xde52ec90": 43, │ │ │ │ │ + "0xde504250": 43, │ │ │ │ │ + "0xde523250": 43, │ │ │ │ │ + "0xde49ba70": 43, │ │ │ │ │ + "0xde4f5390": 43, │ │ │ │ │ + "0xde49bbd0": 43, │ │ │ │ │ + "0xde49b130": 43, │ │ │ │ │ + "0xde4ac9f0": 43, │ │ │ │ │ + "0xde4acb10": 43, │ │ │ │ │ + "0xde4acc70": 43, │ │ │ │ │ + "0xde4acdf0": 43, │ │ │ │ │ "revers": 44, │ │ │ │ │ "nascent": [44, 48], │ │ │ │ │ "unlist": [44, 48], │ │ │ │ │ "stacked2": 44, │ │ │ │ │ "depart": 44, │ │ │ │ │ "complic": 44, │ │ │ │ │ "sample_dim": 44, │ │ │ │ │ @@ -6982,15 +6985,15 @@ │ │ │ │ │ "pete": 48, │ │ │ │ │ "cabl": 48, │ │ │ │ │ "sinclair": 48, │ │ │ │ │ "gh185": 48, │ │ │ │ │ "gh479": 48, │ │ │ │ │ "gh475": 48, │ │ │ │ │ "abcdefg": 48, │ │ │ │ │ - "0x9d68cfd0": 48, │ │ │ │ │ + "0xde251f10": 48, │ │ │ │ │ "ma": 48, │ │ │ │ │ "maskedarrai": 48, │ │ │ │ │ "random_sampl": 48, │ │ │ │ │ "352": 48, │ │ │ │ │ "masked_arrai": 48, │ │ │ │ │ "12696983303810094": 48, │ │ │ │ │ "26047600586578334": 48, │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/user-guide/dask.html │ │ │ │ @@ -114,15 +114,15 @@ │ │ │ │

    You’ll notice that printing a dataset still shows a preview of array values, │ │ │ │ even if they are actually Dask arrays. We can do this quickly with Dask because │ │ │ │ we only need to compute the first few values (typically from the first block). │ │ │ │ To reveal the true nature of an array, print a DataArray:

    │ │ │ │
    In [3]: ds.temperature
    │ │ │ │  Out[3]: 
    │ │ │ │  <xarray.DataArray 'temperature' (time: 30, latitude: 180, longitude: 180)>
    │ │ │ │ -dask.array<open_dataset-86fd385b8a6f7c00d182c4a804b7fb4ctemperature, shape=(30, 180, 180), dtype=float64, chunksize=(10, 180, 180), chunktype=numpy.ndarray>
    │ │ │ │ +dask.array<open_dataset-66d334fc2f4611bff21c1218002c3d06temperature, shape=(30, 180, 180), dtype=float64, chunksize=(10, 180, 180), chunktype=numpy.ndarray>
    │ │ │ │  Coordinates:
    │ │ │ │    * time       (time) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-01-30
    │ │ │ │    * longitude  (longitude) int32 0 1 2 3 4 5 6 7 ... 173 174 175 176 177 178 179
    │ │ │ │    * latitude   (latitude) float64 89.5 88.5 87.5 86.5 ... -87.5 -88.5 -89.5
    │ │ │ │  
    │ │ │ │
    │ │ │ │

    Once you’ve manipulated a Dask array, you can still write a dataset too big to │ │ │ │ @@ -138,17 +138,19 @@ │ │ │ │ # or distributed.progress when using the distributed scheduler │ │ │ │ In [6]: delayed_obj = ds.to_netcdf("manipulated-example-data.nc", compute=False) │ │ │ │ │ │ │ │ In [7]: with ProgressBar(): │ │ │ │ ...: results = delayed_obj.compute() │ │ │ │ ...: │ │ │ │ │ │ │ │ -[ ] | 0% Completed | 11.74 ms │ │ │ │ -[########## ] | 25% Completed | 114.86 ms │ │ │ │ -[########################################] | 100% Completed | 222.89 ms │ │ │ │ +[ ] | 0% Completed | 3.97 ms │ │ │ │ +[############### ] | 37% Completed | 107.69 ms │ │ │ │ +[############### ] | 37% Completed | 211.69 ms │ │ │ │ +[################################### ] | 87% Completed | 315.69 ms │ │ │ │ +[########################################] | 100% Completed | 420.08 ms │ │ │ │ │ │ │ │ │ │ │ │

    │ │ │ │

    Note

    │ │ │ │

    When using Dask’s distributed scheduler to write NETCDF4 files, │ │ │ │ it may be necessary to set the environment variable HDF5_USE_FILE_LOCKING=FALSE │ │ │ │ to avoid competing locks within the HDF5 SWMR file locking scheme. Note that │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -76,15 +76,15 @@ │ │ │ │ │ You’ll notice that printing a dataset still shows a preview of array values, │ │ │ │ │ even if they are actually Dask arrays. We can do this quickly with Dask because │ │ │ │ │ we only need to compute the first few values (typically from the first block). │ │ │ │ │ To reveal the true nature of an array, print a DataArray: │ │ │ │ │ In [3]: ds.temperature │ │ │ │ │ Out[3]: │ │ │ │ │ │ │ │ │ │ -dask.array │ │ │ │ │ Coordinates: │ │ │ │ │ * time (time) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-01-30 │ │ │ │ │ * longitude (longitude) int32 0 1 2 3 4 5 6 7 ... 173 174 175 176 177 178 │ │ │ │ │ 179 │ │ │ │ │ * latitude (latitude) float64 89.5 88.5 87.5 86.5 ... -87.5 -88.5 -89.5 │ │ │ │ │ Once you’ve manipulated a Dask array, you can still write a dataset too big │ │ │ │ │ @@ -98,17 +98,19 @@ │ │ │ │ │ In [6]: delayed_obj = ds.to_netcdf("manipulated-example-data.nc", │ │ │ │ │ compute=False) │ │ │ │ │ │ │ │ │ │ In [7]: with ProgressBar(): │ │ │ │ │ ...: results = delayed_obj.compute() │ │ │ │ │ ...: │ │ │ │ │ │ │ │ │ │ -[ ] | 0% Completed | 11.74 ms │ │ │ │ │ -[########## ] | 25% Completed | 114.86 ms │ │ │ │ │ -[########################################] | 100% Completed | 222.89 ms │ │ │ │ │ +[ ] | 0% Completed | 3.97 ms │ │ │ │ │ +[############### ] | 37% Completed | 107.69 ms │ │ │ │ │ +[############### ] | 37% Completed | 211.69 ms │ │ │ │ │ +[################################### ] | 87% Completed | 315.69 ms │ │ │ │ │ +[########################################] | 100% Completed | 420.08 ms │ │ │ │ │ Note │ │ │ │ │ When using Dask’s distributed scheduler to write NETCDF4 files, it may be │ │ │ │ │ necessary to set the environment variableHDF5_USE_FILE_LOCKING=FALSEto avoid │ │ │ │ │ competing locks within the HDF5 SWMR file locking scheme. Note that writing │ │ │ │ │ netCDF files with Dask’s distributed scheduler is only supported for │ │ │ │ │ thenetcdf4backend. │ │ │ │ │ A dataset can also be converted to a Dask DataFrame using to_dask_dataframe(). │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/user-guide/data-structures.html │ │ │ │ @@ -687,18 +687,18 @@ │ │ │ │ a method call with an external function (e.g., ds.pipe(func)) instead of │ │ │ │ simply calling it (e.g., func(ds)). This allows you to write pipelines for │ │ │ │ transforming your data (using “method chaining”) instead of writing hard to │ │ │ │ follow nested function calls:

    │ │ │ │
    # these lines are equivalent, but with pipe we can make the logic flow
    │ │ │ │  # entirely from left to right
    │ │ │ │  In [60]: plt.plot((2 * ds.temperature.sel(x=0)).mean("y"))
    │ │ │ │ -Out[60]: [<matplotlib.lines.Line2D at 0xa447e770>]
    │ │ │ │ +Out[60]: [<matplotlib.lines.Line2D at 0xe5332a10>]
    │ │ │ │  
    │ │ │ │  In [61]: (ds.temperature.sel(x=0).pipe(lambda x: 2 * x).mean("y").pipe(plt.plot))
    │ │ │ │ -Out[61]: [<matplotlib.lines.Line2D at 0xa44b4750>]
    │ │ │ │ +Out[61]: [<matplotlib.lines.Line2D at 0xe4e7c970>]
    │ │ │ │  
    │ │ │ │
    │ │ │ │

    Both pipe and assign replicate the pandas methods of the same names │ │ │ │ (DataFrame.pipe and │ │ │ │ DataFrame.assign).

    │ │ │ │

    With xarray, there is no performance penalty for creating new datasets, even if │ │ │ │ variables are lazily loaded from a file on disk. Creating new objects instead │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -574,19 +574,19 @@ │ │ │ │ │ There is also the pipe() method that allows you to use a method call with an │ │ │ │ │ external function (e.g., ds.pipe(func)) instead of simply calling it (e.g., │ │ │ │ │ func(ds)). This allows you to write pipelines for transforming your data (using │ │ │ │ │ “method chaining”) instead of writing hard to follow nested function calls: │ │ │ │ │ # these lines are equivalent, but with pipe we can make the logic flow │ │ │ │ │ # entirely from left to right │ │ │ │ │ In [60]: plt.plot((2 * ds.temperature.sel(x=0)).mean("y")) │ │ │ │ │ -Out[60]: [] │ │ │ │ │ +Out[60]: [] │ │ │ │ │ │ │ │ │ │ In [61]: (ds.temperature.sel(x=0).pipe(lambda x: 2 * x).mean("y").pipe │ │ │ │ │ (plt.plot)) │ │ │ │ │ -Out[61]: [] │ │ │ │ │ +Out[61]: [] │ │ │ │ │ Both pipe and assign replicate the pandas methods of the same names │ │ │ │ │ (DataFrame.pipe and DataFrame.assign). │ │ │ │ │ With xarray, there is no performance penalty for creating new datasets, even if │ │ │ │ │ variables are lazily loaded from a file on disk. Creating new objects instead │ │ │ │ │ of mutating existing objects often results in easier to understand code, so we │ │ │ │ │ encourage using this approach. │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/user-guide/indexing.html │ │ │ │ @@ -1277,15 +1277,15 @@ │ │ │ │ File /build/reproducible-path/python-xarray-2023.01.0/xarray/core/utils.py:857, in drop_dims_from_indexers(indexers, dims, missing_dims) │ │ │ │ 856 if invalid: │ │ │ │ --> 857 raise ValueError( │ │ │ │ 858 f"Dimensions {invalid} do not exist. Expected one or more of {dims}" │ │ │ │ 859 ) │ │ │ │ 861 return indexers │ │ │ │ │ │ │ │ -ValueError: Dimensions {'latitude', 'longitude'} do not exist. Expected one or more of ('x', 'y') │ │ │ │ +ValueError: Dimensions {'longitude', 'latitude'} do not exist. Expected one or more of ('x', 'y') │ │ │ │ │ │ │ │ The above exception was the direct cause of the following exception: │ │ │ │ │ │ │ │ ValueError Traceback (most recent call last) │ │ │ │ Cell In [87], line 1 │ │ │ │ ----> 1 ds[dict(latitude=2, longitude=2)] = 1 │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1165,15 +1165,15 @@ │ │ │ │ │ 856 if invalid: │ │ │ │ │ --> 857 raise ValueError( │ │ │ │ │ 858 f"Dimensions {invalid} do not exist. Expected one or more of │ │ │ │ │ {dims}" │ │ │ │ │ 859 ) │ │ │ │ │ 861 return indexers │ │ │ │ │ │ │ │ │ │ -ValueError: Dimensions {'latitude', 'longitude'} do not exist. Expected one or │ │ │ │ │ +ValueError: Dimensions {'longitude', 'latitude'} do not exist. Expected one or │ │ │ │ │ more of ('x', 'y') │ │ │ │ │ │ │ │ │ │ The above exception was the direct cause of the following exception: │ │ │ │ │ │ │ │ │ │ ValueError Traceback (most recent call last) │ │ │ │ │ Cell In [87], line 1 │ │ │ │ │ ----> 1 ds[dict(latitude=2, longitude=2)] = 1 │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/user-guide/interpolation.html │ │ │ │ @@ -222,24 +222,24 @@ │ │ │ │ ....: np.sin(np.linspace(0, 2 * np.pi, 10)), │ │ │ │ ....: dims="x", │ │ │ │ ....: coords={"x": np.linspace(0, 1, 10)}, │ │ │ │ ....: ) │ │ │ │ ....: │ │ │ │ │ │ │ │ In [17]: da.plot.line("o", label="original") │ │ │ │ -Out[17]: [<matplotlib.lines.Line2D at 0xade47150>] │ │ │ │ +Out[17]: [<matplotlib.lines.Line2D at 0xe50483b0>] │ │ │ │ │ │ │ │ In [18]: da.interp(x=np.linspace(0, 1, 100)).plot.line(label="linear (default)") │ │ │ │ -Out[18]: [<matplotlib.lines.Line2D at 0xab58eb10>] │ │ │ │ +Out[18]: [<matplotlib.lines.Line2D at 0xee971150>] │ │ │ │ │ │ │ │ In [19]: da.interp(x=np.linspace(0, 1, 100), method="cubic").plot.line(label="cubic") │ │ │ │ -Out[19]: [<matplotlib.lines.Line2D at 0xadf9fbb0>] │ │ │ │ +Out[19]: [<matplotlib.lines.Line2D at 0xee84da30>] │ │ │ │ │ │ │ │ In [20]: plt.legend() │ │ │ │ -Out[20]: <matplotlib.legend.Legend at 0xadf927b0> │ │ │ │ +Out[20]: <matplotlib.legend.Legend at 0xee849310> │ │ │ │

    │ │ │ │ │ │ │ │ ../_images/interpolation_sample1.png │ │ │ │

    Additional keyword arguments can be passed to scipy’s functions.

    │ │ │ │
    # fill 0 for the outside of the original coordinates.
    │ │ │ │  In [21]: da.interp(x=np.linspace(-0.5, 1.5, 10), kwargs={"fill_value": 0.0})
    │ │ │ │  Out[21]: 
    │ │ │ │ ├── html2text {}
    │ │ │ │ │ @@ -165,26 +165,26 @@
    │ │ │ │ │     ....:     np.sin(np.linspace(0, 2 * np.pi, 10)),
    │ │ │ │ │     ....:     dims="x",
    │ │ │ │ │     ....:     coords={"x": np.linspace(0, 1, 10)},
    │ │ │ │ │     ....: )
    │ │ │ │ │     ....:
    │ │ │ │ │  
    │ │ │ │ │  In [17]: da.plot.line("o", label="original")
    │ │ │ │ │ -Out[17]: []
    │ │ │ │ │ +Out[17]: []
    │ │ │ │ │  
    │ │ │ │ │  In [18]: da.interp(x=np.linspace(0, 1, 100)).plot.line(label="linear
    │ │ │ │ │  (default)")
    │ │ │ │ │ -Out[18]: []
    │ │ │ │ │ +Out[18]: []
    │ │ │ │ │  
    │ │ │ │ │  In [19]: da.interp(x=np.linspace(0, 1, 100), method="cubic").plot.line
    │ │ │ │ │  (label="cubic")
    │ │ │ │ │ -Out[19]: []
    │ │ │ │ │ +Out[19]: []
    │ │ │ │ │  
    │ │ │ │ │  In [20]: plt.legend()
    │ │ │ │ │ -Out[20]: 
    │ │ │ │ │ +Out[20]: 
    │ │ │ │ │  [../_images/interpolation_sample1.png]
    │ │ │ │ │  Additional keyword arguments can be passed to scipy’s functions.
    │ │ │ │ │  # fill 0 for the outside of the original coordinates.
    │ │ │ │ │  In [21]: da.interp(x=np.linspace(-0.5, 1.5, 10), kwargs={"fill_value": 0.0})
    │ │ │ │ │  Out[21]:
    │ │ │ │ │  
    │ │ │ │ │  array([ 0.   ,  0.   ,  0.   ,  0.814,  0.604, -0.604, -0.814,  0.   ,  0.   ,
    │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/user-guide/plotting.html
    │ │ │ │ @@ -643,15 +643,15 @@
    │ │ │ │  --> 186     raise KeyError(key)
    │ │ │ │      188 ref_name, var_name = split_key
    │ │ │ │      189 ref_var = variables[ref_name]
    │ │ │ │  
    │ │ │ │  KeyError: 'lat'
    │ │ │ │  
    │ │ │ │  In [51]: b.plot()
    │ │ │ │ -Out[51]: [<matplotlib.lines.Line2D at 0xa15581b0>]
    │ │ │ │ +Out[51]: [<matplotlib.lines.Line2D at 0xe1f76bb0>]
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/plotting_nonuniform_coords.png │ │ │ │
    │ │ │ │
    │ │ │ │

    Other types of plot

    │ │ │ │

    There are several other options for plotting 2D data.

    │ │ │ │ @@ -1205,104 +1205,104 @@ │ │ │ │ * y (y) float64 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 │ │ │ │ * z (z) int32 0 1 2 3 │ │ │ │ * w (w) <U5 'one' 'two' 'three' 'five' │ │ │ │ Attributes: │ │ │ │ units: Aunits │ │ │ │ │ │ │ │ In [99]: ds.A.plot.scatter(x="y") │ │ │ │ -Out[99]: <matplotlib.collections.PathCollection at 0xa14a82f0> │ │ │ │ +Out[99]: <matplotlib.collections.PathCollection at 0xe4e5ecf0> │ │ │ │ │ │ │ │ │ │ │ │ ../_images/da_A_y.png │ │ │ │

    Same plot can be displayed using the dataset:

    │ │ │ │
    In [100]: ds.plot.scatter(x="y", y="A")
    │ │ │ │ -Out[100]: <matplotlib.collections.PathCollection at 0xa14964f0>
    │ │ │ │ +Out[100]: <matplotlib.collections.PathCollection at 0xe5bd3a30>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_A_y.png │ │ │ │

    Now suppose we want to scatter the A DataArray against the B DataArray

    │ │ │ │
    In [101]: ds.plot.scatter(x="A", y="B")
    │ │ │ │ -Out[101]: <matplotlib.collections.PathCollection at 0xa12db170>
    │ │ │ │ +Out[101]: <matplotlib.collections.PathCollection at 0xe1f76f70>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_simple_scatter.png │ │ │ │

    The hue kwarg lets you vary the color by variable value

    │ │ │ │
    In [102]: ds.plot.scatter(x="A", y="B", hue="w")
    │ │ │ │ -Out[102]: <matplotlib.collections.PathCollection at 0xa1222e50>
    │ │ │ │ +Out[102]: <matplotlib.collections.PathCollection at 0xe1d6cbd0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_hue_scatter.png │ │ │ │

    You can force a legend instead of a colorbar by setting add_legend=True, add_colorbar=False.

    │ │ │ │
    In [103]: ds.plot.scatter(x="A", y="B", hue="w", add_legend=True, add_colorbar=False)
    │ │ │ │ -Out[103]: <matplotlib.collections.PathCollection at 0xa11c4930>
    │ │ │ │ +Out[103]: <matplotlib.collections.PathCollection at 0xe238c2d0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_discrete_legend_hue_scatter.png │ │ │ │
    In [104]: ds.plot.scatter(x="A", y="B", hue="w", add_legend=False, add_colorbar=True)
    │ │ │ │ -Out[104]: <matplotlib.collections.PathCollection at 0xa12d7d50>
    │ │ │ │ +Out[104]: <matplotlib.collections.PathCollection at 0xe1c2c190>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_discrete_colorbar_hue_scatter.png │ │ │ │

    The markersize kwarg lets you vary the point’s size by variable value. │ │ │ │ You can additionally pass size_norm to control how the variable’s values are mapped to point sizes.

    │ │ │ │
    In [105]: ds.plot.scatter(x="A", y="B", hue="y", markersize="z")
    │ │ │ │ -Out[105]: <matplotlib.collections.PathCollection at 0xa118b0d0>
    │ │ │ │ +Out[105]: <matplotlib.collections.PathCollection at 0xe1c322f0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_hue_size_scatter.png │ │ │ │

    The z kwarg lets you plot the data along the z-axis as well.

    │ │ │ │
    In [106]: ds.plot.scatter(x="A", y="B", z="z", hue="y", markersize="x")
    │ │ │ │ -Out[106]: <mpl_toolkits.mplot3d.art3d.Path3DCollection at 0xa11de4f0>
    │ │ │ │ +Out[106]: <mpl_toolkits.mplot3d.art3d.Path3DCollection at 0xe1c9c3d0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_hue_size_scatter_z.png │ │ │ │

    Faceting is also possible

    │ │ │ │
    In [107]: ds.plot.scatter(x="A", y="B", hue="y", markersize="x", row="x", col="w")
    │ │ │ │ -Out[107]: <xarray.plot.facetgrid.FacetGrid at 0xa11cabf0>
    │ │ │ │ +Out[107]: <xarray.plot.facetgrid.FacetGrid at 0xe1bcbc10>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_facet_scatter.png │ │ │ │

    And adding the z-axis

    │ │ │ │
    In [108]: ds.plot.scatter(x="A", y="B", z="z", hue="y", markersize="x", row="x", col="w")
    │ │ │ │ -Out[108]: <xarray.plot.facetgrid.FacetGrid at 0xa0ad3a50>
    │ │ │ │ +Out[108]: <xarray.plot.facetgrid.FacetGrid at 0xe2381df0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_facet_scatter_z.png │ │ │ │

    For more advanced scatter plots, we recommend converting the relevant data variables │ │ │ │ to a pandas DataFrame and using the extensive plotting capabilities of seaborn.

    │ │ │ │
    │ │ │ │
    │ │ │ │

    Quiver

    │ │ │ │

    Visualizing vector fields is supported with quiver plots:

    │ │ │ │
    In [109]: ds.isel(w=1, z=1).plot.quiver(x="x", y="y", u="A", v="B")
    │ │ │ │ -Out[109]: <matplotlib.quiver.Quiver at 0xa03b8d70>
    │ │ │ │ +Out[109]: <matplotlib.quiver.Quiver at 0xe15358d0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_simple_quiver.png │ │ │ │

    where u and v denote the x and y direction components of the arrow vectors. Again, faceting is also possible:

    │ │ │ │
    In [110]: ds.plot.quiver(x="x", y="y", u="A", v="B", col="w", row="z", scale=4)
    │ │ │ │ -Out[110]: <xarray.plot.facetgrid.FacetGrid at 0xa048eb10>
    │ │ │ │ +Out[110]: <xarray.plot.facetgrid.FacetGrid at 0xe195c2d0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_facet_quiver.png │ │ │ │

    scale is required for faceted quiver plots. │ │ │ │ The scale determines the number of data units per arrow length unit, i.e. a smaller scale parameter makes the arrow longer.

    │ │ │ │
    │ │ │ │
    │ │ │ │

    Streamplot

    │ │ │ │

    Visualizing vector fields is also supported with streamline plots:

    │ │ │ │
    In [111]: ds.isel(w=1, z=1).plot.streamplot(x="x", y="y", u="A", v="B")
    │ │ │ │ -Out[111]: <matplotlib.collections.LineCollection at 0xa04dfd30>
    │ │ │ │ +Out[111]: <matplotlib.collections.LineCollection at 0xe16a0bf0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_simple_streamplot.png │ │ │ │

    where u and v denote the x and y direction components of the vectors tangent to the streamlines. │ │ │ │ Again, faceting is also possible:

    │ │ │ │
    In [112]: ds.plot.streamplot(x="x", y="y", u="A", v="B", col="w", row="z")
    │ │ │ │ -Out[112]: <xarray.plot.facetgrid.FacetGrid at 0xa0e44a90>
    │ │ │ │ +Out[112]: <xarray.plot.facetgrid.FacetGrid at 0xe1785410>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/ds_facet_streamplot.png │ │ │ │
    │ │ │ │
    │ │ │ │
    │ │ │ │

    Maps

    │ │ │ │ @@ -1424,24 +1424,24 @@ │ │ │ │
    In [121]: import xarray.plot as xplt
    │ │ │ │  
    │ │ │ │  In [122]: da = xr.DataArray(range(5))
    │ │ │ │  
    │ │ │ │  In [123]: fig, axs = plt.subplots(ncols=2, nrows=2)
    │ │ │ │  
    │ │ │ │  In [124]: da.plot(ax=axs[0, 0])
    │ │ │ │ -Out[124]: [<matplotlib.lines.Line2D at 0xa0a65130>]
    │ │ │ │ +Out[124]: [<matplotlib.lines.Line2D at 0xdf809df0>]
    │ │ │ │  
    │ │ │ │  In [125]: da.plot.line(ax=axs[0, 1])
    │ │ │ │ -Out[125]: [<matplotlib.lines.Line2D at 0xa0ce4270>]
    │ │ │ │ +Out[125]: [<matplotlib.lines.Line2D at 0xdf85def0>]
    │ │ │ │  
    │ │ │ │  In [126]: xplt.plot(da, ax=axs[1, 0])
    │ │ │ │ -Out[126]: [<matplotlib.lines.Line2D at 0xa0f6e6b0>]
    │ │ │ │ +Out[126]: [<matplotlib.lines.Line2D at 0xe1979130>]
    │ │ │ │  
    │ │ │ │  In [127]: xplt.line(da, ax=axs[1, 1])
    │ │ │ │ -Out[127]: [<matplotlib.lines.Line2D at 0x9edaf030>]
    │ │ │ │ +Out[127]: [<matplotlib.lines.Line2D at 0xe0ecc390>]
    │ │ │ │  
    │ │ │ │  In [128]: plt.tight_layout()
    │ │ │ │  
    │ │ │ │  In [129]: plt.draw()
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/plotting_ways_to_use.png │ │ │ │ @@ -1490,15 +1490,15 @@ │ │ │ │ │ │ │ │

    The plot will produce an image corresponding to the values of the array. │ │ │ │ Hence the top left pixel will be a different color than the others. │ │ │ │ Before reading on, you may want to look at the coordinates and │ │ │ │ think carefully about what the limits, labels, and orientation for │ │ │ │ each of the axes should be.

    │ │ │ │
    In [134]: a.plot()
    │ │ │ │ -Out[134]: <matplotlib.collections.QuadMesh at 0x9ee399b0>
    │ │ │ │ +Out[134]: <matplotlib.collections.QuadMesh at 0xdf791b50>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/plotting_example_2d_simple.png │ │ │ │

    It may seem strange that │ │ │ │ the values on the y axis are decreasing with -0.5 on the top. This is because │ │ │ │ the pixels are centered over their coordinates, and the │ │ │ │ axis labels and ranges correspond to the values of the │ │ │ │ @@ -1520,81 +1520,81 @@ │ │ │ │ .....: np.arange(20).reshape(4, 5), │ │ │ │ .....: dims=["y", "x"], │ │ │ │ .....: coords={"lat": (("y", "x"), lat), "lon": (("y", "x"), lon)}, │ │ │ │ .....: ) │ │ │ │ .....: │ │ │ │ │ │ │ │ In [139]: da.plot.pcolormesh(x="lon", y="lat") │ │ │ │ -Out[139]: <matplotlib.collections.QuadMesh at 0x9ede9990> │ │ │ │ +Out[139]: <matplotlib.collections.QuadMesh at 0xdfe82ef0> │ │ │ │ │ │ │ │ │ │ │ │ ../_images/plotting_example_2d_irreg.png │ │ │ │

    Note that in this case, xarray still follows the pixel centered convention. │ │ │ │ This might be undesirable in some cases, for example when your data is defined │ │ │ │ on a polar projection (GH781). This is why the default is to not follow │ │ │ │ this convention when plotting on a map:

    │ │ │ │
    In [140]: import cartopy.crs as ccrs
    │ │ │ │  
    │ │ │ │  In [141]: ax = plt.subplot(projection=ccrs.PlateCarree())
    │ │ │ │  
    │ │ │ │  In [142]: da.plot.pcolormesh(x="lon", y="lat", ax=ax)
    │ │ │ │ -Out[142]: <cartopy.mpl.geocollection.GeoQuadMesh at 0x9ede9bb0>
    │ │ │ │ +Out[142]: <cartopy.mpl.geocollection.GeoQuadMesh at 0xe1705f10>
    │ │ │ │  
    │ │ │ │  In [143]: ax.scatter(lon, lat, transform=ccrs.PlateCarree())
    │ │ │ │ -Out[143]: <matplotlib.collections.PathCollection at 0x9ed308b0>
    │ │ │ │ +Out[143]: <matplotlib.collections.PathCollection at 0xe18e3290>
    │ │ │ │  
    │ │ │ │  In [144]: ax.coastlines()
    │ │ │ │ -Out[144]: <cartopy.mpl.feature_artist.FeatureArtist at 0x9f46b2d0>
    │ │ │ │ +Out[144]: <cartopy.mpl.feature_artist.FeatureArtist at 0xdf834510>
    │ │ │ │  
    │ │ │ │  In [145]: ax.gridlines(draw_labels=True)
    │ │ │ │ -Out[145]: <cartopy.mpl.gridliner.Gridliner at 0x9ed21a90>
    │ │ │ │ +Out[145]: <cartopy.mpl.gridliner.Gridliner at 0xdf7630f0>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ _build/html/_static/plotting_example_2d_irreg_map.png │ │ │ │

    You can however decide to infer the cell boundaries and use the │ │ │ │ infer_intervals keyword:

    │ │ │ │
    In [146]: ax = plt.subplot(projection=ccrs.PlateCarree())
    │ │ │ │  
    │ │ │ │  In [147]: da.plot.pcolormesh(x="lon", y="lat", ax=ax, infer_intervals=True)
    │ │ │ │ -Out[147]: <cartopy.mpl.geocollection.GeoQuadMesh at 0x9daa3b30>
    │ │ │ │ +Out[147]: <cartopy.mpl.geocollection.GeoQuadMesh at 0xde527730>
    │ │ │ │  
    │ │ │ │  In [148]: ax.scatter(lon, lat, transform=ccrs.PlateCarree())
    │ │ │ │ -Out[148]: <matplotlib.collections.PathCollection at 0x9daab230>
    │ │ │ │ +Out[148]: <matplotlib.collections.PathCollection at 0xde527d90>
    │ │ │ │  
    │ │ │ │  In [149]: ax.coastlines()
    │ │ │ │ -Out[149]: <cartopy.mpl.feature_artist.FeatureArtist at 0x9ed10cb0>
    │ │ │ │ +Out[149]: <cartopy.mpl.feature_artist.FeatureArtist at 0xde52ec90>
    │ │ │ │  
    │ │ │ │  In [150]: ax.gridlines(draw_labels=True)
    │ │ │ │ -Out[150]: <cartopy.mpl.gridliner.Gridliner at 0x9db0e0d0>
    │ │ │ │ +Out[150]: <cartopy.mpl.gridliner.Gridliner at 0xde504250>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ _build/html/_static/plotting_example_2d_irreg_map_infer.png │ │ │ │
    │ │ │ │

    Note

    │ │ │ │

    The data model of xarray does not support datasets with cell boundaries │ │ │ │ yet. If you want to use these coordinates, you’ll have to make the plots │ │ │ │ outside the xarray framework.

    │ │ │ │
    │ │ │ │

    One can also make line plots with multidimensional coordinates. In this case, hue must be a dimension name, not a coordinate name.

    │ │ │ │
    In [151]: f, ax = plt.subplots(2, 1)
    │ │ │ │  
    │ │ │ │  In [152]: da.plot.line(x="lon", hue="y", ax=ax[0])
    │ │ │ │  Out[152]: 
    │ │ │ │ -[<matplotlib.lines.Line2D at 0x9db14c10>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da1d6f0>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da1d850>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da1d9b0>]
    │ │ │ │ +[<matplotlib.lines.Line2D at 0xde523250>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde49ba70>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde4f5390>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde49bbd0>]
    │ │ │ │  
    │ │ │ │  In [153]: da.plot.line(x="lon", hue="x", ax=ax[1])
    │ │ │ │  Out[153]: 
    │ │ │ │ -[<matplotlib.lines.Line2D at 0x9da94e30>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da2a7b0>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da2a910>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da2aa70>,
    │ │ │ │ - <matplotlib.lines.Line2D at 0x9da2abf0>]
    │ │ │ │ +[<matplotlib.lines.Line2D at 0xde49b130>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde4ac9f0>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde4acb10>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde4acc70>,
    │ │ │ │ + <matplotlib.lines.Line2D at 0xde4acdf0>]
    │ │ │ │  
    │ │ │ │
    │ │ │ │ ../_images/plotting_example_2d_hue_xy.png │ │ │ │
    │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -541,15 +541,15 @@ │ │ │ │ │ --> 186 raise KeyError(key) │ │ │ │ │ 188 ref_name, var_name = split_key │ │ │ │ │ 189 ref_var = variables[ref_name] │ │ │ │ │ │ │ │ │ │ KeyError: 'lat' │ │ │ │ │ │ │ │ │ │ In [51]: b.plot() │ │ │ │ │ -Out[51]: [] │ │ │ │ │ +Out[51]: [] │ │ │ │ │ [../_images/plotting_nonuniform_coords.png] │ │ │ │ │ *** Other types of plot¶ *** │ │ │ │ │ There are several other options for plotting 2D data. │ │ │ │ │ Contour plot using DataArray.plot.contour() │ │ │ │ │ In [52]: air2d.plot.contour() │ │ │ │ │ --------------------------------------------------------------------------- │ │ │ │ │ NameError Traceback (most recent call last) │ │ │ │ │ @@ -1030,85 +1030,85 @@ │ │ │ │ │ * y (y) float64 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 │ │ │ │ │ * z (z) int32 0 1 2 3 │ │ │ │ │ * w (w) │ │ │ │ │ +Out[99]: │ │ │ │ │ [../_images/da_A_y.png] │ │ │ │ │ Same plot can be displayed using the dataset: │ │ │ │ │ In [100]: ds.plot.scatter(x="y", y="A") │ │ │ │ │ -Out[100]: │ │ │ │ │ +Out[100]: │ │ │ │ │ [../_images/ds_A_y.png] │ │ │ │ │ Now suppose we want to scatter the A DataArray against the B DataArray │ │ │ │ │ In [101]: ds.plot.scatter(x="A", y="B") │ │ │ │ │ -Out[101]: │ │ │ │ │ +Out[101]: │ │ │ │ │ [../_images/ds_simple_scatter.png] │ │ │ │ │ The hue kwarg lets you vary the color by variable value │ │ │ │ │ In [102]: ds.plot.scatter(x="A", y="B", hue="w") │ │ │ │ │ -Out[102]: │ │ │ │ │ +Out[102]: │ │ │ │ │ [../_images/ds_hue_scatter.png] │ │ │ │ │ You can force a legend instead of a colorbar by setting add_legend=True, │ │ │ │ │ add_colorbar=False. │ │ │ │ │ In [103]: ds.plot.scatter(x="A", y="B", hue="w", add_legend=True, │ │ │ │ │ add_colorbar=False) │ │ │ │ │ -Out[103]: │ │ │ │ │ +Out[103]: │ │ │ │ │ [../_images/ds_discrete_legend_hue_scatter.png] │ │ │ │ │ In [104]: ds.plot.scatter(x="A", y="B", hue="w", add_legend=False, │ │ │ │ │ add_colorbar=True) │ │ │ │ │ -Out[104]: │ │ │ │ │ +Out[104]: │ │ │ │ │ [../_images/ds_discrete_colorbar_hue_scatter.png] │ │ │ │ │ The markersize kwarg lets you vary the point’s size by variable value. You │ │ │ │ │ can additionally pass size_norm to control how the variable’s values are │ │ │ │ │ mapped to point sizes. │ │ │ │ │ In [105]: ds.plot.scatter(x="A", y="B", hue="y", markersize="z") │ │ │ │ │ -Out[105]: │ │ │ │ │ +Out[105]: │ │ │ │ │ [../_images/ds_hue_size_scatter.png] │ │ │ │ │ The z kwarg lets you plot the data along the z-axis as well. │ │ │ │ │ In [106]: ds.plot.scatter(x="A", y="B", z="z", hue="y", markersize="x") │ │ │ │ │ -Out[106]: │ │ │ │ │ +Out[106]: │ │ │ │ │ [../_images/ds_hue_size_scatter_z.png] │ │ │ │ │ Faceting is also possible │ │ │ │ │ In [107]: ds.plot.scatter(x="A", y="B", hue="y", markersize="x", row="x", │ │ │ │ │ col="w") │ │ │ │ │ -Out[107]: │ │ │ │ │ +Out[107]: │ │ │ │ │ [../_images/ds_facet_scatter.png] │ │ │ │ │ And adding the z-axis │ │ │ │ │ In [108]: ds.plot.scatter(x="A", y="B", z="z", hue="y", markersize="x", │ │ │ │ │ row="x", col="w") │ │ │ │ │ -Out[108]: │ │ │ │ │ +Out[108]: │ │ │ │ │ [../_images/ds_facet_scatter_z.png] │ │ │ │ │ For more advanced scatter plots, we recommend converting the relevant data │ │ │ │ │ variables to a pandas DataFrame and using the extensive plotting capabilities │ │ │ │ │ of seaborn. │ │ │ │ │ │ │ │ │ │ **** Quiver¶ **** │ │ │ │ │ Visualizing vector fields is supported with quiver plots: │ │ │ │ │ In [109]: ds.isel(w=1, z=1).plot.quiver(x="x", y="y", u="A", v="B") │ │ │ │ │ -Out[109]: │ │ │ │ │ +Out[109]: │ │ │ │ │ [../_images/ds_simple_quiver.png] │ │ │ │ │ where u and v denote the x and y direction components of the arrow vectors. │ │ │ │ │ Again, faceting is also possible: │ │ │ │ │ In [110]: ds.plot.quiver(x="x", y="y", u="A", v="B", col="w", row="z", scale=4) │ │ │ │ │ -Out[110]: │ │ │ │ │ +Out[110]: │ │ │ │ │ [../_images/ds_facet_quiver.png] │ │ │ │ │ scale is required for faceted quiver plots. The scale determines the number of │ │ │ │ │ data units per arrow length unit, i.e. a smaller scale parameter makes the │ │ │ │ │ arrow longer. │ │ │ │ │ │ │ │ │ │ **** Streamplot¶ **** │ │ │ │ │ Visualizing vector fields is also supported with streamline plots: │ │ │ │ │ In [111]: ds.isel(w=1, z=1).plot.streamplot(x="x", y="y", u="A", v="B") │ │ │ │ │ -Out[111]: │ │ │ │ │ +Out[111]: │ │ │ │ │ [../_images/ds_simple_streamplot.png] │ │ │ │ │ where u and v denote the x and y direction components of the vectors tangent to │ │ │ │ │ the streamlines. Again, faceting is also possible: │ │ │ │ │ In [112]: ds.plot.streamplot(x="x", y="y", u="A", v="B", col="w", row="z") │ │ │ │ │ -Out[112]: │ │ │ │ │ +Out[112]: │ │ │ │ │ [../_images/ds_facet_streamplot.png] │ │ │ │ │ ***** Maps¶ ***** │ │ │ │ │ To follow this section you’ll need to have Cartopy installed and working. │ │ │ │ │ This script will plot the air temperature on a map. │ │ │ │ │ In [113]: import cartopy.crs as ccrs │ │ │ │ │ │ │ │ │ │ In [114]: air = xr.tutorial.open_dataset("air_temperature").air │ │ │ │ │ @@ -1221,24 +1221,24 @@ │ │ │ │ │ In [121]: import xarray.plot as xplt │ │ │ │ │ │ │ │ │ │ In [122]: da = xr.DataArray(range(5)) │ │ │ │ │ │ │ │ │ │ In [123]: fig, axs = plt.subplots(ncols=2, nrows=2) │ │ │ │ │ │ │ │ │ │ In [124]: da.plot(ax=axs[0, 0]) │ │ │ │ │ -Out[124]: [] │ │ │ │ │ +Out[124]: [] │ │ │ │ │ │ │ │ │ │ In [125]: da.plot.line(ax=axs[0, 1]) │ │ │ │ │ -Out[125]: [] │ │ │ │ │ +Out[125]: [] │ │ │ │ │ │ │ │ │ │ In [126]: xplt.plot(da, ax=axs[1, 0]) │ │ │ │ │ -Out[126]: [] │ │ │ │ │ +Out[126]: [] │ │ │ │ │ │ │ │ │ │ In [127]: xplt.line(da, ax=axs[1, 1]) │ │ │ │ │ -Out[127]: [] │ │ │ │ │ +Out[127]: [] │ │ │ │ │ │ │ │ │ │ In [128]: plt.tight_layout() │ │ │ │ │ │ │ │ │ │ In [129]: plt.draw() │ │ │ │ │ [../_images/plotting_ways_to_use.png] │ │ │ │ │ Here the output is the same. Since the data is 1 dimensional the line plot was │ │ │ │ │ used. │ │ │ │ │ @@ -1270,15 +1270,15 @@ │ │ │ │ │ [0., 0., 0.]]) │ │ │ │ │ Dimensions without coordinates: y, x │ │ │ │ │ The plot will produce an image corresponding to the values of the array. Hence │ │ │ │ │ the top left pixel will be a different color than the others. Before reading │ │ │ │ │ on, you may want to look at the coordinates and think carefully about what the │ │ │ │ │ limits, labels, and orientation for each of the axes should be. │ │ │ │ │ In [134]: a.plot() │ │ │ │ │ -Out[134]: │ │ │ │ │ +Out[134]: │ │ │ │ │ [../_images/plotting_example_2d_simple.png] │ │ │ │ │ It may seem strange that the values on the y axis are decreasing with -0.5 on │ │ │ │ │ the top. This is because the pixels are centered over their coordinates, and │ │ │ │ │ the axis labels and ranges correspond to the values of the coordinates. │ │ │ │ │ │ │ │ │ │ **** Multidimensional coordinates¶ **** │ │ │ │ │ See also: Working_with_Multidimensional_Coordinates. │ │ │ │ │ @@ -1296,74 +1296,74 @@ │ │ │ │ │ .....: np.arange(20).reshape(4, 5), │ │ │ │ │ .....: dims=["y", "x"], │ │ │ │ │ .....: coords={"lat": (("y", "x"), lat), "lon": (("y", "x"), lon)}, │ │ │ │ │ .....: ) │ │ │ │ │ .....: │ │ │ │ │ │ │ │ │ │ In [139]: da.plot.pcolormesh(x="lon", y="lat") │ │ │ │ │ -Out[139]: │ │ │ │ │ +Out[139]: │ │ │ │ │ [../_images/plotting_example_2d_irreg.png] │ │ │ │ │ Note that in this case, xarray still follows the pixel centered convention. │ │ │ │ │ This might be undesirable in some cases, for example when your data is defined │ │ │ │ │ on a polar projection (GH781). This is why the default is to not follow this │ │ │ │ │ convention when plotting on a map: │ │ │ │ │ In [140]: import cartopy.crs as ccrs │ │ │ │ │ │ │ │ │ │ In [141]: ax = plt.subplot(projection=ccrs.PlateCarree()) │ │ │ │ │ │ │ │ │ │ In [142]: da.plot.pcolormesh(x="lon", y="lat", ax=ax) │ │ │ │ │ -Out[142]: │ │ │ │ │ +Out[142]: │ │ │ │ │ │ │ │ │ │ In [143]: ax.scatter(lon, lat, transform=ccrs.PlateCarree()) │ │ │ │ │ -Out[143]: │ │ │ │ │ +Out[143]: │ │ │ │ │ │ │ │ │ │ In [144]: ax.coastlines() │ │ │ │ │ -Out[144]: │ │ │ │ │ +Out[144]: │ │ │ │ │ │ │ │ │ │ In [145]: ax.gridlines(draw_labels=True) │ │ │ │ │ -Out[145]: │ │ │ │ │ +Out[145]: │ │ │ │ │ [_build/html/_static/plotting_example_2d_irreg_map.png] │ │ │ │ │ You can however decide to infer the cell boundaries and use the infer_intervals │ │ │ │ │ keyword: │ │ │ │ │ In [146]: ax = plt.subplot(projection=ccrs.PlateCarree()) │ │ │ │ │ │ │ │ │ │ In [147]: da.plot.pcolormesh(x="lon", y="lat", ax=ax, infer_intervals=True) │ │ │ │ │ -Out[147]: │ │ │ │ │ +Out[147]: │ │ │ │ │ │ │ │ │ │ In [148]: ax.scatter(lon, lat, transform=ccrs.PlateCarree()) │ │ │ │ │ -Out[148]: │ │ │ │ │ +Out[148]: │ │ │ │ │ │ │ │ │ │ In [149]: ax.coastlines() │ │ │ │ │ -Out[149]: │ │ │ │ │ +Out[149]: │ │ │ │ │ │ │ │ │ │ In [150]: ax.gridlines(draw_labels=True) │ │ │ │ │ -Out[150]: │ │ │ │ │ +Out[150]: │ │ │ │ │ [_build/html/_static/plotting_example_2d_irreg_map_infer.png] │ │ │ │ │ Note │ │ │ │ │ The data model of xarray does not support datasets with cell_boundaries yet. If │ │ │ │ │ you want to use these coordinates, you’ll have to make the plots outside the │ │ │ │ │ xarray framework. │ │ │ │ │ One can also make line plots with multidimensional coordinates. In this case, │ │ │ │ │ hue must be a dimension name, not a coordinate name. │ │ │ │ │ In [151]: f, ax = plt.subplots(2, 1) │ │ │ │ │ │ │ │ │ │ In [152]: da.plot.line(x="lon", hue="y", ax=ax[0]) │ │ │ │ │ Out[152]: │ │ │ │ │ -[, │ │ │ │ │ - , │ │ │ │ │ - , │ │ │ │ │ - ] │ │ │ │ │ +[, │ │ │ │ │ + , │ │ │ │ │ + , │ │ │ │ │ + ] │ │ │ │ │ │ │ │ │ │ In [153]: da.plot.line(x="lon", hue="x", ax=ax[1]) │ │ │ │ │ Out[153]: │ │ │ │ │ -[, │ │ │ │ │ - , │ │ │ │ │ - , │ │ │ │ │ - , │ │ │ │ │ - ] │ │ │ │ │ +[, │ │ │ │ │ + , │ │ │ │ │ + , │ │ │ │ │ + , │ │ │ │ │ + ] │ │ │ │ │ [../_images/plotting_example_2d_hue_xy.png] │ │ │ │ │ [Logo] │ │ │ │ │ ****** xarray ****** │ │ │ │ │ **** Navigation **** │ │ │ │ │ For users │ │ │ │ │ * Getting_Started │ │ │ │ │ * User_Guide │ │ │ ├── ./usr/share/doc/python-xarray-doc/html/whats-new.html │ │ │ │ @@ -5855,15 +5855,15 @@ │ │ │ │
  • New xray.Dataset.where method for masking xray objects according │ │ │ │ to some criteria. This works particularly well with multi-dimensional data:

    │ │ │ │
    In [44]: ds = xray.Dataset(coords={"x": range(100), "y": range(100)})
    │ │ │ │  
    │ │ │ │  In [45]: ds["distance"] = np.sqrt(ds.x**2 + ds.y**2)
    │ │ │ │  
    │ │ │ │  In [46]: ds.distance.where(ds.distance < 100).plot()
    │ │ │ │ -Out[46]: <matplotlib.collections.QuadMesh at 0x9d68cfd0>
    │ │ │ │ +Out[46]: <matplotlib.collections.QuadMesh at 0xde251f10>
    │ │ │ │  
    │ │ │ │
    │ │ │ │ _images/where_example.png │ │ │ │
  • │ │ │ │
  • Added new methods xray.DataArray.diff and xray.Dataset.diff │ │ │ │ for finite difference calculations along a given axis.

  • │ │ │ │
  • New xray.DataArray.to_masked_array convenience method for │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -4049,15 +4049,15 @@ │ │ │ │ │ * New xray.Dataset.where method for masking xray objects according to some │ │ │ │ │ criteria. This works particularly well with multi-dimensional data: │ │ │ │ │ In [44]: ds = xray.Dataset(coords={"x": range(100), "y": range(100)}) │ │ │ │ │ │ │ │ │ │ In [45]: ds["distance"] = np.sqrt(ds.x**2 + ds.y**2) │ │ │ │ │ │ │ │ │ │ In [46]: ds.distance.where(ds.distance < 100).plot() │ │ │ │ │ - Out[46]: │ │ │ │ │ + Out[46]: │ │ │ │ │ [_images/where_example.png] │ │ │ │ │ * Added new methods xray.DataArray.diff and xray.Dataset.diff for finite │ │ │ │ │ difference calculations along a given axis. │ │ │ │ │ * New xray.DataArray.to_masked_array convenience method for returning a │ │ │ │ │ numpy.ma.MaskedArray. │ │ │ │ │ In [47]: da = xray.DataArray(np.random.random_sample(size=(5, 4)))