From 1ede402c76a226148f6414b7a6fbf334e4b012db Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 7 Jan 2026 15:03:18 -0500 Subject: [PATCH 01/11] notebook showcasing azimuthal mean for a 2D and 3D field --- docs/user-guide/azimuthal_average.ipynb | 2618 +++++++++++++++++++++++ 1 file changed, 2618 insertions(+) create mode 100644 docs/user-guide/azimuthal_average.ipynb diff --git a/docs/user-guide/azimuthal_average.ipynb b/docs/user-guide/azimuthal_average.ipynb new file mode 100644 index 000000000..96d319793 --- /dev/null +++ b/docs/user-guide/azimuthal_average.ipynb @@ -0,0 +1,2618 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "797748ef-93c4-47f8-a032-bc5dd97fc581", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = true;\n", + " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = false;\n", + " const Bokeh = root.Bokeh;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\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(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const 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", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\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", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const 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 (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const 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 (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + " var NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\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", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0\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", + " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_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 const force = true;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ] + }, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "34acaf28-6854-478a-a35d-5d5519ed44b6" + } + }, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = false;\n", + " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = true;\n", + " const Bokeh = root.Bokeh;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\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(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const 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", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\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", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const 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 (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const 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 (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + " var NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\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", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0\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", + " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_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 const force = false;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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" + } + ], + "source": [ + "import uxarray as ux\n", + "import matplotlib.pyplot as plt\n", + "\n", + "uxds = ux.open_dataset('outCSne30.ug', 'outCSne30_vortex.nc')\n", + "\n", + "# The imports below are used to visualize range rings in this notebook and\n", + "# are not needed for routine use of azimuthal_mean().\n", + "import holoviews as hv\n", + "import cartopy.geodesic as gdyn\n", + "import math\n", + "import numpy as np\n", + "from functools import reduce\n", + "import operator" + ] + }, + { + "cell_type": "markdown", + "id": "c51c7e63-cd71-44e2-bace-cf39d916ed0b", + "metadata": {}, + "source": [ + "### A helper function to draw range rings and visualize azimuthal averaging:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "93d06880-cfac-46b9-8d99-5dc7255e9483", + "metadata": {}, + "outputs": [], + "source": [ + "def hv_range_ring(lon, lat, rad_gcd, n_samples=2000, color='red', line_width=1):\n", + " geo = gdyn.Geodesic()\n", + " circ_pts = geo.circle(lon=lon, lat=lat, radius=rad_gcd * 111320, n_samples=n_samples)\n", + " return hv.Path(circ_pts).opts(color=color, line_width=line_width)" + ] + }, + { + "cell_type": "markdown", + "id": "432f2e27-b76b-4966-b52b-d07a884a12c8", + "metadata": {}, + "source": [ + "# Azimuthal mean basics\n", + "An azimuthal average (or azimuthal mean) is a statistical measure that represents the average of a face-centered variable along rings/bands of constant distance from a specified central point. Azimuthal averaging is useful for describing circular/cylindrical features, where fields that strongly depend on distance from a center.\n", + "\n", + "In UXarray, azimuthal averaging is non-conservative. This means that faces are assigned to radial bins (i.e., distance intervals from the central point) based only on the face center coordinate." + ] + }, + { + "cell_type": "markdown", + "id": "01d9c2ad-b3e4-4d92-900e-67c7a059e7c8", + "metadata": {}, + "source": [ + "# 1. Azimuthally averaging an idealized 2D field" + ] + }, + { + "cell_type": "markdown", + "id": "deb9efe9-0200-4e35-971c-60fea192b215", + "metadata": {}, + "source": [ + "## Step 1.1: Visualize the global field\n", + "The global field is shaded below using the UxDataArray.plot() accessor. To help visualize azimuthal averaging, the chosen central point is marked with an 'x' and rings are drawn at every 10 great-circle degrees from the central point (37°N, 1°E)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5417964c-52aa-4bbe-bd18-2fe4f90fbe58", + "metadata": {}, + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":Overlay\n", + " .Image.I :Image [x,y] (x_y psi)\n", + " .Points.I :Points [x,y]\n", + " .Path.I :Path [x,y]\n", + " .Path.II :Path [x,y]\n", + " .Path.III :Path [x,y]\n", + " .Path.IV :Path [x,y]" + ] + }, + "execution_count": 3, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "3ee7082b-7908-4ca1-9404-fa07a197cb14" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "# Display the global field\n", + "glob_plt = uxds[\"psi\"].plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Global Field\")\n", + "\n", + "# Mark a center coordinate and draw range rings\n", + "lon, lat = 1, 37\n", + "glob_plt = glob_plt * hv.Points([(lon, lat)]).opts(color='lime', marker='x', size=10, line_width=2)\n", + "glob_plt = glob_plt * reduce(operator.mul, \n", + " [hv_range_ring(lon, lat, rr, color='lime') for rr in np.arange(10, 41, 10)])\n", + "glob_plt" + ] + }, + { + "cell_type": "markdown", + "id": "53a40082-9861-4ecc-920c-15797c0537d7", + "metadata": {}, + "source": [ + "## Step 1.2: Compute the azimuthal mean\n", + "Calling `.azimuthal_mean()` with the arguments below samples every 2° out to 40 great-circle degrees around the central point." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f0076c75-cf91-4e0b-89e0-a9376bccf706", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'psi_azimuthal_mean' (radius: 21)> Size: 168B\n",
+       "array([       nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n",
+       "       1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n",
+       "       1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n",
+       "       0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n",
+       "       0.99283143])\n",
+       "Coordinates:\n",
+       "  * radius   (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n",
+       "Attributes:\n",
+       "    azimuthal_mean:  True\n",
+       "    center_lon:      1.0\n",
+       "    center_lat:      37.0\n",
+       "    radius_units:    degrees
" + ], + "text/plain": [ + " Size: 168B\n", + "array([ nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n", + " 1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n", + " 1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n", + " 0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n", + " 0.99283143])\n", + "Coordinates:\n", + " * radius (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n", + "Attributes:\n", + " azimuthal_mean: True\n", + " center_lon: 1.0\n", + " center_lat: 37.0\n", + " radius_units: degrees" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean((lon, lat), 40., 2, return_hit_counts=True)\n", + "azim_mean_psi" + ] + }, + { + "cell_type": "markdown", + "id": "9ecf6cb2-9575-4e13-8dea-d8ec50149a7a", + "metadata": {}, + "source": [ + "# Step 1.3: Plot the azimuthal mean\n", + "In the plot below, red dots mark where samples were taken at 2° intervals. The green vertical lines correspond to the green rings in the global field plot." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "94484bd9-9d90-43be-827d-da668badb3f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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LhhR11Cr1VCr1e1+3dbG29V0Oh1kMhnkcsv+bu3j4wMfHx+LXoOosziTRGRjRo8ejaeffhqpqakIDAzEnXfeCQBYvnw5BgwYAA8PD0RERODJJ59EXV2dyWvXr1+PyMhIuLu7495770VFRYXJ169ebhs9enSbZbF77rkHjzzyiPj5ypUr0atXL6hUKgQHB2Pq1KnXfU8lJSWYMGEC1Go1YmJi8O9//xvR0dFYsWKFeI5MJsPq1asxefJkeHh44PXXXwcAfPvtt0hISIBKpUJsbCxeeeUVtLS0iK/r6M9l165dePTRR1FdXS0u4SxatKjdcVZVVeHxxx9HcHAwVCoV4uPj8d133wFof+ly3bp1iI2NhZubGwRB6PA9zLnW/V1Np9MhNTUVvr6+CAgIwAsvvICrW3AKgoBly5YhNjYWarUagwYNwpdffmlyzjfffINevXpBrVZjzJgx+PTTTyGTyVBVVWVyv9999x369esHNzc3FBYWorm5GS+88AK6d+8ODw8PJCUlYdeuXSbvvW/fPtx2221Qq9WIiIjAM888g/r6evHrXfF3isgaOJNEZIM+/fRT/PnPf8Yvv/wi/gCUy+V47733EB0djfz8fDz55JN44YUXsHLlSgBAeno6/vjHP2Lx4sWYMmUKtm3bhoULF97UODIyMvDMM8/gs88+Q3JyMiorK7F3797rfp+HH34Y5eXl2LVrF5RKJVJTU1FWVtbmvIULF2LJkiV45513oFAosH37djz44IN47733MHLkSJw5cwaPP/64eC7Q8Z9LcnIyVqxYgb/97W84deoUALQ7k6bX65GSkoLa2lr885//RI8ePXDixAkoFIp27+v06dP44osvsHnzZigUiut+j87c39XefvttrFu3DmvXrkW/fv3w9ttvY8uWLbj99tvFc15++WV89dVXWLVqFXr16oU9e/bgwQcfRFBQEEaNGoWCggJMnToVzz77LB577DFkZWXh+eefb3OthoYGLFmyBB9//DECAgLQrVs3PProoygoKMDGjRsRFhaGLVu24K677sLRo0fRq1cvHD16FOPHj8drr72GtWvX4uLFi3j66afx9NNP45NPPumyv1NEViEQkU0ZNWqUcMstt1zzvC+++EIICAgQP58xY4Zw1113mZwzbdo0wcfHR/x84cKFwqBBg0yu9eyzz5q8ZvLkycLMmTMFQRCE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(azim_mean_psi[\"radius\"], azim_mean_psi)\n", + "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color='red')\n", + "plt.xlabel('radius [great-circle degrees]')\n", + "plt.ylabel('psi')\n", + "\n", + "[plt.axvline(rr, color='lime') for rr in np.arange(10, 41, 10)]" + ] + }, + { + "cell_type": "markdown", + "id": "6995cf25-c174-431e-8e80-82a3dba669fd", + "metadata": {}, + "source": [ + "## Step 1.4: Inspect the hit count\n", + "The plot below shows the number of face centers that fall within each distance bin. As one would expect on a near-uniformly spaced mesh, the hit count increases linearly with distance." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ea9d6baf-a81a-44a0-81a2-1264c5df9fca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(azim_mean_psi['radius'], hits)\n", + "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color='red')" + ] + }, + { + "cell_type": "markdown", + "id": "6486781f-8d1e-4a9d-8311-da5f48e7234b", + "metadata": {}, + "source": [ + "# 2: Azimuthally averaging tropical cyclone fields\n", + "A high-resolution (~0.25°) aquaplanet general circulation model permits the development of a handful of strong tropical cyclones (TCs). Because TCs are fairly axisymmetric, azimuthal averaging is useful for transforming their fields into cylindrical coordinates and visualizing features such as their low central pressure and warm core." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ad86c507-2b41-4803-9270-588993fea5d1", + "metadata": {}, + "outputs": [], + "source": [ + "clon, clat = 114.54, -17.66\n", + "tcds = ux.open_dataset('/glade/work/jpan/uxazim_demo/ne120np4_pentagons_100310.nc',\n", + " '/glade/work/jpan/uxazim_demo/cam.h1i.plev.0013-01-13-00000.nc').squeeze()" + ] + }, + { + "cell_type": "markdown", + "id": "9269f53d-92ae-4787-8a61-576a588a7dfd", + "metadata": {}, + "source": [ + "## Step 2.1: Visualize the raw surface pressure field\n", + "Because we are only interested in a single tropical cyclone, we can subset a region of the global field using a bounding circle to speed up plotting." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9514b0bd-c6f6-4774-9f9f-aeac2916f1d9", + "metadata": {}, + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":DynamicMap []\n", + " :Image [x,y] (x_y PS)" + ] + }, + "execution_count": 8, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "b1daf282-789c-486a-b33d-e83abf1b6298" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "#Use a bounding circle to select faces whose centers lie\n", + "#within 5 great-circle degrees of the central point.\n", + "tcps = tcds['PS'].subset.bounding_circle((clon, clat), 5)\n", + "\n", + "#Setting dynamic=True allows for quick, adaptive rendering as you zoom/pan.\n", + "#It also preserves the original mesh faces in the plot.\n", + "ps_plt = tcps.plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Surface pressure\", dynamic=True)\n", + "ps_plt" + ] + }, + { + "cell_type": "markdown", + "id": "0c989f9f-109d-45b7-b011-ad46c0fdfb6a", + "metadata": {}, + "source": [ + "## Step 2.2: Compute the azimuthal mean of the 3D fields" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b030fc4b-f2d7-4691-832e-9dc32e7bbd67", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'T_azimuthal_mean' (plev: 26, radius: 13)> Size: 3kB\n",
+       "array([[         nan, 238.20061042, 238.07972252, 237.99570753,\n",
+       "        238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n",
+       "        238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n",
+       "        237.93356308],\n",
+       "       [         nan, 230.71426473, 230.68629394, 230.48409658,\n",
+       "        230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n",
+       "        229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n",
+       "        230.09972681],\n",
+       "       [         nan, 222.56816843, 222.71253698, 223.24577647,\n",
+       "        224.11031543, 224.13290827, 224.25662631, 224.28844902,\n",
+       "        224.29394859, 224.28484642, 224.29108044, 224.15351119,\n",
+       "        224.08923615],\n",
+       "       [         nan, 224.70788309, 224.12459941, 223.11910753,\n",
+       "        222.09043359, 221.93427246, 221.81130697, 221.55553468,\n",
+       "        221.58022862, 221.64720125, 221.55126155, 221.57687556,\n",
+       "        221.57393756],\n",
+       "       [         nan, 214.80296312, 215.94675235, 217.33697796,\n",
+       "        217.75477968, 218.01371142, 218.15083474, 218.22523588,\n",
+       "        218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n",
+       "        218.44510226],\n",
+       "...\n",
+       "       [         nan, 298.69938565, 297.14635909, 296.09023807,\n",
+       "        294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n",
+       "        294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n",
+       "        293.87926481],\n",
+       "       [         nan, 301.02056956, 300.06934219, 299.02027043,\n",
+       "        298.04171151, 298.12230926, 298.04818677, 298.00621268,\n",
+       "        297.90135895, 297.77418827, 297.51214646, 297.38709478,\n",
+       "        297.35003062],\n",
+       "       [         nan, 303.26382152, 302.76179889, 301.71459978,\n",
+       "        301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n",
+       "        300.48913686, 300.43193225, 300.33191518, 300.31275195,\n",
+       "        300.24766478],\n",
+       "       [         nan, 305.74284086, 305.2285953 , 304.63768279,\n",
+       "        304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n",
+       "        303.46108039, 303.32145989, 303.15805181, 303.09259189,\n",
+       "        302.90319175],\n",
+       "       [         nan, 307.17291831, 306.62870387, 306.0598156 ,\n",
+       "        305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n",
+       "        305.27861025, 305.11168971, 304.93262769, 304.86391603,\n",
+       "        304.63545043]])\n",
+       "Coordinates:\n",
+       "  * radius   (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n",
+       "Dimensions without coordinates: plev\n",
+       "Attributes:\n",
+       "    azimuthal_mean:  True\n",
+       "    center_lon:      114.54\n",
+       "    center_lat:      -17.66\n",
+       "    radius_units:    degrees
" + ], + "text/plain": [ + " Size: 3kB\n", + "array([[ nan, 238.20061042, 238.07972252, 237.99570753,\n", + " 238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n", + " 238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n", + " 237.93356308],\n", + " [ nan, 230.71426473, 230.68629394, 230.48409658,\n", + " 230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n", + " 229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n", + " 230.09972681],\n", + " [ nan, 222.56816843, 222.71253698, 223.24577647,\n", + " 224.11031543, 224.13290827, 224.25662631, 224.28844902,\n", + " 224.29394859, 224.28484642, 224.29108044, 224.15351119,\n", + " 224.08923615],\n", + " [ nan, 224.70788309, 224.12459941, 223.11910753,\n", + " 222.09043359, 221.93427246, 221.81130697, 221.55553468,\n", + " 221.58022862, 221.64720125, 221.55126155, 221.57687556,\n", + " 221.57393756],\n", + " [ nan, 214.80296312, 215.94675235, 217.33697796,\n", + " 217.75477968, 218.01371142, 218.15083474, 218.22523588,\n", + " 218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n", + " 218.44510226],\n", + "...\n", + " [ nan, 298.69938565, 297.14635909, 296.09023807,\n", + " 294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n", + " 294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n", + " 293.87926481],\n", + " [ nan, 301.02056956, 300.06934219, 299.02027043,\n", + " 298.04171151, 298.12230926, 298.04818677, 298.00621268,\n", + " 297.90135895, 297.77418827, 297.51214646, 297.38709478,\n", + " 297.35003062],\n", + " [ nan, 303.26382152, 302.76179889, 301.71459978,\n", + " 301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n", + " 300.48913686, 300.43193225, 300.33191518, 300.31275195,\n", + " 300.24766478],\n", + " [ nan, 305.74284086, 305.2285953 , 304.63768279,\n", + " 304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n", + " 303.46108039, 303.32145989, 303.15805181, 303.09259189,\n", + " 302.90319175],\n", + " [ nan, 307.17291831, 306.62870387, 306.0598156 ,\n", + " 305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n", + " 305.27861025, 305.11168971, 304.93262769, 304.86391603,\n", + " 304.63545043]])\n", + "Coordinates:\n", + " * radius (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n", + "Dimensions without coordinates: plev\n", + "Attributes:\n", + " azimuthal_mean: True\n", + " center_lon: 114.54\n", + " center_lat: -17.66\n", + " radius_units: degrees" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "args = ((clon, clat), 3, 0.25)\n", + "azim_mean_T = tcds[\"T\"].azimuthal_mean(*args)\n", + "azim_mean_Z = tcds[\"Z3\"].azimuthal_mean(*args)\n", + "azim_mean_T" + ] + }, + { + "cell_type": "markdown", + "id": "7c4bad1b-ff8d-41bf-96a3-24f8de1735dc", + "metadata": {}, + "source": [ + "# Step 2.3: Plot the TC radial profile\n", + "The contour plot below shows the warm core and low pressure of the TC. After taking the azimuthal average, we subtract the value at the outermost radius to obtain an approximate anomaly relative to the ambient environment." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "be4a5dd8-bc76-41e2-bcc5-748d66867c9e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Subtract the value at the outer radius\n", + "Tpert = azim_mean_T - azim_mean_T.isel(radius=-1)\n", + "Zpert = azim_mean_Z - azim_mean_Z.isel(radius=-1)\n", + "\n", + "plt.contour(azim_mean_Z['radius'], tcds['plev'] / 100, Zpert, levels=np.arange(-500, 501, 50), colors='black')\n", + "plt.contourf(azim_mean_T['radius'], tcds['plev'] / 100, Tpert, levels=np.arange(-10, 11, 2), cmap='bwr', extend='both')\n", + "plt.xlabel('distance from center [°]')\n", + "plt.ylim(1000, 100)\n", + "plt.yscale('log')\n", + "plt.ylabel('Pressure [hPa]')\n", + "plt.colorbar(label='T anomaly [K]')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1602e7cb-34e8-4295-9ead-28459ea44d78", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:miniconda3-aquapux2512]", + "language": "python", + "name": "conda-env-miniconda3-aquapux2512-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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 047bb50d4999c35302326c84430782f019154240 Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 7 Jan 2026 15:20:04 -0500 Subject: [PATCH 02/11] fix missing 2d global plot --- docs/user-guide/azimuthal_average.ipynb | 31 +++++++++++++------------ 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/user-guide/azimuthal_average.ipynb b/docs/user-guide/azimuthal_average.ipynb index 96d319793..f176c8baf 100644 --- a/docs/user-guide/azimuthal_average.ipynb +++ b/docs/user-guide/azimuthal_average.ipynb @@ -1211,7 +1211,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 11, "id": "5417964c-52aa-4bbe-bd18-2fe4f90fbe58", "metadata": {}, "outputs": [ @@ -1224,12 +1224,12 @@ "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ - "
\n", - "
\n", + "
\n", + "
\n", "
\n", "" ], "text/plain": [ - ":Overlay\n", - " .Image.I :Image [x,y] (x_y psi)\n", - " .Points.I :Points [x,y]\n", - " .Path.I :Path [x,y]\n", - " .Path.II :Path [x,y]\n", - " .Path.III :Path [x,y]\n", - " .Path.IV :Path [x,y]" + ":DynamicMap []\n", + " :Overlay\n", + " .Image.I :Image [x,y] (x_y psi)\n", + " .Points.I :Points [x,y]\n", + " .Path.I :Path [x,y]\n", + " .Path.II :Path [x,y]\n", + " .Path.III :Path [x,y]\n", + " .Path.IV :Path [x,y]" ] }, - "execution_count": 3, + "execution_count": 11, "metadata": { "application/vnd.holoviews_exec.v0+json": { - "id": "3ee7082b-7908-4ca1-9404-fa07a197cb14" + "id": "64b1d3c2-08a1-4ae7-bdb6-542df8f5a500" } }, "output_type": "execute_result" @@ -1316,7 +1317,7 @@ ], "source": [ "# Display the global field\n", - "glob_plt = uxds[\"psi\"].plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Global Field\")\n", + "glob_plt = uxds[\"psi\"].plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Global Field\", dynamic=True)\n", "\n", "# Mark a center coordinate and draw range rings\n", "lon, lat = 1, 37\n", From 0b34774ee42c2ed7596828f3582f6e6bd089e995 Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Wed, 18 Feb 2026 14:12:17 -0700 Subject: [PATCH 03/11] Fix pre-commit --- docs/user-guide/azimuthal_average.ipynb | 97 ++++++++++++++++--------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/docs/user-guide/azimuthal_average.ipynb b/docs/user-guide/azimuthal_average.ipynb index f176c8baf..0c5ba0f8a 100644 --- a/docs/user-guide/azimuthal_average.ipynb +++ b/docs/user-guide/azimuthal_average.ipynb @@ -1145,19 +1145,21 @@ } ], "source": [ - "import uxarray as ux\n", "import matplotlib.pyplot as plt\n", "\n", - "uxds = ux.open_dataset('outCSne30.ug', 'outCSne30_vortex.nc')\n", + "import uxarray as ux\n", + "\n", + "uxds = ux.open_dataset(\"outCSne30.ug\", \"outCSne30_vortex.nc\")\n", "\n", "# The imports below are used to visualize range rings in this notebook and\n", "# are not needed for routine use of azimuthal_mean().\n", - "import holoviews as hv\n", - "import cartopy.geodesic as gdyn\n", "import math\n", - "import numpy as np\n", + "import operator\n", "from functools import reduce\n", - "import operator" + "\n", + "import cartopy.geodesic as gdyn\n", + "import holoviews as hv\n", + "import numpy as np" ] }, { @@ -1175,9 +1177,11 @@ "metadata": {}, "outputs": [], "source": [ - "def hv_range_ring(lon, lat, rad_gcd, n_samples=2000, color='red', line_width=1):\n", + "def hv_range_ring(lon, lat, rad_gcd, n_samples=2000, color=\"red\", line_width=1):\n", " geo = gdyn.Geodesic()\n", - " circ_pts = geo.circle(lon=lon, lat=lat, radius=rad_gcd * 111320, n_samples=n_samples)\n", + " circ_pts = geo.circle(\n", + " lon=lon, lat=lat, radius=rad_gcd * 111320, n_samples=n_samples\n", + " )\n", " return hv.Path(circ_pts).opts(color=color, line_width=line_width)" ] }, @@ -1317,13 +1321,19 @@ ], "source": [ "# Display the global field\n", - "glob_plt = uxds[\"psi\"].plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Global Field\", dynamic=True)\n", + "glob_plt = uxds[\"psi\"].plot(\n", + " cmap=\"inferno\", periodic_elements=\"split\", title=\"Global Field\", dynamic=True\n", + ")\n", "\n", "# Mark a center coordinate and draw range rings\n", "lon, lat = 1, 37\n", - "glob_plt = glob_plt * hv.Points([(lon, lat)]).opts(color='lime', marker='x', size=10, line_width=2)\n", - "glob_plt = glob_plt * reduce(operator.mul, \n", - " [hv_range_ring(lon, lat, rr, color='lime') for rr in np.arange(10, 41, 10)])\n", + "glob_plt = glob_plt * hv.Points([(lon, lat)]).opts(\n", + " color=\"lime\", marker=\"x\", size=10, line_width=2\n", + ")\n", + "glob_plt = glob_plt * reduce(\n", + " operator.mul,\n", + " [hv_range_ring(lon, lat, rr, color=\"lime\") for rr in np.arange(10, 41, 10)],\n", + ")\n", "glob_plt" ] }, @@ -1758,7 +1768,9 @@ } ], "source": [ - "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean((lon, lat), 40., 2, return_hit_counts=True)\n", + "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean(\n", + " (lon, lat), 40.0, 2, return_hit_counts=True\n", + ")\n", "azim_mean_psi" ] }, @@ -1803,11 +1815,11 @@ ], "source": [ "plt.plot(azim_mean_psi[\"radius\"], azim_mean_psi)\n", - "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color='red')\n", - "plt.xlabel('radius [great-circle degrees]')\n", - "plt.ylabel('psi')\n", + "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color=\"red\")\n", + "plt.xlabel(\"radius [great-circle degrees]\")\n", + "plt.ylabel(\"psi\")\n", "\n", - "[plt.axvline(rr, color='lime') for rr in np.arange(10, 41, 10)]" + "[plt.axvline(rr, color=\"lime\") for rr in np.arange(10, 41, 10)]" ] }, { @@ -1847,8 +1859,8 @@ } ], "source": [ - "plt.plot(azim_mean_psi['radius'], hits)\n", - "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color='red')" + "plt.plot(azim_mean_psi[\"radius\"], hits)\n", + "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color=\"red\")" ] }, { @@ -1868,8 +1880,10 @@ "outputs": [], "source": [ "clon, clat = 114.54, -17.66\n", - "tcds = ux.open_dataset('/glade/work/jpan/uxazim_demo/ne120np4_pentagons_100310.nc',\n", - " '/glade/work/jpan/uxazim_demo/cam.h1i.plev.0013-01-13-00000.nc').squeeze()" + "tcds = ux.open_dataset(\n", + " \"/glade/work/jpan/uxazim_demo/ne120np4_pentagons_100310.nc\",\n", + " \"/glade/work/jpan/uxazim_demo/cam.h1i.plev.0013-01-13-00000.nc\",\n", + ").squeeze()" ] }, { @@ -1982,13 +1996,15 @@ } ], "source": [ - "#Use a bounding circle to select faces whose centers lie\n", - "#within 5 great-circle degrees of the central point.\n", - "tcps = tcds['PS'].subset.bounding_circle((clon, clat), 5)\n", + "# Use a bounding circle to select faces whose centers lie\n", + "# within 5 great-circle degrees of the central point.\n", + "tcps = tcds[\"PS\"].subset.bounding_circle((clon, clat), 5)\n", "\n", - "#Setting dynamic=True allows for quick, adaptive rendering as you zoom/pan.\n", - "#It also preserves the original mesh faces in the plot.\n", - "ps_plt = tcps.plot(cmap=\"inferno\", periodic_elements=\"split\", title=\"Surface pressure\", dynamic=True)\n", + "# Setting dynamic=True allows for quick, adaptive rendering as you zoom/pan.\n", + "# It also preserves the original mesh faces in the plot.\n", + "ps_plt = tcps.plot(\n", + " cmap=\"inferno\", periodic_elements=\"split\", title=\"Surface pressure\", dynamic=True\n", + ")\n", "ps_plt" ] }, @@ -2573,17 +2589,30 @@ } ], "source": [ - "#Subtract the value at the outer radius\n", + "# Subtract the value at the outer radius\n", "Tpert = azim_mean_T - azim_mean_T.isel(radius=-1)\n", "Zpert = azim_mean_Z - azim_mean_Z.isel(radius=-1)\n", "\n", - "plt.contour(azim_mean_Z['radius'], tcds['plev'] / 100, Zpert, levels=np.arange(-500, 501, 50), colors='black')\n", - "plt.contourf(azim_mean_T['radius'], tcds['plev'] / 100, Tpert, levels=np.arange(-10, 11, 2), cmap='bwr', extend='both')\n", - "plt.xlabel('distance from center [°]')\n", + "plt.contour(\n", + " azim_mean_Z[\"radius\"],\n", + " tcds[\"plev\"] / 100,\n", + " Zpert,\n", + " levels=np.arange(-500, 501, 50),\n", + " colors=\"black\",\n", + ")\n", + "plt.contourf(\n", + " azim_mean_T[\"radius\"],\n", + " tcds[\"plev\"] / 100,\n", + " Tpert,\n", + " levels=np.arange(-10, 11, 2),\n", + " cmap=\"bwr\",\n", + " extend=\"both\",\n", + ")\n", + "plt.xlabel(\"distance from center [°]\")\n", "plt.ylim(1000, 100)\n", - "plt.yscale('log')\n", - "plt.ylabel('Pressure [hPa]')\n", - "plt.colorbar(label='T anomaly [K]')" + "plt.yscale(\"log\")\n", + "plt.ylabel(\"Pressure [hPa]\")\n", + "plt.colorbar(label=\"T anomaly [K]\")" ] }, { From 4680505d960fdb4329a9174adf7c84052ae0bbd3 Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Fri, 20 Feb 2026 10:01:47 -0700 Subject: [PATCH 04/11] Fix the test file data access --- docs/user-guide/azimuthal_average.ipynb | 2404 +---------------------- 1 file changed, 39 insertions(+), 2365 deletions(-) diff --git a/docs/user-guide/azimuthal_average.ipynb b/docs/user-guide/azimuthal_average.ipynb index 0c5ba0f8a..570e53908 100644 --- a/docs/user-guide/azimuthal_average.ipynb +++ b/docs/user-guide/azimuthal_average.ipynb @@ -2,1164 +2,36 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "797748ef-93c4-47f8-a032-bc5dd97fc581", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = true;\n", - " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", - " const reloading = false;\n", - " const Bokeh = root.Bokeh;\n", - "\n", - " // Set a timeout for this load but only if we are not already initializing\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", - " // Don't load bokeh if it is still initializing\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", - " // There is nothing to load\n", - " run_callbacks();\n", - " return null;\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(e) {\n", - " const src_el = e.srcElement\n", - " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", - " }\n", - "\n", - " const 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", - " const existing_stylesheets = []\n", - " const links = document.getElementsByTagName('link')\n", - " for (let i = 0; i < links.length; i++) {\n", - " const link = links[i]\n", - " if (link.href != null) {\n", - " existing_stylesheets.push(link.href)\n", - " }\n", - " }\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", - " on_load()\n", - " continue;\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", - " const scripts = document.getElementsByTagName('script')\n", - " for (let i = 0; i < scripts.length; i++) {\n", - " var script = scripts[i]\n", - " if (script.src != null) {\n", - " existing_scripts.push(script.src)\n", - " }\n", - " }\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\n", - " }\n", - " const 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 (let i = 0; i < js_modules.length; i++) {\n", - " const url = js_modules[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const url = js_exports[name];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n", - " const js_modules = [];\n", - " const js_exports = {};\n", - " const css_urls = [];\n", - " const 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 (let i = 0; i < inline_js.length; i++) {\n", - " try {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " } catch(e) {\n", - " if (!reloading) {\n", - " throw e;\n", - " }\n", - " }\n", - " }\n", - " // Cache old bokeh versions\n", - " if (Bokeh != undefined && !reloading) {\n", - " var NewBokeh = root.Bokeh;\n", - " if (Bokeh.versions === undefined) {\n", - " Bokeh.versions = new Map();\n", - " }\n", - " if (NewBokeh.version !== Bokeh.version) {\n", - " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", - " }\n", - " root.Bokeh = Bokeh;\n", - " }\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", - " // If the timeout and bokeh was not successfully loaded we reset\n", - " // everything and try loading again\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_is_initializing = false;\n", - " root._bokeh_onload_callbacks = undefined;\n", - " root._bokeh_is_loading = 0\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", - " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", - " if (!reloading && !bokeh_loaded) {\n", - " if (root.Bokeh) {\n", - " root.Bokeh = undefined;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " }\n", - " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_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 const force = true;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ] - }, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "34acaf28-6854-478a-a35d-5d5519ed44b6" - } - }, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = false;\n", - " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", - " const reloading = true;\n", - " const Bokeh = root.Bokeh;\n", - "\n", - " // Set a timeout for this load but only if we are not already initializing\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", - " // Don't load bokeh if it is still initializing\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", - " // There is nothing to load\n", - " run_callbacks();\n", - " return null;\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(e) {\n", - " const src_el = e.srcElement\n", - " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", - " }\n", - "\n", - " const 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", - " const existing_stylesheets = []\n", - " const links = document.getElementsByTagName('link')\n", - " for (let i = 0; i < links.length; i++) {\n", - " const link = links[i]\n", - " if (link.href != null) {\n", - " existing_stylesheets.push(link.href)\n", - " }\n", - " }\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", - " on_load()\n", - " continue;\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", - " const scripts = document.getElementsByTagName('script')\n", - " for (let i = 0; i < scripts.length; i++) {\n", - " var script = scripts[i]\n", - " if (script.src != null) {\n", - " existing_scripts.push(script.src)\n", - " }\n", - " }\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\n", - " }\n", - " const 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 (let i = 0; i < js_modules.length; i++) {\n", - " const url = js_modules[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const url = js_exports[name];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n", - " const js_modules = [];\n", - " const js_exports = {};\n", - " const css_urls = [];\n", - " const 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 (let i = 0; i < inline_js.length; i++) {\n", - " try {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " } catch(e) {\n", - " if (!reloading) {\n", - " throw e;\n", - " }\n", - " }\n", - " }\n", - " // Cache old bokeh versions\n", - " if (Bokeh != undefined && !reloading) {\n", - " var NewBokeh = root.Bokeh;\n", - " if (Bokeh.versions === undefined) {\n", - " Bokeh.versions = new Map();\n", - " }\n", - " if (NewBokeh.version !== Bokeh.version) {\n", - " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", - " }\n", - " root.Bokeh = Bokeh;\n", - " }\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", - " // If the timeout and bokeh was not successfully loaded we reset\n", - " // everything and try loading again\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_is_initializing = false;\n", - " root._bokeh_onload_callbacks = undefined;\n", - " root._bokeh_is_loading = 0\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", - " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", - " if (!reloading && !bokeh_loaded) {\n", - " if (root.Bokeh) {\n", - " root.Bokeh = undefined;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " }\n", - " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_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 const force = false;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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" - } - ], + "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "import uxarray as ux\n", - "\n", - "uxds = ux.open_dataset(\"outCSne30.ug\", \"outCSne30_vortex.nc\")\n", - "\n", "# The imports below are used to visualize range rings in this notebook and\n", - "# are not needed for routine use of azimuthal_mean().\n", + "# are not needed for routine use of `azimuthal_mean()`.\n", "import math\n", "import operator\n", "from functools import reduce\n", "\n", "import cartopy.geodesic as gdyn\n", "import holoviews as hv\n", - "import numpy as np" + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "import uxarray as ux" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44957942-2cf9-4aba-89a8-fd13b3de6497", + "metadata": {}, + "outputs": [], + "source": [ + "uxds = ux.open_dataset(\n", + " \"../../test/meshfiles/ugrid/outCSne30/outCSne30.ug\",\n", + " \"../../test/meshfiles/ugrid/outCSne30/outCSne30_vortex.nc\",\n", + ")" ] }, { @@ -1172,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "93d06880-cfac-46b9-8d99-5dc7255e9483", "metadata": {}, "outputs": [], @@ -1215,110 +87,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "5417964c-52aa-4bbe-bd18-2fe4f90fbe58", "metadata": {}, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ], - "text/plain": [ - ":DynamicMap []\n", - " :Overlay\n", - " .Image.I :Image [x,y] (x_y psi)\n", - " .Points.I :Points [x,y]\n", - " .Path.I :Path [x,y]\n", - " .Path.II :Path [x,y]\n", - " .Path.III :Path [x,y]\n", - " .Path.IV :Path [x,y]" - ] - }, - "execution_count": 11, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "64b1d3c2-08a1-4ae7-bdb6-542df8f5a500" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Display the global field\n", "glob_plt = uxds[\"psi\"].plot(\n", @@ -1348,425 +120,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "f0076c75-cf91-4e0b-89e0-a9376bccf706", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'psi_azimuthal_mean' (radius: 21)> Size: 168B\n",
-       "array([       nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n",
-       "       1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n",
-       "       1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n",
-       "       0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n",
-       "       0.99283143])\n",
-       "Coordinates:\n",
-       "  * radius   (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n",
-       "Attributes:\n",
-       "    azimuthal_mean:  True\n",
-       "    center_lon:      1.0\n",
-       "    center_lat:      37.0\n",
-       "    radius_units:    degrees
" - ], - "text/plain": [ - " Size: 168B\n", - "array([ nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n", - " 1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n", - " 1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n", - " 0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n", - " 0.99283143])\n", - "Coordinates:\n", - " * radius (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n", - "Attributes:\n", - " azimuthal_mean: True\n", - " center_lon: 1.0\n", - " center_lat: 37.0\n", - " radius_units: degrees" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean(\n", " (lon, lat), 40.0, 2, return_hit_counts=True\n", @@ -1785,34 +142,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "94484bd9-9d90-43be-827d-da668badb3f4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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LhhR11Cr1VCr1e1+3dbG29V0Oh1kMhnkcsv+bu3j4wMfHx+LXoOosziTRGRjRo8ejaeffhqpqakIDAzEnXfeCQBYvnw5BgwYAA8PD0RERODJJ59EXV2dyWvXr1+PyMhIuLu7495770VFRYXJ169ebhs9enSbZbF77rkHjzzyiPj5ypUr0atXL6hUKgQHB2Pq1KnXfU8lJSWYMGEC1Go1YmJi8O9//xvR0dFYsWKFeI5MJsPq1asxefJkeHh44PXXXwcAfPvtt0hISIBKpUJsbCxeeeUVtLS0iK/r6M9l165dePTRR1FdXS0u4SxatKjdcVZVVeHxxx9HcHAwVCoV4uPj8d133wFof+ly3bp1iI2NhZubGwRB6PA9zLnW/V1Np9MhNTUVvr6+CAgIwAsvvICrW3AKgoBly5YhNjYWarUagwYNwpdffmlyzjfffINevXpBrVZjzJgx+PTTTyGTyVBVVWVyv9999x369esHNzc3FBYWorm5GS+88AK6d+8ODw8PJCUlYdeuXSbvvW/fPtx2221Qq9WIiIjAM888g/r6evHrXfF3isgaOJNEZIM+/fRT/PnPf8Yvv/wi/gCUy+V47733EB0djfz8fDz55JN44YUXsHLlSgBAeno6/vjHP2Lx4sWYMmUKtm3bhoULF97UODIyMvDMM8/gs88+Q3JyMiorK7F3797rfp+HH34Y5eXl2LVrF5RKJVJTU1FWVtbmvIULF2LJkiV45513oFAosH37djz44IN47733MHLkSJw5cwaPP/64eC7Q8Z9LcnIyVqxYgb/97W84deoUALQ7k6bX65GSkoLa2lr885//RI8ePXDixAkoFIp27+v06dP44osvsHnzZigUiut+j87c39XefvttrFu3DmvXrkW/fv3w9ttvY8uWLbj99tvFc15++WV89dVXWLVqFXr16oU9e/bgwQcfRFBQEEaNGoWCggJMnToVzz77LB577DFkZWXh+eefb3OthoYGLFmyBB9//DECAgLQrVs3PProoygoKMDGjRsRFhaGLVu24K677sLRo0fRq1cvHD16FOPHj8drr72GtWvX4uLFi3j66afx9NNP45NPPumyv1NEViEQkU0ZNWqUcMstt1zzvC+++EIICAgQP58xY4Zw1113mZwzbdo0wcfHR/x84cKFwqBBg0yu9eyzz5q8ZvLkycLMmTMFQRCEzZs3C97e3kJNTU2nxv7JJ5+YXE8QBOHkyZMCAOHQoUPisdzcXAGA8M4774jHAAhz5swxee3IkSOFxYsXmxz77LPPhNDQ0HbHcPWfi7kxmbN9+3ZBLpcLp06dMvv1q99n4cKFglKpFMrKym74PW7k/kJDQ4U33nhD/Fyr1Qrh4eHC5MmTBUEQhLq6OkGlUgn79u0zed2sWbOEGTNmCIIgCPPmzRPi4+NNvv7SSy8JAIRLly6JYwUgZGdni+ecPn1akMlkwrlz50xee8cddwjz588XBEEQHnroIeHxxx83+frevXsFuVwuNDY2dvrvFABhy5YtHZ5DZGmcSSKyQYmJiW2O7dy5E4sXL8aJEydQU1ODlpYWNDU1ob6+Hh4eHjh58iTuvfdek9cMHz4c27Ztu+Fx3HnnnYiKikJsbCzuuusu3HXXXbj33nvh7u7e6fc4deoUXFxccOutt4rHevbsCT8/vzbnXn3fmZmZOHToEP7+97+Lx3Q6HZqamtDQ0AB3d/dr/rmYs3jxYixevFj8/MSJE8jOzkZ4eDji4uI6fW9RUVEICgoSP7/e9+jM/V2puroaJSUlGD58uHjMxcUFiYmJ4ozjiRMn0NTUJC7TGjU3N2Pw4MEADM9kyJAhJl8fOnRom/G5urpi4MCB4ueHDx+GIAht7k+j0SAgIEC8p9OnT+Nf//qX+HVBEKDX65Gfn98lf6eIrIVBEpENuvqHe2FhIe6++27Mnj0br732Gvz9/fHzzz9j1qxZ0Gq1ANAmL6Uz5HJ5m9cZ3w8AvLy8cPjwYezatQs7duzA3/72NyxatAiHDh3q9I6x9sZl7vjV963X6/HKK69gypQpbc5VqVSd+nMxZ/bs2XjggQfEz8PCwjpMym7P1eO93ve41v3dCL1eDwD4/vvv0b17d5Ovubm5ATD82ctkMpOvmXsearXa5Dy9Xg+FQoHMzMw2S4jGZUy9Xo8nnngCzzzzTJv3i4yMhKur603/nSKyFgZJRHYgIyMDLS0tePvtt8XdRV988YXJOf369cOBAwdMjl39+dWCgoJMtlvrdDocO3YMY8aMEY+5uLhg7NixGDt2LBYuXAhfX1/89NNPZn+wm9OnTx+0tLQgKysLCQkJAAy5PMYE4Y7ceuutOHXqFHr27Gn26535c3F1dYVOpzM55u/vD39/f5NjAwcOxNmzZ5GTk3Nds0k38x7Xur+r+fj4IDQ0FAcOHMBtt90GAGhpaUFmZqY4U2dMsi4qKsKoUaPMvk+fPn2wdetWk2MZGRnXvP7gwYOh0+lQVlaGkSNHtntPx48f7/CebvbvFJG1MEgisgM9evRAS0sL3n//fUyaNAm//PILVq9ebXLOM888g+TkZCxbtgz33HMPduzYcc2ltttvvx2pqan4/vvv0aNHD7zzzjsmwct3332HvLw83HbbbfDz88PWrVuh1+vRu3fvTo+9T58+GDt2LB5//HGsWrUKSqUSzz33XJtZCnP+9re/YeLEiYiIiMD9998PuVyOI0eO4OjRo3j99dc79ecSHR2Nuro6/Pjjjxg0aBDc3d3NLu2MGjUKt912G+677z4sX74cPXv2xG+//QaZTIa77rqrU/d6ve9xrfsz59lnn8Ubb7yBXr16oW/fvli+fLnJM/Py8sLzzz+PuXPnQq/X43e/+x1qamqwb98+eHp6YubMmXjiiSewfPlyzJs3D7NmzUJ2djbWr18PAB0+k7i4OPzhD3/Aww8/jLfffhuDBw9GeXk5fvrpJwwYMAB333035s2bh2HDhuGpp57Cn/70J3EpOC0tDe+//36X/J0ishrJsqGIyCxzydSCIAjLly8XQkNDBbVaLYwfP17YsGGDSaKtIAjC2rVrhfDwcEGtVguTJk0S3nrrrQ4Tt5ubm4U///nPgr+/v9CtWzdhyZIlJonbe/fuFUaNGiX4+fkJarVaGDhwoLBp06Z2x95ekvT58+eFlJQUwc3NTYiKihL+/e9/C926dRNWr14tnoN2EnW3bdsmJCcnC2q1WvD29haGDh0qfPTRR9f15zJ79mwhICBAACAsXLiw3fFXVFQIjz76qBAQECCoVCohPj5e+O6778ze29V/ljfyHp25v6tptVrh2WefFby9vQVfX18hNTVVePjhh8XEbUEQBL1eL7z77rtC7969BaVSKQQFBQnjx48Xdu/eLZ7z3//+V+jZs6fg5uYmjB49Wli1apUAQGhsbGx3rIJg+Dvzt7/9TYiOjhaUSqUQEhIi3HvvvcKRI0fEcw4ePCjceeedgqenp+Dh4SEMHDhQ+Pvf/y4IQuf/TrX394HImmSCcAOJDEREZqxfvx5z5sy55lLa2bNnERERgR9++AF33HGHdQZHHfr73/+O1atXo7i4WOqhADDMaG3ZssVh2q2QfWIxSSLqUtXV1fD09MS8efPEYz/99BO++eYb5OfnY9++fZg+fTqio6PFvBqyvpUrV+LQoUPIy8vDZ599hjfffBMzZ86UeliYPXu2xavCE3UWZ5KIqMvU1tbiwoULAABfX18EBgYCMBRNfO6555CXlwcvLy+xyGNUVJSUw3Vqc+fOxaZNm1BZWYnIyEg89NBDmD9/PlxcpE1VLSsrQ01NDQAgNDS03TIORNbAIImIiIjIDC63EREREZnBIImIiIjIDAZJRERERGYwSCIiIiIyg0ESERERkRkMkoiIiIjMYJBEREREZAaDJCIiIiIz/j8BpheemL7bnQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(azim_mean_psi[\"radius\"], azim_mean_psi)\n", "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color=\"red\")\n", @@ -1833,31 +166,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "ea9d6baf-a81a-44a0-81a2-1264c5df9fca", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(azim_mean_psi[\"radius\"], hits)\n", "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color=\"red\")" @@ -1874,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "ad86c507-2b41-4803-9270-588993fea5d1", "metadata": {}, "outputs": [], @@ -1897,104 +209,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "9514b0bd-c6f6-4774-9f9f-aeac2916f1d9", "metadata": {}, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ], - "text/plain": [ - ":DynamicMap []\n", - " :Image [x,y] (x_y PS)" - ] - }, - "execution_count": 8, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "b1daf282-789c-486a-b33d-e83abf1b6298" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Use a bounding circle to select faces whose centers lie\n", "# within 5 great-circle degrees of the central point.\n", @@ -2018,533 +236,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "b030fc4b-f2d7-4691-832e-9dc32e7bbd67", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'T_azimuthal_mean' (plev: 26, radius: 13)> Size: 3kB\n",
-       "array([[         nan, 238.20061042, 238.07972252, 237.99570753,\n",
-       "        238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n",
-       "        238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n",
-       "        237.93356308],\n",
-       "       [         nan, 230.71426473, 230.68629394, 230.48409658,\n",
-       "        230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n",
-       "        229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n",
-       "        230.09972681],\n",
-       "       [         nan, 222.56816843, 222.71253698, 223.24577647,\n",
-       "        224.11031543, 224.13290827, 224.25662631, 224.28844902,\n",
-       "        224.29394859, 224.28484642, 224.29108044, 224.15351119,\n",
-       "        224.08923615],\n",
-       "       [         nan, 224.70788309, 224.12459941, 223.11910753,\n",
-       "        222.09043359, 221.93427246, 221.81130697, 221.55553468,\n",
-       "        221.58022862, 221.64720125, 221.55126155, 221.57687556,\n",
-       "        221.57393756],\n",
-       "       [         nan, 214.80296312, 215.94675235, 217.33697796,\n",
-       "        217.75477968, 218.01371142, 218.15083474, 218.22523588,\n",
-       "        218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n",
-       "        218.44510226],\n",
-       "...\n",
-       "       [         nan, 298.69938565, 297.14635909, 296.09023807,\n",
-       "        294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n",
-       "        294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n",
-       "        293.87926481],\n",
-       "       [         nan, 301.02056956, 300.06934219, 299.02027043,\n",
-       "        298.04171151, 298.12230926, 298.04818677, 298.00621268,\n",
-       "        297.90135895, 297.77418827, 297.51214646, 297.38709478,\n",
-       "        297.35003062],\n",
-       "       [         nan, 303.26382152, 302.76179889, 301.71459978,\n",
-       "        301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n",
-       "        300.48913686, 300.43193225, 300.33191518, 300.31275195,\n",
-       "        300.24766478],\n",
-       "       [         nan, 305.74284086, 305.2285953 , 304.63768279,\n",
-       "        304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n",
-       "        303.46108039, 303.32145989, 303.15805181, 303.09259189,\n",
-       "        302.90319175],\n",
-       "       [         nan, 307.17291831, 306.62870387, 306.0598156 ,\n",
-       "        305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n",
-       "        305.27861025, 305.11168971, 304.93262769, 304.86391603,\n",
-       "        304.63545043]])\n",
-       "Coordinates:\n",
-       "  * radius   (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n",
-       "Dimensions without coordinates: plev\n",
-       "Attributes:\n",
-       "    azimuthal_mean:  True\n",
-       "    center_lon:      114.54\n",
-       "    center_lat:      -17.66\n",
-       "    radius_units:    degrees
" - ], - "text/plain": [ - " Size: 3kB\n", - "array([[ nan, 238.20061042, 238.07972252, 237.99570753,\n", - " 238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n", - " 238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n", - " 237.93356308],\n", - " [ nan, 230.71426473, 230.68629394, 230.48409658,\n", - " 230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n", - " 229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n", - " 230.09972681],\n", - " [ nan, 222.56816843, 222.71253698, 223.24577647,\n", - " 224.11031543, 224.13290827, 224.25662631, 224.28844902,\n", - " 224.29394859, 224.28484642, 224.29108044, 224.15351119,\n", - " 224.08923615],\n", - " [ nan, 224.70788309, 224.12459941, 223.11910753,\n", - " 222.09043359, 221.93427246, 221.81130697, 221.55553468,\n", - " 221.58022862, 221.64720125, 221.55126155, 221.57687556,\n", - " 221.57393756],\n", - " [ nan, 214.80296312, 215.94675235, 217.33697796,\n", - " 217.75477968, 218.01371142, 218.15083474, 218.22523588,\n", - " 218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n", - " 218.44510226],\n", - "...\n", - " [ nan, 298.69938565, 297.14635909, 296.09023807,\n", - " 294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n", - " 294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n", - " 293.87926481],\n", - " [ nan, 301.02056956, 300.06934219, 299.02027043,\n", - " 298.04171151, 298.12230926, 298.04818677, 298.00621268,\n", - " 297.90135895, 297.77418827, 297.51214646, 297.38709478,\n", - " 297.35003062],\n", - " [ nan, 303.26382152, 302.76179889, 301.71459978,\n", - " 301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n", - " 300.48913686, 300.43193225, 300.33191518, 300.31275195,\n", - " 300.24766478],\n", - " [ nan, 305.74284086, 305.2285953 , 304.63768279,\n", - " 304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n", - " 303.46108039, 303.32145989, 303.15805181, 303.09259189,\n", - " 302.90319175],\n", - " [ nan, 307.17291831, 306.62870387, 306.0598156 ,\n", - " 305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n", - " 305.27861025, 305.11168971, 304.93262769, 304.86391603,\n", - " 304.63545043]])\n", - "Coordinates:\n", - " * radius (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n", - "Dimensions without coordinates: plev\n", - "Attributes:\n", - " azimuthal_mean: True\n", - " center_lon: 114.54\n", - " center_lat: -17.66\n", - " radius_units: degrees" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "args = ((clon, clat), 3, 0.25)\n", "azim_mean_T = tcds[\"T\"].azimuthal_mean(*args)\n", @@ -2563,31 +258,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "be4a5dd8-bc76-41e2-bcc5-748d66867c9e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Subtract the value at the outer radius\n", "Tpert = azim_mean_T - azim_mean_T.isel(radius=-1)\n", @@ -2626,9 +300,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python [conda env:miniconda3-aquapux2512]", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "conda-env-miniconda3-aquapux2512-py" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -2640,7 +314,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.13.11" } }, "nbformat": 4, From 756e6602fb59198de6bf97274ea9d0254d9d119d Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Fri, 20 Feb 2026 11:07:30 -0700 Subject: [PATCH 05/11] Rename notebook and add it to the toctree --- .../{azimuthal_average.ipynb => azimuthal-average.ipynb} | 0 docs/userguide.rst | 4 ++++ 2 files changed, 4 insertions(+) rename docs/user-guide/{azimuthal_average.ipynb => azimuthal-average.ipynb} (100%) diff --git a/docs/user-guide/azimuthal_average.ipynb b/docs/user-guide/azimuthal-average.ipynb similarity index 100% rename from docs/user-guide/azimuthal_average.ipynb rename to docs/user-guide/azimuthal-average.ipynb diff --git a/docs/userguide.rst b/docs/userguide.rst index 1ffd170eb..c281805b3 100644 --- a/docs/userguide.rst +++ b/docs/userguide.rst @@ -58,6 +58,9 @@ These user guides provide detailed explanations of the core functionality in UXa `Zonal Means `_ Compute the zonal averages across lines of constant latitude +`Azimuthal Mean `_ + Compute the azimuthal average along rings of constant distance from a specified central point + `Remapping `_ Remap (a.k.a Regrid) between unstructured grids @@ -114,6 +117,7 @@ These user guides provide additional details about specific features in UXarray. user-guide/subset.ipynb user-guide/cross-sections.ipynb user-guide/zonal-average.ipynb + user-guide/azimuthal-average.ipynb user-guide/remapping.ipynb user-guide/topological-aggregations.ipynb user-guide/weighted_mean.ipynb From 1445ff0e1bd1341bc781b8c0f311634d045643fc Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Fri, 20 Feb 2026 11:57:22 -0700 Subject: [PATCH 06/11] Fix the headings --- docs/user-guide/azimuthal-average.ipynb | 74 +++++++++++++------------ 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/docs/user-guide/azimuthal-average.ipynb b/docs/user-guide/azimuthal-average.ipynb index 570e53908..46f3cc03a 100644 --- a/docs/user-guide/azimuthal-average.ipynb +++ b/docs/user-guide/azimuthal-average.ipynb @@ -1,5 +1,26 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "2daec505-9d75-4463-aadc-bc5a7584067f", + "metadata": {}, + "source": [ + "# Azimuthal Averaging\n", + "\n", + "This guide showcases how to apply Azimuthal Averaging on 2D and 3D fields using UXarray." + ] + }, + { + "cell_type": "markdown", + "id": "432f2e27-b76b-4966-b52b-d07a884a12c8", + "metadata": {}, + "source": [ + "## Azimuthal mean basics\n", + "An azimuthal average (or azimuthal mean) is a statistical measure that represents the average of a face-centered variable along rings/bands of constant distance from a specified central point. Azimuthal averaging is useful for describing circular/cylindrical features, where fields that strongly depend on distance from a center.\n", + "\n", + "In UXarray, azimuthal averaging is non-conservative. This means that faces are assigned to radial bins (i.e., distance intervals from the central point) based only on the face center coordinate." + ] + }, { "cell_type": "code", "execution_count": null, @@ -34,12 +55,20 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "01d9c2ad-b3e4-4d92-900e-67c7a059e7c8", + "metadata": {}, + "source": [ + "## 1. Azimuthally averaging an idealized 2D field" + ] + }, { "cell_type": "markdown", "id": "c51c7e63-cd71-44e2-bace-cf39d916ed0b", "metadata": {}, "source": [ - "### A helper function to draw range rings and visualize azimuthal averaging:" + "### Helper function to draw range rings and visualize azimuthal averaging:" ] }, { @@ -57,31 +86,12 @@ " return hv.Path(circ_pts).opts(color=color, line_width=line_width)" ] }, - { - "cell_type": "markdown", - "id": "432f2e27-b76b-4966-b52b-d07a884a12c8", - "metadata": {}, - "source": [ - "# Azimuthal mean basics\n", - "An azimuthal average (or azimuthal mean) is a statistical measure that represents the average of a face-centered variable along rings/bands of constant distance from a specified central point. Azimuthal averaging is useful for describing circular/cylindrical features, where fields that strongly depend on distance from a center.\n", - "\n", - "In UXarray, azimuthal averaging is non-conservative. This means that faces are assigned to radial bins (i.e., distance intervals from the central point) based only on the face center coordinate." - ] - }, - { - "cell_type": "markdown", - "id": "01d9c2ad-b3e4-4d92-900e-67c7a059e7c8", - "metadata": {}, - "source": [ - "# 1. Azimuthally averaging an idealized 2D field" - ] - }, { "cell_type": "markdown", "id": "deb9efe9-0200-4e35-971c-60fea192b215", "metadata": {}, "source": [ - "## Step 1.1: Visualize the global field\n", + "### Step 1.1: Visualize the global field\n", "The global field is shaded below using the UxDataArray.plot() accessor. To help visualize azimuthal averaging, the chosen central point is marked with an 'x' and rings are drawn at every 10 great-circle degrees from the central point (37°N, 1°E)." ] }, @@ -114,7 +124,7 @@ "id": "53a40082-9861-4ecc-920c-15797c0537d7", "metadata": {}, "source": [ - "## Step 1.2: Compute the azimuthal mean\n", + "### Step 1.2: Compute the azimuthal mean\n", "Calling `.azimuthal_mean()` with the arguments below samples every 2° out to 40 great-circle degrees around the central point." ] }, @@ -136,7 +146,7 @@ "id": "9ecf6cb2-9575-4e13-8dea-d8ec50149a7a", "metadata": {}, "source": [ - "# Step 1.3: Plot the azimuthal mean\n", + "### Step 1.3: Plot the azimuthal mean\n", "In the plot below, red dots mark where samples were taken at 2° intervals. The green vertical lines correspond to the green rings in the global field plot." ] }, @@ -160,7 +170,7 @@ "id": "6995cf25-c174-431e-8e80-82a3dba669fd", "metadata": {}, "source": [ - "## Step 1.4: Inspect the hit count\n", + "### Step 1.4: Inspect the hit count\n", "The plot below shows the number of face centers that fall within each distance bin. As one would expect on a near-uniformly spaced mesh, the hit count increases linearly with distance." ] }, @@ -180,7 +190,7 @@ "id": "6486781f-8d1e-4a9d-8311-da5f48e7234b", "metadata": {}, "source": [ - "# 2: Azimuthally averaging tropical cyclone fields\n", + "## 2: Azimuthally averaging tropical cyclone fields\n", "A high-resolution (~0.25°) aquaplanet general circulation model permits the development of a handful of strong tropical cyclones (TCs). Because TCs are fairly axisymmetric, azimuthal averaging is useful for transforming their fields into cylindrical coordinates and visualizing features such as their low central pressure and warm core." ] }, @@ -203,7 +213,7 @@ "id": "9269f53d-92ae-4787-8a61-576a588a7dfd", "metadata": {}, "source": [ - "## Step 2.1: Visualize the raw surface pressure field\n", + "### Step 2.1: Visualize the raw surface pressure field\n", "Because we are only interested in a single tropical cyclone, we can subset a region of the global field using a bounding circle to speed up plotting." ] }, @@ -231,7 +241,7 @@ "id": "0c989f9f-109d-45b7-b011-ad46c0fdfb6a", "metadata": {}, "source": [ - "## Step 2.2: Compute the azimuthal mean of the 3D fields" + "### Step 2.2: Compute the azimuthal mean of the 3D fields" ] }, { @@ -252,7 +262,7 @@ "id": "7c4bad1b-ff8d-41bf-96a3-24f8de1735dc", "metadata": {}, "source": [ - "# Step 2.3: Plot the TC radial profile\n", + "### Step 2.3: Plot the TC radial profile\n", "The contour plot below shows the warm core and low pressure of the TC. After taking the azimuthal average, we subtract the value at the outermost radius to obtain an approximate anomaly relative to the ambient environment." ] }, @@ -288,14 +298,6 @@ "plt.ylabel(\"Pressure [hPa]\")\n", "plt.colorbar(label=\"T anomaly [K]\")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1602e7cb-34e8-4295-9ead-28459ea44d78", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 35f3f999f128ed2e472ed1a7e1b5c5e3e21d0fb8 Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 25 Feb 2026 14:08:21 -0500 Subject: [PATCH 07/11] Create TC demo data folder --- test/meshfiles/ugrid/ne120_TCsubset/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/meshfiles/ugrid/ne120_TCsubset/.gitkeep diff --git a/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep b/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep @@ -0,0 +1 @@ + From 9c2e9237e90766b7564f6edd6c346ef53da60867 Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 25 Feb 2026 14:09:06 -0500 Subject: [PATCH 08/11] add subsetted ne120 TC demo datasets --- .../ugrid/ne120_TCsubset/ne120_TCsubset.nc | Bin 0 -> 313216 bytes .../ugrid/ne120_TCsubset/ne120_TCsubset.ug | Bin 0 -> 175486 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.nc create mode 100644 test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.ug diff --git a/test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.nc b/test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.nc new file mode 100644 index 0000000000000000000000000000000000000000..0d3d42ba0882f19489ab18ac79a63cfc24cd925b GIT binary patch literal 313216 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%0D#XXHOG;B^cnG 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 literal 0 HcmV?d00001 diff --git a/test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.ug b/test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.ug new file mode 100644 index 0000000000000000000000000000000000000000..b92337e216885f5b006fbcee8f5f7bb9c7983cc4 GIT binary patch literal 175486 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
pAnBh*bO}(r!&_Ri2k-* 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�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 literal 0 HcmV?d00001 From e413525cf522ac24eda29a3407054104d5611fb3 Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 25 Feb 2026 14:10:58 -0500 Subject: [PATCH 09/11] use self-contained datasets in test folder --- docs/user-guide/azimuthal-average.ipynb | 2411 ++++++++++++++++++++++- 1 file changed, 2375 insertions(+), 36 deletions(-) diff --git a/docs/user-guide/azimuthal-average.ipynb b/docs/user-guide/azimuthal-average.ipynb index 46f3cc03a..7915915e7 100644 --- a/docs/user-guide/azimuthal-average.ipynb +++ b/docs/user-guide/azimuthal-average.ipynb @@ -16,20 +16,1156 @@ "metadata": {}, "source": [ "## Azimuthal mean basics\n", - "An azimuthal average (or azimuthal mean) is a statistical measure that represents the average of a face-centered variable along rings/bands of constant distance from a specified central point. Azimuthal averaging is useful for describing circular/cylindrical features, where fields that strongly depend on distance from a center.\n", + "An azimuthal average (or azimuthal mean) is a statistical measure that represents the average of a face-centered variable along rings/bands of constant distance from a specified central point. Azimuthal averaging is useful for describing circular/cylindrical features, where fields strongly depend on distance from a point.\n", "\n", "In UXarray, azimuthal averaging is non-conservative. This means that faces are assigned to radial bins (i.e., distance intervals from the central point) based only on the face center coordinate." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "797748ef-93c4-47f8-a032-bc5dd97fc581", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = true;\n", + " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = false;\n", + " const Bokeh = root.Bokeh;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\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(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const 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", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\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", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const 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 (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const 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 (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + " var NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\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", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0\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", + " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_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 const force = true;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ] + }, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "90bcbe2e-d1b1-4887-9b0e-ba950eb760e7" + } + }, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = false;\n", + " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " const reloading = true;\n", + " const Bokeh = root.Bokeh;\n", + "\n", + " // Set a timeout for this load but only if we are not already initializing\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", + " // Don't load bokeh if it is still initializing\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " // There is nothing to load\n", + " run_callbacks();\n", + " return null;\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(e) {\n", + " const src_el = e.srcElement\n", + " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", + " }\n", + "\n", + " const 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", + " const existing_stylesheets = []\n", + " const links = document.getElementsByTagName('link')\n", + " for (let i = 0; i < links.length; i++) {\n", + " const link = links[i]\n", + " if (link.href != null) {\n", + " existing_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", + " on_load()\n", + " continue;\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", + " const scripts = document.getElementsByTagName('script')\n", + " for (let i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + " existing_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\n", + " }\n", + " const 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 (let i = 0; i < js_modules.length; i++) {\n", + " const url = js_modules[i];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const url = js_exports[name];\n", + " const escaped = encodeURI(url)\n", + " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", + " if (!window.requirejs) {\n", + " on_load();\n", + " }\n", + " continue;\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", + " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n", + " const js_modules = [];\n", + " const js_exports = {};\n", + " const css_urls = [];\n", + " const 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 (let i = 0; i < inline_js.length; i++) {\n", + " try {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " } catch(e) {\n", + " if (!reloading) {\n", + " throw e;\n", + " }\n", + " }\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + " var NewBokeh = root.Bokeh;\n", + " if (Bokeh.versions === undefined) {\n", + " Bokeh.versions = new Map();\n", + " }\n", + " if (NewBokeh.version !== Bokeh.version) {\n", + " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + " }\n", + " root.Bokeh = Bokeh;\n", + " }\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", + " // If the timeout and bokeh was not successfully loaded we reset\n", + " // everything and try loading again\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " root._bokeh_is_loading = 0\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", + " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + " if (root.Bokeh) {\n", + " root.Bokeh = undefined;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_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 const force = false;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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" + } + ], "source": [ - "# The imports below are used to visualize range rings in this notebook and\n", - "# are not needed for routine use of `azimuthal_mean()`.\n", "import math\n", "import operator\n", "from functools import reduce\n", @@ -39,12 +1175,15 @@ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", - "import uxarray as ux" + "import uxarray as ux\n", + "\n", + "# The standard library imports and cartopy are used to visualize range rings in this demo\n", + "# and are not needed for routine use of `azimuthal_mean()`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "44957942-2cf9-4aba-89a8-fd13b3de6497", "metadata": {}, "outputs": [], @@ -73,7 +1212,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "93d06880-cfac-46b9-8d99-5dc7255e9483", "metadata": {}, "outputs": [], @@ -97,10 +1236,110 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "5417964c-52aa-4bbe-bd18-2fe4f90fbe58", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":DynamicMap []\n", + " :Overlay\n", + " .Image.I :Image [x,y] (x_y psi)\n", + " .Points.I :Points [x,y]\n", + " .Path.I :Path [x,y]\n", + " .Path.II :Path [x,y]\n", + " .Path.III :Path [x,y]\n", + " .Path.IV :Path [x,y]" + ] + }, + "execution_count": 4, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "a0d3bcdd-e1b6-4bda-8e86-601d714aaeb8" + } + }, + "output_type": "execute_result" + } + ], "source": [ "# Display the global field\n", "glob_plt = uxds[\"psi\"].plot(\n", @@ -130,10 +1369,425 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "f0076c75-cf91-4e0b-89e0-a9376bccf706", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'psi_azimuthal_mean' (radius: 21)> Size: 168B\n",
+       "array([       nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n",
+       "       1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n",
+       "       1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n",
+       "       0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n",
+       "       0.99283143])\n",
+       "Coordinates:\n",
+       "  * radius   (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n",
+       "Attributes:\n",
+       "    azimuthal_mean:  True\n",
+       "    center_lon:      1.0\n",
+       "    center_lat:      37.0\n",
+       "    radius_units:    degrees
" + ], + "text/plain": [ + " Size: 168B\n", + "array([ nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n", + " 1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n", + " 1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n", + " 0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n", + " 0.99283143])\n", + "Coordinates:\n", + " * radius (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n", + "Attributes:\n", + " azimuthal_mean: True\n", + " center_lon: 1.0\n", + " center_lat: 37.0\n", + " radius_units: degrees" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean(\n", " (lon, lat), 40.0, 2, return_hit_counts=True\n", @@ -152,10 +1806,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "94484bd9-9d90-43be-827d-da668badb3f4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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LhhR11Cr1VCr1e1+3dbG29V0Oh1kMhnkcsv+bu3j4wMfHx+LXoOosziTRGRjRo8ejaeffhqpqakIDAzEnXfeCQBYvnw5BgwYAA8PD0RERODJJ59EXV2dyWvXr1+PyMhIuLu7495770VFRYXJ169ebhs9enSbZbF77rkHjzzyiPj5ypUr0atXL6hUKgQHB2Pq1KnXfU8lJSWYMGEC1Go1YmJi8O9//xvR0dFYsWKFeI5MJsPq1asxefJkeHh44PXXXwcAfPvtt0hISIBKpUJsbCxeeeUVtLS0iK/r6M9l165dePTRR1FdXS0u4SxatKjdcVZVVeHxxx9HcHAwVCoV4uPj8d133wFof+ly3bp1iI2NhZubGwRB6PA9zLnW/V1Np9MhNTUVvr6+CAgIwAsvvICrW3AKgoBly5YhNjYWarUagwYNwpdffmlyzjfffINevXpBrVZjzJgx+PTTTyGTyVBVVWVyv9999x369esHNzc3FBYWorm5GS+88AK6d+8ODw8PJCUlYdeuXSbvvW/fPtx2221Qq9WIiIjAM888g/r6evHrXfF3isgaOJNEZIM+/fRT/PnPf8Yvv/wi/gCUy+V47733EB0djfz8fDz55JN44YUXsHLlSgBAeno6/vjHP2Lx4sWYMmUKtm3bhoULF97UODIyMvDMM8/gs88+Q3JyMiorK7F3797rfp+HH34Y5eXl2LVrF5RKJVJTU1FWVtbmvIULF2LJkiV45513oFAosH37djz44IN47733MHLkSJw5cwaPP/64eC7Q8Z9LcnIyVqxYgb/97W84deoUALQ7k6bX65GSkoLa2lr885//RI8ePXDixAkoFIp27+v06dP44osvsHnzZigUiut+j87c39XefvttrFu3DmvXrkW/fv3w9ttvY8uWLbj99tvFc15++WV89dVXWLVqFXr16oU9e/bgwQcfRFBQEEaNGoWCggJMnToVzz77LB577DFkZWXh+eefb3OthoYGLFmyBB9//DECAgLQrVs3PProoygoKMDGjRsRFhaGLVu24K677sLRo0fRq1cvHD16FOPHj8drr72GtWvX4uLFi3j66afx9NNP45NPPumyv1NEViEQkU0ZNWqUcMstt1zzvC+++EIICAgQP58xY4Zw1113mZwzbdo0wcfHR/x84cKFwqBBg0yu9eyzz5q8ZvLkycLMmTMFQRCE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.plot(azim_mean_psi[\"radius\"], azim_mean_psi)\n", "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color=\"red\")\n", @@ -176,10 +1854,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "ea9d6baf-a81a-44a0-81a2-1264c5df9fca", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.plot(azim_mean_psi[\"radius\"], hits)\n", "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color=\"red\")" @@ -196,15 +1895,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "ad86c507-2b41-4803-9270-588993fea5d1", "metadata": {}, "outputs": [], "source": [ "clon, clat = 114.54, -17.66\n", "tcds = ux.open_dataset(\n", - " \"/glade/work/jpan/uxazim_demo/ne120np4_pentagons_100310.nc\",\n", - " \"/glade/work/jpan/uxazim_demo/cam.h1i.plev.0013-01-13-00000.nc\",\n", + " \"../../test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.ug\",\n", + " \"../../test/meshfiles/ugrid/ne120_TCsubset/ne120_TCsubset.nc\",\n", ").squeeze()" ] }, @@ -214,23 +1913,111 @@ "metadata": {}, "source": [ "### Step 2.1: Visualize the raw surface pressure field\n", - "Because we are only interested in a single tropical cyclone, we can subset a region of the global field using a bounding circle to speed up plotting." + "Because we are only interested in a single tropical cyclone, the demo dataset has already been subsetted. Otherwise, you can use UXArray subsetting operations to select a region of the global field and speed up plotting." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "9514b0bd-c6f6-4774-9f9f-aeac2916f1d9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":DynamicMap []\n", + " :Image [x,y] (x_y PS)" + ] + }, + "execution_count": 9, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "81819a62-7caf-4b83-9e20-9cd89e490fb9" + } + }, + "output_type": "execute_result" + } + ], "source": [ - "# Use a bounding circle to select faces whose centers lie\n", - "# within 5 great-circle degrees of the central point.\n", - "tcps = tcds[\"PS\"].subset.bounding_circle((clon, clat), 5)\n", - "\n", - "# Setting dynamic=True allows for quick, adaptive rendering as you zoom/pan.\n", - "# It also preserves the original mesh faces in the plot.\n", - "ps_plt = tcps.plot(\n", + "ps_plt = tcds['PS'].plot(\n", " cmap=\"inferno\", periodic_elements=\"split\", title=\"Surface pressure\", dynamic=True\n", ")\n", "ps_plt" @@ -246,10 +2033,533 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "b030fc4b-f2d7-4691-832e-9dc32e7bbd67", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'T_azimuthal_mean' (plev: 26, radius: 13)> Size: 3kB\n",
+       "array([[         nan, 238.20061042, 238.07972252, 237.99570753,\n",
+       "        238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n",
+       "        238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n",
+       "        237.93356308],\n",
+       "       [         nan, 230.71426473, 230.68629394, 230.48409658,\n",
+       "        230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n",
+       "        229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n",
+       "        230.09972681],\n",
+       "       [         nan, 222.56816843, 222.71253698, 223.24577647,\n",
+       "        224.11031543, 224.13290827, 224.25662631, 224.28844902,\n",
+       "        224.29394859, 224.28484642, 224.29108044, 224.15351119,\n",
+       "        224.08923615],\n",
+       "       [         nan, 224.70788309, 224.12459941, 223.11910753,\n",
+       "        222.09043359, 221.93427246, 221.81130697, 221.55553468,\n",
+       "        221.58022862, 221.64720125, 221.55126155, 221.57687556,\n",
+       "        221.57393756],\n",
+       "       [         nan, 214.80296312, 215.94675235, 217.33697796,\n",
+       "        217.75477968, 218.01371142, 218.15083474, 218.22523588,\n",
+       "        218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n",
+       "        218.44510226],\n",
+       "...\n",
+       "       [         nan, 298.69938565, 297.14635909, 296.09023807,\n",
+       "        294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n",
+       "        294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n",
+       "        293.87926481],\n",
+       "       [         nan, 301.02056956, 300.06934219, 299.02027043,\n",
+       "        298.04171151, 298.12230926, 298.04818677, 298.00621268,\n",
+       "        297.90135895, 297.77418827, 297.51214646, 297.38709478,\n",
+       "        297.35003062],\n",
+       "       [         nan, 303.26382152, 302.76179889, 301.71459978,\n",
+       "        301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n",
+       "        300.48913686, 300.43193225, 300.33191518, 300.31275195,\n",
+       "        300.24766478],\n",
+       "       [         nan, 305.74284086, 305.2285953 , 304.63768279,\n",
+       "        304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n",
+       "        303.46108039, 303.32145989, 303.15805181, 303.09259189,\n",
+       "        302.90319175],\n",
+       "       [         nan, 307.17291831, 306.62870387, 306.0598156 ,\n",
+       "        305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n",
+       "        305.27861025, 305.11168971, 304.93262769, 304.86391603,\n",
+       "        304.63545043]])\n",
+       "Coordinates:\n",
+       "  * radius   (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n",
+       "Dimensions without coordinates: plev\n",
+       "Attributes:\n",
+       "    azimuthal_mean:  True\n",
+       "    center_lon:      114.54\n",
+       "    center_lat:      -17.66\n",
+       "    radius_units:    degrees
" + ], + "text/plain": [ + " Size: 3kB\n", + "array([[ nan, 238.20061042, 238.07972252, 237.99570753,\n", + " 238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n", + " 238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n", + " 237.93356308],\n", + " [ nan, 230.71426473, 230.68629394, 230.48409658,\n", + " 230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n", + " 229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n", + " 230.09972681],\n", + " [ nan, 222.56816843, 222.71253698, 223.24577647,\n", + " 224.11031543, 224.13290827, 224.25662631, 224.28844902,\n", + " 224.29394859, 224.28484642, 224.29108044, 224.15351119,\n", + " 224.08923615],\n", + " [ nan, 224.70788309, 224.12459941, 223.11910753,\n", + " 222.09043359, 221.93427246, 221.81130697, 221.55553468,\n", + " 221.58022862, 221.64720125, 221.55126155, 221.57687556,\n", + " 221.57393756],\n", + " [ nan, 214.80296312, 215.94675235, 217.33697796,\n", + " 217.75477968, 218.01371142, 218.15083474, 218.22523588,\n", + " 218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n", + " 218.44510226],\n", + "...\n", + " [ nan, 298.69938565, 297.14635909, 296.09023807,\n", + " 294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n", + " 294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n", + " 293.87926481],\n", + " [ nan, 301.02056956, 300.06934219, 299.02027043,\n", + " 298.04171151, 298.12230926, 298.04818677, 298.00621268,\n", + " 297.90135895, 297.77418827, 297.51214646, 297.38709478,\n", + " 297.35003062],\n", + " [ nan, 303.26382152, 302.76179889, 301.71459978,\n", + " 301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n", + " 300.48913686, 300.43193225, 300.33191518, 300.31275195,\n", + " 300.24766478],\n", + " [ nan, 305.74284086, 305.2285953 , 304.63768279,\n", + " 304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n", + " 303.46108039, 303.32145989, 303.15805181, 303.09259189,\n", + " 302.90319175],\n", + " [ nan, 307.17291831, 306.62870387, 306.0598156 ,\n", + " 305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n", + " 305.27861025, 305.11168971, 304.93262769, 304.86391603,\n", + " 304.63545043]])\n", + "Coordinates:\n", + " * radius (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n", + "Dimensions without coordinates: plev\n", + "Attributes:\n", + " azimuthal_mean: True\n", + " center_lon: 114.54\n", + " center_lat: -17.66\n", + " radius_units: degrees" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "args = ((clon, clat), 3, 0.25)\n", "azim_mean_T = tcds[\"T\"].azimuthal_mean(*args)\n", @@ -268,10 +2578,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "be4a5dd8-bc76-41e2-bcc5-748d66867c9e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Subtract the value at the outer radius\n", "Tpert = azim_mean_T - azim_mean_T.isel(radius=-1)\n", @@ -298,13 +2629,21 @@ "plt.ylabel(\"Pressure [hPa]\")\n", "plt.colorbar(label=\"T anomaly [K]\")" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39209afa-3ffe-494f-910c-a3782f7417c3", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python [conda env:miniconda3-aquapux2512]", "language": "python", - "name": "python3" + "name": "conda-env-miniconda3-aquapux2512-py" }, "language_info": { "codemirror_mode": { @@ -316,7 +2655,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.11" + "version": "3.11.4" } }, "nbformat": 4, From 91f6abf52fae875581e37fab3d8789c404f184d0 Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Wed, 25 Feb 2026 12:46:33 -0700 Subject: [PATCH 10/11] Remove .gitkeep and clean notebook kernel config --- docs/user-guide/azimuthal-average.ipynb | 2390 +----------------- test/meshfiles/ugrid/ne120_TCsubset/.gitkeep | 1 - 2 files changed, 23 insertions(+), 2368 deletions(-) delete mode 100644 test/meshfiles/ugrid/ne120_TCsubset/.gitkeep diff --git a/docs/user-guide/azimuthal-average.ipynb b/docs/user-guide/azimuthal-average.ipynb index 7915915e7..79b65d6de 100644 --- a/docs/user-guide/azimuthal-average.ipynb +++ b/docs/user-guide/azimuthal-average.ipynb @@ -23,1148 +23,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "797748ef-93c4-47f8-a032-bc5dd97fc581", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = true;\n", - " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", - " const reloading = false;\n", - " const Bokeh = root.Bokeh;\n", - "\n", - " // Set a timeout for this load but only if we are not already initializing\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", - " // Don't load bokeh if it is still initializing\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", - " // There is nothing to load\n", - " run_callbacks();\n", - " return null;\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(e) {\n", - " const src_el = e.srcElement\n", - " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", - " }\n", - "\n", - " const 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", - " const existing_stylesheets = []\n", - " const links = document.getElementsByTagName('link')\n", - " for (let i = 0; i < links.length; i++) {\n", - " const link = links[i]\n", - " if (link.href != null) {\n", - " existing_stylesheets.push(link.href)\n", - " }\n", - " }\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", - " on_load()\n", - " continue;\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", - " const scripts = document.getElementsByTagName('script')\n", - " for (let i = 0; i < scripts.length; i++) {\n", - " var script = scripts[i]\n", - " if (script.src != null) {\n", - " existing_scripts.push(script.src)\n", - " }\n", - " }\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\n", - " }\n", - " const 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 (let i = 0; i < js_modules.length; i++) {\n", - " const url = js_modules[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const url = js_exports[name];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n", - " const js_modules = [];\n", - " const js_exports = {};\n", - " const css_urls = [];\n", - " const 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 (let i = 0; i < inline_js.length; i++) {\n", - " try {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " } catch(e) {\n", - " if (!reloading) {\n", - " throw e;\n", - " }\n", - " }\n", - " }\n", - " // Cache old bokeh versions\n", - " if (Bokeh != undefined && !reloading) {\n", - " var NewBokeh = root.Bokeh;\n", - " if (Bokeh.versions === undefined) {\n", - " Bokeh.versions = new Map();\n", - " }\n", - " if (NewBokeh.version !== Bokeh.version) {\n", - " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", - " }\n", - " root.Bokeh = Bokeh;\n", - " }\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", - " // If the timeout and bokeh was not successfully loaded we reset\n", - " // everything and try loading again\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_is_initializing = false;\n", - " root._bokeh_onload_callbacks = undefined;\n", - " root._bokeh_is_loading = 0\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", - " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", - " if (!reloading && !bokeh_loaded) {\n", - " if (root.Bokeh) {\n", - " root.Bokeh = undefined;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " }\n", - " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_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 const force = true;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.2.min.js\", \"https://cdn.holoviz.org/panel/1.6.0/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ] - }, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "90bcbe2e-d1b1-4887-9b0e-ba950eb760e7" - } - }, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = false;\n", - " const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", - " const reloading = true;\n", - " const Bokeh = root.Bokeh;\n", - "\n", - " // Set a timeout for this load but only if we are not already initializing\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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", - " // Don't load bokeh if it is still initializing\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", - " // There is nothing to load\n", - " run_callbacks();\n", - " return null;\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(e) {\n", - " const src_el = e.srcElement\n", - " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", - " }\n", - "\n", - " const 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", - " const existing_stylesheets = []\n", - " const links = document.getElementsByTagName('link')\n", - " for (let i = 0; i < links.length; i++) {\n", - " const link = links[i]\n", - " if (link.href != null) {\n", - " existing_stylesheets.push(link.href)\n", - " }\n", - " }\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", - " on_load()\n", - " continue;\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", - " const scripts = document.getElementsByTagName('script')\n", - " for (let i = 0; i < scripts.length; i++) {\n", - " var script = scripts[i]\n", - " if (script.src != null) {\n", - " existing_scripts.push(script.src)\n", - " }\n", - " }\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\n", - " }\n", - " const 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 (let i = 0; i < js_modules.length; i++) {\n", - " const url = js_modules[i];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const url = js_exports[name];\n", - " const escaped = encodeURI(url)\n", - " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", - " if (!window.requirejs) {\n", - " on_load();\n", - " }\n", - " continue;\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", - " const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n", - " const js_modules = [];\n", - " const js_exports = {};\n", - " const css_urls = [];\n", - " const 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 (let i = 0; i < inline_js.length; i++) {\n", - " try {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " } catch(e) {\n", - " if (!reloading) {\n", - " throw e;\n", - " }\n", - " }\n", - " }\n", - " // Cache old bokeh versions\n", - " if (Bokeh != undefined && !reloading) {\n", - " var NewBokeh = root.Bokeh;\n", - " if (Bokeh.versions === undefined) {\n", - " Bokeh.versions = new Map();\n", - " }\n", - " if (NewBokeh.version !== Bokeh.version) {\n", - " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", - " }\n", - " root.Bokeh = Bokeh;\n", - " }\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", - " // If the timeout and bokeh was not successfully loaded we reset\n", - " // everything and try loading again\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_is_initializing = false;\n", - " root._bokeh_onload_callbacks = undefined;\n", - " root._bokeh_is_loading = 0\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", - " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", - " if (!reloading && !bokeh_loaded) {\n", - " if (root.Bokeh) {\n", - " root.Bokeh = undefined;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " }\n", - " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_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 const force = false;\n const py_version = '3.6.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\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 // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\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(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const 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 const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\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 const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const 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 (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\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 const js_urls = [\"https://cdn.holoviz.org/panel/1.6.0/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const 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 (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\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 // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\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 const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_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" - } - ], + "outputs": [], "source": [ "import math\n", "import operator\n", @@ -1183,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "44957942-2cf9-4aba-89a8-fd13b3de6497", "metadata": {}, "outputs": [], @@ -1212,7 +74,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "93d06880-cfac-46b9-8d99-5dc7255e9483", "metadata": {}, "outputs": [], @@ -1236,110 +98,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "5417964c-52aa-4bbe-bd18-2fe4f90fbe58", "metadata": {}, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ], - "text/plain": [ - ":DynamicMap []\n", - " :Overlay\n", - " .Image.I :Image [x,y] (x_y psi)\n", - " .Points.I :Points [x,y]\n", - " .Path.I :Path [x,y]\n", - " .Path.II :Path [x,y]\n", - " .Path.III :Path [x,y]\n", - " .Path.IV :Path [x,y]" - ] - }, - "execution_count": 4, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "a0d3bcdd-e1b6-4bda-8e86-601d714aaeb8" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Display the global field\n", "glob_plt = uxds[\"psi\"].plot(\n", @@ -1369,425 +131,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "f0076c75-cf91-4e0b-89e0-a9376bccf706", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'psi_azimuthal_mean' (radius: 21)> Size: 168B\n",
-       "array([       nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n",
-       "       1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n",
-       "       1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n",
-       "       0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n",
-       "       0.99283143])\n",
-       "Coordinates:\n",
-       "  * radius   (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n",
-       "Attributes:\n",
-       "    azimuthal_mean:  True\n",
-       "    center_lon:      1.0\n",
-       "    center_lat:      37.0\n",
-       "    radius_units:    degrees
" - ], - "text/plain": [ - " Size: 168B\n", - "array([ nan, 0.98400088, 0.98263337, 0.98076282, 1.03482251,\n", - " 1.03210027, 0.96639787, 0.94121837, 0.99013955, 1.08111055,\n", - " 1.08413299, 0.99805499, 0.94448357, 0.90755765, 0.92506048,\n", - " 0.94187134, 0.93900079, 0.9867494 , 1.00598615, 0.98697273,\n", - " 0.99283143])\n", - "Coordinates:\n", - " * radius (radius) float64 168B 0.0 2.0 4.0 6.0 8.0 ... 34.0 36.0 38.0 40.0\n", - "Attributes:\n", - " azimuthal_mean: True\n", - " center_lon: 1.0\n", - " center_lat: 37.0\n", - " radius_units: degrees" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "azim_mean_psi, hits = uxds[\"psi\"].azimuthal_mean(\n", " (lon, lat), 40.0, 2, return_hit_counts=True\n", @@ -1806,34 +153,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "94484bd9-9d90-43be-827d-da668badb3f4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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LhhR11Cr1VCr1e1+3dbG29V0Oh1kMhnkcsv+bu3j4wMfHx+LXoOosziTRGRjRo8ejaeffhqpqakIDAzEnXfeCQBYvnw5BgwYAA8PD0RERODJJ59EXV2dyWvXr1+PyMhIuLu7495770VFRYXJ169ebhs9enSbZbF77rkHjzzyiPj5ypUr0atXL6hUKgQHB2Pq1KnXfU8lJSWYMGEC1Go1YmJi8O9//xvR0dFYsWKFeI5MJsPq1asxefJkeHh44PXXXwcAfPvtt0hISIBKpUJsbCxeeeUVtLS0iK/r6M9l165dePTRR1FdXS0u4SxatKjdcVZVVeHxxx9HcHAwVCoV4uPj8d133wFof+ly3bp1iI2NhZubGwRB6PA9zLnW/V1Np9MhNTUVvr6+CAgIwAsvvICrW3AKgoBly5YhNjYWarUagwYNwpdffmlyzjfffINevXpBrVZjzJgx+PTTTyGTyVBVVWVyv9999x369esHNzc3FBYWorm5GS+88AK6d+8ODw8PJCUlYdeuXSbvvW/fPtx2221Qq9WIiIjAM888g/r6evHrXfF3isgaOJNEZIM+/fRT/PnPf8Yvv/wi/gCUy+V47733EB0djfz8fDz55JN44YUXsHLlSgBAeno6/vjHP2Lx4sWYMmUKtm3bhoULF97UODIyMvDMM8/gs88+Q3JyMiorK7F3797rfp+HH34Y5eXl2LVrF5RKJVJTU1FWVtbmvIULF2LJkiV45513oFAosH37djz44IN47733MHLkSJw5cwaPP/64eC7Q8Z9LcnIyVqxYgb/97W84deoUALQ7k6bX65GSkoLa2lr885//RI8ePXDixAkoFIp27+v06dP44osvsHnzZigUiut+j87c39XefvttrFu3DmvXrkW/fv3w9ttvY8uWLbj99tvFc15++WV89dVXWLVqFXr16oU9e/bgwQcfRFBQEEaNGoWCggJMnToVzz77LB577DFkZWXh+eefb3OthoYGLFmyBB9//DECAgLQrVs3PProoygoKMDGjRsRFhaGLVu24K677sLRo0fRq1cvHD16FOPHj8drr72GtWvX4uLFi3j66afx9NNP45NPPumyv1NEViEQkU0ZNWqUcMstt1zzvC+++EIICAgQP58xY4Zw1113mZwzbdo0wcfHR/x84cKFwqBBg0yu9eyzz5q8ZvLkycLMmTMFQRCE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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(azim_mean_psi[\"radius\"], azim_mean_psi)\n", "plt.scatter(azim_mean_psi[\"radius\"], azim_mean_psi, s=10, color=\"red\")\n", @@ -1854,31 +177,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "ea9d6baf-a81a-44a0-81a2-1264c5df9fca", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(azim_mean_psi[\"radius\"], hits)\n", "plt.scatter(azim_mean_psi[\"radius\"], hits, s=10, color=\"red\")" @@ -1895,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "ad86c507-2b41-4803-9270-588993fea5d1", "metadata": {}, "outputs": [], @@ -1918,106 +220,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "9514b0bd-c6f6-4774-9f9f-aeac2916f1d9", "metadata": {}, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.holoviews_exec.v0+json": "", - "text/html": [ - "
\n", - "
\n", - "
\n", - "" - ], - "text/plain": [ - ":DynamicMap []\n", - " :Image [x,y] (x_y PS)" - ] - }, - "execution_count": 9, - "metadata": { - "application/vnd.holoviews_exec.v0+json": { - "id": "81819a62-7caf-4b83-9e20-9cd89e490fb9" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "ps_plt = tcds['PS'].plot(\n", + "ps_plt = tcds[\"PS\"].plot(\n", " cmap=\"inferno\", periodic_elements=\"split\", title=\"Surface pressure\", dynamic=True\n", ")\n", "ps_plt" @@ -2033,533 +241,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "b030fc4b-f2d7-4691-832e-9dc32e7bbd67", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'T_azimuthal_mean' (plev: 26, radius: 13)> Size: 3kB\n",
-       "array([[         nan, 238.20061042, 238.07972252, 237.99570753,\n",
-       "        238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n",
-       "        238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n",
-       "        237.93356308],\n",
-       "       [         nan, 230.71426473, 230.68629394, 230.48409658,\n",
-       "        230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n",
-       "        229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n",
-       "        230.09972681],\n",
-       "       [         nan, 222.56816843, 222.71253698, 223.24577647,\n",
-       "        224.11031543, 224.13290827, 224.25662631, 224.28844902,\n",
-       "        224.29394859, 224.28484642, 224.29108044, 224.15351119,\n",
-       "        224.08923615],\n",
-       "       [         nan, 224.70788309, 224.12459941, 223.11910753,\n",
-       "        222.09043359, 221.93427246, 221.81130697, 221.55553468,\n",
-       "        221.58022862, 221.64720125, 221.55126155, 221.57687556,\n",
-       "        221.57393756],\n",
-       "       [         nan, 214.80296312, 215.94675235, 217.33697796,\n",
-       "        217.75477968, 218.01371142, 218.15083474, 218.22523588,\n",
-       "        218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n",
-       "        218.44510226],\n",
-       "...\n",
-       "       [         nan, 298.69938565, 297.14635909, 296.09023807,\n",
-       "        294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n",
-       "        294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n",
-       "        293.87926481],\n",
-       "       [         nan, 301.02056956, 300.06934219, 299.02027043,\n",
-       "        298.04171151, 298.12230926, 298.04818677, 298.00621268,\n",
-       "        297.90135895, 297.77418827, 297.51214646, 297.38709478,\n",
-       "        297.35003062],\n",
-       "       [         nan, 303.26382152, 302.76179889, 301.71459978,\n",
-       "        301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n",
-       "        300.48913686, 300.43193225, 300.33191518, 300.31275195,\n",
-       "        300.24766478],\n",
-       "       [         nan, 305.74284086, 305.2285953 , 304.63768279,\n",
-       "        304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n",
-       "        303.46108039, 303.32145989, 303.15805181, 303.09259189,\n",
-       "        302.90319175],\n",
-       "       [         nan, 307.17291831, 306.62870387, 306.0598156 ,\n",
-       "        305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n",
-       "        305.27861025, 305.11168971, 304.93262769, 304.86391603,\n",
-       "        304.63545043]])\n",
-       "Coordinates:\n",
-       "  * radius   (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n",
-       "Dimensions without coordinates: plev\n",
-       "Attributes:\n",
-       "    azimuthal_mean:  True\n",
-       "    center_lon:      114.54\n",
-       "    center_lat:      -17.66\n",
-       "    radius_units:    degrees
" - ], - "text/plain": [ - " Size: 3kB\n", - "array([[ nan, 238.20061042, 238.07972252, 237.99570753,\n", - " 238.00888973, 238.00242869, 238.1790747 , 238.06354964,\n", - " 238.2623691 , 238.29081298, 238.16468042, 237.98864513,\n", - " 237.93356308],\n", - " [ nan, 230.71426473, 230.68629394, 230.48409658,\n", - " 230.17606295, 230.1548325 , 229.99708408, 230.07275435,\n", - " 229.9634382 , 229.86362381, 229.91860611, 230.02733733,\n", - " 230.09972681],\n", - " [ nan, 222.56816843, 222.71253698, 223.24577647,\n", - " 224.11031543, 224.13290827, 224.25662631, 224.28844902,\n", - " 224.29394859, 224.28484642, 224.29108044, 224.15351119,\n", - " 224.08923615],\n", - " [ nan, 224.70788309, 224.12459941, 223.11910753,\n", - " 222.09043359, 221.93427246, 221.81130697, 221.55553468,\n", - " 221.58022862, 221.64720125, 221.55126155, 221.57687556,\n", - " 221.57393756],\n", - " [ nan, 214.80296312, 215.94675235, 217.33697796,\n", - " 217.75477968, 218.01371142, 218.15083474, 218.22523588,\n", - " 218.26814579, 218.07331526, 218.16901897, 218.3195764 ,\n", - " 218.44510226],\n", - "...\n", - " [ nan, 298.69938565, 297.14635909, 296.09023807,\n", - " 294.6287262 , 294.98888238, 294.97965803, 294.66028762,\n", - " 294.4298146 , 294.29170194, 294.0728373 , 293.91746256,\n", - " 293.87926481],\n", - " [ nan, 301.02056956, 300.06934219, 299.02027043,\n", - " 298.04171151, 298.12230926, 298.04818677, 298.00621268,\n", - " 297.90135895, 297.77418827, 297.51214646, 297.38709478,\n", - " 297.35003062],\n", - " [ nan, 303.26382152, 302.76179889, 301.71459978,\n", - " 301.0084972 , 300.73922974, 300.59966824, 300.5536293 ,\n", - " 300.48913686, 300.43193225, 300.33191518, 300.31275195,\n", - " 300.24766478],\n", - " [ nan, 305.74284086, 305.2285953 , 304.63768279,\n", - " 304.1671658 , 303.89796862, 303.63844544, 303.53381664,\n", - " 303.46108039, 303.32145989, 303.15805181, 303.09259189,\n", - " 302.90319175],\n", - " [ nan, 307.17291831, 306.62870387, 306.0598156 ,\n", - " 305.72815285, 305.61836845, 305.4418119 , 305.36210933,\n", - " 305.27861025, 305.11168971, 304.93262769, 304.86391603,\n", - " 304.63545043]])\n", - "Coordinates:\n", - " * radius (radius) float64 104B 0.0 0.25 0.5 0.75 1.0 ... 2.25 2.5 2.75 3.0\n", - "Dimensions without coordinates: plev\n", - "Attributes:\n", - " azimuthal_mean: True\n", - " center_lon: 114.54\n", - " center_lat: -17.66\n", - " radius_units: degrees" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "args = ((clon, clat), 3, 0.25)\n", "azim_mean_T = tcds[\"T\"].azimuthal_mean(*args)\n", @@ -2578,31 +263,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "be4a5dd8-bc76-41e2-bcc5-748d66867c9e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Subtract the value at the outer radius\n", "Tpert = azim_mean_T - azim_mean_T.isel(radius=-1)\n", @@ -2629,21 +293,13 @@ "plt.ylabel(\"Pressure [hPa]\")\n", "plt.colorbar(label=\"T anomaly [K]\")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39209afa-3ffe-494f-910c-a3782f7417c3", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python [conda env:miniconda3-aquapux2512]", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "conda-env-miniconda3-aquapux2512-py" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -2655,7 +311,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.14.3" } }, "nbformat": 4, diff --git a/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep b/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep deleted file mode 100644 index 8b1378917..000000000 --- a/test/meshfiles/ugrid/ne120_TCsubset/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 6f9d59760e45f1e773b1ccdd7c77abc734df81f9 Mon Sep 17 00:00:00 2001 From: erogluorhan Date: Wed, 25 Feb 2026 13:22:20 -0700 Subject: [PATCH 11/11] Reorder imports and comment --- docs/user-guide/azimuthal-average.ipynb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/azimuthal-average.ipynb b/docs/user-guide/azimuthal-average.ipynb index 79b65d6de..d5f0085a1 100644 --- a/docs/user-guide/azimuthal-average.ipynb +++ b/docs/user-guide/azimuthal-average.ipynb @@ -28,6 +28,8 @@ "metadata": {}, "outputs": [], "source": [ + "# The standard library imports and cartopy are used to visualize range rings in this demo\n", + "# and are not needed for routine use of `azimuthal_mean()`\n", "import math\n", "import operator\n", "from functools import reduce\n", @@ -37,10 +39,7 @@ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", - "import uxarray as ux\n", - "\n", - "# The standard library imports and cartopy are used to visualize range rings in this demo\n", - "# and are not needed for routine use of `azimuthal_mean()`." + "import uxarray as ux" ] }, {

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