{ "cells": [ { "cell_type": "markdown", "id": "92d51f28-55cf-43c2-96a8-84fe7e5df8dd", "metadata": {}, "source": [ "# Dask Demo" ] }, { "cell_type": "code", "execution_count": 48, "id": "962eb10f-06a7-4457-855d-7cf340de0451", "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import glob\n", "from distributed import Client\n", "import xwrf" ] }, { "cell_type": "code", "execution_count": 5, "id": "5cbab814-b785-4d8a-9738-4d6c83fd1b64", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
\n", "

Client

\n", "

Client-614d1692-1920-11ef-89c6-c28b38d965fe

\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
Connection method: Direct
\n", " Dashboard: http://127.0.0.1:45625/status\n", "
\n", "\n", " \n", " \n", " \n", "\n", " \n", "
\n", "

Scheduler Info

\n", "
\n", "
\n", "
\n", "
\n", "

Scheduler

\n", "

Scheduler-d1419b47-801a-4bea-911c-1cc588232f9b

\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Comm: tcp://127.0.0.1:40447\n", " \n", " Workers: 4\n", "
\n", " Dashboard: http://127.0.0.1:45625/status\n", " \n", " Total threads: 8\n", "
\n", " Started: 1 minute ago\n", " \n", " Total memory: 755.55 GiB\n", "
\n", "
\n", "
\n", "\n", "
\n", " \n", "

Workers

\n", "
\n", "\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 0

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:39319\n", " \n", " Total threads: 2\n", "
\n", " Dashboard: http://127.0.0.1:37355/status\n", " \n", " Memory: 188.89 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:35871\n", "
\n", " Local directory: /tmp/dask-scratch-space/worker-fvktrm37\n", "
\n", " Tasks executing: \n", " \n", " Tasks in memory: \n", "
\n", " Tasks ready: \n", " \n", " Tasks in flight: \n", "
\n", " CPU usage: 0.0%\n", " \n", " Last seen: Just now\n", "
\n", " Memory usage: 178.00 MiB\n", " \n", " Spilled bytes: 0 B\n", "
\n", " Read bytes: 21.39 kiB\n", " \n", " Write bytes: 24.83 kiB\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 1

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:32889\n", " \n", " Total threads: 2\n", "
\n", " Dashboard: http://127.0.0.1:44767/status\n", " \n", " Memory: 188.89 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:42265\n", "
\n", " Local directory: /tmp/dask-scratch-space/worker-dvt_j5bn\n", "
\n", " Tasks executing: \n", " \n", " Tasks in memory: \n", "
\n", " Tasks ready: \n", " \n", " Tasks in flight: \n", "
\n", " CPU usage: 2.0%\n", " \n", " Last seen: Just now\n", "
\n", " Memory usage: 177.64 MiB\n", " \n", " Spilled bytes: 0 B\n", "
\n", " Read bytes: 22.07 kiB\n", " \n", " Write bytes: 25.50 kiB\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 2

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:34273\n", " \n", " Total threads: 2\n", "
\n", " Dashboard: http://127.0.0.1:40483/status\n", " \n", " Memory: 188.89 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:46181\n", "
\n", " Local directory: /tmp/dask-scratch-space/worker-b2to9jfc\n", "
\n", " Tasks executing: \n", " \n", " Tasks in memory: \n", "
\n", " Tasks ready: \n", " \n", " Tasks in flight: \n", "
\n", " CPU usage: 0.0%\n", " \n", " Last seen: Just now\n", "
\n", " Memory usage: 176.97 MiB\n", " \n", " Spilled bytes: 0 B\n", "
\n", " Read bytes: 21.04 kiB\n", " \n", " Write bytes: 24.47 kiB\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 3

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38297\n", " \n", " Total threads: 2\n", "
\n", " Dashboard: http://127.0.0.1:36527/status\n", " \n", " Memory: 188.89 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:43807\n", "
\n", " Local directory: /tmp/dask-scratch-space/worker-4rba7qoj\n", "
\n", " Tasks executing: \n", " \n", " Tasks in memory: \n", "
\n", " Tasks ready: \n", " \n", " Tasks in flight: \n", "
\n", " CPU usage: 2.0%\n", " \n", " Last seen: Just now\n", "
\n", " Memory usage: 177.78 MiB\n", " \n", " Spilled bytes: 0 B\n", "
\n", " Read bytes: 20.13 kiB\n", " \n", " Write bytes: 23.57 kiB\n", "
\n", "
\n", "
\n", "
\n", " \n", "\n", "
\n", "
\n", "
\n", " \n", "\n", "
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "client = Client(\"tcp://127.0.0.1:40447\")\n", "client" ] }, { "cell_type": "code", "execution_count": 52, "id": "212edfe0-fd1b-48ba-ab6a-48a80c1f86dc", "metadata": {}, "outputs": [], "source": [ "files = glob.glob(\"/data/project/ARM_Summer_School_2024_Data/lasso_tutorial/cacti/lasso-cacti/20190129/eda09/base/les/subset_d4/corlasso_met_*\")" ] }, { "cell_type": "code", "execution_count": 54, "id": "428cd03d-c7b0-4655-b59a-f7801740a24d", "metadata": {}, "outputs": [], "source": [ "ds = xr.open_dataset(files[0])" ] }, { "cell_type": "code", "execution_count": 57, "id": "f929d323-2de8-43fb-95dc-3d225ddba663", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n", "/opt/conda/lib/python3.11/site-packages/distributed/client.py:3163: UserWarning: Sending large graph of size 28.39 MiB.\n", "This may cause some slowdown.\n", "Consider scattering data ahead of time and using futures.\n", " warnings.warn(\n" ] } ], "source": [ "ds = xr.open_mfdataset(files[:10],\n", " chunks={},\n", " coords=\"minimal\")" ] }, { "cell_type": "code", "execution_count": 65, "id": "82a64726-7e34-4a30-b176-3aa08541d5f1", "metadata": {}, "outputs": [], "source": [ "area_mean_t = ds.mean(dim=[\"south_north\", \"west_east\"])" ] }, { "cell_type": "code", "execution_count": 72, "id": "f14005fb-4d35-4c97-b641-26c9d17098c6", "metadata": {}, "outputs": [], "source": [ "subset = area_mean_t[[\"HAMSL\", \"TEMPERATURE\", \"QVAPOR\", \"UA\", \"VA\", \"REFL_10CM_MAX\"]]" ] }, { "cell_type": "code", "execution_count": 73, "id": "a0572abc-68cf-4bc1-b1af-647d0f1f3f7a", "metadata": {}, "outputs": [], "source": [ "area_mean_t = subset.compute()" ] }, { "cell_type": "code", "execution_count": 81, "id": "211320fb-aa1e-4fce-8bc5-7ca489699f0b", "metadata": {}, "outputs": [], "source": [ "area_mean_t = area_mean_t.set_coords(\"HAMSL\")" ] }, { "cell_type": "code", "execution_count": 86, "id": "8b8deb3d-398b-4855-8851-78d8fa94beb0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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HbM+8HrjjTcQERGBoUOHAgA6derUqsd/+OGHePXVV3HnnXcCAIqKirxOn7X2WEII1NTUqL1MGRkZ2Lp1q0eZ/Px83HLLLQ0CNjIfBlBEpInGftE39yvf7XYjPT0d69ata7Cv9u3ba1dRarUpU6Zg/fr1eOeddxATE6P2rjgcDkRGRkJRFMyYMQMLFixA165d0bVrVyxYsABRUVHIzs5W91NSUoKSkhKcPHkSAHDkyBHExMSgY8eO6oD05cuXo3///mjTpg127NiBOXPmYNGiRWjbtq1Xde7SpQvWrl2LW265BRUVFZgzZ06zPVattW7dOoSHh6NXr16w2+0oLCzEvHnzMG7cOISF1Z1aH3nkESxfvhwzZ87EhAkTsG/fPqxatarRtCeZDwMoIjKEn/70p3j77beRmJiI2NjYYFeHGrFixQoAwKBBgzxuX716tbpG09y5c1FZWYnJkyejrKwMffv2RX5+vkfP4muvvYZnnnlG/fu2225rsJ+DBw/i6aefxqVLl3DDDTdg5cqVyMnJabGObrdbDWCAup6riRMn4uabb0bHjh2xYMECzJ4925fmewgLC8Pzzz+PL774AkIIdOrUCVOmTMGjjz6qluncuTPeffddPProo/iv//ovpKSk4OWXX8a9997r9/Ep+BhAEZEhPPjgg1iyZAnuuusuPPvss+jQoQNOnz6NTZs2Yc6cOR5jbSg46lNTzVEUBXl5ecjLy2uyTEv3A8Af/vAHL2tXp7S0VB2LBQA333wzPvroI48y/+f//B+PvxtrV2Oro19t3LhxGDduXIv1GThwID7++OMWy5H5cBYeERlCVFQUdu/ejY4dO+Kee+5Bjx498Ktf/QqVlZXskaIWXbx4Ebt378amTZswZMiQYFeHQoAiWvOTgoiIyMAeffRRrFu3DnfffTd++9vfIiIiIthVIskxgCIiIiLyElN4RERERF5iAEVERETkJQZQRERERF5iAEVERETkJQZQRERERF5iAEVERETkJQZQRERERF5iAEVERETkJQZQRERERF5iAEVERETkpf8PPv1Jb/yfSagAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "area_mean_t.UA.plot(x='Time', y='HAMSL')" ] }, { "cell_type": "code", "execution_count": 88, "id": "03387a79-dd39-42ed-b4c0-0f9b1ff6e2c8", "metadata": {}, "outputs": [], "source": [ "client.shutdown()" ] }, { "cell_type": "code", "execution_count": null, "id": "3ed30006-2b2a-442d-b0ff-e867e446bf4e", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:base] *", "language": "python", "name": "conda-base-py" }, "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.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }