From 0bae2c552358e158f1900b364cbfc5ab1e2fba47 Mon Sep 17 00:00:00 2001 From: Alfonso Ladino Date: Tue, 21 May 2024 20:50:37 +0000 Subject: [PATCH 1/2] moving file to notebook folder --- .../DIURNAL VARIATIONS OF MWR VARIABLES.ipynb | 935 ++++++++++++++++++ 1 file changed, 935 insertions(+) create mode 100644 notebooks/DIURNAL VARIATIONS OF MWR VARIABLES.ipynb diff --git a/notebooks/DIURNAL VARIATIONS OF MWR VARIABLES.ipynb b/notebooks/DIURNAL VARIATIONS OF MWR VARIABLES.ipynb new file mode 100644 index 0000000..a1c39f6 --- /dev/null +++ b/notebooks/DIURNAL VARIATIONS OF MWR VARIABLES.ipynb @@ -0,0 +1,935 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "61f5274d-3dcd-4f49-80c7-8cf65d122d4c", + "metadata": {}, + "source": [ + "Import the Libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "id": "f8184da1-76f7-4d80-82d9-85569e4c0635", + "metadata": {}, + "outputs": [], + "source": [ + "import act\n", + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n" + ] + }, + { + "cell_type": "markdown", + "id": "56df225b-a8e6-42f2-99cd-25d3f56c5837", + "metadata": {}, + "source": [ + "Download Distrometer and Microwave Radiometer data for selected date" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "id": "669e0950-a5b4-4278-9dde-63c460c8ead8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[DOWNLOADING] cormwrlosM1.b1.20190129.000001.cdf\n", + "\n", + "If you use these data to prepare a publication, please cite:\n", + "\n", + "Cadeddu, M., & Tuftedal, M. Microwave Radiometer (MWRLOS). Atmospheric Radiation\n", + "Measurement (ARM) User Facility. https://doi.org/10.5439/1999490\n", + "\n", + "[DOWNLOADING] corldM1.b1.20190129.000000.cdf\n", + "\n", + "If you use these data to prepare a publication, please cite:\n", + "\n", + "Wang, D., Bartholomew, M. J., Zhu, Z., & Shi, Y. Laser Disdrometer (LD).\n", + "Atmospheric Radiation Measurement (ARM) User Facility.\n", + "https://doi.org/10.5439/1973058\n", + "\n" + ] + } + ], + "source": [ + "username=\"asdf\"\n", + "token=\"asdfffff\"\n", + "# Set the datastream and start/enddates\n", + "datastream = 'cormwrlosM1.b1' #MWR\n", + "datastream_disdro ='corldM1.b1' #DISDRO\n", + "startdate = '2019-01-29'\n", + "enddate = '2019-01-29'\n", + "\n", + "result1 = act.discovery.download_arm_data(username, token, datastream, startdate, enddate)\n", + "result2 = act.discovery.download_arm_data(username, token, datastream_disdro, startdate, enddate)" + ] + }, + { + "cell_type": "markdown", + "id": "ffed56b2-6788-4c6e-9a55-d786a7a203c7", + "metadata": {}, + "source": [ + "Finding the time of actual thunderstorm using Disdrometer.\n", + "Plotting rain intensity" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "id": "97394a24-fa59-439e-8737-9bd9cc9a8fac", + "metadata": {}, + "outputs": [], + "source": [ + "ds2=xr.open_dataset(\"/corldM1.b1/corldM1.b1.20190129.000000.cdf\")" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "id": "88ec0dc8-8501-4e09-b697-17c906480500", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.0, 100.0)" + ] + }, + "execution_count": 173, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(6, 3))\n", + "ds2.precip_rate.plot()\n", + "plt.ylim(0,100)" + ] + }, + { + "cell_type": "markdown", + "id": "8ce919fc-8a24-4d4e-8200-34f34a99586a", + "metadata": {}, + "source": [ + "The variations of LWC and Vapor using MWR" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "id": "19556c2f-ced6-4294-9f17-71072de203a0", + "metadata": {}, + "outputs": [], + "source": [ + "ds=xr.open_dataset(\"/cormwrlosM1.b1/cormwrlosM1.b1.20190129.000001.cdf\")" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "id": "82c0e521-9638-4a5e-80b8-afe877d0bacb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qc_liq=ds.qc_liq\n", + "qc_liq=qc_liq.where(qc_liq>0)\n", + "fig = plt.figure(figsize=(6, 3))\n", + "plt.ylim(0,1)\n", + "#plt.title(\"LWC\")\n", + "ds.liq.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "64c3bd0d-31bc-488a-945f-058ee2cd23e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 176, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(6, 3))\n", + "ds.vap.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "7a1c1bed-11fd-4deb-8bd5-a3a679200e30", + "metadata": {}, + "source": [ + "Radar Reflectivity from disdrometer" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "63fd8196-af9d-4457-839b-203ed874c216", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 177, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "\n", + "ds2.equivalent_radar_reflectivity.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "f2e29c5c-84cc-42d3-88f2-39269fd96578", + "metadata": {}, + "outputs": [], + "source": [ + "#ds2.diameter_max.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5821c82d-ec06-47ff-b229-ae332572fe11", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f26a941f-7f61-4cf7-8b72-b1a6de99e89a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3baa0c9d-9b38-4d6e-85cb-1dfaad67421e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "902bf12f-2203-47a0-89bb-229dd112d145", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b672f99-e22c-4cd8-989a-ab80f59b8239", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a781ebd4-5163-4c86-a345-ba275dbcdc8a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "aa4fe0ec-f8bc-44b1-a0bc-de5b3add6d8b", + "metadata": {}, + "outputs": [], + "source": [ + "dsd=ds2.number_density_drops" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "7d62fb7b-7783-4c7c-88fa-0bc47a9154d4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'number_density_drops' (time: 46, particle_size: 32)> Size: 6kB\n",
+       "array([[       nan,        nan,        nan, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan,        nan,  73.10543 , ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan,        nan, 127.9345  , ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       ...,\n",
+       "       [       nan,        nan, 146.21086 , ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan,        nan,  36.552715, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan,        nan,        nan, ...,        nan,        nan,\n",
+       "               nan]], dtype=float32)\n",
+       "Coordinates:\n",
+       "  * time           (time) datetime64[ns] 368B 2019-01-29T18:25:00 ... 2019-01...\n",
+       "  * particle_size  (particle_size) float32 128B 0.062 0.187 0.312 ... 21.5 24.0\n",
+       "Attributes:\n",
+       "    long_name:  Number density of drops of the diameter corresponding to a pa...\n",
+       "    units:      1/(m^3 mm)
" + ], + "text/plain": [ + " Size: 6kB\n", + "array([[ nan, nan, nan, ..., nan, nan,\n", + " nan],\n", + " [ nan, nan, 73.10543 , ..., nan, nan,\n", + " nan],\n", + " [ nan, nan, 127.9345 , ..., nan, nan,\n", + " nan],\n", + " ...,\n", + " [ nan, nan, 146.21086 , ..., nan, nan,\n", + " nan],\n", + " [ nan, nan, 36.552715, ..., nan, nan,\n", + " nan],\n", + " [ nan, nan, nan, ..., nan, nan,\n", + " nan]], dtype=float32)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 368B 2019-01-29T18:25:00 ... 2019-01...\n", + " * particle_size (particle_size) float32 128B 0.062 0.187 0.312 ... 21.5 24.0\n", + "Attributes:\n", + " long_name: Number density of drops of the diameter corresponding to a pa...\n", + " units: 1/(m^3 mm)" + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dsd1" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "fb0a876b-3fac-4bb8-a554-8fc897858138", + "metadata": {}, + "outputs": [], + "source": [ + "dsd1=dsd.sel(\n", + " time=slice('2019-01-29T18:25:00', '2019-01-29T19:10:00'))" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "10b89984-bede-4e20-b009-3c5d6a5b663e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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q+bixYuqP48cORKjRo3C7du30bhxYwDAyZMn8eOPP2LOnDmSbf3999/Yt28fmjdvrlNf/P390a5du0wbLl69egV/f/9sA76EhATVRh8vLy+8efMGb968ybKsLhuCtA74evXqpfqzl5cX7t69i+vXr6NcuXIoVaqU1h0gIiIi7ek9wleIAr46depAoVDg/cQjQUFBmcr17NkT3bp109iWq6urXjuss9tw8fDhQ7Up2g+VLFlStTPX1tY2yzb0OdVMdsCXlJSEcePG4c8//0RqairatGmDxYsXo1SpUlmeGUdERESUG6KiogzW1oIFCxAUFITly5ejfPnysut5eXmpNly0bt1a7Ri19PR0REVFqY6nzcqhQ4dUO3Bz4lQz2QHflClTsHr1avTq1Qvm5ubYtGkTvv76a2zdyjU6REREuUoA0C6NbhZtFJ4hPjc3N4O11bt3byQlJaFixYqwtLTMtI7u+fPnWdbL2J0bEREBPz8/lChRQvVexoaLzz//PNv7vp8uJidONZMd8G3fvh0rV65E9+7dAbx7IM2aNUN6erraThgiIiLKWTxaTbNHjx7h2LFjWR6NNnLkSI11Q0JCdLrnlClTkJ6eDjc3N/j5+em9kfXly5c4ffp0lp9B08aP7MgO+B48eIAWLVqovm7YsCGKFSuGx48fw9XVVesbExERkR64aSNLq1atwpAhQ2Bqagp7e3u1tXAKhUIy4MvYKasLY2NjDBkyBNeuXdO5DQDYvXs3evXqhcTERFhZWWX6DDka8KWnp8PU1FS9crFiSEtL0/qmRERERDlh8uTJmDx5MiZOnAgjIyO92nrz5g1SU1PVrklt6PD09MSdO3fg7u6u833Hjh2LAQMGYNasWZnO09WV7IBPCIH+/fur5ZV5+/YthgwZguLFi6uubd++3SAdIyIioqwplO9eetG3fj6VlJSE7t276xzsJSYmYvz48diyZQvi4uIyvS+1Q3bmzJkIDAzE9OnTUa9ePbUYCZCXUuXRo0cYOXKkwYI9QIuAL6shzt69exusI0RERKSFQjolq6+BAwdi69atmDBhgk71g4KCcPjwYfz000/o27cvfvzxRzx69Ag///yzrDx+GTtxO3bsqDYVq01KFT8/P5w9e1brM301kR3wrVq1ymA3JSIiIsoJs2fPxqeffoq9e/fC09Mz0y7bhQsXaqy/e/durF27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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dsd1=dsd1.where(dsd1>0)\n", + "dsd1.plot(x=\"time\",y=\"particle_size\",vmin=0,vmax=1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "32dc8354-aef5-4fbc-ae33-9b799ca66c9b", + "metadata": {}, + "outputs": [], + "source": [ + "dsd1.to_dataframe().to_csv(\"dsd.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "5b9c0841-2cd6-4c8d-9305-f77b16754715", + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (931908813.py, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m Cell \u001b[0;32mIn[128], line 1\u001b[0;36m\u001b[0m\n\u001b[0;31m .number_density_drops.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + ".number_density_drops." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d08c7402-d73a-4179-9de3-debb3542dc21", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21921ece-ad79-455e-b5e6-dc558a0d82ac", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e135bf94-bd60-41ba-8cdb-1fcd3cae9d17", + "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 +} From 0570667f2a899521e0d5108ded2b5982a9d93e09 Mon Sep 17 00:00:00 2001 From: Alfonso Ladino Date: Tue, 21 May 2024 20:50:52 +0000 Subject: [PATCH 2/2] gathering radar data --- notebooks/KZAR_SCAPR.ipynb | 4545 ++++++++++++++++++++++++++++++++++++ 1 file changed, 4545 insertions(+) create mode 100644 notebooks/KZAR_SCAPR.ipynb diff --git a/notebooks/KZAR_SCAPR.ipynb b/notebooks/KZAR_SCAPR.ipynb new file mode 100644 index 0000000..7af84c2 --- /dev/null +++ b/notebooks/KZAR_SCAPR.ipynb @@ -0,0 +1,4545 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start here! If you can directly link to an image relevant to your notebook, such as [canonical logos](https://github.com/numpy/numpy/blob/main/doc/source/_static/numpylogo.svg), do so here at the top of your notebook. You can do this with Markdown syntax,\n", + "\n", + "> `![](http://link.com/to/image.png \"image alt text\")`\n", + "\n", + "or edit this cell to see raw HTML `img` demonstration. This is preferred if you need to shrink your embedded image. **Either way be sure to include `alt` text for any embedded images to make your content more accessible.**\n", + "\n", + "\"Project" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Project Pythia Notebook Template\n", + "\n", + "Next, title your notebook appropriately with a top-level Markdown header, `#`. Do not use this level header anywhere else in the notebook. Our book build process will use this title in the navbar, table of contents, etc. Keep it short, keep it descriptive. Follow this with a `---` cell to visually distinguish the transition to the prerequisites section." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "If you have an introductory paragraph, lead with it here! Keep it short and tied to your material, then be sure to continue into the required list of topics below,\n", + "\n", + "1. This is a numbered list of the specific topics\n", + "1. These should map approximately to your main sections of content\n", + "1. Or each second-level, `##`, header in your notebook\n", + "1. Keep the size and scope of your notebook in check\n", + "1. And be sure to let the reader know up front the important concepts they'll be leaving with" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "This section was inspired by [this template](https://github.com/alan-turing-institute/the-turing-way/blob/master/book/templates/chapter-template/chapter-landing-page.md) of the wonderful [The Turing Way](https://the-turing-way.netlify.app) Jupyter Book.\n", + "\n", + "Following your overview, tell your reader what concepts, packages, or other background information they'll **need** before learning your material. Tie this explicitly with links to other pages here in Foundations or to relevant external resources. Remove this body text, then populate the Markdown table, denoted in this cell with `|` vertical brackets, below, and fill out the information following. In this table, lay out prerequisite concepts by explicitly linking to other Foundations material or external resources, or describe generally helpful concepts.\n", + "\n", + "Label the importance of each concept explicitly as **helpful/necessary**.\n", + "\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [Intro to Cartopy](https://foundations.projectpythia.org/core/cartopy/cartopy.html) | Necessary | |\n", + "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", + "| Project management | Helpful | |\n", + "\n", + "- **Time to learn**: estimate in minutes. For a rough idea, use 5 mins per subsection, 10 if longer; add these up for a total. Safer to round up and overestimate.\n", + "- **System requirements**:\n", + " - Populate with any system, version, or non-Python software requirements if necessary\n", + " - Otherwise use the concepts table above and the Imports section below to describe required packages as necessary\n", + " - If no extra requirements, remove the **System requirements** point altogether" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports\n", + "Begin your body of content with another `---` divider before continuing into this section, then remove this body text and populate the following code cell with all necessary Python imports **up-front**:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + " var py_version = '3.4.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " var reloading = false;\n", + " var Bokeh = root.Bokeh;\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " if (!reloading) {\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " var skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", + " root._bokeh_is_loading = css_urls.length + 0;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " var existing_stylesheets = []\n", + " var links = document.getElementsByTagName('link')\n", + " for (var i = 0; i < links.length; i++) {\n", + " var link = links[i]\n", + " if (link.href != null) {\n", + "\texisting_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " if (existing_stylesheets.indexOf(url) !== -1) {\n", + "\ton_load()\n", + "\tcontinue;\n", + " }\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " } var existing_scripts = []\n", + " var scripts = document.getElementsByTagName('script')\n", + " for (var i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + "\texisting_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (var i = 0; i < js_modules.length; i++) {\n", + " var url = js_modules[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " var url = js_exports[name];\n", + " if (skip.indexOf(url) >= 0 || root[name] != null) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\n", + " document.head.appendChild(element);\n", + " }\n", + " if (!js_urls.length && !js_modules.length) {\n", + " on_load()\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.1.min.js\", \"https://cdn.holoviz.org/panel/1.4.2/dist/panel.min.js\"];\n", + " var js_modules = [];\n", + " var js_exports = {};\n", + " var css_urls = [];\n", + " var inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {} // ensure no trailing comma for IE\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if ((root.Bokeh !== undefined) || (force === true)) {\n", + " for (var i = 0; i < inline_js.length; i++) {\n", + "\ttry {\n", + " inline_js[i].call(root, root.Bokeh);\n", + "\t} catch(e) {\n", + "\t if (!reloading) {\n", + "\t throw e;\n", + "\t }\n", + "\t}\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + "\tvar NewBokeh = root.Bokeh;\n", + "\tif (Bokeh.versions === undefined) {\n", + "\t Bokeh.versions = new Map();\n", + "\t}\n", + "\tif (NewBokeh.version !== Bokeh.version) {\n", + "\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + "\t}\n", + "\troot.Bokeh = Bokeh;\n", + " }} else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " }\n", + " root._bokeh_is_initializing = false\n", + " }\n", + "\n", + " function load_or_wait() {\n", + " // Implement a backoff loop that tries to ensure we do not load multiple\n", + " // versions of Bokeh and its dependencies at the same time.\n", + " // In recent versions we use the root._bokeh_is_initializing flag\n", + " // to determine whether there is an ongoing attempt to initialize\n", + " // bokeh, however for backward compatibility we also try to ensure\n", + " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", + " // before older versions are fully initialized.\n", + " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", + " load_or_wait();\n", + " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", + " setTimeout(load_or_wait, 100);\n", + " } else {\n", + " root._bokeh_is_initializing = true\n", + " root._bokeh_onload_callbacks = []\n", + " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + "\troot.Bokeh = undefined;\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + "\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + "\trun_inline_js();\n", + " });\n", + " }\n", + " }\n", + " // Give older versions of the autoload script a head-start to ensure\n", + " // they initialize before we start loading newer version.\n", + " setTimeout(load_or_wait, 100)\n", + "}(window));" + ], + "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.4.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var reloading = false;\n var Bokeh = root.Bokeh;\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.1.min.js\", \"https://cdn.holoviz.org/panel/1.4.2/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n\ttry {\n inline_js[i].call(root, root.Bokeh);\n\t} catch(e) {\n\t if (!reloading) {\n\t throw e;\n\t }\n\t}\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "\n", + "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", + " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", + "}\n", + "\n", + "\n", + " function JupyterCommManager() {\n", + " }\n", + "\n", + " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", + " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " comm_manager.register_target(comm_id, function(comm) {\n", + " comm.on_msg(msg_handler);\n", + " });\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", + " comm.onMsg = msg_handler;\n", + " });\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " console.log(message)\n", + " var content = {data: message.data, comm_id};\n", + " var buffers = []\n", + " for (var buffer of message.buffers || []) {\n", + " buffers.push(new DataView(buffer))\n", + " }\n", + " var metadata = message.metadata || {};\n", + " var msg = {content, buffers, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " })\n", + " }\n", + " }\n", + "\n", + " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", + " if (comm_id in window.PyViz.comms) {\n", + " return window.PyViz.comms[comm_id];\n", + " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", + " if (msg_handler) {\n", + " comm.on_msg(msg_handler);\n", + " }\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", + " comm.open();\n", + " if (msg_handler) {\n", + " comm.onMsg = msg_handler;\n", + " }\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", + " comm_promise.then((comm) => {\n", + " window.PyViz.comms[comm_id] = comm;\n", + " if (msg_handler) {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data};\n", + " var metadata = message.metadata || {comm_id};\n", + " var msg = {content, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " }) \n", + " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", + " return comm_promise.then((comm) => {\n", + " comm.send(data, metadata, buffers, disposeOnDone);\n", + " });\n", + " };\n", + " var comm = {\n", + " send: sendClosure\n", + " };\n", + " }\n", + " window.PyViz.comms[comm_id] = comm;\n", + " return comm;\n", + " }\n", + " window.PyViz.comm_manager = new JupyterCommManager();\n", + " \n", + "\n", + "\n", + "var JS_MIME_TYPE = 'application/javascript';\n", + "var HTML_MIME_TYPE = 'text/html';\n", + "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", + "var CLASS_NAME = 'output';\n", + "\n", + "/**\n", + " * Render data to the DOM node\n", + " */\n", + "function render(props, node) {\n", + " var div = document.createElement(\"div\");\n", + " var script = document.createElement(\"script\");\n", + " node.appendChild(div);\n", + " node.appendChild(script);\n", + "}\n", + "\n", + "/**\n", + " * Handle when a new output is added\n", + " */\n", + "function handle_add_output(event, handle) {\n", + " var output_area = handle.output_area;\n", + " var output = handle.output;\n", + " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + " if (id !== undefined) {\n", + " var nchildren = toinsert.length;\n", + " var html_node = toinsert[nchildren-1].children[0];\n", + " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var scripts = [];\n", + " var nodelist = html_node.querySelectorAll(\"script\");\n", + " for (var i in nodelist) {\n", + " if (nodelist.hasOwnProperty(i)) {\n", + " scripts.push(nodelist[i])\n", + " }\n", + " }\n", + "\n", + " scripts.forEach( function (oldScript) {\n", + " var newScript = document.createElement(\"script\");\n", + " var attrs = [];\n", + " var nodemap = oldScript.attributes;\n", + " for (var j in nodemap) {\n", + " if (nodemap.hasOwnProperty(j)) {\n", + " attrs.push(nodemap[j])\n", + " }\n", + " }\n", + " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", + " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", + " oldScript.parentNode.replaceChild(newScript, oldScript);\n", + " });\n", + " if (JS_MIME_TYPE in output.data) {\n", + " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", + " }\n", + " output_area._hv_plot_id = id;\n", + " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", + " window.PyViz.plot_index[id] = Bokeh.index[id];\n", + " } else {\n", + " window.PyViz.plot_index[id] = null;\n", + " }\n", + " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " var bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var script_attrs = bk_div.children[0].attributes;\n", + " for (var i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + "function handle_clear_output(event, handle) {\n", + " var id = handle.cell.output_area._hv_plot_id;\n", + " var server_id = handle.cell.output_area._bokeh_server_id;\n", + " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", + " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", + " if (server_id !== null) {\n", + " comm.send({event_type: 'server_delete', 'id': server_id});\n", + " return;\n", + " } else if (comm !== null) {\n", + " comm.send({event_type: 'delete', 'id': id});\n", + " }\n", + " delete PyViz.plot_index[id];\n", + " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", + " var doc = window.Bokeh.index[id].model.document\n", + " doc.clear();\n", + " const i = window.Bokeh.documents.indexOf(doc);\n", + " if (i > -1) {\n", + " window.Bokeh.documents.splice(i, 1);\n", + " }\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle kernel restart event\n", + " */\n", + "function handle_kernel_cleanup(event, handle) {\n", + " delete PyViz.comms[\"hv-extension-comm\"];\n", + " window.PyViz.plot_index = {}\n", + "}\n", + "\n", + "/**\n", + " * Handle update_display_data messages\n", + " */\n", + "function handle_update_output(event, handle) {\n", + " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", + " handle_add_output(event, handle)\n", + "}\n", + "\n", + "function register_renderer(events, OutputArea) {\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " var toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[0]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " events.on('output_added.OutputArea', handle_add_output);\n", + " events.on('output_updated.OutputArea', handle_update_output);\n", + " events.on('clear_output.CodeCell', handle_clear_output);\n", + " events.on('delete.Cell', handle_clear_output);\n", + " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", + "\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " safe: true,\n", + " index: 0\n", + " });\n", + "}\n", + "\n", + "if (window.Jupyter !== undefined) {\n", + " try {\n", + " var events = require('base/js/events');\n", + " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " } catch(err) {\n", + " }\n", + "}\n" + ], + "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ] + }, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "p1002" + } + }, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + " var py_version = '3.4.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " var reloading = true;\n", + " var Bokeh = root.Bokeh;\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " if (!reloading) {\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " var skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", + " root._bokeh_is_loading = css_urls.length + 0;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " var existing_stylesheets = []\n", + " var links = document.getElementsByTagName('link')\n", + " for (var i = 0; i < links.length; i++) {\n", + " var link = links[i]\n", + " if (link.href != null) {\n", + "\texisting_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " if (existing_stylesheets.indexOf(url) !== -1) {\n", + "\ton_load()\n", + "\tcontinue;\n", + " }\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " } var existing_scripts = []\n", + " var scripts = document.getElementsByTagName('script')\n", + " for (var i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + "\texisting_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (var i = 0; i < js_modules.length; i++) {\n", + " var url = js_modules[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " var url = js_exports[name];\n", + " if (skip.indexOf(url) >= 0 || root[name] != null) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\n", + " document.head.appendChild(element);\n", + " }\n", + " if (!js_urls.length && !js_modules.length) {\n", + " on_load()\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " var js_urls = [];\n", + " var js_modules = [];\n", + " var js_exports = {};\n", + " var css_urls = [];\n", + " var inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {} // ensure no trailing comma for IE\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if ((root.Bokeh !== undefined) || (force === true)) {\n", + " for (var i = 0; i < inline_js.length; i++) {\n", + "\ttry {\n", + " inline_js[i].call(root, root.Bokeh);\n", + "\t} catch(e) {\n", + "\t if (!reloading) {\n", + "\t throw e;\n", + "\t }\n", + "\t}\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + "\tvar NewBokeh = root.Bokeh;\n", + "\tif (Bokeh.versions === undefined) {\n", + "\t Bokeh.versions = new Map();\n", + "\t}\n", + "\tif (NewBokeh.version !== Bokeh.version) {\n", + "\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + "\t}\n", + "\troot.Bokeh = Bokeh;\n", + " }} else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " }\n", + " root._bokeh_is_initializing = false\n", + " }\n", + "\n", + " function load_or_wait() {\n", + " // Implement a backoff loop that tries to ensure we do not load multiple\n", + " // versions of Bokeh and its dependencies at the same time.\n", + " // In recent versions we use the root._bokeh_is_initializing flag\n", + " // to determine whether there is an ongoing attempt to initialize\n", + " // bokeh, however for backward compatibility we also try to ensure\n", + " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", + " // before older versions are fully initialized.\n", + " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", + " load_or_wait();\n", + " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", + " setTimeout(load_or_wait, 100);\n", + " } else {\n", + " root._bokeh_is_initializing = true\n", + " root._bokeh_onload_callbacks = []\n", + " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + "\troot.Bokeh = undefined;\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + "\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + "\trun_inline_js();\n", + " });\n", + " }\n", + " }\n", + " // Give older versions of the autoload script a head-start to ensure\n", + " // they initialize before we start loading newer version.\n", + " setTimeout(load_or_wait, 100)\n", + "}(window));" + ], + "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.4.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var reloading = true;\n var Bokeh = root.Bokeh;\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n\ttry {\n inline_js[i].call(root, root.Bokeh);\n\t} catch(e) {\n\t if (!reloading) {\n\t throw e;\n\t }\n\t}\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "\n", + "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", + " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", + "}\n", + "\n", + "\n", + " function JupyterCommManager() {\n", + " }\n", + "\n", + " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", + " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " comm_manager.register_target(comm_id, function(comm) {\n", + " comm.on_msg(msg_handler);\n", + " });\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", + " comm.onMsg = msg_handler;\n", + " });\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " console.log(message)\n", + " var content = {data: message.data, comm_id};\n", + " var buffers = []\n", + " for (var buffer of message.buffers || []) {\n", + " buffers.push(new DataView(buffer))\n", + " }\n", + " var metadata = message.metadata || {};\n", + " var msg = {content, buffers, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " })\n", + " }\n", + " }\n", + "\n", + " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", + " if (comm_id in window.PyViz.comms) {\n", + " return window.PyViz.comms[comm_id];\n", + " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", + " if (msg_handler) {\n", + " comm.on_msg(msg_handler);\n", + " }\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", + " comm.open();\n", + " if (msg_handler) {\n", + " comm.onMsg = msg_handler;\n", + " }\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", + " comm_promise.then((comm) => {\n", + " window.PyViz.comms[comm_id] = comm;\n", + " if (msg_handler) {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data};\n", + " var metadata = message.metadata || {comm_id};\n", + " var msg = {content, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " }) \n", + " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", + " return comm_promise.then((comm) => {\n", + " comm.send(data, metadata, buffers, disposeOnDone);\n", + " });\n", + " };\n", + " var comm = {\n", + " send: sendClosure\n", + " };\n", + " }\n", + " window.PyViz.comms[comm_id] = comm;\n", + " return comm;\n", + " }\n", + " window.PyViz.comm_manager = new JupyterCommManager();\n", + " \n", + "\n", + "\n", + "var JS_MIME_TYPE = 'application/javascript';\n", + "var HTML_MIME_TYPE = 'text/html';\n", + "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", + "var CLASS_NAME = 'output';\n", + "\n", + "/**\n", + " * Render data to the DOM node\n", + " */\n", + "function render(props, node) {\n", + " var div = document.createElement(\"div\");\n", + " var script = document.createElement(\"script\");\n", + " node.appendChild(div);\n", + " node.appendChild(script);\n", + "}\n", + "\n", + "/**\n", + " * Handle when a new output is added\n", + " */\n", + "function handle_add_output(event, handle) {\n", + " var output_area = handle.output_area;\n", + " var output = handle.output;\n", + " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + " if (id !== undefined) {\n", + " var nchildren = toinsert.length;\n", + " var html_node = toinsert[nchildren-1].children[0];\n", + " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var scripts = [];\n", + " var nodelist = html_node.querySelectorAll(\"script\");\n", + " for (var i in nodelist) {\n", + " if (nodelist.hasOwnProperty(i)) {\n", + " scripts.push(nodelist[i])\n", + " }\n", + " }\n", + "\n", + " scripts.forEach( function (oldScript) {\n", + " var newScript = document.createElement(\"script\");\n", + " var attrs = [];\n", + " var nodemap = oldScript.attributes;\n", + " for (var j in nodemap) {\n", + " if (nodemap.hasOwnProperty(j)) {\n", + " attrs.push(nodemap[j])\n", + " }\n", + " }\n", + " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", + " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", + " oldScript.parentNode.replaceChild(newScript, oldScript);\n", + " });\n", + " if (JS_MIME_TYPE in output.data) {\n", + " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", + " }\n", + " output_area._hv_plot_id = id;\n", + " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", + " window.PyViz.plot_index[id] = Bokeh.index[id];\n", + " } else {\n", + " window.PyViz.plot_index[id] = null;\n", + " }\n", + " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " var bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var script_attrs = bk_div.children[0].attributes;\n", + " for (var i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + "function handle_clear_output(event, handle) {\n", + " var id = handle.cell.output_area._hv_plot_id;\n", + " var server_id = handle.cell.output_area._bokeh_server_id;\n", + " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", + " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", + " if (server_id !== null) {\n", + " comm.send({event_type: 'server_delete', 'id': server_id});\n", + " return;\n", + " } else if (comm !== null) {\n", + " comm.send({event_type: 'delete', 'id': id});\n", + " }\n", + " delete PyViz.plot_index[id];\n", + " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", + " var doc = window.Bokeh.index[id].model.document\n", + " doc.clear();\n", + " const i = window.Bokeh.documents.indexOf(doc);\n", + " if (i > -1) {\n", + " window.Bokeh.documents.splice(i, 1);\n", + " }\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle kernel restart event\n", + " */\n", + "function handle_kernel_cleanup(event, handle) {\n", + " delete PyViz.comms[\"hv-extension-comm\"];\n", + " window.PyViz.plot_index = {}\n", + "}\n", + "\n", + "/**\n", + " * Handle update_display_data messages\n", + " */\n", + "function handle_update_output(event, handle) {\n", + " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", + " handle_add_output(event, handle)\n", + "}\n", + "\n", + "function register_renderer(events, OutputArea) {\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " var toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[0]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " events.on('output_added.OutputArea', handle_add_output);\n", + " events.on('output_updated.OutputArea', handle_update_output);\n", + " events.on('clear_output.CodeCell', handle_clear_output);\n", + " events.on('delete.Cell', handle_clear_output);\n", + " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", + "\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " safe: true,\n", + " index: 0\n", + " });\n", + "}\n", + "\n", + "if (window.Jupyter !== undefined) {\n", + " try {\n", + " var events = require('base/js/events');\n", + " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " } catch(err) {\n", + " }\n", + "}\n" + ], + "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import act\n", + "import xarray as xr\n", + "import cmweather\n", + "import matplotlib.pyplot as plt\n", + "import hvplot.xarray\n", + "import holoviews as hv\n", + "from dask.distributed import Client, LocalCluster\n", + "hv.extension(\"bokeh\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "cluster = LocalCluster()\n", + "client = Client(cluster)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "
\n", + "
\n", + "
\n", + "

LocalCluster

\n", + "

e808ae3d

\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " \n", + "
\n", + " Dashboard: http://127.0.0.1:8787/status\n", + " \n", + " Workers: 4\n", + "
\n", + " Total threads: 8\n", + " \n", + " Total memory: 755.55 GiB\n", + "
Status: runningUsing processes: True
\n", + "\n", + "
\n", + " \n", + "

Scheduler Info

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

Scheduler

\n", + "

Scheduler-64431f74-45bd-40a6-a8cf-85e612868580

\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " Comm: tcp://127.0.0.1:43691\n", + " \n", + " Workers: 4\n", + "
\n", + " Dashboard: http://127.0.0.1:8787/status\n", + " \n", + " Total threads: 8\n", + "
\n", + " Started: Just now\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", + " Comm: tcp://127.0.0.1:33015\n", + " \n", + " Total threads: 2\n", + "
\n", + " Dashboard: http://127.0.0.1:44239/status\n", + " \n", + " Memory: 188.89 GiB\n", + "
\n", + " Nanny: tcp://127.0.0.1:46307\n", + "
\n", + " Local directory: /tmp/dask-scratch-space/worker-38e4vs70\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", + " Comm: tcp://127.0.0.1:37851\n", + " \n", + " Total threads: 2\n", + "
\n", + " Dashboard: http://127.0.0.1:34737/status\n", + " \n", + " Memory: 188.89 GiB\n", + "
\n", + " Nanny: tcp://127.0.0.1:38409\n", + "
\n", + " Local directory: /tmp/dask-scratch-space/worker-81w76rvz\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", + " Comm: tcp://127.0.0.1:43053\n", + " \n", + " Total threads: 2\n", + "
\n", + " Dashboard: http://127.0.0.1:46675/status\n", + " \n", + " Memory: 188.89 GiB\n", + "
\n", + " Nanny: tcp://127.0.0.1:42513\n", + "
\n", + " Local directory: /tmp/dask-scratch-space/worker-zqh6qlwi\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", + " Comm: tcp://127.0.0.1:37639\n", + " \n", + " Total threads: 2\n", + "
\n", + " Dashboard: http://127.0.0.1:44643/status\n", + " \n", + " Memory: 188.89 GiB\n", + "
\n", + " Nanny: tcp://127.0.0.1:42141\n", + "
\n", + " Local directory: /tmp/dask-scratch-space/worker-x96tmydp\n", + "
\n", + "
\n", + "
\n", + "
\n", + " \n", + "\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
" + ], + "text/plain": [ + "LocalCluster(e808ae3d, 'tcp://127.0.0.1:43691', workers=4, threads=8, memory=755.55 GiB)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cluster" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data acquisition" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "username = \"aladinor\"\n", + "token = \"26b91ff69c489d19\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is where you begin your first section of material, loosely tied to your objectives stated up front. Tie together your notebook as a narrative, with interspersed Markdown text, images, and more as necessary," + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[DOWNLOADING] corarsclkazr1kolliasM1.c1.20190129.000000.nc\n", + "\n", + "If you use these data to prepare a publication, please cite:\n", + "\n", + "Johnson, K., Jensen, M., & Giangrande, S. Active Remote Sensing of CLouds\n", + "(ARSCL) product using Ka-band ARM Zenith Radars (ARSCLKAZR1KOLLIAS). Atmospheric\n", + "Radiation Measurement (ARM) User Facility. https://doi.org/10.5439/1228768\n", + "\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.195600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.222215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.074100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.025600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.113715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.202600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.010715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.073715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.170715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.182214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.032214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.211100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.152600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.013715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.154100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.020715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.163714.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.180715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.143715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.132215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.001100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.025215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.200715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.035600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.230715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.135215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.232215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.233726.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.110715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.194100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.081100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.131100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.201100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.124100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.101100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.082215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.102600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.075215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.094100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.014100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.103715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.080715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.105215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.145214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.111100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.182600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.152215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.062215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.140714.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.115215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.145559.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.184100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.150715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.093715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.223715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.172600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.215215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.070715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.225215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.063715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.015215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.035215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.011100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.083715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.192214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.121100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.005215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.045600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.214100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.105600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.095600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.065600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.132600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.032600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.234126.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.085600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.061100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.191114.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.042601.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.064100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.092215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.060715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.112600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.165214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.155215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.033715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.043715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.075600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.123715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.082600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.172215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.092600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.205215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.002214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.144100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.162600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.012600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.040714.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.195215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.022600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.041100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.183715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.034100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.015600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.084100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.212600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.142600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.090715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.173715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.160715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.151101.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.222600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.012214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.051100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.005600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.130715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.044100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.155600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.003715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.215600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.142215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.023715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.072215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.205601.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.212215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.181100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.161100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.153715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.024100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.050715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.175215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.115600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.091100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.174100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.165601.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.052214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.162215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.031100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.042215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.120715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.213715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.053715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.055215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.052600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.133715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.104100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.202215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.062600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.193715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.190729.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.220715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.125600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.185215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.224100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.102215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.122215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.175600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.030715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.171100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.204100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.141100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.122600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.054100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.000715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.112215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.100715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.125215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.021100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.135600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.192600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.071100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.022215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.004100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.225600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.045214.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.164100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.203715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.231100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.210715.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.055600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.002600.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.221100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.065215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.095215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.085215.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.114101.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.134100.nc\n", + "[DOWNLOADING] corcsapr2cfrhsrhiqcM1.b1.20190129.072600.nc\n", + "\n", + "If you use these data to prepare a publication, please cite:\n", + "\n", + "Hardin, J., Hunzinger, A., Schuman, E., Matthews, A., Bharadwaj, N., , A., , K.,\n", + ", S., Feng, Y.-C., Lindenmaier, I., Rocque, M., Wendler, T., & Castro, V. C-Band\n", + "Scanning ARM Precipitation Radar (CSAPR2CFRHSRHIQC). Atmospheric Radiation\n", + "Measurement (ARM) User Facility. https://doi.org/10.5439/1615607\n", + "\n" + ] + } + ], + "source": [ + "# Set the datastream and start/enddates\n", + "kzar = 'corarsclkazr1kolliasM1.c1'\n", + "csarp = \"corcsapr2cfrhsrhiqcM1.b1\"\n", + "startdate = '2019-01-29'\n", + "enddate = '2019-01-29'\n", + "\n", + "# Use ACT to easily download the data. Watch for the data citation! Show some support\n", + "# for ARM's instrument experts and cite their data if you use it in a publication\n", + "kzar_files = act.discovery.download_arm_data(username, token, kzar, startdate, enddate)\n", + "csapr_files = act.discovery.download_arm_data(username, token, csarp, startdate, enddate)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset> Size: 878MB\n",
+       "Dimensions:                               (time: 21600, layer: 10, height: 596,\n",
+       "                                           radar_mode: 4)\n",
+       "Coordinates:\n",
+       "  * time                                  (time) datetime64[ns] 173kB 2019-01...\n",
+       "  * layer                                 (layer) int32 40B 0 1 2 3 4 5 6 7 8 9\n",
+       "  * height                                (height) float32 2kB 160.0 ... 1.80...\n",
+       "  * radar_mode                            (radar_mode) |S2 8B b'hi' ... b'pr'\n",
+       "Data variables: (12/33)\n",
+       "    base_time                             datetime64[ns] 8B 2019-01-29\n",
+       "    time_offset                           (time) datetime64[ns] 173kB 2019-01...\n",
+       "    reflectivity_best_estimate            (time, height) float32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    qc_reflectivity_best_estimate         (time, height) int32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    reflectivity                          (time, height) float32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    qc_reflectivity                       (time, height) int32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    ...                                    ...\n",
+       "    minimum_detectable_reflectivity_flag  (time, height) float32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    reflectivity_saturation_flag          (time, height) float32 51MB dask.array<chunksize=(901, 596), meta=np.ndarray>\n",
+       "    instrument_availability_flag          (time) int16 43kB dask.array<chunksize=(900,), meta=np.ndarray>\n",
+       "    lat                                   float32 4B ...\n",
+       "    lon                                   float32 4B ...\n",
+       "    alt                                   float32 4B ...\n",
+       "Attributes: (12/22)\n",
+       "    command_line:                     idl -R -n kazrcfrarscl -n kazrcfrarsclc...\n",
+       "    Conventions:                      ARM-1.2\n",
+       "    process_version:                  vap-kazrcfrarscl-1.6-4.el7\n",
+       "    dod_version:                      arsclkazr1kollias-c1-4.0\n",
+       "    site_id:                          cor\n",
+       "    platform_id:                      arsclkazr1kollias\n",
+       "    ...                               ...\n",
+       "    doi:                              10.5439/1228768\n",
+       "    history:                          created by user malynn on machine node1...\n",
+       "    _file_dates:                      ['20190129']\n",
+       "    _file_times:                      ['000000']\n",
+       "    _datastream:                      corarsclkazr1kolliasM1.c1\n",
+       "    _arm_standards_flag:              1
" + ], + "text/plain": [ + " Size: 878MB\n", + "Dimensions: (time: 21600, layer: 10, height: 596,\n", + " radar_mode: 4)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 173kB 2019-01...\n", + " * layer (layer) int32 40B 0 1 2 3 4 5 6 7 8 9\n", + " * height (height) float32 2kB 160.0 ... 1.80...\n", + " * radar_mode (radar_mode) |S2 8B b'hi' ... b'pr'\n", + "Data variables: (12/33)\n", + " base_time datetime64[ns] 8B 2019-01-29\n", + " time_offset (time) datetime64[ns] 173kB 2019-01...\n", + " reflectivity_best_estimate (time, height) float32 51MB dask.array\n", + " qc_reflectivity_best_estimate (time, height) int32 51MB dask.array\n", + " reflectivity (time, height) float32 51MB dask.array\n", + " qc_reflectivity (time, height) int32 51MB dask.array\n", + " ... ...\n", + " minimum_detectable_reflectivity_flag (time, height) float32 51MB dask.array\n", + " reflectivity_saturation_flag (time, height) float32 51MB dask.array\n", + " instrument_availability_flag (time) int16 43kB dask.array\n", + " lat float32 4B ...\n", + " lon float32 4B ...\n", + " alt float32 4B ...\n", + "Attributes: (12/22)\n", + " command_line: idl -R -n kazrcfrarscl -n kazrcfrarsclc...\n", + " Conventions: ARM-1.2\n", + " process_version: vap-kazrcfrarscl-1.6-4.el7\n", + " dod_version: arsclkazr1kollias-c1-4.0\n", + " site_id: cor\n", + " platform_id: arsclkazr1kollias\n", + " ... ...\n", + " doi: 10.5439/1228768\n", + " history: created by user malynn on machine node1...\n", + " _file_dates: ['20190129']\n", + " _file_times: ['000000']\n", + " _datastream: corarsclkazr1kolliasM1.c1\n", + " _arm_standards_flag: 1" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_kzar = act.io.read_arm_netcdf(kzar_files)\n", + "ds_kzar" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "did not find a match in any of xarray's currently installed IO backends ['netcdf4', 'h5netcdf', 'scipy', 'cfradial1', 'furuno', 'gamic', 'gini', 'iris', 'nexradlevel2', 'odim', 'rainbow']. Consider explicitly selecting one of the installed engines via the ``engine`` parameter, or installing additional IO dependencies, see:\nhttps://docs.xarray.dev/en/stable/getting-started-guide/installing.html\nhttps://docs.xarray.dev/en/stable/user-guide/io.html", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m ds \u001b[38;5;241m=\u001b[39m \u001b[43mxr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcsapr_files\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/data/project/jupyterhub/notebook-envs/arm-summer-school-2024-env/lib/python3.11/site-packages/xarray/backends/api.py:552\u001b[0m, in \u001b[0;36mopen_dataset\u001b[0;34m(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, chunked_array_type, from_array_kwargs, backend_kwargs, **kwargs)\u001b[0m\n\u001b[1;32m 549\u001b[0m kwargs\u001b[38;5;241m.\u001b[39mupdate(backend_kwargs)\n\u001b[1;32m 551\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m engine \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 552\u001b[0m engine \u001b[38;5;241m=\u001b[39m \u001b[43mplugins\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mguess_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilename_or_obj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 554\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m from_array_kwargs \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 555\u001b[0m from_array_kwargs \u001b[38;5;241m=\u001b[39m {}\n", + "File \u001b[0;32m/data/project/jupyterhub/notebook-envs/arm-summer-school-2024-env/lib/python3.11/site-packages/xarray/backends/plugins.py:197\u001b[0m, in \u001b[0;36mguess_engine\u001b[0;34m(store_spec)\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 190\u001b[0m error_msg \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 191\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfound the following matches with the input file in xarray\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms IO \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 192\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbackends: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcompatible_engines\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m. But their dependencies may not be installed, see:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 193\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://docs.xarray.dev/en/stable/user-guide/io.html \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://docs.xarray.dev/en/stable/getting-started-guide/installing.html\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 195\u001b[0m )\n\u001b[0;32m--> 197\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(error_msg)\n", + "\u001b[0;31mValueError\u001b[0m: did not find a match in any of xarray's currently installed IO backends ['netcdf4', 'h5netcdf', 'scipy', 'cfradial1', 'furuno', 'gamic', 'gini', 'iris', 'nexradlevel2', 'odim', 'rainbow']. Consider explicitly selecting one of the installed engines via the ``engine`` parameter, or installing additional IO dependencies, see:\nhttps://docs.xarray.dev/en/stable/getting-started-guide/installing.html\nhttps://docs.xarray.dev/en/stable/user-guide/io.html" + ] + } + ], + "source": [ + "ds = xr.open_dataset(csapr_files[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ds_storm = ds.sel(time=slice('2019-01-29 15:00', '2019-01-29 19:00'))\n", + "ds_storm.reflectivity_best_estimate.hvplot.quadmesh(x=\"time\", y=\"height\", cmap=\"ChaseSpectral\", clim=(-20, 40))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A content subsection\n", + "Divide and conquer your objectives with Markdown subsections, which will populate the helpful navbar in Jupyter Lab and here on the Jupyter Book!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# some subsection code\n", + "new = \"helpful information\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Another content subsection\n", + "Keep up the good work! A note, *try to avoid using code comments as narrative*, and instead let them only exist as brief clarifications where necessary." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your second content section\n", + "Here we can move on to our second objective, and we can demonstrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Subsection to the second section\n", + "\n", + "#### a quick demonstration\n", + "\n", + "##### of further and further\n", + "\n", + "###### header levels" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "as well $m = a * t / h$ text! Similarly, you have access to other $\\LaTeX$ equation [**functionality**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Typesetting%20Equations.html) via MathJax (demo below from link),\n", + "\n", + "\\begin{align}\n", + "\\dot{x} & = \\sigma(y-x) \\\\\n", + "\\dot{y} & = \\rho x - y - xz \\\\\n", + "\\dot{z} & = -\\beta z + xy\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check out [**any number of helpful Markdown resources**](https://www.markdownguide.org/basic-syntax/) for further customizing your notebooks and the [**Jupyter docs**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html) for Jupyter-specific formatting information. Don't hesitate to ask questions if you have problems getting it to look *just right*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Last Section\n", + "\n", + "If you're comfortable, and as we briefly used for our embedded logo up top, you can embed raw html into Jupyter Markdown cells (edit to see):" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Info

\n", + " Your relevant information here!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Feel free to copy this around and edit or play around with yourself. Some other `admonitions` you can put in:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Success

\n", + " We got this done after all!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Warning

\n", + " Be careful!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Danger

\n", + " Scary stuff be here.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/content/metadata.html#jupyter-cell-tags) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "Add one final `---` marking the end of your body of content, and then conclude with a brief single paragraph summarizing at a high level the key pieces that were learned and how they tied to your objectives. Look to reiterate what the most important takeaways were.\n", + "\n", + "### What's next?\n", + "Let Jupyter book tie this to the next (sequential) piece of content that people could move on to down below and in the sidebar. However, if this page uniquely enables your reader to tackle other nonsequential concepts throughout this book, or even external content, link to it here!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resources and references\n", + "Finally, be rigorous in your citations and references as necessary. Give credit where credit is due. Also, feel free to link to relevant external material, further reading, documentation, etc. Then you're done! Give yourself a quick review, a high five, and send us a pull request. A few final notes:\n", + " - `Kernel > Restart Kernel and Run All Cells...` to confirm that your notebook will cleanly run from start to finish\n", + " - `Kernel > Restart Kernel and Clear All Outputs...` before committing your notebook, our machines will do the heavy lifting\n", + " - Take credit! Provide author contact information if you'd like; if so, consider adding information here at the bottom of your notebook\n", + " - Give credit! Attribute appropriate authorship for referenced code, information, images, etc.\n", + " - Only include what you're legally allowed: **no copyright infringement or plagiarism**\n", + " \n", + "Thank you for your contribution!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.11.9" + }, + "nbdime-conflicts": { + "local_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python 3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ], + "remote_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ] + }, + "toc-autonumbering": false + }, + "nbformat": 4, + "nbformat_minor": 4 +}