Skip to content

Instantly share code, notes, and snippets.

@andersy005
Last active July 2, 2020 19:29
Show Gist options
  • Select an option

  • Save andersy005/5bd65288a5e2571674524e509862bbe4 to your computer and use it in GitHub Desktop.

Select an option

Save andersy005/5bd65288a5e2571674524e509862bbe4 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<dask.config.set at 0x2abd55e8b810>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import xarray as xr\n",
"from glob import glob\n",
"from dask_jobqueue import SLURMCluster\n",
"from distributed import Client, performance_report, progress\n",
"import dask\n",
"dask.config.set({'distributed.dashboard.link': '/proxy/{port}/status'})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Specifying abstract resources such as GPU, SSD, etc...: https://distributed.dask.org/en/latest/resources.html"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "313d630fa4234b34b1a7c5a30d29d433",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(HTML(value='<h2>SLURMCluster</h2>'), HBox(children=(HTML(value='\\n<div>\\n <style scoped>\\n …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cluster = SLURMCluster(cores=1, processes=1, scheduler_options={\"dashboard_address\" :'0.0.0.0'},\n",
" extra=['--resources GPU=1'], # specify special hardware availability that the scheduler is not aware of\n",
" job_extra=['--constraint=gpu',\n",
" '--reservation=TDD_2xgp100','--mem=0'], \n",
" env_extra=['module load cuda/10.1',]) # ensure cuda is loaded\n",
"client = Client(cluster)\n",
"cluster"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"#cluster.adapt(minimum=0,maximum=2)\n",
"cluster.scale(2)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Thu Jul 2 13:24:50 2020\n",
" JOBID PARTITION NAME USER STATE TIME TIME_LIMI NODES NODELIST(REASON)\n",
" 5505209 dav dask-wor abanihi RUNNING 0:31 6:00:00 1 casper07\n",
" 5505210 dav dask-wor abanihi RUNNING 0:31 6:00:00 1 casper06\n"
]
}
],
"source": [
"!squeue -u $USER -l"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"#!/usr/bin/env bash\n",
"\n",
"#SBATCH -J dask-worker\n",
"#SBATCH -e /glade/scratch/abanihi/dask-logs/dask-worker-%J.err\n",
"#SBATCH -o /glade/scratch/abanihi/dask-logs/dask-worker-%J.out\n",
"#SBATCH -A NIOW0001\n",
"#SBATCH -n 1\n",
"#SBATCH --cpus-per-task=1\n",
"#SBATCH --mem=24G\n",
"#SBATCH -t 06:00:00\n",
"#SBATCH --constraint=gpu\n",
"#SBATCH --reservation=TDD_2xgp100\n",
"#SBATCH --mem=0\n",
"module load cuda/10.1\n",
"/glade/work/abanihi/softwares/miniconda3/envs/rapids/bin/python -m distributed.cli.dask_worker tcp://10.12.203.5:43962 --nthreads 1 --memory-limit 25.00GB --name name --nanny --death-timeout 60 --local-directory /glade/scratch/abanihi/dask-local-directory --resources GPU=1 --interface ib0\n",
"\n"
]
}
],
"source": [
"print(cluster.job_script())"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"***** NVIDIA-SMI info on Scheduler *****\n",
"Thu Jul 2 13:24:55 2020 \n",
"+-----------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 418.40.04 Driver Version: 418.40.04 CUDA Version: 10.1 |\n",
"|-------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
"|===============================+======================+======================|\n",
"| 0 Quadro GP100 On | 00000000:18:00.0 Off | Off |\n",
"| 26% 32C P0 25W / 235W | 172MiB / 16278MiB | 0% Default |\n",
"+-------------------------------+----------------------+----------------------+\n",
" \n",
"+-----------------------------------------------------------------------------+\n",
"| Processes: GPU Memory |\n",
"| GPU PID Type Process name Usage |\n",
"|=============================================================================|\n",
"| 0 310014 G /usr/bin/X 170MiB |\n",
"+-----------------------------------------------------------------------------+\n",
" ***** NVIDIA-SMI info on Workers *****\n",
"********************************************************************************\n",
"tcp://10.12.205.15:40700\n",
"Thu Jul 2 13:24:55 2020 \n",
"+-----------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 418.40.04 Driver Version: 418.40.04 CUDA Version: 10.1 |\n",
"|-------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
"|===============================+======================+======================|\n",
"| 0 Quadro GP100 On | 00000000:18:00.0 Off | Off |\n",
"| 26% 40C P0 26W / 235W | 267MiB / 16278MiB | 0% Default |\n",
"+-------------------------------+----------------------+----------------------+\n",
" \n",
"+-----------------------------------------------------------------------------+\n",
"| Processes: GPU Memory |\n",
"| GPU PID Type Process name Usage |\n",
"|=============================================================================|\n",
"| 0 4060 G /usr/bin/X 263MiB |\n",
"+-----------------------------------------------------------------------------+\n",
"\n",
"********************************************************************************\n",
"tcp://10.12.205.16:46040\n",
"Thu Jul 2 13:24:55 2020 \n",
"+-----------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 418.40.04 Driver Version: 418.40.04 CUDA Version: 10.1 |\n",
"|-------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
"|===============================+======================+======================|\n",
"| 0 Quadro GP100 On | 00000000:18:00.0 Off | Off |\n",
"| 28% 43C P0 27W / 235W | 189MiB / 16278MiB | 0% Default |\n",
"+-------------------------------+----------------------+----------------------+\n",
" \n",
"+-----------------------------------------------------------------------------+\n",
"| Processes: GPU Memory |\n",
"| GPU PID Type Process name Usage |\n",
"|=============================================================================|\n",
"| 0 3970 G /usr/bin/X 186MiB |\n",
"+-----------------------------------------------------------------------------+\n",
"\n"
]
}
],
"source": [
"# Confirm that our dask workers have access to GPU\n",
"def get_nvidia_smi_info():\n",
" import subprocess\n",
" p = subprocess.check_output('nvidia-smi').strip().decode('utf-8')\n",
" return p\n",
"\n",
"\n",
"def nvidia_smi(on=None):\n",
" if on == 'workers':\n",
" x = client.run(get_nvidia_smi_info)\n",
" print(\" ***** NVIDIA-SMI info on Workers *****\")\n",
" for key, value in x.items():\n",
" print(\"*\"*80)\n",
" print(key)\n",
" print(value, end=\"\\n\\n\")\n",
" \n",
" else:\n",
" print(\"***** NVIDIA-SMI info on Scheduler *****\")\n",
" print(client.run_on_scheduler(get_nvidia_smi_info))\n",
" \n",
"nvidia_smi()\n",
"nvidia_smi(on='workers')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/glade/scratch/jsauer/ForPeople/ForCISL/ForSIPARCS/CBL_5m/output/FE_CBL.550000\n",
"12G /glade/scratch/jsauer/ForPeople/ForCISL/ForSIPARCS/CBL_5m/output/FE_CBL.550000\n"
]
}
],
"source": [
"files = sorted(glob(\"/glade/scratch/jsauer/ForPeople/ForCISL/ForSIPARCS/CBL_5m/output/*\"))[:4]\n",
"print(files[0])\n",
"!ls -sh /glade/scratch/jsauer/ForPeople/ForCISL/ForSIPARCS/CBL_5m/output/FE_CBL.550000"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"@dask.delayed\n",
"def read_data(filepath):\n",
" import xarray as xr\n",
" import cupy as cp\n",
" ds = xr.open_dataset(filepath, chunks={})\n",
" var_list = ['zPos','u','v','w','theta']\n",
" cuXr = xr.zeros_like(ds)\n",
" cuXr = cuXr.drop([variable for variable in ds.data_vars if variable not in var_list])\n",
" cp.cuda.Device(0).use()\n",
" for i in var_list:\n",
" cuXr[i].data = cp.array(ds[i])\n",
" return cuXr\n",
"\n",
"@dask.delayed\n",
"def compute_mean(ds):\n",
" import numpy as np\n",
" u_y_mean = ds.u.mean(dim=['yIndex'])\n",
" v_y_mean = ds.v.mean(dim=['yIndex'])\n",
" u_xy_mean = ds.u.mean(dim=['xIndex', 'yIndex'])\n",
" v_xy_mean = ds.v.mean(dim=['xIndex', 'yIndex'])\n",
" u_i = np.sqrt((u_y_mean ** 2) + (v_y_mean ** 2)) # The result is still on the GPU\n",
" u_res = np.sqrt((u_xy_mean ** 2) + (v_xy_mean ** 2))\n",
" result = {'shape': u_res.shape, 'device': u_res.data.device, 'array_type': type(u_res.data)}\n",
" return u_res"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"data = [read_data(filepath) for filepath in files]\n",
"means = [compute_mean(ds) for ds in data]"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[Delayed('compute_mean-9c97abfc-e2b4-4bab-919f-29f4a80028a0'),\n",
" Delayed('compute_mean-52f44119-7233-4128-aa87-7905190c8c88'),\n",
" Delayed('compute_mean-0e2da4f3-e958-4ad4-bfc5-85e63b0cfab7'),\n",
" Delayed('compute_mean-929c1069-4c5b-413d-bdf5-52d087e6317c')]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"means"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Knz33XfGPp7KTCQjIwMjRoxAcnIyIiMjqzwpqKEJP7VwypQpcHBwwKRJk3Dv3j1s3779tTdHZeYtKSkJb7/9NogIp0+fNvkHz7KYxe5zzJgxOHHiBM6ePYuBAwciPT1ddCRWTVFRUejXrx+USiWioqLMouSAmRQdALy9vXHu3Dk8e/YMPXv2xIULF0RHYlX0n//8B35+fp9R8hwAAB//SURBVOjbty+OHz+OJk2aiI70f0R+QihLZmYmDR06lGxsbGj9+vWi47BKeP78OX300UdkYWFBixcvJp1OJzrSy8LNruhERFqtlr744guSyWQ0ZcoUKiwsFB2JlePOnTvUvXt3cnR0pP3794uOUx7zLHqx33//nRwdHalTp04UExMjOg57yebNm8ne3p66du1q7tcIm3fRiYju3btHAwYMILlcTt988405/lmUnNzcXJowYQLJZDKaPXs2qVQq0ZFex/yLTvRiKPPtt9+SXC6nAQMGUFJSkuhIkrV3715q0aIFNWvWjA4dOiQ6TmXVjqIXu3TpEnXt2pVsbGzo22+/JbVaLTqSZDx+/JhGjx5NAGjChAmUkZEhOlJV1K6iExFpNBpavnw51atXjzw9PenEiROiI9VpGo2GfvzxR2rYsCG5uroacpo4U6p9RS9269YtCggIIAAUGBhIycnJoiPVOUeOHKFOnTqRQqGgzz//nPLz80VHqq7aW/RiBw4coHbt2pGNjQ0tWLCAMjMzRUeq9WJjY2nEiBEEgIYPH043b94UHamman/RiYjUajV99913pFQqyd7enhYvXkw5OTmiY9U6iYmJNHbsWLKwsKCuXbvS4cOHRUcylLpR9GLPnj2jv//979SwYUNq2LAhffPNN5Seni46ltm7evUqjR8/niwtLalTp04UGhpKer1edCxDqltFL/b06VP65ptvSKlUUr169Wjq1Kl048YN0bHMil6vp4iICPL39ycA5OHhQdu3b6+r31PUzaIXKygooLVr11Lbtm3JwsKChg4dSqGhoVRUVCQ6mjAZGRn0r3/9izp06EAAaMiQIRQREVHX9uAvq9tFL6bT6Wjv3r309ttvk6WlJTVu3Jg+//xzunbtmuhoJqFWq+ngwYM0duxYsra2JgcHB5o+fbqUTquQRtH/14MHD+ivf/0rubq6EgBq3749LV68uM7ND6nVaunIkSM0ZcoUcnJy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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"means[0].visualize()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0eaefc93725d4a61ab7f50f63a616f08",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# start computation in the background\n",
"# we specify constraints per task (requires GPU)\n",
"results = client.persist(means, resources={tuple(means): {'GPU': 1}})\n",
"progress(results) # watch progress"
]
},
{
"cell_type": "code",
"execution_count": 16,
"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",
"<title>Show/Hide data repr</title>\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",
"<title>Show/Hide attributes</title>\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",
".xr-wrap {\n",
" min-width: 300px;\n",
" max-width: 700px;\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, 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><div class='xr-wrap'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span>time</span>: 1</li><li><span class='xr-has-index'>zIndex</span>: 122</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-a1d6d567-2ffd-45d7-b3ae-8731431370d2' class='xr-array-in' type='checkbox' ><label for='section-a1d6d567-2ffd-45d7-b3ae-8731431370d2' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.92...</span></div><pre class='xr-array-data'>array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.9215775,\n",
" 6.986619 , 7.0469065, 7.0970454, 7.1447754, 7.1884146, 7.2270236,\n",
" 7.262304 , 7.296524 , 7.329532 , 7.363563 , 7.3971205, 7.427077 ,\n",
" 7.454415 , 7.479193 , 7.5025706, 7.5278416, 7.552619 , 7.57612 ,\n",
" 7.599563 , 7.621758 , 7.6424537, 7.6626296, 7.681849 , 7.699667 ,\n",
" 7.7154145, 7.731055 , 7.747626 , 7.76771 , 7.7895904, 7.8078165,\n",
" 7.8210883, 7.834226 , 7.8478174, 7.8625526, 7.8740697, 7.881716 ,\n",
" 7.8889036, 7.8945484, 7.904183 , 7.9244328, 7.939235 , 7.9484706,\n",
" 7.9548125, 7.953225 , 7.944931 , 7.9395227, 7.936881 , 7.932856 ,\n",
" 7.9254303, 7.9159737, 7.9122295, 7.9183326, 7.921881 , 7.9169526,\n",
" 7.9133115, 7.9127817, 7.9183884, 7.925264 , 7.932131 , 7.9365664,\n",
" 7.942039 , 7.944135 , 7.9352837, 7.9176593, 7.893453 , 7.8713303,\n",
" 7.860735 , 7.8554854, 7.8383393, 7.820893 , 7.8153434, 7.8181157,\n",
" 7.8114715, 7.8000135, 7.794572 , 7.7947206, 7.8123145, 7.842793 ,\n",
" 7.883698 , 7.913395 , 7.9284573, 7.945196 , 7.9924097, 8.071991 ,\n",
" 8.143648 , 8.2416115, 8.417226 , 8.597611 , 8.748157 , 8.836903 ,\n",
" 8.88151 , 8.918857 , 8.949077 , 8.971153 , 8.983816 , 8.986295 ,\n",
" 8.985253 , 8.975185 , 8.959365 , 8.942694 , 8.924269 , 8.913794 ,\n",
" 8.918537 , 8.931945 , 8.938174 , 8.916566 , 8.84435 , 8.750142 ,\n",
" 8.7525625, 8.853688 , 8.935777 , 8.973996 , 8.990707 , 8.996981 ,\n",
" 8.999244 , 8.999944 ]], dtype=float32)</pre></div></li><li class='xr-section-item'><input id='section-315c9c74-365f-4904-b583-44ee09645aef' class='xr-section-summary-in' type='checkbox' checked><label for='section-315c9c74-365f-4904-b583-44ee09645aef' class='xr-section-summary' >Coordinates: <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 class='xr-has-index'>zIndex</span></div><div class='xr-var-dims'>(zIndex)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 ... 117 118 119 120 121</div><input id='attrs-8f3054da-da4e-4238-97f5-0e838ba299a9' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8f3054da-da4e-4238-97f5-0e838ba299a9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-209f6480-5ef8-4887-a751-87e54f65c1e1' class='xr-var-data-in' type='checkbox'><label for='data-209f6480-5ef8-4887-a751-87e54f65c1e1' 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><pre class='xr-var-data'>array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n",
" 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,\n",
" 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,\n",
" 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,\n",
" 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,\n",
" 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\n",
" 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,\n",
" 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\n",
" 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], dtype=int32)</pre></li></ul></div></li><li class='xr-section-item'><input id='section-2ac38054-8499-4be5-bd9b-5f940464f03b' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2ac38054-8499-4be5-bd9b-5f940464f03b' 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.DataArray (time: 1, zIndex: 122)>\n",
"array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.9215775,\n",
" 6.986619 , 7.0469065, 7.0970454, 7.1447754, 7.1884146, 7.2270236,\n",
" 7.262304 , 7.296524 , 7.329532 , 7.363563 , 7.3971205, 7.427077 ,\n",
" 7.454415 , 7.479193 , 7.5025706, 7.5278416, 7.552619 , 7.57612 ,\n",
" 7.599563 , 7.621758 , 7.6424537, 7.6626296, 7.681849 , 7.699667 ,\n",
" 7.7154145, 7.731055 , 7.747626 , 7.76771 , 7.7895904, 7.8078165,\n",
" 7.8210883, 7.834226 , 7.8478174, 7.8625526, 7.8740697, 7.881716 ,\n",
" 7.8889036, 7.8945484, 7.904183 , 7.9244328, 7.939235 , 7.9484706,\n",
" 7.9548125, 7.953225 , 7.944931 , 7.9395227, 7.936881 , 7.932856 ,\n",
" 7.9254303, 7.9159737, 7.9122295, 7.9183326, 7.921881 , 7.9169526,\n",
" 7.9133115, 7.9127817, 7.9183884, 7.925264 , 7.932131 , 7.9365664,\n",
" 7.942039 , 7.944135 , 7.9352837, 7.9176593, 7.893453 , 7.8713303,\n",
" 7.860735 , 7.8554854, 7.8383393, 7.820893 , 7.8153434, 7.8181157,\n",
" 7.8114715, 7.8000135, 7.794572 , 7.7947206, 7.8123145, 7.842793 ,\n",
" 7.883698 , 7.913395 , 7.9284573, 7.945196 , 7.9924097, 8.071991 ,\n",
" 8.143648 , 8.2416115, 8.417226 , 8.597611 , 8.748157 , 8.836903 ,\n",
" 8.88151 , 8.918857 , 8.949077 , 8.971153 , 8.983816 , 8.986295 ,\n",
" 8.985253 , 8.975185 , 8.959365 , 8.942694 , 8.924269 , 8.913794 ,\n",
" 8.918537 , 8.931945 , 8.938174 , 8.916566 , 8.84435 , 8.750142 ,\n",
" 8.7525625, 8.853688 , 8.935777 , 8.973996 , 8.990707 , 8.996981 ,\n",
" 8.999244 , 8.999944 ]], dtype=float32)\n",
"Coordinates:\n",
" * zIndex (zIndex) int32 0 1 2 3 4 5 6 7 ... 114 115 116 117 118 119 120 121\n",
"Dimensions without coordinates: time"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results[0].compute()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"def gather_results(futures):\n",
" dsets = [future.compute() for future in futures]\n",
" ds = xr.concat(dsets, dim='time')\n",
" return ds"
]
},
{
"cell_type": "code",
"execution_count": 18,
"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",
"<title>Show/Hide data repr</title>\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",
"<title>Show/Hide attributes</title>\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",
".xr-wrap {\n",
" min-width: 300px;\n",
" max-width: 700px;\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, 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><div class='xr-wrap'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span>time</span>: 4</li><li><span class='xr-has-index'>zIndex</span>: 122</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-1e30d3a1-5ffa-4b3a-af0b-6ec1e5d0dce0' class='xr-array-in' type='checkbox' ><label for='section-1e30d3a1-5ffa-4b3a-af0b-6ec1e5d0dce0' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.92...</span></div><pre class='xr-array-data'>array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.9215775,\n",
" 6.986619 , 7.0469065, 7.0970454, 7.1447754, 7.1884146, 7.2270236,\n",
" 7.262304 , 7.296524 , 7.329532 , 7.363563 , 7.3971205, 7.427077 ,\n",
" 7.454415 , 7.479193 , 7.5025706, 7.5278416, 7.552619 , 7.57612 ,\n",
" 7.599563 , 7.621758 , 7.6424537, 7.6626296, 7.681849 , 7.699667 ,\n",
" 7.7154145, 7.731055 , 7.747626 , 7.76771 , 7.7895904, 7.8078165,\n",
" 7.8210883, 7.834226 , 7.8478174, 7.8625526, 7.8740697, 7.881716 ,\n",
" 7.8889036, 7.8945484, 7.904183 , 7.9244328, 7.939235 , 7.9484706,\n",
" 7.9548125, 7.953225 , 7.944931 , 7.9395227, 7.936881 , 7.932856 ,\n",
" 7.9254303, 7.9159737, 7.9122295, 7.9183326, 7.921881 , 7.9169526,\n",
" 7.9133115, 7.9127817, 7.9183884, 7.925264 , 7.932131 , 7.9365664,\n",
" 7.942039 , 7.944135 , 7.9352837, 7.9176593, 7.893453 , 7.8713303,\n",
" 7.860735 , 7.8554854, 7.8383393, 7.820893 , 7.8153434, 7.8181157,\n",
" 7.8114715, 7.8000135, 7.794572 , 7.7947206, 7.8123145, 7.842793 ,\n",
" 7.883698 , 7.913395 , 7.9284573, 7.945196 , 7.9924097, 8.071991 ,\n",
" 8.143648 , 8.2416115, 8.417226 , 8.597611 , 8.748157 , 8.836903 ,\n",
" 8.88151 , 8.918857 , 8.949077 , 8.971153 , 8.983816 , 8.986295 ,\n",
" 8.985253 , 8.975185 , 8.959365 , 8.942694 , 8.924269 , 8.913794 ,\n",
" 8.918537 , 8.931945 , 8.938174 , 8.916566 , 8.84435 , 8.750142 ,\n",
" 8.7525625, 8.853688 , 8.935777 , 8.973996 , 8.990707 , 8.996981 ,\n",
" 8.999244 , 8.999944 ],\n",
" [4.4223843, 6.119431 , 6.46736 , 6.7227297, 6.8234673, 6.921387 ,\n",
" 6.9864044, 7.0465565, 7.096478 , 7.1439676, 7.1878424, 7.2270384,\n",
" 7.26242 , 7.2965655, 7.329678 , 7.3636684, 7.3971105, 7.4269266,\n",
" 7.4541802, 7.479159 , 7.502771 , 7.528059 , 7.5526123, 7.575842 ,\n",
" 7.5996356, 7.6223097, 7.642774 , 7.6625047, 7.681306 , 7.6989822,\n",
" 7.7151155, 7.731173 , 7.7475233, 7.7673635, 7.7893715, 7.8077326,\n",
" 7.8207316, 7.833553 , 7.8475065, 7.8623276, 7.8737044, 7.88163 ,\n",
" 7.889647 , 7.895749 , 7.9046874, 7.924219 , 7.9389706, 7.9481916,\n",
" 7.95469 , 7.9535794, 7.9459243, 7.9405594, 7.93725 , 7.9325967,\n",
" 7.9251714, 7.915927 , 7.912134 , 7.9179235, 7.9216294, 7.9165206,\n",
" 7.9125896, 7.912127 , 7.91831 , 7.925548 , 7.932733 , 7.937258 ,\n",
" 7.9424186, 7.944155 , 7.9346066, 7.916694 , 7.892974 , 7.871292 ,\n",
" 7.8608427, 7.855612 , 7.838378 , 7.821084 , 7.8158407, 7.818481 ,\n",
" 7.811926 , 7.800827 , 7.794971 , 7.7940836, 7.811424 , 7.842211 ,\n",
" 7.883509 , 7.9132504, 7.9285007, 7.945737 , 7.992779 , 8.071512 ,\n",
" 8.142616 , 8.2405615, 8.416414 , 8.597133 , 8.747924 , 8.836349 ,\n",
" 8.881015 , 8.918628 , 8.948951 , 8.97112 , 8.983907 , 8.986463 ,\n",
" 8.985429 , 8.97532 , 8.95947 , 8.942761 , 8.924304 , 8.91378 ,\n",
" 8.91849 , 8.931905 , 8.938131 , 8.916493 , 8.8442335, 8.749995 ,\n",
" 8.75245 , 8.853624 , 8.935745 , 8.97398 , 8.9907 , 8.996976 ,\n",
" 8.999242 , 8.999944 ],\n",
" [4.4226246, 6.1196575, 6.4672318, 6.7225237, 6.823322 , 6.921137 ,\n",
" 6.9861135, 7.046246 , 7.095987 , 7.1431956, 7.1871915, 7.2269983,\n",
" 7.2625704, 7.296578 , 7.3297725, 7.36377 , 7.3971305, 7.4268303,\n",
" 7.4539423, 7.4790764, 7.5030117, 7.528346 , 7.5526485, 7.575555 ,\n",
" 7.59957 , 7.6227775, 7.6431813, 7.662481 , 7.6807704, 7.6982007,\n",
" 7.7147284, 7.7313504, 7.747585 , 7.7670703, 7.789035 , 7.807561 ,\n",
" 7.820454 , 7.8329754, 7.8471603, 7.86208 , 7.8733163, 7.881449 ,\n",
" 7.8902817, 7.896967 , 7.905326 , 7.924113 , 7.938695 , 7.9478407,\n",
" 7.9545355, 7.953868 , 7.946885 , 7.9416566, 7.9376698, 7.9323645,\n",
" 7.924918 , 7.9158864, 7.912078 , 7.91751 , 7.9213223, 7.916138 ,\n",
" 7.911937 , 7.9114747, 7.9181767, 7.9257607, 7.933278 , 7.937961 ,\n",
" 7.9428144, 7.9441795, 7.9339485, 7.915748 , 7.8924756, 7.871198 ,\n",
" 7.860918 , 7.8557496, 7.838443 , 7.8213234, 7.816347 , 7.8188057,\n",
" 7.8123393, 7.8016386, 7.7954745, 7.79353 , 7.8104925, 7.841589 ,\n",
" 7.883298 , 7.9130855, 7.92853 , 7.9462934, 7.993172 , 8.071041 ,\n",
" 8.141608 , 8.239557 , 8.415592 , 8.59662 , 8.74766 , 8.835798 ,\n",
" 8.880527 , 8.918393 , 8.948823 , 8.9710865, 8.983996 , 8.986634 ,\n",
" 8.985604 , 8.975452 , 8.959571 , 8.94283 , 8.924338 , 8.91377 ,\n",
" 8.9184475, 8.931869 , 8.938087 , 8.916421 , 8.844116 , 8.749849 ,\n",
" 8.752338 , 8.8535595, 8.935714 , 8.973965 , 8.990694 , 8.996972 ,\n",
" 8.99924 , 8.999944 ],\n",
" [4.422873 , 6.1198726, 6.4670844, 6.7223344, 6.8231864, 6.9208374,\n",
" 6.985751 , 7.0459394, 7.0955667, 7.142504 , 7.1864862, 7.2268705,\n",
" 7.262746 , 7.29659 , 7.3298035, 7.363845 , 7.397173 , 7.4267936,\n",
" 7.453716 , 7.4789476, 7.5032845, 7.5286813, 7.552703 , 7.575307 ,\n",
" 7.599413 , 7.623124 , 7.6436486, 7.662559 , 7.6802697, 7.697357 ,\n",
" 7.7142453, 7.731547 , 7.747798 , 7.766843 , 7.7886133, 7.8072953,\n",
" 7.820216 , 7.8325095, 7.846797 , 7.8617907, 7.872933 , 7.8812037,\n",
" 7.8907824, 7.8981605, 7.9060826, 7.924131 , 7.9384294, 7.947419 ,\n",
" 7.9543514, 7.9541063, 7.9477916, 7.9427924, 7.9381433, 7.9321656,\n",
" 7.9246798, 7.9158487, 7.9120483, 7.9170938, 7.9209585, 7.9158 ,\n",
" 7.91136 , 7.91083 , 7.917996 , 7.9259057, 7.9337554, 7.9386644,\n",
" 7.9432325, 7.9442105, 7.9333143, 7.9148273, 7.8919597, 7.8710527,\n",
" 7.860952 , 7.855894 , 7.838532 , 7.821609 , 7.8168607, 7.8190956,\n",
" 7.8127165, 7.802436 , 7.7960753, 7.79307 , 7.8095293, 7.8409266,\n",
" 7.8830614, 7.9129024, 7.9285464, 7.946865 , 7.993591 , 8.070571 ,\n",
" 8.14063 , 8.238596 , 8.414763 , 8.596067 , 8.747359 , 8.835253 ,\n",
" 8.880048 , 8.918154 , 8.948696 , 8.971054 , 8.984085 , 8.986804 ,\n",
" 8.98578 , 8.975585 , 8.959671 , 8.942896 , 8.924372 , 8.913759 ,\n",
" 8.918405 , 8.931833 , 8.9380455, 8.916349 , 8.843996 , 8.7497015,\n",
" 8.752225 , 8.853495 , 8.935681 , 8.973949 , 8.990686 , 8.99697 ,\n",
" 8.999239 , 8.999946 ]], dtype=float32)</pre></div></li><li class='xr-section-item'><input id='section-260c3deb-dc19-414f-964a-0868d1df2897' class='xr-section-summary-in' type='checkbox' checked><label for='section-260c3deb-dc19-414f-964a-0868d1df2897' class='xr-section-summary' >Coordinates: <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 class='xr-has-index'>zIndex</span></div><div class='xr-var-dims'>(zIndex)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 ... 117 118 119 120 121</div><input id='attrs-4f28dc39-7552-4c7c-8e25-d0417cbe76c0' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4f28dc39-7552-4c7c-8e25-d0417cbe76c0' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5905fbf6-c53b-46d1-b90e-f507c9c1df01' class='xr-var-data-in' type='checkbox'><label for='data-5905fbf6-c53b-46d1-b90e-f507c9c1df01' 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><pre class='xr-var-data'>array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n",
" 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,\n",
" 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,\n",
" 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,\n",
" 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,\n",
" 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\n",
" 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,\n",
" 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\n",
" 112, 113, 114, 115, 116, 117, 118, 119, 120, 121], dtype=int32)</pre></li></ul></div></li><li class='xr-section-item'><input id='section-a6302bbf-950d-4786-bc1f-2d965390f927' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-a6302bbf-950d-4786-bc1f-2d965390f927' 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.DataArray (time: 4, zIndex: 122)>\n",
"array([[4.422152 , 6.119192 , 6.4674582, 6.7229514, 6.823635 , 6.9215775,\n",
" 6.986619 , 7.0469065, 7.0970454, 7.1447754, 7.1884146, 7.2270236,\n",
" 7.262304 , 7.296524 , 7.329532 , 7.363563 , 7.3971205, 7.427077 ,\n",
" 7.454415 , 7.479193 , 7.5025706, 7.5278416, 7.552619 , 7.57612 ,\n",
" 7.599563 , 7.621758 , 7.6424537, 7.6626296, 7.681849 , 7.699667 ,\n",
" 7.7154145, 7.731055 , 7.747626 , 7.76771 , 7.7895904, 7.8078165,\n",
" 7.8210883, 7.834226 , 7.8478174, 7.8625526, 7.8740697, 7.881716 ,\n",
" 7.8889036, 7.8945484, 7.904183 , 7.9244328, 7.939235 , 7.9484706,\n",
" 7.9548125, 7.953225 , 7.944931 , 7.9395227, 7.936881 , 7.932856 ,\n",
" 7.9254303, 7.9159737, 7.9122295, 7.9183326, 7.921881 , 7.9169526,\n",
" 7.9133115, 7.9127817, 7.9183884, 7.925264 , 7.932131 , 7.9365664,\n",
" 7.942039 , 7.944135 , 7.9352837, 7.9176593, 7.893453 , 7.8713303,\n",
" 7.860735 , 7.8554854, 7.8383393, 7.820893 , 7.8153434, 7.8181157,\n",
" 7.8114715, 7.8000135, 7.794572 , 7.7947206, 7.8123145, 7.842793 ,\n",
" 7.883698 , 7.913395 , 7.9284573, 7.945196 , 7.9924097, 8.071991 ,\n",
" 8.143648 , 8.2416115, 8.417226 , 8.597611 , 8.748157 , 8.836903 ,\n",
" 8.88151 , 8.918857 , 8.949077 , 8.971153 , 8.983816 , 8.986295 ,\n",
" 8.985253 , 8.975185 , 8.959365 , 8.942694 , 8.924269 , 8.913794 ,\n",
" 8.918537 , 8.931945 , 8.938174 , 8.916566 , 8.84435 , 8.750142 ,\n",
" 8.7525625, 8.853688 , 8.935777 , 8.973996 , 8.990707 , 8.996981 ,\n",
" 8.999244 , 8.999944 ],\n",
" [4.4223843, 6.119431 , 6.46736 , 6.7227297, 6.8234673, 6.921387 ,\n",
" 6.9864044, 7.0465565, 7.096478 , 7.1439676, 7.1878424, 7.2270384,\n",
" 7.26242 , 7.2965655, 7.329678 , 7.3636684, 7.3971105, 7.4269266,\n",
" 7.4541802, 7.479159 , 7.502771 , 7.528059 , 7.5526123, 7.575842 ,\n",
" 7.5996356, 7.6223097, 7.642774 , 7.6625047, 7.681306 , 7.6989822,\n",
" 7.7151155, 7.731173 , 7.7475233, 7.7673635, 7.7893715, 7.8077326,\n",
" 7.8207316, 7.833553 , 7.8475065, 7.8623276, 7.8737044, 7.88163 ,\n",
" 7.889647 , 7.895749 , 7.9046874, 7.924219 , 7.9389706, 7.9481916,\n",
" 7.95469 , 7.9535794, 7.9459243, 7.9405594, 7.93725 , 7.9325967,\n",
" 7.9251714, 7.915927 , 7.912134 , 7.9179235, 7.9216294, 7.9165206,\n",
" 7.9125896, 7.912127 , 7.91831 , 7.925548 , 7.932733 , 7.937258 ,\n",
" 7.9424186, 7.944155 , 7.9346066, 7.916694 , 7.892974 , 7.871292 ,\n",
" 7.8608427, 7.855612 , 7.838378 , 7.821084 , 7.8158407, 7.818481 ,\n",
" 7.811926 , 7.800827 , 7.794971 , 7.7940836, 7.811424 , 7.842211 ,\n",
" 7.883509 , 7.9132504, 7.9285007, 7.945737 , 7.992779 , 8.071512 ,\n",
" 8.142616 , 8.2405615, 8.416414 , 8.597133 , 8.747924 , 8.836349 ,\n",
" 8.881015 , 8.918628 , 8.948951 , 8.97112 , 8.983907 , 8.986463 ,\n",
" 8.985429 , 8.97532 , 8.95947 , 8.942761 , 8.924304 , 8.91378 ,\n",
" 8.91849 , 8.931905 , 8.938131 , 8.916493 , 8.8442335, 8.749995 ,\n",
" 8.75245 , 8.853624 , 8.935745 , 8.97398 , 8.9907 , 8.996976 ,\n",
" 8.999242 , 8.999944 ],\n",
" [4.4226246, 6.1196575, 6.4672318, 6.7225237, 6.823322 , 6.921137 ,\n",
" 6.9861135, 7.046246 , 7.095987 , 7.1431956, 7.1871915, 7.2269983,\n",
" 7.2625704, 7.296578 , 7.3297725, 7.36377 , 7.3971305, 7.4268303,\n",
" 7.4539423, 7.4790764, 7.5030117, 7.528346 , 7.5526485, 7.575555 ,\n",
" 7.59957 , 7.6227775, 7.6431813, 7.662481 , 7.6807704, 7.6982007,\n",
" 7.7147284, 7.7313504, 7.747585 , 7.7670703, 7.789035 , 7.807561 ,\n",
" 7.820454 , 7.8329754, 7.8471603, 7.86208 , 7.8733163, 7.881449 ,\n",
" 7.8902817, 7.896967 , 7.905326 , 7.924113 , 7.938695 , 7.9478407,\n",
" 7.9545355, 7.953868 , 7.946885 , 7.9416566, 7.9376698, 7.9323645,\n",
" 7.924918 , 7.9158864, 7.912078 , 7.91751 , 7.9213223, 7.916138 ,\n",
" 7.911937 , 7.9114747, 7.9181767, 7.9257607, 7.933278 , 7.937961 ,\n",
" 7.9428144, 7.9441795, 7.9339485, 7.915748 , 7.8924756, 7.871198 ,\n",
" 7.860918 , 7.8557496, 7.838443 , 7.8213234, 7.816347 , 7.8188057,\n",
" 7.8123393, 7.8016386, 7.7954745, 7.79353 , 7.8104925, 7.841589 ,\n",
" 7.883298 , 7.9130855, 7.92853 , 7.9462934, 7.993172 , 8.071041 ,\n",
" 8.141608 , 8.239557 , 8.415592 , 8.59662 , 8.74766 , 8.835798 ,\n",
" 8.880527 , 8.918393 , 8.948823 , 8.9710865, 8.983996 , 8.986634 ,\n",
" 8.985604 , 8.975452 , 8.959571 , 8.94283 , 8.924338 , 8.91377 ,\n",
" 8.9184475, 8.931869 , 8.938087 , 8.916421 , 8.844116 , 8.749849 ,\n",
" 8.752338 , 8.8535595, 8.935714 , 8.973965 , 8.990694 , 8.996972 ,\n",
" 8.99924 , 8.999944 ],\n",
" [4.422873 , 6.1198726, 6.4670844, 6.7223344, 6.8231864, 6.9208374,\n",
" 6.985751 , 7.0459394, 7.0955667, 7.142504 , 7.1864862, 7.2268705,\n",
" 7.262746 , 7.29659 , 7.3298035, 7.363845 , 7.397173 , 7.4267936,\n",
" 7.453716 , 7.4789476, 7.5032845, 7.5286813, 7.552703 , 7.575307 ,\n",
" 7.599413 , 7.623124 , 7.6436486, 7.662559 , 7.6802697, 7.697357 ,\n",
" 7.7142453, 7.731547 , 7.747798 , 7.766843 , 7.7886133, 7.8072953,\n",
" 7.820216 , 7.8325095, 7.846797 , 7.8617907, 7.872933 , 7.8812037,\n",
" 7.8907824, 7.8981605, 7.9060826, 7.924131 , 7.9384294, 7.947419 ,\n",
" 7.9543514, 7.9541063, 7.9477916, 7.9427924, 7.9381433, 7.9321656,\n",
" 7.9246798, 7.9158487, 7.9120483, 7.9170938, 7.9209585, 7.9158 ,\n",
" 7.91136 , 7.91083 , 7.917996 , 7.9259057, 7.9337554, 7.9386644,\n",
" 7.9432325, 7.9442105, 7.9333143, 7.9148273, 7.8919597, 7.8710527,\n",
" 7.860952 , 7.855894 , 7.838532 , 7.821609 , 7.8168607, 7.8190956,\n",
" 7.8127165, 7.802436 , 7.7960753, 7.79307 , 7.8095293, 7.8409266,\n",
" 7.8830614, 7.9129024, 7.9285464, 7.946865 , 7.993591 , 8.070571 ,\n",
" 8.14063 , 8.238596 , 8.414763 , 8.596067 , 8.747359 , 8.835253 ,\n",
" 8.880048 , 8.918154 , 8.948696 , 8.971054 , 8.984085 , 8.986804 ,\n",
" 8.98578 , 8.975585 , 8.959671 , 8.942896 , 8.924372 , 8.913759 ,\n",
" 8.918405 , 8.931833 , 8.9380455, 8.916349 , 8.843996 , 8.7497015,\n",
" 8.752225 , 8.853495 , 8.935681 , 8.973949 , 8.990686 , 8.99697 ,\n",
" 8.999239 , 8.999946 ]], dtype=float32)\n",
"Coordinates:\n",
" * zIndex (zIndex) int32 0 1 2 3 4 5 6 7 ... 114 115 116 117 118 119 120 121\n",
"Dimensions without coordinates: time"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"computed_mean = gather_results(results) # convert to final result when done if desired\n",
"computed_mean"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"***** NVIDIA-SMI info on Scheduler *****\n",
"Thu Jul 2 13:25:54 2020 \n",
"+-----------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 418.40.04 Driver Version: 418.40.04 CUDA Version: 10.1 |\n",
"|-------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n",
"|===============================+======================+======================|\n",
"| 0 Quadro GP100 On | 00000000:18:00.0 Off | Off |\n",
"| 26% 33C P0 33W / 235W | 465MiB / 16278MiB | 0% Default |\n",
"+-------------------------------+----------------------+----------------------+\n",
" \n",
"+-----------------------------------------------------------------------------+\n",
"| Processes: GPU Memory |\n",
"| GPU PID Type Process name Usage |\n",
"|=============================================================================|\n",
"| 0 310014 G /usr/bin/X 170MiB |\n",
"| 0 405609 C ...wares/miniconda3/envs/rapids/bin/python 283MiB |\n",
"+-----------------------------------------------------------------------------+\n"
]
}
],
"source": [
"nvidia_smi(on='scheduler')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"distributed.client - ERROR - Failed to reconnect to scheduler after 3.00 seconds, closing client\n",
"_GatheringFuture exception was never retrieved\n",
"future: <_GatheringFuture finished exception=CancelledError()>\n",
"concurrent.futures._base.CancelledError\n"
]
}
],
"source": [
"cluster.close()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {
"02285afb17c44009a57dcf2b419e3bce": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"0275f602542c44aab56dda78f1643fb3": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"0884300a189c4365b6f18d22ae4098fe": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"0eaefc93725d4a61ab7f50f63a616f08": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "VBoxModel",
"state": {
"children": [
"IPY_MODEL_7b9e9863bdec4a708c978f246e42a553",
"IPY_MODEL_cc089b306449471eb413834113aab1c4"
],
"layout": "IPY_MODEL_38ca9210f0734ee1a843affd7d4a5ac9"
}
},
"0f1ec228555f441dbd6dbd68f0b50f77": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ButtonModel",
"state": {
"description": "Adapt",
"layout": "IPY_MODEL_b866a3138f5f40bca1e6ce295f0cc0e8",
"style": "IPY_MODEL_f64884844ab34c0aaf13487b5117640f"
}
},
"0f8da3c78a4949b489b26da3c0e15f43": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "IntTextModel",
"state": {
"description": "Workers",
"layout": "IPY_MODEL_b866a3138f5f40bca1e6ce295f0cc0e8",
"step": 1,
"style": "IPY_MODEL_5ff31bb333f7457ba7c7dfec400d9fa8"
}
},
"10ea0c945bd646b68849b99e976a7576": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_ed303ef1d54b41f6868307333a8a7438",
"style": "IPY_MODEL_5e2f362945924691b30fe5c0c1a2fd6e",
"value": "<h2>SLURMCluster</h2>"
}
},
"1485b2cea1fe4775b609240a67d37963": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"bar_style": "success",
"layout": "IPY_MODEL_b884f742bb894096acd59989e6fabf1a",
"max": 1,
"style": "IPY_MODEL_f22a45b5b5b8447690b36488b4955c8e",
"value": 1
}
},
"14b3c99f1b9b4ff1b307104e5f99fe20": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "IntTextModel",
"state": {
"description": "Minimum",
"layout": "IPY_MODEL_b866a3138f5f40bca1e6ce295f0cc0e8",
"step": 1,
"style": "IPY_MODEL_02285afb17c44009a57dcf2b419e3bce"
}
},
"1a92a6a0fe0346e2b5e84bcad1e82a1a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_a11af8475fce49af8cb76f01ae737afd",
"style": "IPY_MODEL_cdb96fb2590d413e9e9cb0ad393c31bb",
"value": "<p><b>Dashboard: </b><a href=\"/proxy/37726/status\" target=\"_blank\">/proxy/37726/status</a></p>\n"
}
},
"2fad3b6800db4e8fb73b1be9d7c0b50c": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"3088ec41904e49bdbb729b6d13766563": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"313d630fa4234b34b1a7c5a30d29d433": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "VBoxModel",
"state": {
"children": [
"IPY_MODEL_10ea0c945bd646b68849b99e976a7576",
"IPY_MODEL_42c9c9d3cfc541e79fd5db251e65dcc7",
"IPY_MODEL_1a92a6a0fe0346e2b5e84bcad1e82a1a"
],
"layout": "IPY_MODEL_fc45c23f76ff4f658806bb983c63386e"
}
},
"38afcc1c361c47ce9cd88f747fd097de": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"38ca9210f0734ee1a843affd7d4a5ac9": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"3aac3dd8ffd441d4bfe00aa80ec0ecdd": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"42c9c9d3cfc541e79fd5db251e65dcc7": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"children": [
"IPY_MODEL_d3697cbce9b2486bb69d2d8127a6b060",
"IPY_MODEL_7e825f62e45c482bb2a041e5047a16d2"
],
"layout": "IPY_MODEL_7378953ec50a4a5fa38dcd649b1831e3"
}
},
"448ee35175f747c399fa8f7af3cd33ee": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"min_width": "150px"
}
},
"4db73598befc4b4d8a6708a241dcdd99": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_0884300a189c4365b6f18d22ae4098fe",
"style": "IPY_MODEL_f8e6fc11ee924e618f089260c97008fb",
"value": "<div style=\"padding: 0px 10px 0px 10px; text-align: right\">4 / 4</div>"
}
},
"4ddb0b29048241aebb1585a66d22372c": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"5e2f362945924691b30fe5c0c1a2fd6e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"5fa1d9c501fd4f3c86e027f3354f56bd": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"children": [
"IPY_MODEL_73fd2fc0ad754d81848317fed2381499",
"IPY_MODEL_1485b2cea1fe4775b609240a67d37963",
"IPY_MODEL_ac185b4aa8274c01a489f6e022bb2030"
],
"layout": "IPY_MODEL_ccec24e258764266ae4f5571a3777d13"
}
},
"5ff31bb333f7457ba7c7dfec400d9fa8": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"6254e6540a3943dd9bfc7a14742fa061": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"description_width": ""
}
},
"6bf8aa7c38f34711b2419754cdc07ec5": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"children": [
"IPY_MODEL_4db73598befc4b4d8a6708a241dcdd99",
"IPY_MODEL_cbec267df9de474fbaa1999a6b0fc36c",
"IPY_MODEL_c51c12fd388d4066afcf8bb7ee5dba81"
],
"layout": "IPY_MODEL_38afcc1c361c47ce9cd88f747fd097de"
}
},
"6fd02fbc78d349a6bcffb5c5feb7b465": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"7378953ec50a4a5fa38dcd649b1831e3": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"73fd2fc0ad754d81848317fed2381499": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_3aac3dd8ffd441d4bfe00aa80ec0ecdd",
"style": "IPY_MODEL_2fad3b6800db4e8fb73b1be9d7c0b50c",
"value": "<div style=\"padding: 0px 10px 0px 10px; text-align: right\">4 / 4</div>"
}
},
"7b9e9863bdec4a708c978f246e42a553": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_b18e8b497520447a9662e02e0f6190a8",
"style": "IPY_MODEL_8a9377cb251d4854b8810e970527465c",
"value": "<div style=\"padding: 0px 10px 5px 10px\"><b>Finished:</b> 18.1s</div>"
}
},
"7e825f62e45c482bb2a041e5047a16d2": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "AccordionModel",
"state": {
"_titles": {
"0": "Manual Scaling",
"1": "Adaptive Scaling"
},
"children": [
"IPY_MODEL_b86a39be85bd4cb0a8dae0262653be7e",
"IPY_MODEL_a65e2886f2b646539ed3b5b2c69d34d9"
],
"layout": "IPY_MODEL_8e530c0439ab4c10ac34f01d32121629",
"selected_index": null
}
},
"883b0eef7ecb454e9a3dc81ae7721ac5": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ButtonModel",
"state": {
"description": "Scale",
"layout": "IPY_MODEL_b866a3138f5f40bca1e6ce295f0cc0e8",
"style": "IPY_MODEL_fd41ede24b594a4481a3aaf2ca6c4172"
}
},
"8a9377cb251d4854b8810e970527465c": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"8e530c0439ab4c10ac34f01d32121629": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"min_width": "500px"
}
},
"92542171931d46d19ffc1d2e90e02885": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "IntTextModel",
"state": {
"description": "Maximum",
"layout": "IPY_MODEL_b866a3138f5f40bca1e6ce295f0cc0e8",
"step": 1,
"style": "IPY_MODEL_ff198eb79bcf4b6f9f3fc690fd0e70be"
}
},
"9353ccd32bea467c9e9c9c38a43a1029": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"a11af8475fce49af8cb76f01ae737afd": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"a65e2886f2b646539ed3b5b2c69d34d9": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"children": [
"IPY_MODEL_14b3c99f1b9b4ff1b307104e5f99fe20",
"IPY_MODEL_92542171931d46d19ffc1d2e90e02885",
"IPY_MODEL_0f1ec228555f441dbd6dbd68f0b50f77"
],
"layout": "IPY_MODEL_aff7bb1b40e3473bb10c898bbdb445fa"
}
},
"a9ac92947b974bea938cb42b956ea501": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"ac185b4aa8274c01a489f6e022bb2030": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_e732f1d5350e4dd6b8a72585c5af2c5d",
"style": "IPY_MODEL_9353ccd32bea467c9e9c9c38a43a1029",
"value": "<div style=\"padding: 0px 10px 0px 10px; text-align:left; word-wrap: break-word;\">read_data</div>"
}
},
"aff7bb1b40e3473bb10c898bbdb445fa": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"b18e8b497520447a9662e02e0f6190a8": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"b866a3138f5f40bca1e6ce295f0cc0e8": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"width": "150px"
}
},
"b86a39be85bd4cb0a8dae0262653be7e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"children": [
"IPY_MODEL_0f8da3c78a4949b489b26da3c0e15f43",
"IPY_MODEL_883b0eef7ecb454e9a3dc81ae7721ac5"
],
"layout": "IPY_MODEL_de1508b138444f20958a558295138960"
}
},
"b884f742bb894096acd59989e6fabf1a": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"c51c12fd388d4066afcf8bb7ee5dba81": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_3088ec41904e49bdbb729b6d13766563",
"style": "IPY_MODEL_0275f602542c44aab56dda78f1643fb3",
"value": "<div style=\"padding: 0px 10px 0px 10px; text-align:left; word-wrap: break-word;\">compute_mean</div>"
}
},
"cbec267df9de474fbaa1999a6b0fc36c": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"bar_style": "success",
"layout": "IPY_MODEL_a9ac92947b974bea938cb42b956ea501",
"max": 1,
"style": "IPY_MODEL_6254e6540a3943dd9bfc7a14742fa061",
"value": 1
}
},
"cc089b306449471eb413834113aab1c4": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "VBoxModel",
"state": {
"children": [
"IPY_MODEL_5fa1d9c501fd4f3c86e027f3354f56bd",
"IPY_MODEL_6bf8aa7c38f34711b2419754cdc07ec5"
],
"layout": "IPY_MODEL_4ddb0b29048241aebb1585a66d22372c"
}
},
"ccec24e258764266ae4f5571a3777d13": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"cdb96fb2590d413e9e9cb0ad393c31bb": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"d3697cbce9b2486bb69d2d8127a6b060": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"layout": "IPY_MODEL_448ee35175f747c399fa8f7af3cd33ee",
"style": "IPY_MODEL_6fd02fbc78d349a6bcffb5c5feb7b465",
"value": "\n<div>\n <style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n </style>\n <table style=\"text-align: right;\">\n <tr> <th>Workers</th> <td>2</td></tr>\n <tr> <th>Cores</th> <td>2</td></tr>\n <tr> <th>Memory</th> <td>50.00 GB</td></tr>\n </table>\n</div>\n"
}
},
"de1508b138444f20958a558295138960": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"e732f1d5350e4dd6b8a72585c5af2c5d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"ed303ef1d54b41f6868307333a8a7438": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"f22a45b5b5b8447690b36488b4955c8e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"description_width": ""
}
},
"f64884844ab34c0aaf13487b5117640f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ButtonStyleModel",
"state": {}
},
"f8e6fc11ee924e618f089260c97008fb": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
},
"fc45c23f76ff4f658806bb983c63386e": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {}
},
"fd41ede24b594a4481a3aaf2ca6c4172": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ButtonStyleModel",
"state": {}
},
"ff198eb79bcf4b6f9f3fc690fd0e70be": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"description_width": ""
}
}
},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment