Skip to content

Instantly share code, notes, and snippets.

@josuemtzmo
Created April 28, 2022 14:16
Show Gist options
  • Save josuemtzmo/3620e01c9caf88c18109809c52d77180 to your computer and use it in GitHub Desktop.
Save josuemtzmo/3620e01c9caf88c18109809c52d77180 to your computer and use it in GitHub Desktop.
Notebook to test unmanaged memory issue
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "6fd35947-c4ce-4b9c-899a-d3193505b084",
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "036e2396-9a84-46ee-a0c5-b781ed5eee99",
"metadata": {},
"outputs": [],
"source": [
"from dask.distributed import Client\n",
"import dask.array as da"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "35c99329-3b54-4fb7-ba7f-d2a0cef5fed9",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home1/datahome/jmartine/datawork/conda-env/jupyter-lab/lib/python3.9/contextlib.py:126: UserWarning: Creating scratch directories is taking a surprisingly long time. This is often due to running workers on a network file system. Consider specifying a local-directory to point workers to write scratch data to a local disk.\n",
" next(self.gen)\n",
"/home1/datahome/jmartine/datawork/conda-env/jupyter-lab/lib/python3.9/contextlib.py:126: UserWarning: Creating scratch directories is taking a surprisingly long time. This is often due to running workers on a network file system. Consider specifying a local-directory to point workers to write scratch data to a local disk.\n",
" next(self.gen)\n",
"/home1/datahome/jmartine/datawork/conda-env/jupyter-lab/lib/python3.9/contextlib.py:126: UserWarning: Creating scratch directories is taking a surprisingly long time. This is often due to running workers on a network file system. Consider specifying a local-directory to point workers to write scratch data to a local disk.\n",
" next(self.gen)\n",
"/home1/datahome/jmartine/datawork/conda-env/jupyter-lab/lib/python3.9/contextlib.py:126: UserWarning: Creating scratch directories is taking a surprisingly long time. This is often due to running workers on a network file system. Consider specifying a local-directory to point workers to write scratch data to a local disk.\n",
" next(self.gen)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-4255dd52-c6fb-11ec-82c7-0cc47a3f5e43</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
"\n",
" <tr>\n",
" \n",
" <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
" <td style=\"text-align: left;\"><strong>Cluster type:</strong> distributed.LocalCluster</td>\n",
" \n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" \n",
"\n",
" </table>\n",
"\n",
" \n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
" <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
" </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">LocalCluster</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">591926fe</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 7\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 14\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 32.00 GiB\n",
" </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td style=\"text-align: left;\"><strong>Status:</strong> running</td>\n",
" <td style=\"text-align: left;\"><strong>Using processes:</strong> True</td>\n",
"</tr>\n",
"\n",
" \n",
" </table>\n",
"\n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
" </summary>\n",
"\n",
" <div style=\"\">\n",
" <div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-ace5b378-e0ce-4cf1-9cc2-2bd223230829</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm:</strong> tcp://127.0.0.1:50132\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 7\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 14\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Started:</strong> Just now\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 32.00 GiB\n",
" </td>\n",
" </tr>\n",
" </table>\n",
" </div>\n",
" </div>\n",
"\n",
" <details style=\"margin-left: 48px;\">\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Workers</h3>\n",
" </summary>\n",
"\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 0</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:54535\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/52045/status\" target=\"_blank\">/proxy/52045/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:55465\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-_tq7poug\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 1</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:50495\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/59724/status\" target=\"_blank\">/proxy/59724/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:43839\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-xzq0koqu\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 2</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:57884\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/41007/status\" target=\"_blank\">/proxy/41007/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:59215\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-oiuq6sn_\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 3</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:53742\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/54533/status\" target=\"_blank\">/proxy/54533/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:45091\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-ak4s0lhl\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 4</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:41248\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/49779/status\" target=\"_blank\">/proxy/49779/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:34849\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-wyo6jair\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 5</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:40919\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/43440/status\" target=\"_blank\">/proxy/43440/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:51185\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-bm_n_e4j\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 6</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:59045\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/40961/status\" target=\"_blank\">/proxy/40961/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.57 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:48571\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /home1/datahome/jmartine/github/nemo_ice_canal/notebooks/init_cond/dask-worker-space/worker-yhhsdzv5\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
"\n",
" </details>\n",
"</div>\n",
"\n",
" </details>\n",
" </div>\n",
"</div>\n",
" </details>\n",
" \n",
"\n",
" </div>\n",
"</div>"
],
"text/plain": [
"<Client: 'tcp://127.0.0.1:50132' processes=7 threads=14, memory=32.00 GiB>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"client = Client(env={\"MALLOC_TRIM_THRESHOLD_\":16284})\n",
"client"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "cfdfea52-0188-4690-acf1-73f8966b4e56",
"metadata": {},
"outputs": [],
"source": [
"# t = 100\n",
"# x = y = 2000\n",
"\n",
"# temp = 15 + 8 * np.random.randn(x, y, t)\n",
"\n",
"\n",
"# ds = xr.Dataset({\n",
"# \"rnd\": ([\"x\", \"y\", \"time\"], temp),\n",
"# },\n",
"# coords={\n",
"# \"lon\": ([\"x\"], np.arange(x)),\n",
"# \"lat\": ([\"y\"], np.arange(y)),\n",
"# \"time\": np.arange(t)\n",
"# },\n",
"# )\n",
"\n",
"# ds.to_netcdf('test.nc')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "7841d468-13af-45cb-8865-2ce6c05c197f",
"metadata": {},
"outputs": [],
"source": [
"ds = xr.open_dataset('test.nc',chunks={'x':100,'y':100,'time':10})"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "946b9528-d8f6-4dff-8475-f338eccb12ec",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=dark],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1F1F1F;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: '►';\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: '▼';\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
" padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: '(';\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: ')';\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: ',';\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data {\n",
" display: none;\n",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2 {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
"Dimensions: (x: 2000, y: 2000, time: 100)\n",
"Coordinates:\n",
" lon (x) int64 dask.array&lt;chunksize=(100,), meta=np.ndarray&gt;\n",
" lat (y) int64 dask.array&lt;chunksize=(100,), meta=np.ndarray&gt;\n",
" * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
"Dimensions without coordinates: x, y\n",
"Data variables:\n",
" rnd (x, y, time) float64 dask.array&lt;chunksize=(100, 100, 10), meta=np.ndarray&gt;</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-86edb1c4-ea31-42d4-a14a-c4dc9e5e950f' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-86edb1c4-ea31-42d4-a14a-c4dc9e5e950f' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>x</span>: 2000</li><li><span>y</span>: 2000</li><li><span class='xr-has-index'>time</span>: 100</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-72812d0c-1188-4e51-affa-339fc411089b' class='xr-section-summary-in' type='checkbox' checked><label for='section-72812d0c-1188-4e51-affa-339fc411089b' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>lon</span></div><div class='xr-var-dims'>(x)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(100,), meta=np.ndarray&gt;</div><input id='attrs-75c9e591-f8b7-41cc-8d98-b1612081a536' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-75c9e591-f8b7-41cc-8d98-b1612081a536' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4d189ba6-b316-402a-a060-2ea5a9e075ec' class='xr-var-data-in' type='checkbox'><label for='data-4d189ba6-b316-402a-a060-2ea5a9e075ec' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 15.62 kiB </td>\n",
" <td> 800 B </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (2000,) </td>\n",
" <td> (100,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Count </th>\n",
" <td> 21 Tasks </td>\n",
" <td> 20 Chunks </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Type </th>\n",
" <td> int64 </td>\n",
" <td> numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n",
" <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
" <line x1=\"30\" y1=\"0\" x2=\"30\" y2=\"25\" />\n",
" <line x1=\"36\" y1=\"0\" x2=\"36\" y2=\"25\" />\n",
" <line x1=\"42\" y1=\"0\" x2=\"42\" y2=\"25\" />\n",
" <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"25\" />\n",
" <line x1=\"54\" y1=\"0\" x2=\"54\" y2=\"25\" />\n",
" <line x1=\"60\" y1=\"0\" x2=\"60\" y2=\"25\" />\n",
" <line x1=\"66\" y1=\"0\" x2=\"66\" y2=\"25\" />\n",
" <line x1=\"72\" y1=\"0\" x2=\"72\" y2=\"25\" />\n",
" <line x1=\"78\" y1=\"0\" x2=\"78\" y2=\"25\" />\n",
" <line x1=\"84\" y1=\"0\" x2=\"84\" y2=\"25\" />\n",
" <line x1=\"90\" y1=\"0\" x2=\"90\" y2=\"25\" />\n",
" <line x1=\"96\" y1=\"0\" x2=\"96\" y2=\"25\" />\n",
" <line x1=\"102\" y1=\"0\" x2=\"102\" y2=\"25\" />\n",
" <line x1=\"108\" y1=\"0\" x2=\"108\" y2=\"25\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2000</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lat</span></div><div class='xr-var-dims'>(y)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(100,), meta=np.ndarray&gt;</div><input id='attrs-87b7547a-f705-43b6-a56e-403f8c23a355' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-87b7547a-f705-43b6-a56e-403f8c23a355' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-27a9f6cd-9737-43a5-8dbe-0d68f7d2ee8f' class='xr-var-data-in' type='checkbox'><label for='data-27a9f6cd-9737-43a5-8dbe-0d68f7d2ee8f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 15.62 kiB </td>\n",
" <td> 800 B </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (2000,) </td>\n",
" <td> (100,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Count </th>\n",
" <td> 21 Tasks </td>\n",
" <td> 20 Chunks </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Type </th>\n",
" <td> int64 </td>\n",
" <td> numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n",
" <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
" <line x1=\"30\" y1=\"0\" x2=\"30\" y2=\"25\" />\n",
" <line x1=\"36\" y1=\"0\" x2=\"36\" y2=\"25\" />\n",
" <line x1=\"42\" y1=\"0\" x2=\"42\" y2=\"25\" />\n",
" <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"25\" />\n",
" <line x1=\"54\" y1=\"0\" x2=\"54\" y2=\"25\" />\n",
" <line x1=\"60\" y1=\"0\" x2=\"60\" y2=\"25\" />\n",
" <line x1=\"66\" y1=\"0\" x2=\"66\" y2=\"25\" />\n",
" <line x1=\"72\" y1=\"0\" x2=\"72\" y2=\"25\" />\n",
" <line x1=\"78\" y1=\"0\" x2=\"78\" y2=\"25\" />\n",
" <line x1=\"84\" y1=\"0\" x2=\"84\" y2=\"25\" />\n",
" <line x1=\"90\" y1=\"0\" x2=\"90\" y2=\"25\" />\n",
" <line x1=\"96\" y1=\"0\" x2=\"96\" y2=\"25\" />\n",
" <line x1=\"102\" y1=\"0\" x2=\"102\" y2=\"25\" />\n",
" <line x1=\"108\" y1=\"0\" x2=\"108\" y2=\"25\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2000</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 6 ... 94 95 96 97 98 99</div><input id='attrs-685bf3a8-8b14-4bab-9d71-6ac7c657d442' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-685bf3a8-8b14-4bab-9d71-6ac7c657d442' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5ba894f9-f015-44ba-97bf-7afee56ff9ed' class='xr-var-data-in' type='checkbox'><label for='data-5ba894f9-f015-44ba-97bf-7afee56ff9ed' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\n",
" 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n",
" 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,\n",
" 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,\n",
" 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,\n",
" 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-5c2fcb35-860f-4928-b61d-6c8171ffe2c2' class='xr-section-summary-in' type='checkbox' checked><label for='section-5c2fcb35-860f-4928-b61d-6c8171ffe2c2' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>rnd</span></div><div class='xr-var-dims'>(x, y, time)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(100, 100, 10), meta=np.ndarray&gt;</div><input id='attrs-8cf13025-d88d-4fac-adf9-3344b7016706' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8cf13025-d88d-4fac-adf9-3344b7016706' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c3c0cadc-8c0a-40c8-b8c5-29b6d5b8ba75' class='xr-var-data-in' type='checkbox'><label for='data-c3c0cadc-8c0a-40c8-b8c5-29b6d5b8ba75' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 2.98 GiB </td>\n",
" <td> 781.25 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (2000, 2000, 100) </td>\n",
" <td> (100, 100, 10) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Count </th>\n",
" <td> 4001 Tasks </td>\n",
" <td> 4000 Chunks </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Type </th>\n",
" <td> float64 </td>\n",
" <td> numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"165\" height=\"240\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"10\" y1=\"6\" x2=\"80\" y2=\"76\" />\n",
" <line x1=\"10\" y1=\"12\" x2=\"80\" y2=\"82\" />\n",
" <line x1=\"10\" y1=\"18\" x2=\"80\" y2=\"88\" />\n",
" <line x1=\"10\" y1=\"24\" x2=\"80\" y2=\"94\" />\n",
" <line x1=\"10\" y1=\"30\" x2=\"80\" y2=\"100\" />\n",
" <line x1=\"10\" y1=\"36\" x2=\"80\" y2=\"106\" />\n",
" <line x1=\"10\" y1=\"42\" x2=\"80\" y2=\"112\" />\n",
" <line x1=\"10\" y1=\"48\" x2=\"80\" y2=\"118\" />\n",
" <line x1=\"10\" y1=\"54\" x2=\"80\" y2=\"124\" />\n",
" <line x1=\"10\" y1=\"60\" x2=\"80\" y2=\"130\" />\n",
" <line x1=\"10\" y1=\"66\" x2=\"80\" y2=\"136\" />\n",
" <line x1=\"10\" y1=\"72\" x2=\"80\" y2=\"142\" />\n",
" <line x1=\"10\" y1=\"78\" x2=\"80\" y2=\"148\" />\n",
" <line x1=\"10\" y1=\"84\" x2=\"80\" y2=\"154\" />\n",
" <line x1=\"10\" y1=\"90\" x2=\"80\" y2=\"160\" />\n",
" <line x1=\"10\" y1=\"96\" x2=\"80\" y2=\"166\" />\n",
" <line x1=\"10\" y1=\"102\" x2=\"80\" y2=\"172\" />\n",
" <line x1=\"10\" y1=\"108\" x2=\"80\" y2=\"178\" />\n",
" <line x1=\"10\" y1=\"120\" x2=\"80\" y2=\"190\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"123\" />\n",
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"127\" />\n",
" <line x1=\"20\" y1=\"10\" x2=\"20\" y2=\"130\" />\n",
" <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"134\" />\n",
" <line x1=\"27\" y1=\"17\" x2=\"27\" y2=\"137\" />\n",
" <line x1=\"31\" y1=\"21\" x2=\"31\" y2=\"141\" />\n",
" <line x1=\"34\" y1=\"24\" x2=\"34\" y2=\"144\" />\n",
" <line x1=\"38\" y1=\"28\" x2=\"38\" y2=\"148\" />\n",
" <line x1=\"41\" y1=\"31\" x2=\"41\" y2=\"151\" />\n",
" <line x1=\"45\" y1=\"35\" x2=\"45\" y2=\"155\" />\n",
" <line x1=\"48\" y1=\"38\" x2=\"48\" y2=\"158\" />\n",
" <line x1=\"52\" y1=\"42\" x2=\"52\" y2=\"162\" />\n",
" <line x1=\"55\" y1=\"45\" x2=\"55\" y2=\"165\" />\n",
" <line x1=\"59\" y1=\"49\" x2=\"59\" y2=\"169\" />\n",
" <line x1=\"62\" y1=\"52\" x2=\"62\" y2=\"172\" />\n",
" <line x1=\"66\" y1=\"56\" x2=\"66\" y2=\"176\" />\n",
" <line x1=\"70\" y1=\"60\" x2=\"70\" y2=\"180\" />\n",
" <line x1=\"73\" y1=\"63\" x2=\"73\" y2=\"183\" />\n",
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"190\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,190.58823529411765 10.0,120.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"44\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"13\" y1=\"3\" x2=\"48\" y2=\"3\" />\n",
" <line x1=\"17\" y1=\"7\" x2=\"51\" y2=\"7\" />\n",
" <line x1=\"20\" y1=\"10\" x2=\"55\" y2=\"10\" />\n",
" <line x1=\"24\" y1=\"14\" x2=\"58\" y2=\"14\" />\n",
" <line x1=\"27\" y1=\"17\" x2=\"62\" y2=\"17\" />\n",
" <line x1=\"31\" y1=\"21\" x2=\"65\" y2=\"21\" />\n",
" <line x1=\"34\" y1=\"24\" x2=\"69\" y2=\"24\" />\n",
" <line x1=\"38\" y1=\"28\" x2=\"72\" y2=\"28\" />\n",
" <line x1=\"41\" y1=\"31\" x2=\"76\" y2=\"31\" />\n",
" <line x1=\"45\" y1=\"35\" x2=\"79\" y2=\"35\" />\n",
" <line x1=\"48\" y1=\"38\" x2=\"83\" y2=\"38\" />\n",
" <line x1=\"52\" y1=\"42\" x2=\"86\" y2=\"42\" />\n",
" <line x1=\"55\" y1=\"45\" x2=\"90\" y2=\"45\" />\n",
" <line x1=\"59\" y1=\"49\" x2=\"93\" y2=\"49\" />\n",
" <line x1=\"62\" y1=\"52\" x2=\"97\" y2=\"52\" />\n",
" <line x1=\"66\" y1=\"56\" x2=\"100\" y2=\"56\" />\n",
" <line x1=\"70\" y1=\"60\" x2=\"104\" y2=\"60\" />\n",
" <line x1=\"73\" y1=\"63\" x2=\"108\" y2=\"63\" />\n",
" <line x1=\"80\" y1=\"70\" x2=\"115\" y2=\"70\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"13\" y1=\"0\" x2=\"84\" y2=\"70\" />\n",
" <line x1=\"16\" y1=\"0\" x2=\"87\" y2=\"70\" />\n",
" <line x1=\"20\" y1=\"0\" x2=\"90\" y2=\"70\" />\n",
" <line x1=\"23\" y1=\"0\" x2=\"94\" y2=\"70\" />\n",
" <line x1=\"27\" y1=\"0\" x2=\"97\" y2=\"70\" />\n",
" <line x1=\"30\" y1=\"0\" x2=\"101\" y2=\"70\" />\n",
" <line x1=\"34\" y1=\"0\" x2=\"104\" y2=\"70\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"108\" y2=\"70\" />\n",
" <line x1=\"41\" y1=\"0\" x2=\"111\" y2=\"70\" />\n",
" <line x1=\"44\" y1=\"0\" x2=\"115\" y2=\"70\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 44.50101617379934,0.0 115.089251467917,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"80\" y1=\"70\" x2=\"115\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"80\" y1=\"76\" x2=\"115\" y2=\"76\" />\n",
" <line x1=\"80\" y1=\"82\" x2=\"115\" y2=\"82\" />\n",
" <line x1=\"80\" y1=\"88\" x2=\"115\" y2=\"88\" />\n",
" <line x1=\"80\" y1=\"94\" x2=\"115\" y2=\"94\" />\n",
" <line x1=\"80\" y1=\"100\" x2=\"115\" y2=\"100\" />\n",
" <line x1=\"80\" y1=\"106\" x2=\"115\" y2=\"106\" />\n",
" <line x1=\"80\" y1=\"112\" x2=\"115\" y2=\"112\" />\n",
" <line x1=\"80\" y1=\"118\" x2=\"115\" y2=\"118\" />\n",
" <line x1=\"80\" y1=\"124\" x2=\"115\" y2=\"124\" />\n",
" <line x1=\"80\" y1=\"130\" x2=\"115\" y2=\"130\" />\n",
" <line x1=\"80\" y1=\"136\" x2=\"115\" y2=\"136\" />\n",
" <line x1=\"80\" y1=\"142\" x2=\"115\" y2=\"142\" />\n",
" <line x1=\"80\" y1=\"148\" x2=\"115\" y2=\"148\" />\n",
" <line x1=\"80\" y1=\"154\" x2=\"115\" y2=\"154\" />\n",
" <line x1=\"80\" y1=\"160\" x2=\"115\" y2=\"160\" />\n",
" <line x1=\"80\" y1=\"166\" x2=\"115\" y2=\"166\" />\n",
" <line x1=\"80\" y1=\"172\" x2=\"115\" y2=\"172\" />\n",
" <line x1=\"80\" y1=\"178\" x2=\"115\" y2=\"178\" />\n",
" <line x1=\"80\" y1=\"190\" x2=\"115\" y2=\"190\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"190\" style=\"stroke-width:2\" />\n",
" <line x1=\"84\" y1=\"70\" x2=\"84\" y2=\"190\" />\n",
" <line x1=\"87\" y1=\"70\" x2=\"87\" y2=\"190\" />\n",
" <line x1=\"90\" y1=\"70\" x2=\"90\" y2=\"190\" />\n",
" <line x1=\"94\" y1=\"70\" x2=\"94\" y2=\"190\" />\n",
" <line x1=\"97\" y1=\"70\" x2=\"97\" y2=\"190\" />\n",
" <line x1=\"101\" y1=\"70\" x2=\"101\" y2=\"190\" />\n",
" <line x1=\"104\" y1=\"70\" x2=\"104\" y2=\"190\" />\n",
" <line x1=\"108\" y1=\"70\" x2=\"108\" y2=\"190\" />\n",
" <line x1=\"111\" y1=\"70\" x2=\"111\" y2=\"190\" />\n",
" <line x1=\"115\" y1=\"70\" x2=\"115\" y2=\"190\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"80.58823529411765,70.58823529411765 115.089251467917,70.58823529411765 115.089251467917,190.58823529411765 80.58823529411765,190.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"97.838743\" y=\"210.588235\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100</text>\n",
" <text x=\"135.089251\" y=\"130.588235\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,135.089251,130.588235)\">2000</text>\n",
" <text x=\"35.294118\" y=\"175.294118\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,175.294118)\">2000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-7b972fd9-5a39-4604-8ad2-53574e27c9fb' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-7b972fd9-5a39-4604-8ad2-53574e27c9fb' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (x: 2000, y: 2000, time: 100)\n",
"Coordinates:\n",
" lon (x) int64 dask.array<chunksize=(100,), meta=np.ndarray>\n",
" lat (y) int64 dask.array<chunksize=(100,), meta=np.ndarray>\n",
" * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
"Dimensions without coordinates: x, y\n",
"Data variables:\n",
" rnd (x, y, time) float64 dask.array<chunksize=(100, 100, 10), meta=np.ndarray>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "9a876b07-716e-42d7-b4b6-1c36da007248",
"metadata": {},
"outputs": [],
"source": [
"z = ds.rnd"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "48775006-ee9f-4839-a443-acf4831c6080",
"metadata": {},
"outputs": [],
"source": [
"import psutil\n",
"proc = psutil.Process()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "aee0a009-c435-4365-afa0-6d4373e0504f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"159.01 MiB\n"
]
}
],
"source": [
"from dask.utils import format_bytes\n",
"print(format_bytes(proc.memory_info().rss))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4fe21611-4412-4982-ba54-5ec2701da8dd",
"metadata": {},
"outputs": [],
"source": [
"from distributed.diagnostics import MemorySampler"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "d320fc5d-bb8e-40a7-9223-7928262d2b1f",
"metadata": {},
"outputs": [],
"source": [
"ms = MemorySampler()\n",
"with ms.sample(\"collection 1\"):\n",
" mean_z = z.mean(('x','y')).compute()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "10557266-5da3-456c-80ca-ad75ac0d04cf",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='time', ylabel='Cluster memory (GiB)'>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZkAAAE2CAYAAACz7+/1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABF2UlEQVR4nO2dd5hdVdX/P9+5U9IDpNAChBJaIKGE0LsoUgReEZUmRUB4qSpN3p+ASFMQQVBApAoi0qWKFBEIJaGEhBp6gISQBBKSTLlz1++PvW/mZJgkk8nMnHNm1ud5znPvKfvMXrPPPWvvtddeS2aG4ziO43QEFWlXwHEcx+m6uJJxHMdxOgxXMo7jOE6H4UrGcRzH6TBcyTiO4zgdRmXaFcgSAwcOtKFDh6ZdDcdxnFwxbty4z81sUEvnXMkkGDp0KGPHjk27Go7jOLlC0gcLO+fmMsdxHKfDcCXjOI7jdBiuZBzHcZwOw+dkFkNDQwOTJ0+mtrY27ap0G3r06MGQIUOoqqpKuyqO4ywlrmQWw+TJk+nbty9Dhw5FUtrV6fKYGdOnT2fy5MmsvvrqaVfHcZylxM1li6G2tpYBAwa4gukkJDFgwAAfOTpOF8GVTCtwBdO5+P/bcTqX2174iBlz6jvk3q5kHMdxujGPvj6VU+4Yz/VPv9ch93cl08U466yzuOiiiwA45JBDuP3225f4Hu+//z633HLL/P2xY8dy/PHHt0v9zjjjDFZZZRX69OnTLvdzHKftfDRjLiffPp71V+zH/+60Vof8DVcyztdormRGjRrFZZdd1i733nPPPXn++efb5V6O47Sdt6fOZr+rxlAy47IfbkxNZaFD/o4rmRxw4403MmLECEaOHMlBBx0EwAcffMDOO+/MiBEj2Hnnnfnwww8XeY9x48ax/fbbs+mmm/Ktb32LTz/9FIBJkybxjW98g5EjR7LJJpvwzjvvcNppp/Hf//6XjTbaiEsuuYQnnniCPfbYA4AZM2aw9957M2LECLbYYgvGjx8PhBHUYYcdxg477MAaa6yxUKW0xRZbsOKKK7bXv8ZxnDbw0IQpfOfyp2loNP52xBasNbjjLAvuwrwEnP3Pibz2yax2vef6K/XjzD2HL/T8xIkTOffcc3n66acZOHAgM2bMAODYY4/l4IMP5kc/+hHXXnstxx9/PHfffXeL92hoaOC4447jnnvuYdCgQfz973/njDPO4Nprr+WAAw7gtNNOY5999qG2tpZSqcQFF1zARRddxH333QfAE088Mf9eZ555JhtvvDF33303jz32GAcffDAvv/wyAG+88QaPP/44s2fPZp111uHoo4/2tS6OkzH+NXEKx97yIhsO6c9VB27K4H49OvTvuZLJOI899hj77rsvAwcOBGC55ZYDYMyYMdx5550AHHTQQZxyyikLvcebb77JhAkT2GWXXQBobGxkxRVXZPbs2Xz88cfss88+QFgEuTieeuop7rjjDgB22mknpk+fzpdffgnA7rvvTk1NDTU1NQwePJipU6cyZMiQNkruOE57Mqu2gbtf+piz//kaG6zcnxsPG03fHh3fCXQlswQsasTRUZhZq1x6F3WNmTF8+HDGjBmzwPFZs5Z8VGZmC/3bNTU1848VCgWKxeIS399xnPZhxpx6xn0wk0+/nMe/Jk7l2XenUywZW681gKsOGkWfms55/fucTMbZeeedue2225g+fTrAfHPZVlttxa233grAzTffzDbbbLPQe6yzzjpMmzZtvpJpaGhg4sSJ9OvXjyFDhsw3s9XV1TF37lz69u3L7NmzW7zXdtttx8033wwEM9rAgQPp169fu8jqOE778PlXdex1xVMcceNYfnnPRD75Yh4/3nYNbjtqS248bPNOUzCQUyUj6VpJn0masJDzknSZpEmSxkvapLPr2F4MHz6cM844g+23356RI0fy05/+FIDLLruM6667jhEjRnDTTTdx6aWXLvQe1dXV3H777Zx66qmMHDmSjTbaiGeeeQaAm266icsuu4wRI0aw1VZbMWXKFEaMGEFlZSUjR47kkksuWeBeZ511FmPHjmXEiBGcdtpp3HDDDUskzymnnMKQIUOYO3cuQ4YM4ayzzlqyf4jjOIuktqGRH98wlmmz6/jzwaP4z8k78NjPd+C0b6/L6NWXo1DRuYud1ZL5I+tI2g74CrjRzDZo4fxuwHHAbsDmwKVmtvni7jtq1ChrnrTs9ddfZ7311muXejutx//vjrPkfDG3np//YzyPvjGVPx2wKbtusEKn/F1J48xsVEvncjknY2ZPShq6iEv2IiggA56VtIykFc3s086poeM4TsfSWDIenjiFlz/6gplz6pkyq5aXPvyCufVFztxj/U5TMIsjl0qmFawMfJTYnxyPfU3JSDoSOBJg1VVX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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ms.plot(align=True)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "da50ffb7-5df2-485c-865f-586d8aa55b07",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"256.83 MiB\n"
]
}
],
"source": [
"print(format_bytes(proc.memory_info().rss))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "2a6fd6e4-2740-4d14-b5b4-a8c3dcbaf5ef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" types | # objects | total size\n",
"========================= | =========== | ============\n",
" str | 212498 | 30.84 MB\n",
" dict | 115465 | 27.80 MB\n",
" tuple | 192654 | 13.74 MB\n",
" code | 47324 | 8.11 MB\n",
" _io.BufferedReader | 3 | 8.00 MB\n",
" set | 3529 | 6.75 MB\n",
" type | 6519 | 6.05 MB\n",
" list | 22034 | 2.84 MB\n",
" float | 48453 | 1.11 MB\n",
" collections.deque | 401 | 1.04 MB\n",
" weakref | 11555 | 812.46 KB\n",
" collections.OrderedDict | 584 | 654.92 KB\n",
" abc.ABCMeta | 553 | 586.98 KB\n",
" cell | 12930 | 505.08 KB\n",
" function (__init__) | 3569 | 474.01 KB\n"
]
}
],
"source": [
"from pympler import muppy\n",
"all_objects = muppy.get_objects()\n",
"\n",
"from pympler import summary\n",
"sum1 = summary.summarize(all_objects)\n",
"summary.print_(sum1) "
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "5347d184-5bd0-4256-81d9-e66bcda1bd79",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"800"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean_z.nbytes"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "jupyter-lab",
"language": "python",
"name": "jupyter-lab"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment