Created
March 2, 2026 10:32
-
-
Save rsignell/fc7e107fcee419157899fbf6a554e903 to your computer and use it in GitHub Desktop.
rolodex_corr_claude.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "id": "e0129846-7096-4582-a473-590ac1749b2f", | |
| "metadata": {}, | |
| "source": [ | |
| "# Compute optimal offset for BestEstimate time series\n", | |
| "* Read model output from virtual Icechunk FMRC\n", | |
| "* Read sensor data from a local NetCDF file\n", | |
| "* Calculate correlation as a function of forecast offset" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "5e2a6432-904d-407c-a1e4-90937830d458", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<script type=\"esms-options\">{\"shimMode\": true}</script><style>*[data-root-id],\n", | |
| "*[data-root-id] > * {\n", | |
| " box-sizing: border-box;\n", | |
| " font-family: var(--jp-ui-font-family);\n", | |
| " font-size: var(--jp-ui-font-size1);\n", | |
| " color: var(--vscode-editor-foreground, var(--jp-ui-font-color1));\n", | |
| "}\n", | |
| "\n", | |
| "/* Override VSCode background color */\n", | |
| ".cell-output-ipywidget-background:has(\n", | |
| " > .cell-output-ipywidget-background > .lm-Widget > *[data-root-id]\n", | |
| "),\n", | |
| ".cell-output-ipywidget-background:has(> .lm-Widget > *[data-root-id]) {\n", | |
| " background-color: transparent !important;\n", | |
| "}\n", | |
| "</style>" | |
| ] | |
| }, | |
| "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 version = '3.8.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", | |
| " const reloading = false;\n", | |
| " const Bokeh = root.Bokeh;\n", | |
| " const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n", | |
| " const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\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, Bokeh, 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", | |
| " const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n", | |
| " const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n", | |
| " const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version)?.Panel == null;\n", | |
| " if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\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.8.7/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.8.2.min.js\", \"https://cdn.holoviz.org/panel/1.8.7/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", | |
| " } 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 = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version)?.Panel));\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, Bokeh, function() {\n", | |
| " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", | |
| " run_inline_js();\n", | |
| " if (Bokeh != undefined && !reloading) {\n", | |
| " const NewBokeh = root.Bokeh;\n", | |
| " if (Bokeh.versions === undefined) {\n", | |
| " Bokeh.versions = new Map();\n", | |
| " }\n", | |
| " if (NewBokeh.version !== Bokeh.version) {\n", | |
| " Bokeh[NewBokeh.version] = NewBokeh;\n", | |
| " Bokeh.versions.set(NewBokeh.version, NewBokeh);\n", | |
| " }\n", | |
| " root.Bokeh = Bokeh;\n", | |
| " }\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 version = '3.8.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\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, Bokeh, 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 const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version)?.Panel == null;\n if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\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.8.7/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.8.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.8.2.min.js\", \"https://cdn.holoviz.org/panel/1.8.7/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 } 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 = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version)?.Panel));\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, Bokeh, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n if (Bokeh != undefined && !reloading) {\n const NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh[NewBokeh.version] = NewBokeh;\n Bokeh.versions.set(NewBokeh.version, NewBokeh);\n }\n root.Bokeh = Bokeh;\n }\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", | |
| " 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", | |
| " let retries = 0;\n", | |
| " const open = () => {\n", | |
| " if (comm.active) {\n", | |
| " comm.open();\n", | |
| " } else if (retries > 3) {\n", | |
| " console.warn('Comm target never activated')\n", | |
| " } else {\n", | |
| " retries += 1\n", | |
| " setTimeout(open, 500)\n", | |
| " }\n", | |
| " }\n", | |
| " if (comm.active) {\n", | |
| " comm.open();\n", | |
| " } else {\n", | |
| " setTimeout(open, 500)\n", | |
| " }\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 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 let retries = 0;\n const open = () => {\n if (comm.active) {\n comm.open();\n } else if (retries > 3) {\n console.warn('Comm target never activated')\n } else {\n retries += 1\n setTimeout(open, 500)\n }\n }\n if (comm.active) {\n comm.open();\n } else {\n setTimeout(open, 500)\n }\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": [ | |
| "<div id='adfd486b-9bcd-40dc-84c1-b0571451dbc3'>\n", | |
| " <div id=\"d197f651-3a62-4b36-92a8-e6c45dcdb67b\" data-root-id=\"adfd486b-9bcd-40dc-84c1-b0571451dbc3\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"d74f5688-0405-4e9e-8679-4d856c281998\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"91441acc-7f86-4b69-9dde-58762b017407\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"c4cfcd85-17b9-4271-a88e-a8875a59cabb\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"panel.models.browser.BrowserInfo\",\"id\":\"adfd486b-9bcd-40dc-84c1-b0571451dbc3\"},{\"type\":\"object\",\"name\":\"panel.models.comm_manager.CommManager\",\"id\":\"4ca3eca9-2d9e-4a65-8fd4-86735c2533c1\",\"attributes\":{\"plot_id\":\"adfd486b-9bcd-40dc-84c1-b0571451dbc3\",\"comm_id\":\"4ae75562bb9446a6b853ef4b671b4470\",\"client_comm_id\":\"d83b1f188ea44ee69def8ada70a08fcb\"}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"d74f5688-0405-4e9e-8679-4d856c281998\",\"roots\":{\"adfd486b-9bcd-40dc-84c1-b0571451dbc3\":\"d197f651-3a62-4b36-92a8-e6c45dcdb67b\"},\"root_ids\":[\"adfd486b-9bcd-40dc-84c1-b0571451dbc3\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ] | |
| }, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "adfd486b-9bcd-40dc-84c1-b0571451dbc3" | |
| } | |
| }, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<script type=\"esms-options\">{\"shimMode\": true}</script><style>*[data-root-id],\n", | |
| "*[data-root-id] > * {\n", | |
| " box-sizing: border-box;\n", | |
| " font-family: var(--jp-ui-font-family);\n", | |
| " font-size: var(--jp-ui-font-size1);\n", | |
| " color: var(--vscode-editor-foreground, var(--jp-ui-font-color1));\n", | |
| "}\n", | |
| "\n", | |
| "/* Override VSCode background color */\n", | |
| ".cell-output-ipywidget-background:has(\n", | |
| " > .cell-output-ipywidget-background > .lm-Widget > *[data-root-id]\n", | |
| "),\n", | |
| ".cell-output-ipywidget-background:has(> .lm-Widget > *[data-root-id]) {\n", | |
| " background-color: transparent !important;\n", | |
| "}\n", | |
| "</style>" | |
| ] | |
| }, | |
| "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 version = '3.8.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", | |
| " const reloading = true;\n", | |
| " const Bokeh = root.Bokeh;\n", | |
| " const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n", | |
| " const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\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, Bokeh, 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", | |
| " const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n", | |
| " const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n", | |
| " const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version)?.Panel == null;\n", | |
| " if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\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.8.7/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", | |
| " } 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 = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version)?.Panel));\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, Bokeh, function() {\n", | |
| " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", | |
| " run_inline_js();\n", | |
| " if (Bokeh != undefined && !reloading) {\n", | |
| " const NewBokeh = root.Bokeh;\n", | |
| " if (Bokeh.versions === undefined) {\n", | |
| " Bokeh.versions = new Map();\n", | |
| " }\n", | |
| " if (NewBokeh.version !== Bokeh.version) {\n", | |
| " Bokeh[NewBokeh.version] = NewBokeh;\n", | |
| " Bokeh.versions.set(NewBokeh.version, NewBokeh);\n", | |
| " }\n", | |
| " root.Bokeh = Bokeh;\n", | |
| " }\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 version = '3.8.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = true;\n const Bokeh = root.Bokeh;\n const BK_RE = /^https:\\/\\/cdn\\.bokeh\\.org\\/bokeh\\/(release|dev)\\/bokeh-/;\n const PN_RE = /^https:\\/\\/cdn\\.holoviz\\.org\\/panel\\/[^/]+\\/dist\\/panel/i;\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, Bokeh, 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 const shouldSkip = skip.includes(escaped) || existing_scripts.includes(escaped)\n const isBokehOrPanel = BK_RE.test(escaped) || PN_RE.test(escaped)\n const missingOrBroken = Bokeh == null || Bokeh.Panel == null || (Bokeh.version != version && !Bokeh.versions?.has(version)) || Bokeh.versions?.get(version)?.Panel == null;\n if (shouldSkip && !(isBokehOrPanel && missingOrBroken)) {\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.8.7/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 } 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 = Bokeh != null && ((Bokeh.version === version && Bokeh.Panel) || (Bokeh.versions?.has(version) && Bokeh.versions.get(version)?.Panel));\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, Bokeh, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n if (Bokeh != undefined && !reloading) {\n const NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh[NewBokeh.version] = NewBokeh;\n Bokeh.versions.set(NewBokeh.version, NewBokeh);\n }\n root.Bokeh = Bokeh;\n }\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", | |
| " 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", | |
| " let retries = 0;\n", | |
| " const open = () => {\n", | |
| " if (comm.active) {\n", | |
| " comm.open();\n", | |
| " } else if (retries > 3) {\n", | |
| " console.warn('Comm target never activated')\n", | |
| " } else {\n", | |
| " retries += 1\n", | |
| " setTimeout(open, 500)\n", | |
| " }\n", | |
| " }\n", | |
| " if (comm.active) {\n", | |
| " comm.open();\n", | |
| " } else {\n", | |
| " setTimeout(open, 500)\n", | |
| " }\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 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 let retries = 0;\n const open = () => {\n if (comm.active) {\n comm.open();\n } else if (retries > 3) {\n console.warn('Comm target never activated')\n } else {\n retries += 1\n setTimeout(open, 500)\n }\n }\n if (comm.active) {\n comm.open();\n } else {\n setTimeout(open, 500)\n }\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 xarray as xr\n", | |
| "import hvplot.pandas\n", | |
| "import hvplot.xarray\n", | |
| "import pandas as pd\n", | |
| "import numpy as np\n", | |
| "from dotenv import load_dotenv\n", | |
| "import os\n", | |
| "import rolodex.forecast\n", | |
| "from rolodex.forecast import BestEstimate, ForecastIndex" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "4070c9e7-4008-4760-af57-9b6e76d702fe", | |
| "metadata": {}, | |
| "source": [ | |
| "### Model Data: Virtual Icechunk" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "e63aa434-d812-4ce6-9076-e88876186171", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import icechunk\n", | |
| "from obstore.store import from_url\n", | |
| "_ = load_dotenv(f'{os.environ[\"HOME\"]}/dotenv/rsignell4.env')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "c722f0e5-ec0b-48de-a9c1-471a322d804b", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# Define storage\n", | |
| "storage_endpoint = 'https://pangeo-eosc-minioapi.vm.fedcloud.eu'\n", | |
| "storage_bucket = 'rsignell4-protocoast'\n", | |
| "storage_name = 'taranto-icechunk3'" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "c0f10c89-6cdc-4783-bae1-c891ac6ed4fa", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "bucket = \"s3://rsignell4-protocoast\"\n", | |
| "store = from_url(bucket, region=\"not-used\", endpoint=storage_endpoint)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "f41f5c3e-c2a4-425a-be9e-dab74cd857e4", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "storage = icechunk.s3_storage(\n", | |
| " bucket=storage_bucket,\n", | |
| " prefix=f\"icechunk/{storage_name}\",\n", | |
| " from_env=True,\n", | |
| " endpoint_url=storage_endpoint,\n", | |
| " region='not-used', # N/A for Pangeo-EOSC bucket, but required param\n", | |
| " force_path_style=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "d381aae6-a2bb-4bb5-97ac-d24224757a33", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "config = icechunk.RepositoryConfig.default()\n", | |
| "\n", | |
| "config.set_virtual_chunk_container(\n", | |
| " icechunk.VirtualChunkContainer(\n", | |
| " url_prefix=f\"s3://{storage_bucket}/\",\n", | |
| " store=icechunk.s3_store(region=\"not-used\", anonymous=False, s3_compatible=True, \n", | |
| " force_path_style=True, endpoint_url=storage_endpoint),\n", | |
| " ),\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "4283ec18-79a2-466a-95e0-8fd9905ffa90", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "credentials = icechunk.containers_credentials({f\"s3://{storage_bucket}/\": icechunk.s3_credentials(anonymous=False)})\n", | |
| "\n", | |
| "read_repo = icechunk.Repository.open(storage, config, authorize_virtual_chunk_access=credentials)\n", | |
| "\n", | |
| "read_session = read_repo.readonly_session(\"main\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "e23a3639-4ab9-43f8-84fc-86bec395670f", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "/srv/conda/envs/notebook/lib/python3.13/site-packages/zarr/codecs/numcodecs/_codecs.py:141: ZarrUserWarning: Numcodecs codecs are not in the Zarr version 3 specification and may not be supported by other zarr implementations.\n", | |
| " super().__init__(**codec_config)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "ds_model = xr.open_zarr(read_session.store, consolidated=False, zarr_format=3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "5e44fc21-527a-4b5a-934d-cf0e590f62cc", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "ds_model.coords[\"valid_time\"] = rolodex.forecast.create_lazy_valid_time_variable(\n", | |
| " reference_time=ds_model.time, period=ds_model.step\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "id": "51ffdfc7-964f-42ef-a930-1a99292126f3", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# Add special Rolodex index for easy forecast time slicing\n", | |
| "ds_model = ds_model.drop_indexes([\"time\", \"step\"]).set_xindex([\"time\", \"step\", \"valid_time\"], ForecastIndex)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "id": "699b5d23-e6bc-4472-a290-e4d01ea585dc", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", | |
| "<defs>\n", | |
| "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", | |
| "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", | |
| "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
| "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
| "</symbol>\n", | |
| "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", | |
| "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", | |
| "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "</symbol>\n", | |
| "</defs>\n", | |
| "</svg>\n", | |
| "<style>/* CSS stylesheet for displaying xarray objects in notebooks */\n", | |
| "\n", | |
| ":root {\n", | |
| " --xr-font-color0: var(\n", | |
| " --jp-content-font-color0,\n", | |
| " var(--pst-color-text-base rgba(0, 0, 0, 1))\n", | |
| " );\n", | |
| " --xr-font-color2: var(\n", | |
| " --jp-content-font-color2,\n", | |
| " var(--pst-color-text-base, rgba(0, 0, 0, 0.54))\n", | |
| " );\n", | |
| " --xr-font-color3: var(\n", | |
| " --jp-content-font-color3,\n", | |
| " var(--pst-color-text-base, rgba(0, 0, 0, 0.38))\n", | |
| " );\n", | |
| " --xr-border-color: var(\n", | |
| " --jp-border-color2,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 10))\n", | |
| " );\n", | |
| " --xr-disabled-color: var(\n", | |
| " --jp-layout-color3,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 40))\n", | |
| " );\n", | |
| " --xr-background-color: var(\n", | |
| " --jp-layout-color0,\n", | |
| " var(--pst-color-on-background, white)\n", | |
| " );\n", | |
| " --xr-background-color-row-even: var(\n", | |
| " --jp-layout-color1,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 5))\n", | |
| " );\n", | |
| " --xr-background-color-row-odd: var(\n", | |
| " --jp-layout-color2,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 15))\n", | |
| " );\n", | |
| "}\n", | |
| "\n", | |
| "html[theme=\"dark\"],\n", | |
| "html[data-theme=\"dark\"],\n", | |
| "body[data-theme=\"dark\"],\n", | |
| "body.vscode-dark {\n", | |
| " --xr-font-color0: var(\n", | |
| " --jp-content-font-color0,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 1))\n", | |
| " );\n", | |
| " --xr-font-color2: var(\n", | |
| " --jp-content-font-color2,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 0.54))\n", | |
| " );\n", | |
| " --xr-font-color3: var(\n", | |
| " --jp-content-font-color3,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 0.38))\n", | |
| " );\n", | |
| " --xr-border-color: var(\n", | |
| " --jp-border-color2,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))\n", | |
| " );\n", | |
| " --xr-disabled-color: var(\n", | |
| " --jp-layout-color3,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))\n", | |
| " );\n", | |
| " --xr-background-color: var(\n", | |
| " --jp-layout-color0,\n", | |
| " var(--pst-color-on-background, #111111)\n", | |
| " );\n", | |
| " --xr-background-color-row-even: var(\n", | |
| " --jp-layout-color1,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))\n", | |
| " );\n", | |
| " --xr-background-color-row-odd: var(\n", | |
| " --jp-layout-color2,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))\n", | |
| " );\n", | |
| "}\n", | |
| "\n", | |
| ".xr-wrap {\n", | |
| " display: block !important;\n", | |
| " min-width: 300px;\n", | |
| " max-width: 700px;\n", | |
| " line-height: 1.6;\n", | |
| " padding-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-text-repr-fallback {\n", | |
| " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header {\n", | |
| " padding-top: 6px;\n", | |
| " padding-bottom: 6px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header {\n", | |
| " border-bottom: solid 1px var(--xr-border-color);\n", | |
| " margin-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header > div,\n", | |
| ".xr-header > ul {\n", | |
| " display: inline;\n", | |
| " margin-top: 0;\n", | |
| " margin-bottom: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-obj-type,\n", | |
| ".xr-obj-name {\n", | |
| " margin-left: 2px;\n", | |
| " margin-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-obj-type,\n", | |
| ".xr-group-box-contents > label {\n", | |
| " color: var(--xr-font-color2);\n", | |
| " display: block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-sections {\n", | |
| " padding-left: 0 !important;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n", | |
| " margin-block-start: 0;\n", | |
| " margin-block-end: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input,\n", | |
| ".xr-group-box-contents > input,\n", | |
| ".xr-array-wrap > input {\n", | |
| " display: block;\n", | |
| " opacity: 0;\n", | |
| " height: 0;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input + label,\n", | |
| ".xr-var-item > input + label {\n", | |
| " color: var(--xr-disabled-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:enabled + label,\n", | |
| ".xr-var-item > input:enabled + label,\n", | |
| ".xr-array-wrap > input:enabled + label,\n", | |
| ".xr-group-box-contents > input:enabled + label {\n", | |
| " cursor: pointer;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:focus-visible + label,\n", | |
| ".xr-var-item > input:focus-visible + label,\n", | |
| ".xr-array-wrap > input:focus-visible + label,\n", | |
| ".xr-group-box-contents > input:focus-visible + label {\n", | |
| " outline: auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:enabled + label:hover,\n", | |
| ".xr-var-item > input:enabled + label:hover,\n", | |
| ".xr-array-wrap > input:enabled + label:hover,\n", | |
| ".xr-group-box-contents > input:enabled + label:hover {\n", | |
| " color: var(--xr-font-color0);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary {\n", | |
| " grid-column: 1;\n", | |
| " color: var(--xr-font-color2);\n", | |
| " font-weight: 500;\n", | |
| " white-space: nowrap;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary > em {\n", | |
| " font-weight: normal;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-span-grid {\n", | |
| " grid-column-end: -1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary > span {\n", | |
| " display: inline-block;\n", | |
| " padding-left: 0.3em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label > span {\n", | |
| " display: inline-block;\n", | |
| " padding-left: 0.6em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:disabled + label {\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in + label:before {\n", | |
| " display: inline-block;\n", | |
| " content: \"►\";\n", | |
| " font-size: 11px;\n", | |
| " width: 15px;\n", | |
| " text-align: center;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:disabled + label:before {\n", | |
| " color: var(--xr-disabled-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked + label:before {\n", | |
| " content: \"▼\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked + label > span {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary,\n", | |
| ".xr-section-inline-details,\n", | |
| ".xr-group-box-contents > label {\n", | |
| " padding-top: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-inline-details {\n", | |
| " grid-column: 2 / -1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-details {\n", | |
| " grid-column: 1 / -1;\n", | |
| " margin-top: 4px;\n", | |
| " margin-bottom: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in ~ .xr-section-details {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked ~ .xr-section-details {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-children {\n", | |
| " display: inline-grid;\n", | |
| " grid-template-columns: 100%;\n", | |
| " grid-column: 1 / -1;\n", | |
| " padding-top: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box {\n", | |
| " display: inline-grid;\n", | |
| " grid-template-columns: 0px 30px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-vline {\n", | |
| " grid-column-start: 1;\n", | |
| " border-right: 0.2em solid;\n", | |
| " border-color: var(--xr-border-color);\n", | |
| " width: 0px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-hline {\n", | |
| " grid-column-start: 2;\n", | |
| " grid-row-start: 1;\n", | |
| " height: 1em;\n", | |
| " width: 26px;\n", | |
| " border-bottom: 0.2em solid;\n", | |
| " border-color: var(--xr-border-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents {\n", | |
| " grid-column-start: 3;\n", | |
| " padding-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > label::before {\n", | |
| " content: \"📂\";\n", | |
| " padding-right: 0.3em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label::before {\n", | |
| " content: \"📁\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label {\n", | |
| " padding-bottom: 0px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked ~ .xr-sections {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input + label > span {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-ellipsis {\n", | |
| " font-size: 1.4em;\n", | |
| " font-weight: 900;\n", | |
| " color: var(--xr-font-color2);\n", | |
| " letter-spacing: 0.15em;\n", | |
| " cursor: default;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-wrap {\n", | |
| " grid-column: 1 / -1;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 20px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-wrap > label {\n", | |
| " grid-column: 1;\n", | |
| " vertical-align: top;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-preview {\n", | |
| " color: var(--xr-font-color3);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-preview,\n", | |
| ".xr-array-data {\n", | |
| " padding: 0 5px !important;\n", | |
| " grid-column: 2;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-data,\n", | |
| ".xr-array-in:checked ~ .xr-array-preview {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-in:checked ~ .xr-array-data,\n", | |
| ".xr-array-preview {\n", | |
| " display: inline-block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list {\n", | |
| " display: inline-block !important;\n", | |
| " list-style: none;\n", | |
| " padding: 0 !important;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list li {\n", | |
| " display: inline-block;\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list:before {\n", | |
| " content: \"(\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list:after {\n", | |
| " content: \")\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list li:not(:last-child):after {\n", | |
| " content: \",\";\n", | |
| " padding-right: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-has-index {\n", | |
| " font-weight: bold;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-list,\n", | |
| ".xr-var-item {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-item > div,\n", | |
| ".xr-var-item label,\n", | |
| ".xr-var-item > .xr-var-name span {\n", | |
| " background-color: var(--xr-background-color-row-even);\n", | |
| " border-color: var(--xr-background-color-row-odd);\n", | |
| " margin-bottom: 0;\n", | |
| " padding-top: 2px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-item > .xr-var-name:hover span {\n", | |
| " padding-right: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-list > li:nth-child(odd) > div,\n", | |
| ".xr-var-list > li:nth-child(odd) > label,\n", | |
| ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", | |
| " background-color: var(--xr-background-color-row-odd);\n", | |
| " border-color: var(--xr-background-color-row-even);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name {\n", | |
| " grid-column: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-dims {\n", | |
| " grid-column: 2;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-dtype {\n", | |
| " grid-column: 3;\n", | |
| " text-align: right;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-preview {\n", | |
| " grid-column: 4;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-index-preview {\n", | |
| " grid-column: 2 / 5;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name,\n", | |
| ".xr-var-dims,\n", | |
| ".xr-var-dtype,\n", | |
| ".xr-preview,\n", | |
| ".xr-attrs dt {\n", | |
| " white-space: nowrap;\n", | |
| " overflow: hidden;\n", | |
| " text-overflow: ellipsis;\n", | |
| " padding-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name:hover,\n", | |
| ".xr-var-dims:hover,\n", | |
| ".xr-var-dtype:hover,\n", | |
| ".xr-attrs dt:hover {\n", | |
| " overflow: visible;\n", | |
| " width: auto;\n", | |
| " z-index: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-data {\n", | |
| " display: none;\n", | |
| " border-top: 2px dotted var(--xr-background-color);\n", | |
| " padding-bottom: 20px !important;\n", | |
| " padding-top: 10px !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in + label,\n", | |
| ".xr-var-data-in + label,\n", | |
| ".xr-index-data-in + label {\n", | |
| " padding: 0 1px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", | |
| ".xr-var-data-in:checked ~ .xr-var-data,\n", | |
| ".xr-index-data-in:checked ~ .xr-index-data {\n", | |
| " display: block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-data > table {\n", | |
| " float: right;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-data > pre,\n", | |
| ".xr-index-data > pre,\n", | |
| ".xr-var-data > table > tbody > tr {\n", | |
| " background-color: transparent !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name span,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-name div,\n", | |
| ".xr-index-data,\n", | |
| ".xr-attrs {\n", | |
| " padding-left: 25px !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs,\n", | |
| ".xr-var-attrs,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-data {\n", | |
| " grid-column: 1 / -1;\n", | |
| "}\n", | |
| "\n", | |
| "dl.xr-attrs {\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 125px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt,\n", | |
| ".xr-attrs dd {\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| " float: left;\n", | |
| " padding-right: 10px;\n", | |
| " width: auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt {\n", | |
| " font-weight: normal;\n", | |
| " grid-column: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt:hover span {\n", | |
| " display: inline-block;\n", | |
| " background: var(--xr-background-color);\n", | |
| " padding-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dd {\n", | |
| " grid-column: 2;\n", | |
| " white-space: pre-wrap;\n", | |
| " word-break: break-all;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-icon-database,\n", | |
| ".xr-icon-file-text2,\n", | |
| ".xr-no-icon {\n", | |
| " display: inline-block;\n", | |
| " vertical-align: middle;\n", | |
| " width: 1em;\n", | |
| " height: 1.5em !important;\n", | |
| " stroke-width: 0;\n", | |
| " stroke: currentColor;\n", | |
| " fill: currentColor;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n", | |
| ".xr-var-data-in:checked + label > .xr-icon-database,\n", | |
| ".xr-index-data-in:checked + label > .xr-icon-database {\n", | |
| " color: var(--xr-font-color0);\n", | |
| " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", | |
| " stroke-width: 0.8px;\n", | |
| "}\n", | |
| "</style><pre class='xr-text-repr-fallback'><xarray.Dataset> Size: 776GB\n", | |
| "Dimensions: (time: 156, step: 144, node: 30731, level: 70,\n", | |
| " element: 58285, vertex: 3)\n", | |
| "Coordinates:\n", | |
| " * time (time) datetime64[ns] 1kB 2025-09-08 ... 2026-02-28\n", | |
| " * step (step) timedelta64[ns] 1kB 00:00:00 ... 5 days 23:00:00\n", | |
| " * valid_time (time, step) datetime64[ns] 180kB ...\n", | |
| " latitude (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " longitude (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " total_depth (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " * level (level) float32 280B 2.0 4.0 6.0 ... 1.5e+03 2e+03 2.5e+03\n", | |
| " element_index (element, vertex) int32 699kB dask.array<chunksize=(58285, 3), meta=np.ndarray>\n", | |
| " topology int32 4B ...\n", | |
| "Dimensions without coordinates: node, element, vertex\n", | |
| "Data variables:\n", | |
| " salinity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " temperature (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " water_level (time, step, node) float32 3GB dask.array<chunksize=(1, 72, 16000), meta=np.ndarray>\n", | |
| " v_velocity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " u_velocity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| "Indexes:\n", | |
| " ┌ time ForecastIndex\n", | |
| " │ step\n", | |
| " └ valid_time\n", | |
| "Attributes:\n", | |
| " Conventions: CF-1.4\n", | |
| " title: uae\n", | |
| " history: Fri Feb 20 16:50:09 2026: ncks -4 -L 5 -O -d time,0,143 --c...\n", | |
| " institution: Centro Euro-Mediterraneo sui Cambiamenti Climatici - CMCC, ...\n", | |
| " source: Model data produced by SHYFEM-MPI at CMCC\n", | |
| " references: https://zenodo.org/record/5596734#.Y-YwpxPMLx8\n", | |
| " NCO: netCDF Operators version 5.0.6 (Homepage = http://nco.sf.ne...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-553ba1b2-ba77-459d-9ce1-7ded446c05f3' class='xr-section-summary-in' type='checkbox' disabled /><label for='section-553ba1b2-ba77-459d-9ce1-7ded446c05f3' class='xr-section-summary'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 156</li><li><span class='xr-has-index'>step</span>: 144</li><li><span>node</span>: 30731</li><li><span class='xr-has-index'>level</span>: 70</li><li><span>element</span>: 58285</li><li><span>vertex</span>: 3</li></ul></div></li><li class='xr-section-item'><input id='section-5ebac002-9368-42f3-99fd-680f3377a614' class='xr-section-summary-in' type='checkbox' checked /><label for='section-5ebac002-9368-42f3-99fd-680f3377a614' class='xr-section-summary' title='Expand/collapse section'>Coordinates: <span>(9)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2025-09-08 ... 2026-02-28</div><input id='attrs-f7545c31-2598-465d-9831-71b6378fa456' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f7545c31-2598-465d-9831-71b6378fa456' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-51a50ba0-3eac-4548-b267-ab851285890b' class='xr-var-data-in' type='checkbox'><label for='data-51a50ba0-3eac-4548-b267-ab851285890b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>forecast_reference_time</dd><dt><span>axis :</span></dt><dd>T</dd></dl></div><div class='xr-var-data'><pre>array(['2025-09-08T00:00:00.000000000', '2025-09-09T00:00:00.000000000',\n", | |
| " '2025-09-10T00:00:00.000000000', '2025-09-11T00:00:00.000000000',\n", | |
| " '2025-09-12T00:00:00.000000000', '2025-09-13T00:00:00.000000000',\n", | |
| " '2025-09-15T00:00:00.000000000', '2025-09-17T00:00:00.000000000',\n", | |
| " '2025-09-18T00:00:00.000000000', '2025-09-19T00:00:00.000000000',\n", | |
| " '2025-09-20T00:00:00.000000000', '2025-09-21T00:00:00.000000000',\n", | |
| " '2025-09-22T00:00:00.000000000', '2025-09-24T00:00:00.000000000',\n", | |
| " '2025-09-26T00:00:00.000000000', '2025-09-27T00:00:00.000000000',\n", | |
| " '2025-09-28T00:00:00.000000000', '2025-09-29T00:00:00.000000000',\n", | |
| " '2025-09-30T00:00:00.000000000', '2025-10-01T00:00:00.000000000',\n", | |
| " '2025-10-02T00:00:00.000000000', '2025-10-03T00:00:00.000000000',\n", | |
| " '2025-10-04T00:00:00.000000000', '2025-10-05T00:00:00.000000000',\n", | |
| " '2025-10-06T00:00:00.000000000', '2025-10-07T00:00:00.000000000',\n", | |
| " '2025-10-08T00:00:00.000000000', '2025-10-09T00:00:00.000000000',\n", | |
| " '2025-10-10T00:00:00.000000000', '2025-10-11T00:00:00.000000000',\n", | |
| " '2025-10-12T00:00:00.000000000', '2025-10-13T00:00:00.000000000',\n", | |
| " '2025-10-14T00:00:00.000000000', '2025-10-15T00:00:00.000000000',\n", | |
| " '2025-10-16T00:00:00.000000000', '2025-10-17T00:00:00.000000000',\n", | |
| " '2025-10-18T00:00:00.000000000', '2025-10-19T00:00:00.000000000',\n", | |
| " '2025-10-20T00:00:00.000000000', '2025-10-21T00:00:00.000000000',\n", | |
| " '2025-10-22T00:00:00.000000000', '2025-10-23T00:00:00.000000000',\n", | |
| " '2025-10-24T00:00:00.000000000', '2025-10-25T00:00:00.000000000',\n", | |
| " '2025-10-26T00:00:00.000000000', '2025-10-27T00:00:00.000000000',\n", | |
| " '2025-10-28T00:00:00.000000000', '2025-10-29T00:00:00.000000000',\n", | |
| " '2025-10-30T00:00:00.000000000', '2025-10-31T00:00:00.000000000',\n", | |
| " '2025-11-01T00:00:00.000000000', '2025-11-02T00:00:00.000000000',\n", | |
| " '2025-11-03T00:00:00.000000000', '2025-11-04T00:00:00.000000000',\n", | |
| " '2025-11-05T00:00:00.000000000', '2025-11-06T00:00:00.000000000',\n", | |
| " '2025-11-07T00:00:00.000000000', '2025-11-08T00:00:00.000000000',\n", | |
| " '2025-11-09T00:00:00.000000000', '2025-11-10T00:00:00.000000000',\n", | |
| " '2025-11-11T00:00:00.000000000', '2025-11-12T00:00:00.000000000',\n", | |
| " '2025-11-13T00:00:00.000000000', '2025-11-14T00:00:00.000000000',\n", | |
| " '2025-11-15T00:00:00.000000000', '2025-11-16T00:00:00.000000000',\n", | |
| " '2025-11-17T00:00:00.000000000', '2025-11-18T00:00:00.000000000',\n", | |
| " '2025-11-19T00:00:00.000000000', '2025-11-21T00:00:00.000000000',\n", | |
| " '2025-11-22T00:00:00.000000000', '2025-11-24T00:00:00.000000000',\n", | |
| " '2025-11-25T00:00:00.000000000', '2025-11-26T00:00:00.000000000',\n", | |
| " '2025-11-27T00:00:00.000000000', '2025-11-28T00:00:00.000000000',\n", | |
| " '2025-11-30T00:00:00.000000000', '2025-12-01T00:00:00.000000000',\n", | |
| " '2025-12-02T00:00:00.000000000', '2025-12-03T00:00:00.000000000',\n", | |
| " '2025-12-04T00:00:00.000000000', '2025-12-05T00:00:00.000000000',\n", | |
| " '2025-12-06T00:00:00.000000000', '2025-12-07T00:00:00.000000000',\n", | |
| " '2025-12-08T00:00:00.000000000', '2025-12-11T00:00:00.000000000',\n", | |
| " '2025-12-12T00:00:00.000000000', '2025-12-13T00:00:00.000000000',\n", | |
| " '2025-12-14T00:00:00.000000000', '2025-12-15T00:00:00.000000000',\n", | |
| " '2025-12-16T00:00:00.000000000', '2025-12-17T00:00:00.000000000',\n", | |
| " '2025-12-18T00:00:00.000000000', '2025-12-19T00:00:00.000000000',\n", | |
| " '2025-12-20T00:00:00.000000000', '2025-12-21T00:00:00.000000000',\n", | |
| " '2025-12-22T00:00:00.000000000', '2025-12-23T00:00:00.000000000',\n", | |
| " '2025-12-24T00:00:00.000000000', '2025-12-25T00:00:00.000000000',\n", | |
| " '2025-12-26T00:00:00.000000000', '2025-12-27T00:00:00.000000000',\n", | |
| " '2025-12-28T00:00:00.000000000', '2025-12-29T00:00:00.000000000',\n", | |
| " '2025-12-30T00:00:00.000000000', '2025-12-31T00:00:00.000000000',\n", | |
| " '2026-01-01T00:00:00.000000000', '2026-01-02T00:00:00.000000000',\n", | |
| " '2026-01-03T00:00:00.000000000', '2026-01-04T00:00:00.000000000',\n", | |
| " '2026-01-05T00:00:00.000000000', '2026-01-06T00:00:00.000000000',\n", | |
| " '2026-01-07T00:00:00.000000000', '2026-01-08T00:00:00.000000000',\n", | |
| " '2026-01-09T00:00:00.000000000', '2026-01-10T00:00:00.000000000',\n", | |
| " '2026-01-11T00:00:00.000000000', '2026-01-12T00:00:00.000000000',\n", | |
| " '2026-01-13T00:00:00.000000000', '2026-01-14T00:00:00.000000000',\n", | |
| " '2026-01-15T00:00:00.000000000', '2026-01-16T00:00:00.000000000',\n", | |
| " '2026-01-17T00:00:00.000000000', '2026-01-18T00:00:00.000000000',\n", | |
| " '2026-01-19T00:00:00.000000000', '2026-01-20T00:00:00.000000000',\n", | |
| " '2026-01-21T00:00:00.000000000', '2026-01-22T00:00:00.000000000',\n", | |
| " '2026-01-23T00:00:00.000000000', '2026-01-24T00:00:00.000000000',\n", | |
| " '2026-01-25T00:00:00.000000000', '2026-01-26T00:00:00.000000000',\n", | |
| " '2026-01-27T00:00:00.000000000', '2026-02-04T00:00:00.000000000',\n", | |
| " '2026-02-05T00:00:00.000000000', '2026-02-06T00:00:00.000000000',\n", | |
| " '2026-02-07T00:00:00.000000000', '2026-02-08T00:00:00.000000000',\n", | |
| " '2026-02-10T00:00:00.000000000', '2026-02-11T00:00:00.000000000',\n", | |
| " '2026-02-12T00:00:00.000000000', '2026-02-13T00:00:00.000000000',\n", | |
| " '2026-02-14T00:00:00.000000000', '2026-02-15T00:00:00.000000000',\n", | |
| " '2026-02-16T00:00:00.000000000', '2026-02-17T00:00:00.000000000',\n", | |
| " '2026-02-19T00:00:00.000000000', '2026-02-20T00:00:00.000000000',\n", | |
| " '2026-02-21T00:00:00.000000000', '2026-02-22T00:00:00.000000000',\n", | |
| " '2026-02-23T00:00:00.000000000', '2026-02-24T00:00:00.000000000',\n", | |
| " '2026-02-25T00:00:00.000000000', '2026-02-26T00:00:00.000000000',\n", | |
| " '2026-02-27T00:00:00.000000000', '2026-02-28T00:00:00.000000000'],\n", | |
| " dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>step</span></div><div class='xr-var-dims'>(step)</div><div class='xr-var-dtype'>timedelta64[ns]</div><div class='xr-var-preview xr-preview'>00:00:00 ... 5 days 23:00:00</div><input id='attrs-386ec266-613f-4179-8e6c-84fd0a803975' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-386ec266-613f-4179-8e6c-84fd0a803975' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5e845d5c-2190-4ed6-9b83-8a1497570edd' class='xr-var-data-in' type='checkbox'><label for='data-5e845d5c-2190-4ed6-9b83-8a1497570edd' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>forecast_period</dd><dt><span>axis :</span></dt><dd>T</dd></dl></div><div class='xr-var-data'><pre>array([ 0, 3600000000000, 7200000000000, 10800000000000,\n", | |
| " 14400000000000, 18000000000000, 21600000000000, 25200000000000,\n", | |
| " 28800000000000, 32400000000000, 36000000000000, 39600000000000,\n", | |
| " 43200000000000, 46800000000000, 50400000000000, 54000000000000,\n", | |
| " 57600000000000, 61200000000000, 64800000000000, 68400000000000,\n", | |
| " 72000000000000, 75600000000000, 79200000000000, 82800000000000,\n", | |
| " 86400000000000, 90000000000000, 93600000000000, 97200000000000,\n", | |
| " 100800000000000, 104400000000000, 108000000000000, 111600000000000,\n", | |
| " 115200000000000, 118800000000000, 122400000000000, 126000000000000,\n", | |
| " 129600000000000, 133200000000000, 136800000000000, 140400000000000,\n", | |
| " 144000000000000, 147600000000000, 151200000000000, 154800000000000,\n", | |
| " 158400000000000, 162000000000000, 165600000000000, 169200000000000,\n", | |
| " 172800000000000, 176400000000000, 180000000000000, 183600000000000,\n", | |
| " 187200000000000, 190800000000000, 194400000000000, 198000000000000,\n", | |
| " 201600000000000, 205200000000000, 208800000000000, 212400000000000,\n", | |
| " 216000000000000, 219600000000000, 223200000000000, 226800000000000,\n", | |
| " 230400000000000, 234000000000000, 237600000000000, 241200000000000,\n", | |
| " 244800000000000, 248400000000000, 252000000000000, 255600000000000,\n", | |
| " 259200000000000, 262800000000000, 266400000000000, 270000000000000,\n", | |
| " 273600000000000, 277200000000000, 280800000000000, 284400000000000,\n", | |
| " 288000000000000, 291600000000000, 295200000000000, 298800000000000,\n", | |
| " 302400000000000, 306000000000000, 309600000000000, 313200000000000,\n", | |
| " 316800000000000, 320400000000000, 324000000000000, 327600000000000,\n", | |
| " 331200000000000, 334800000000000, 338400000000000, 342000000000000,\n", | |
| " 345600000000000, 349200000000000, 352800000000000, 356400000000000,\n", | |
| " 360000000000000, 363600000000000, 367200000000000, 370800000000000,\n", | |
| " 374400000000000, 378000000000000, 381600000000000, 385200000000000,\n", | |
| " 388800000000000, 392400000000000, 396000000000000, 399600000000000,\n", | |
| " 403200000000000, 406800000000000, 410400000000000, 414000000000000,\n", | |
| " 417600000000000, 421200000000000, 424800000000000, 428400000000000,\n", | |
| " 432000000000000, 435600000000000, 439200000000000, 442800000000000,\n", | |
| " 446400000000000, 450000000000000, 453600000000000, 457200000000000,\n", | |
| " 460800000000000, 464400000000000, 468000000000000, 471600000000000,\n", | |
| " 475200000000000, 478800000000000, 482400000000000, 486000000000000,\n", | |
| " 489600000000000, 493200000000000, 496800000000000, 500400000000000,\n", | |
| " 504000000000000, 507600000000000, 511200000000000, 514800000000000],\n", | |
| " dtype='timedelta64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>valid_time</span></div><div class='xr-var-dims'>(time, step)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-bdd6fa4c-4817-4839-b72a-0bd761b281ab' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bdd6fa4c-4817-4839-b72a-0bd761b281ab' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c959d3f1-f725-4758-8ca1-9ea866a5fa04' class='xr-var-data-in' type='checkbox'><label for='data-c959d3f1-f725-4758-8ca1-9ea866a5fa04' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>[22464 values with dtype=datetime64[ns]]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(node)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(16000,), meta=np.ndarray></div><input id='attrs-4eee56bc-7f6f-4530-bb9f-fcaa2c7dca2d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4eee56bc-7f6f-4530-bb9f-fcaa2c7dca2d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-118913d7-e4a0-4e26-8ba5-99873c394a16' class='xr-var-data-in' type='checkbox'><label for='data-118913d7-e4a0-4e26-8ba5-99873c394a16' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>standard_name :</span></dt><dd>latitude</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 120.04 kiB </td>\n", | |
| " <td> 62.50 kiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (30731,) </td>\n", | |
| " <td> (16000,) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 2 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"25\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"60.0\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >30731</text>\n", | |
| " <text x=\"140.0\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.0,12.706308257291242)\">1</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(node)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(16000,), meta=np.ndarray></div><input id='attrs-9b1657a2-87c7-43d9-8206-7a4a33d03a4e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9b1657a2-87c7-43d9-8206-7a4a33d03a4e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d486f244-ae3e-4386-922c-2d973e742ab9' class='xr-var-data-in' type='checkbox'><label for='data-d486f244-ae3e-4386-922c-2d973e742ab9' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>standard_name :</span></dt><dd>longitude</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 120.04 kiB </td>\n", | |
| " <td> 62.50 kiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (30731,) </td>\n", | |
| " <td> (16000,) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 2 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"25\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"60.0\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >30731</text>\n", | |
| " <text x=\"140.0\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.0,12.706308257291242)\">1</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>total_depth</span></div><div class='xr-var-dims'>(node)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(16000,), meta=np.ndarray></div><input id='attrs-6b013e64-8e1e-4d21-823b-4de4fa4d8373' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6b013e64-8e1e-4d21-823b-4de4fa4d8373' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8b547fba-b846-49ce-ad05-7cb30687a4db' class='xr-var-data-in' type='checkbox'><label for='data-8b547fba-b846-49ce-ad05-7cb30687a4db' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m</dd><dt><span>standard_name :</span></dt><dd>sea_floor_depth_below_sea_surface</dd><dt><span>description :</span></dt><dd>total depth at nodes</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 120.04 kiB </td>\n", | |
| " <td> 62.50 kiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (30731,) </td>\n", | |
| " <td> (16000,) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 2 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"25\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"60.0\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >30731</text>\n", | |
| " <text x=\"140.0\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.0,12.706308257291242)\">1</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>level</span></div><div class='xr-var-dims'>(level)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>2.0 4.0 6.0 ... 2e+03 2.5e+03</div><input id='attrs-3880b75c-200a-4874-a715-89383b0d0a42' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3880b75c-200a-4874-a715-89383b0d0a42' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-eff26655-8332-4f65-90e9-f913202cf21f' class='xr-var-data-in' type='checkbox'><label for='data-eff26655-8332-4f65-90e9-f913202cf21f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m</dd><dt><span>standard_name :</span></dt><dd>depth</dd><dt><span>description :</span></dt><dd>bottom of vertical layers</dd><dt><span>axis :</span></dt><dd>Z</dd><dt><span>positive :</span></dt><dd>down</dd></dl></div><div class='xr-var-data'><pre>array([2.00e+00, 4.00e+00, 6.00e+00, 8.00e+00, 1.00e+01, 1.20e+01, 1.40e+01,\n", | |
| " 1.60e+01, 1.80e+01, 2.00e+01, 2.20e+01, 2.40e+01, 2.60e+01, 2.80e+01,\n", | |
| " 3.00e+01, 3.20e+01, 3.40e+01, 3.60e+01, 3.80e+01, 4.00e+01, 4.20e+01,\n", | |
| " 4.40e+01, 4.60e+01, 4.80e+01, 5.00e+01, 5.20e+01, 5.40e+01, 5.60e+01,\n", | |
| " 5.80e+01, 6.00e+01, 6.20e+01, 6.40e+01, 6.60e+01, 6.80e+01, 7.00e+01,\n", | |
| " 7.20e+01, 7.40e+01, 7.60e+01, 7.80e+01, 8.00e+01, 8.20e+01, 8.40e+01,\n", | |
| " 8.60e+01, 8.80e+01, 9.00e+01, 9.50e+01, 1.00e+02, 1.05e+02, 1.10e+02,\n", | |
| " 1.15e+02, 1.20e+02, 1.30e+02, 1.40e+02, 1.50e+02, 1.60e+02, 1.70e+02,\n", | |
| " 1.80e+02, 1.90e+02, 2.00e+02, 3.00e+02, 4.00e+02, 5.00e+02, 6.00e+02,\n", | |
| " 7.00e+02, 8.00e+02, 9.00e+02, 1.00e+03, 1.50e+03, 2.00e+03, 2.50e+03],\n", | |
| " dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>element_index</span></div><div class='xr-var-dims'>(element, vertex)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(58285, 3), meta=np.ndarray></div><input id='attrs-0687c01d-ce76-4003-86f4-882b19a20c60' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0687c01d-ce76-4003-86f4-882b19a20c60' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1f2f5970-1448-4b06-9d73-f611b79207f1' class='xr-var-data-in' type='checkbox'><label for='data-1f2f5970-1448-4b06-9d73-f611b79207f1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>element index of nodes</dd><dt><span>description :</span></dt><dd>maps every element to its three vertices</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 683.03 kiB </td>\n", | |
| " <td> 683.03 kiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (58285, 3) </td>\n", | |
| " <td> (58285, 3) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> int32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"12.706308257291242\" y=\"140.0\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n", | |
| " <text x=\"45.41261651458248\" y=\"60.0\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.41261651458248,60.0)\">58285</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>topology</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-abf12d0a-8700-43c2-b1b1-d95d0cc25fca' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-abf12d0a-8700-43c2-b1b1-d95d0cc25fca' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e0477b41-2d73-40e5-8afc-df38e71024d0' class='xr-var-data-in' type='checkbox'><label for='data-e0477b41-2d73-40e5-8afc-df38e71024d0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>topology data of 2D unstructured mesh</dd><dt><span>dimensionality :</span></dt><dd>2</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=int32]</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-6ca582ae-11da-40f3-bdf9-54eda4da62ac' class='xr-section-summary-in' type='checkbox' checked /><label for='section-6ca582ae-11da-40f3-bdf9-54eda4da62ac' class='xr-section-summary' title='Expand/collapse section'>Data variables: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>salinity</span></div><div class='xr-var-dims'>(time, step, node, level)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray></div><input id='attrs-87da58c3-ef44-45a6-ac99-8dfd84bef247' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-87da58c3-ef44-45a6-ac99-8dfd84bef247' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-40b5b4bc-8d2e-451c-b38c-92870dd16ea8' class='xr-var-data-in' type='checkbox'><label for='data-40b5b4bc-8d2e-451c-b38c-92870dd16ea8' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>1e-3</dd><dt><span>standard_name :</span></dt><dd>sea_water_salinity</dd><dt><span>valid_min :</span></dt><dd>0.0</dd><dt><span>valid_max :</span></dt><dd>200.0</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 180.02 GiB </td>\n", | |
| " <td> 4.39 MiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (156, 144, 30731, 70) </td>\n", | |
| " <td> (1, 72, 16000, 1) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 43680 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"280\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" />\n", | |
| " <line x1=\"1\" y1=\"0\" x2=\"1\" y2=\"25\" />\n", | |
| " <line x1=\"2\" y1=\"0\" x2=\"2\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"25\" />\n", | |
| " <line x1=\"5\" y1=\"0\" x2=\"5\" y2=\"25\" />\n", | |
| " <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"8\" y1=\"0\" x2=\"8\" y2=\"25\" />\n", | |
| " <line x1=\"9\" y1=\"0\" x2=\"9\" y2=\"25\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n", | |
| " <line x1=\"13\" y1=\"0\" x2=\"13\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"15\" y1=\"0\" x2=\"15\" y2=\"25\" />\n", | |
| " <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"25\" />\n", | |
| " <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"25\" />\n", | |
| " <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"20\" y1=\"0\" x2=\"20\" y2=\"25\" />\n", | |
| " <line x1=\"21\" y1=\"0\" x2=\"21\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"23\" y1=\"0\" x2=\"23\" y2=\"25\" />\n", | |
| " <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n", | |
| " <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"12.706308257291242\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >156</text>\n", | |
| " <text x=\"45.41261651458248\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,45.41261651458248,12.706308257291242)\">1</text>\n", | |
| "\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"62\" x2=\"109\" y2=\"77\" />\n", | |
| " <line x1=\"95\" y1=\"120\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"95\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"102\" y2=\"127\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 109.9485979497544,14.948597949754403 109.9485979497544,134.9485979497544 95.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"127\" y2=\"7\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"110\" y2=\"14\" />\n", | |
| " <line x1=\"96\" y1=\"0\" x2=\"111\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"98\" y1=\"0\" x2=\"113\" y2=\"14\" />\n", | |
| " <line x1=\"99\" y1=\"0\" x2=\"114\" y2=\"14\" />\n", | |
| " <line x1=\"100\" y1=\"0\" x2=\"115\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"102\" y1=\"0\" x2=\"117\" y2=\"14\" />\n", | |
| " <line x1=\"103\" y1=\"0\" x2=\"118\" y2=\"14\" />\n", | |
| " <line x1=\"104\" y1=\"0\" x2=\"119\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"106\" y1=\"0\" x2=\"121\" y2=\"14\" />\n", | |
| " <line x1=\"107\" y1=\"0\" x2=\"122\" y2=\"14\" />\n", | |
| " <line x1=\"108\" y1=\"0\" x2=\"123\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"110\" y1=\"0\" x2=\"125\" y2=\"14\" />\n", | |
| " <line x1=\"111\" y1=\"0\" x2=\"126\" y2=\"14\" />\n", | |
| " <line x1=\"112\" y1=\"0\" x2=\"127\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"114\" y1=\"0\" x2=\"129\" y2=\"14\" />\n", | |
| " <line x1=\"115\" y1=\"0\" x2=\"130\" y2=\"14\" />\n", | |
| " <line x1=\"116\" y1=\"0\" x2=\"131\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"118\" y1=\"0\" x2=\"133\" y2=\"14\" />\n", | |
| " <line x1=\"119\" y1=\"0\" x2=\"134\" y2=\"14\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 120.41261651458248,0.0 135.36121446433688,14.948597949754403 109.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"109\" y1=\"77\" x2=\"135\" y2=\"77\" />\n", | |
| " <line x1=\"109\" y1=\"134\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"110\" y1=\"14\" x2=\"110\" y2=\"134\" />\n", | |
| " <line x1=\"111\" y1=\"14\" x2=\"111\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"113\" y1=\"14\" x2=\"113\" y2=\"134\" />\n", | |
| " <line x1=\"114\" y1=\"14\" x2=\"114\" y2=\"134\" />\n", | |
| " <line x1=\"115\" y1=\"14\" x2=\"115\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"117\" y1=\"14\" x2=\"117\" y2=\"134\" />\n", | |
| " <line x1=\"118\" y1=\"14\" x2=\"118\" y2=\"134\" />\n", | |
| " <line x1=\"119\" y1=\"14\" x2=\"119\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"121\" y1=\"14\" x2=\"121\" y2=\"134\" />\n", | |
| " <line x1=\"122\" y1=\"14\" x2=\"122\" y2=\"134\" />\n", | |
| " <line x1=\"123\" y1=\"14\" x2=\"123\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"125\" y1=\"14\" x2=\"125\" y2=\"134\" />\n", | |
| " <line x1=\"126\" y1=\"14\" x2=\"126\" y2=\"134\" />\n", | |
| " <line x1=\"127\" y1=\"14\" x2=\"127\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"129\" y1=\"14\" x2=\"129\" y2=\"134\" />\n", | |
| " <line x1=\"130\" y1=\"14\" x2=\"130\" y2=\"134\" />\n", | |
| " <line x1=\"131\" y1=\"14\" x2=\"131\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"133\" y1=\"14\" x2=\"133\" y2=\"134\" />\n", | |
| " <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" />\n", | |
| " <line x1=\"135\" y1=\"14\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"109.9485979497544,14.948597949754403 135.36121446433688,14.948597949754403 135.36121446433688,134.9485979497544 109.9485979497544,134.9485979497544\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"122.65490620704564\" y=\"154.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >70</text>\n", | |
| " <text x=\"155.36121446433688\" y=\"74.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,155.36121446433688,74.9485979497544)\">30731</text>\n", | |
| " <text x=\"92.4742989748772\" y=\"147.4742989748772\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,92.4742989748772,147.4742989748772)\">144</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>temperature</span></div><div class='xr-var-dims'>(time, step, node, level)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray></div><input id='attrs-8402a3ef-8339-4a3a-a6cb-63c100368586' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8402a3ef-8339-4a3a-a6cb-63c100368586' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ca6ce636-9b1d-4b5d-a756-9181f353c557' class='xr-var-data-in' type='checkbox'><label for='data-ca6ce636-9b1d-4b5d-a756-9181f353c557' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degC</dd><dt><span>standard_name :</span></dt><dd>sea_water_temperature</dd><dt><span>valid_min :</span></dt><dd>-10.0</dd><dt><span>valid_max :</span></dt><dd>100.0</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 180.02 GiB </td>\n", | |
| " <td> 4.39 MiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (156, 144, 30731, 70) </td>\n", | |
| " <td> (1, 72, 16000, 1) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 43680 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"280\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" />\n", | |
| " <line x1=\"1\" y1=\"0\" x2=\"1\" y2=\"25\" />\n", | |
| " <line x1=\"2\" y1=\"0\" x2=\"2\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"25\" />\n", | |
| " <line x1=\"5\" y1=\"0\" x2=\"5\" y2=\"25\" />\n", | |
| " <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"8\" y1=\"0\" x2=\"8\" y2=\"25\" />\n", | |
| " <line x1=\"9\" y1=\"0\" x2=\"9\" y2=\"25\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n", | |
| " <line x1=\"13\" y1=\"0\" x2=\"13\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"15\" y1=\"0\" x2=\"15\" y2=\"25\" />\n", | |
| " <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"25\" />\n", | |
| " <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"25\" />\n", | |
| " <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"20\" y1=\"0\" x2=\"20\" y2=\"25\" />\n", | |
| " <line x1=\"21\" y1=\"0\" x2=\"21\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"23\" y1=\"0\" x2=\"23\" y2=\"25\" />\n", | |
| " <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n", | |
| " <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"12.706308257291242\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >156</text>\n", | |
| " <text x=\"45.41261651458248\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,45.41261651458248,12.706308257291242)\">1</text>\n", | |
| "\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"62\" x2=\"109\" y2=\"77\" />\n", | |
| " <line x1=\"95\" y1=\"120\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"95\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"102\" y2=\"127\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 109.9485979497544,14.948597949754403 109.9485979497544,134.9485979497544 95.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"127\" y2=\"7\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"110\" y2=\"14\" />\n", | |
| " <line x1=\"96\" y1=\"0\" x2=\"111\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"98\" y1=\"0\" x2=\"113\" y2=\"14\" />\n", | |
| " <line x1=\"99\" y1=\"0\" x2=\"114\" y2=\"14\" />\n", | |
| " <line x1=\"100\" y1=\"0\" x2=\"115\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"102\" y1=\"0\" x2=\"117\" y2=\"14\" />\n", | |
| " <line x1=\"103\" y1=\"0\" x2=\"118\" y2=\"14\" />\n", | |
| " <line x1=\"104\" y1=\"0\" x2=\"119\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"106\" y1=\"0\" x2=\"121\" y2=\"14\" />\n", | |
| " <line x1=\"107\" y1=\"0\" x2=\"122\" y2=\"14\" />\n", | |
| " <line x1=\"108\" y1=\"0\" x2=\"123\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"110\" y1=\"0\" x2=\"125\" y2=\"14\" />\n", | |
| " <line x1=\"111\" y1=\"0\" x2=\"126\" y2=\"14\" />\n", | |
| " <line x1=\"112\" y1=\"0\" x2=\"127\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"114\" y1=\"0\" x2=\"129\" y2=\"14\" />\n", | |
| " <line x1=\"115\" y1=\"0\" x2=\"130\" y2=\"14\" />\n", | |
| " <line x1=\"116\" y1=\"0\" x2=\"131\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"118\" y1=\"0\" x2=\"133\" y2=\"14\" />\n", | |
| " <line x1=\"119\" y1=\"0\" x2=\"134\" y2=\"14\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 120.41261651458248,0.0 135.36121446433688,14.948597949754403 109.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"109\" y1=\"77\" x2=\"135\" y2=\"77\" />\n", | |
| " <line x1=\"109\" y1=\"134\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"110\" y1=\"14\" x2=\"110\" y2=\"134\" />\n", | |
| " <line x1=\"111\" y1=\"14\" x2=\"111\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"113\" y1=\"14\" x2=\"113\" y2=\"134\" />\n", | |
| " <line x1=\"114\" y1=\"14\" x2=\"114\" y2=\"134\" />\n", | |
| " <line x1=\"115\" y1=\"14\" x2=\"115\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"117\" y1=\"14\" x2=\"117\" y2=\"134\" />\n", | |
| " <line x1=\"118\" y1=\"14\" x2=\"118\" y2=\"134\" />\n", | |
| " <line x1=\"119\" y1=\"14\" x2=\"119\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"121\" y1=\"14\" x2=\"121\" y2=\"134\" />\n", | |
| " <line x1=\"122\" y1=\"14\" x2=\"122\" y2=\"134\" />\n", | |
| " <line x1=\"123\" y1=\"14\" x2=\"123\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"125\" y1=\"14\" x2=\"125\" y2=\"134\" />\n", | |
| " <line x1=\"126\" y1=\"14\" x2=\"126\" y2=\"134\" />\n", | |
| " <line x1=\"127\" y1=\"14\" x2=\"127\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"129\" y1=\"14\" x2=\"129\" y2=\"134\" />\n", | |
| " <line x1=\"130\" y1=\"14\" x2=\"130\" y2=\"134\" />\n", | |
| " <line x1=\"131\" y1=\"14\" x2=\"131\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"133\" y1=\"14\" x2=\"133\" y2=\"134\" />\n", | |
| " <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" />\n", | |
| " <line x1=\"135\" y1=\"14\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"109.9485979497544,14.948597949754403 135.36121446433688,14.948597949754403 135.36121446433688,134.9485979497544 109.9485979497544,134.9485979497544\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"122.65490620704564\" y=\"154.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >70</text>\n", | |
| " <text x=\"155.36121446433688\" y=\"74.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,155.36121446433688,74.9485979497544)\">30731</text>\n", | |
| " <text x=\"92.4742989748772\" y=\"147.4742989748772\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,92.4742989748772,147.4742989748772)\">144</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>water_level</span></div><div class='xr-var-dims'>(time, step, node)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1, 72, 16000), meta=np.ndarray></div><input id='attrs-377fca45-ce14-4bbe-acff-4dedd489143f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-377fca45-ce14-4bbe-acff-4dedd489143f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e1dc442a-9299-4871-ac91-c9f4612cd031' class='xr-var-data-in' type='checkbox'><label for='data-e1dc442a-9299-4871-ac91-c9f4612cd031' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m</dd><dt><span>standard_name :</span></dt><dd>water_surface_height_above_reference_datum</dd><dt><span>valid_min :</span></dt><dd>-10.0</dd><dt><span>valid_max :</span></dt><dd>10.0</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 2.57 GiB </td>\n", | |
| " <td> 4.39 MiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (156, 144, 30731) </td>\n", | |
| " <td> (1, 72, 16000) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 624 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"194\" height=\"90\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"10\" y1=\"12\" x2=\"24\" y2=\"27\" />\n", | |
| " <line x1=\"10\" y1=\"25\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"26\" />\n", | |
| " <line x1=\"11\" y1=\"1\" x2=\"11\" y2=\"26\" />\n", | |
| " <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"27\" />\n", | |
| " <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"28\" />\n", | |
| " <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"29\" />\n", | |
| " <line x1=\"14\" y1=\"4\" x2=\"14\" y2=\"30\" />\n", | |
| " <line x1=\"15\" y1=\"5\" x2=\"15\" y2=\"30\" />\n", | |
| " <line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"31\" />\n", | |
| " <line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"32\" />\n", | |
| " <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"33\" />\n", | |
| " <line x1=\"18\" y1=\"8\" x2=\"18\" y2=\"34\" />\n", | |
| " <line x1=\"19\" y1=\"9\" x2=\"19\" y2=\"34\" />\n", | |
| " <line x1=\"20\" y1=\"10\" x2=\"20\" y2=\"35\" />\n", | |
| " <line x1=\"20\" y1=\"10\" x2=\"20\" y2=\"36\" />\n", | |
| " <line x1=\"21\" y1=\"11\" x2=\"21\" y2=\"37\" />\n", | |
| " <line x1=\"22\" y1=\"12\" x2=\"22\" y2=\"37\" />\n", | |
| " <line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"38\" />\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"39\" />\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"10.0,0.0 24.9485979497544,14.948597949754403 24.9485979497544,40.36121446433689 10.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"130\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"130\" y2=\"0\" />\n", | |
| " <line x1=\"11\" y1=\"1\" x2=\"131\" y2=\"1\" />\n", | |
| " <line x1=\"12\" y1=\"2\" x2=\"132\" y2=\"2\" />\n", | |
| " <line x1=\"13\" y1=\"3\" x2=\"133\" y2=\"3\" />\n", | |
| " <line x1=\"13\" y1=\"3\" x2=\"133\" y2=\"3\" />\n", | |
| " <line x1=\"14\" y1=\"4\" x2=\"134\" y2=\"4\" />\n", | |
| " <line x1=\"15\" y1=\"5\" x2=\"135\" y2=\"5\" />\n", | |
| " <line x1=\"16\" y1=\"6\" x2=\"136\" y2=\"6\" />\n", | |
| " <line x1=\"16\" y1=\"6\" x2=\"136\" y2=\"6\" />\n", | |
| " <line x1=\"17\" y1=\"7\" x2=\"137\" y2=\"7\" />\n", | |
| " <line x1=\"18\" y1=\"8\" x2=\"138\" y2=\"8\" />\n", | |
| " <line x1=\"19\" y1=\"9\" x2=\"139\" y2=\"9\" />\n", | |
| " <line x1=\"20\" y1=\"10\" x2=\"140\" y2=\"10\" />\n", | |
| " <line x1=\"20\" y1=\"10\" x2=\"140\" y2=\"10\" />\n", | |
| " <line x1=\"21\" y1=\"11\" x2=\"141\" y2=\"11\" />\n", | |
| " <line x1=\"22\" y1=\"12\" x2=\"142\" y2=\"12\" />\n", | |
| " <line x1=\"23\" y1=\"13\" x2=\"143\" y2=\"13\" />\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"144\" y2=\"14\" />\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"144\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"24\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"72\" y1=\"0\" x2=\"87\" y2=\"14\" />\n", | |
| " <line x1=\"130\" y1=\"0\" x2=\"144\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"10.0,0.0 130.0,0.0 144.9485979497544,14.948597949754403 24.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"144\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"24\" y1=\"27\" x2=\"144\" y2=\"27\" />\n", | |
| " <line x1=\"24\" y1=\"40\" x2=\"144\" y2=\"40\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"87\" y1=\"14\" x2=\"87\" y2=\"40\" />\n", | |
| " <line x1=\"144\" y1=\"14\" x2=\"144\" y2=\"40\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"24.9485979497544,14.948597949754403 144.9485979497544,14.948597949754403 144.9485979497544,40.36121446433689 24.9485979497544,40.36121446433689\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"84.9485979497544\" y=\"60.36121446433689\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >30731</text>\n", | |
| " <text x=\"164.9485979497544\" y=\"27.654906207045645\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,164.9485979497544,27.654906207045645)\">144</text>\n", | |
| " <text x=\"7.4742989748772\" y=\"52.88691548945969\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,7.4742989748772,52.88691548945969)\">156</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>v_velocity</span></div><div class='xr-var-dims'>(time, step, node, level)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray></div><input id='attrs-9b5c778c-df28-4faa-a909-a37206f109f3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9b5c778c-df28-4faa-a909-a37206f109f3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6a6a730c-5bbe-4756-abf4-7137b7f140a2' class='xr-var-data-in' type='checkbox'><label for='data-6a6a730c-5bbe-4756-abf4-7137b7f140a2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m s-1</dd><dt><span>standard_name :</span></dt><dd>northward_sea_water_velocity</dd><dt><span>valid_min :</span></dt><dd>-10.0</dd><dt><span>valid_max :</span></dt><dd>10.0</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 180.02 GiB </td>\n", | |
| " <td> 4.39 MiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (156, 144, 30731, 70) </td>\n", | |
| " <td> (1, 72, 16000, 1) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 43680 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"280\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" />\n", | |
| " <line x1=\"1\" y1=\"0\" x2=\"1\" y2=\"25\" />\n", | |
| " <line x1=\"2\" y1=\"0\" x2=\"2\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"25\" />\n", | |
| " <line x1=\"5\" y1=\"0\" x2=\"5\" y2=\"25\" />\n", | |
| " <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"8\" y1=\"0\" x2=\"8\" y2=\"25\" />\n", | |
| " <line x1=\"9\" y1=\"0\" x2=\"9\" y2=\"25\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n", | |
| " <line x1=\"13\" y1=\"0\" x2=\"13\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"15\" y1=\"0\" x2=\"15\" y2=\"25\" />\n", | |
| " <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"25\" />\n", | |
| " <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"25\" />\n", | |
| " <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"20\" y1=\"0\" x2=\"20\" y2=\"25\" />\n", | |
| " <line x1=\"21\" y1=\"0\" x2=\"21\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"23\" y1=\"0\" x2=\"23\" y2=\"25\" />\n", | |
| " <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n", | |
| " <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"12.706308257291242\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >156</text>\n", | |
| " <text x=\"45.41261651458248\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,45.41261651458248,12.706308257291242)\">1</text>\n", | |
| "\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"62\" x2=\"109\" y2=\"77\" />\n", | |
| " <line x1=\"95\" y1=\"120\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"95\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"102\" y2=\"127\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 109.9485979497544,14.948597949754403 109.9485979497544,134.9485979497544 95.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"127\" y2=\"7\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"110\" y2=\"14\" />\n", | |
| " <line x1=\"96\" y1=\"0\" x2=\"111\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"98\" y1=\"0\" x2=\"113\" y2=\"14\" />\n", | |
| " <line x1=\"99\" y1=\"0\" x2=\"114\" y2=\"14\" />\n", | |
| " <line x1=\"100\" y1=\"0\" x2=\"115\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"102\" y1=\"0\" x2=\"117\" y2=\"14\" />\n", | |
| " <line x1=\"103\" y1=\"0\" x2=\"118\" y2=\"14\" />\n", | |
| " <line x1=\"104\" y1=\"0\" x2=\"119\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"106\" y1=\"0\" x2=\"121\" y2=\"14\" />\n", | |
| " <line x1=\"107\" y1=\"0\" x2=\"122\" y2=\"14\" />\n", | |
| " <line x1=\"108\" y1=\"0\" x2=\"123\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"110\" y1=\"0\" x2=\"125\" y2=\"14\" />\n", | |
| " <line x1=\"111\" y1=\"0\" x2=\"126\" y2=\"14\" />\n", | |
| " <line x1=\"112\" y1=\"0\" x2=\"127\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"114\" y1=\"0\" x2=\"129\" y2=\"14\" />\n", | |
| " <line x1=\"115\" y1=\"0\" x2=\"130\" y2=\"14\" />\n", | |
| " <line x1=\"116\" y1=\"0\" x2=\"131\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"118\" y1=\"0\" x2=\"133\" y2=\"14\" />\n", | |
| " <line x1=\"119\" y1=\"0\" x2=\"134\" y2=\"14\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 120.41261651458248,0.0 135.36121446433688,14.948597949754403 109.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"109\" y1=\"77\" x2=\"135\" y2=\"77\" />\n", | |
| " <line x1=\"109\" y1=\"134\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"110\" y1=\"14\" x2=\"110\" y2=\"134\" />\n", | |
| " <line x1=\"111\" y1=\"14\" x2=\"111\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"113\" y1=\"14\" x2=\"113\" y2=\"134\" />\n", | |
| " <line x1=\"114\" y1=\"14\" x2=\"114\" y2=\"134\" />\n", | |
| " <line x1=\"115\" y1=\"14\" x2=\"115\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"117\" y1=\"14\" x2=\"117\" y2=\"134\" />\n", | |
| " <line x1=\"118\" y1=\"14\" x2=\"118\" y2=\"134\" />\n", | |
| " <line x1=\"119\" y1=\"14\" x2=\"119\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"121\" y1=\"14\" x2=\"121\" y2=\"134\" />\n", | |
| " <line x1=\"122\" y1=\"14\" x2=\"122\" y2=\"134\" />\n", | |
| " <line x1=\"123\" y1=\"14\" x2=\"123\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"125\" y1=\"14\" x2=\"125\" y2=\"134\" />\n", | |
| " <line x1=\"126\" y1=\"14\" x2=\"126\" y2=\"134\" />\n", | |
| " <line x1=\"127\" y1=\"14\" x2=\"127\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"129\" y1=\"14\" x2=\"129\" y2=\"134\" />\n", | |
| " <line x1=\"130\" y1=\"14\" x2=\"130\" y2=\"134\" />\n", | |
| " <line x1=\"131\" y1=\"14\" x2=\"131\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"133\" y1=\"14\" x2=\"133\" y2=\"134\" />\n", | |
| " <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" />\n", | |
| " <line x1=\"135\" y1=\"14\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"109.9485979497544,14.948597949754403 135.36121446433688,14.948597949754403 135.36121446433688,134.9485979497544 109.9485979497544,134.9485979497544\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"122.65490620704564\" y=\"154.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >70</text>\n", | |
| " <text x=\"155.36121446433688\" y=\"74.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,155.36121446433688,74.9485979497544)\">30731</text>\n", | |
| " <text x=\"92.4742989748772\" y=\"147.4742989748772\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,92.4742989748772,147.4742989748772)\">144</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>u_velocity</span></div><div class='xr-var-dims'>(time, step, node, level)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray></div><input id='attrs-e6633994-93e5-41e8-946f-78279d5e431a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e6633994-93e5-41e8-946f-78279d5e431a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-168eb743-8f62-4437-a6d6-8354e8215a2b' class='xr-var-data-in' type='checkbox'><label for='data-168eb743-8f62-4437-a6d6-8354e8215a2b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m s-1</dd><dt><span>standard_name :</span></dt><dd>eastward_sea_water_velocity</dd><dt><span>valid_min :</span></dt><dd>-10.0</dd><dt><span>valid_max :</span></dt><dd>10.0</dd></dl></div><div class='xr-var-data'><table>\n", | |
| " <tr>\n", | |
| " <td>\n", | |
| " <table style=\"border-collapse: collapse;\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <td> </td>\n", | |
| " <th> Array </th>\n", | |
| " <th> Chunk </th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Bytes </th>\n", | |
| " <td> 180.02 GiB </td>\n", | |
| " <td> 4.39 MiB </td>\n", | |
| " </tr>\n", | |
| " \n", | |
| " <tr>\n", | |
| " <th> Shape </th>\n", | |
| " <td> (156, 144, 30731, 70) </td>\n", | |
| " <td> (1, 72, 16000, 1) </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Dask graph </th>\n", | |
| " <td colspan=\"2\"> 43680 chunks in 2 graph layers </td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th> Data type </th>\n", | |
| " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| " </table>\n", | |
| " </td>\n", | |
| " <td>\n", | |
| " <svg width=\"280\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"25\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" />\n", | |
| " <line x1=\"1\" y1=\"0\" x2=\"1\" y2=\"25\" />\n", | |
| " <line x1=\"2\" y1=\"0\" x2=\"2\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n", | |
| " <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"25\" />\n", | |
| " <line x1=\"5\" y1=\"0\" x2=\"5\" y2=\"25\" />\n", | |
| " <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"25\" />\n", | |
| " <line x1=\"8\" y1=\"0\" x2=\"8\" y2=\"25\" />\n", | |
| " <line x1=\"9\" y1=\"0\" x2=\"9\" y2=\"25\" />\n", | |
| " <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"25\" />\n", | |
| " <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"25\" />\n", | |
| " <line x1=\"13\" y1=\"0\" x2=\"13\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"25\" />\n", | |
| " <line x1=\"15\" y1=\"0\" x2=\"15\" y2=\"25\" />\n", | |
| " <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"25\" />\n", | |
| " <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"25\" />\n", | |
| " <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"25\" />\n", | |
| " <line x1=\"20\" y1=\"0\" x2=\"20\" y2=\"25\" />\n", | |
| " <line x1=\"21\" y1=\"0\" x2=\"21\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"25\" />\n", | |
| " <line x1=\"23\" y1=\"0\" x2=\"23\" y2=\"25\" />\n", | |
| " <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n", | |
| " <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"12.706308257291242\" y=\"45.41261651458248\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >156</text>\n", | |
| " <text x=\"45.41261651458248\" y=\"12.706308257291242\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,45.41261651458248,12.706308257291242)\">1</text>\n", | |
| "\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"62\" x2=\"109\" y2=\"77\" />\n", | |
| " <line x1=\"95\" y1=\"120\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"95\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"102\" y2=\"127\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 109.9485979497544,14.948597949754403 109.9485979497544,134.9485979497544 95.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"102\" y1=\"7\" x2=\"127\" y2=\"7\" />\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"95\" y1=\"0\" x2=\"110\" y2=\"14\" />\n", | |
| " <line x1=\"96\" y1=\"0\" x2=\"111\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"97\" y1=\"0\" x2=\"112\" y2=\"14\" />\n", | |
| " <line x1=\"98\" y1=\"0\" x2=\"113\" y2=\"14\" />\n", | |
| " <line x1=\"99\" y1=\"0\" x2=\"114\" y2=\"14\" />\n", | |
| " <line x1=\"100\" y1=\"0\" x2=\"115\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n", | |
| " <line x1=\"102\" y1=\"0\" x2=\"117\" y2=\"14\" />\n", | |
| " <line x1=\"103\" y1=\"0\" x2=\"118\" y2=\"14\" />\n", | |
| " <line x1=\"104\" y1=\"0\" x2=\"119\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"105\" y1=\"0\" x2=\"120\" y2=\"14\" />\n", | |
| " <line x1=\"106\" y1=\"0\" x2=\"121\" y2=\"14\" />\n", | |
| " <line x1=\"107\" y1=\"0\" x2=\"122\" y2=\"14\" />\n", | |
| " <line x1=\"108\" y1=\"0\" x2=\"123\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"109\" y1=\"0\" x2=\"124\" y2=\"14\" />\n", | |
| " <line x1=\"110\" y1=\"0\" x2=\"125\" y2=\"14\" />\n", | |
| " <line x1=\"111\" y1=\"0\" x2=\"126\" y2=\"14\" />\n", | |
| " <line x1=\"112\" y1=\"0\" x2=\"127\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n", | |
| " <line x1=\"114\" y1=\"0\" x2=\"129\" y2=\"14\" />\n", | |
| " <line x1=\"115\" y1=\"0\" x2=\"130\" y2=\"14\" />\n", | |
| " <line x1=\"116\" y1=\"0\" x2=\"131\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"117\" y1=\"0\" x2=\"132\" y2=\"14\" />\n", | |
| " <line x1=\"118\" y1=\"0\" x2=\"133\" y2=\"14\" />\n", | |
| " <line x1=\"119\" y1=\"0\" x2=\"134\" y2=\"14\" />\n", | |
| " <line x1=\"120\" y1=\"0\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"95.0,0.0 120.41261651458248,0.0 135.36121446433688,14.948597949754403 109.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Horizontal lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"135\" y2=\"14\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"109\" y1=\"77\" x2=\"135\" y2=\"77\" />\n", | |
| " <line x1=\"109\" y1=\"134\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Vertical lines -->\n", | |
| " <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| " <line x1=\"110\" y1=\"14\" x2=\"110\" y2=\"134\" />\n", | |
| " <line x1=\"111\" y1=\"14\" x2=\"111\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"112\" y1=\"14\" x2=\"112\" y2=\"134\" />\n", | |
| " <line x1=\"113\" y1=\"14\" x2=\"113\" y2=\"134\" />\n", | |
| " <line x1=\"114\" y1=\"14\" x2=\"114\" y2=\"134\" />\n", | |
| " <line x1=\"115\" y1=\"14\" x2=\"115\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n", | |
| " <line x1=\"117\" y1=\"14\" x2=\"117\" y2=\"134\" />\n", | |
| " <line x1=\"118\" y1=\"14\" x2=\"118\" y2=\"134\" />\n", | |
| " <line x1=\"119\" y1=\"14\" x2=\"119\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"120\" y1=\"14\" x2=\"120\" y2=\"134\" />\n", | |
| " <line x1=\"121\" y1=\"14\" x2=\"121\" y2=\"134\" />\n", | |
| " <line x1=\"122\" y1=\"14\" x2=\"122\" y2=\"134\" />\n", | |
| " <line x1=\"123\" y1=\"14\" x2=\"123\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"124\" y1=\"14\" x2=\"124\" y2=\"134\" />\n", | |
| " <line x1=\"125\" y1=\"14\" x2=\"125\" y2=\"134\" />\n", | |
| " <line x1=\"126\" y1=\"14\" x2=\"126\" y2=\"134\" />\n", | |
| " <line x1=\"127\" y1=\"14\" x2=\"127\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n", | |
| " <line x1=\"129\" y1=\"14\" x2=\"129\" y2=\"134\" />\n", | |
| " <line x1=\"130\" y1=\"14\" x2=\"130\" y2=\"134\" />\n", | |
| " <line x1=\"131\" y1=\"14\" x2=\"131\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"132\" y1=\"14\" x2=\"132\" y2=\"134\" />\n", | |
| " <line x1=\"133\" y1=\"14\" x2=\"133\" y2=\"134\" />\n", | |
| " <line x1=\"134\" y1=\"14\" x2=\"134\" y2=\"134\" />\n", | |
| " <line x1=\"135\" y1=\"14\" x2=\"135\" y2=\"134\" style=\"stroke-width:2\" />\n", | |
| "\n", | |
| " <!-- Colored Rectangle -->\n", | |
| " <polygon points=\"109.9485979497544,14.948597949754403 135.36121446433688,14.948597949754403 135.36121446433688,134.9485979497544 109.9485979497544,134.9485979497544\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
| "\n", | |
| " <!-- Text -->\n", | |
| " <text x=\"122.65490620704564\" y=\"154.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >70</text>\n", | |
| " <text x=\"155.36121446433688\" y=\"74.9485979497544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,155.36121446433688,74.9485979497544)\">30731</text>\n", | |
| " <text x=\"92.4742989748772\" y=\"147.4742989748772\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,92.4742989748772,147.4742989748772)\">144</text>\n", | |
| "</svg>\n", | |
| " </td>\n", | |
| " </tr>\n", | |
| "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-5b0051b3-b996-4a33-913d-e834ec4bfd02' class='xr-section-summary-in' type='checkbox' /><label for='section-5b0051b3-b996-4a33-913d-e834ec4bfd02' class='xr-section-summary' title='Expand/collapse section'>Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>time<br>step<br>valid_time</div></div><div class='xr-index-preview'>ForecastIndex</div><input type='checkbox' disabled/><label></label><input id='index-82605264-d6a2-4f4d-98e4-d81dba190a7b' class='xr-index-data-in' type='checkbox'/><label for='index-82605264-d6a2-4f4d-98e4-d81dba190a7b' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre><ForecastIndex along [valid_time, time, step]></pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-f5db586f-0aaf-4822-8869-442493e81bb1' class='xr-section-summary-in' type='checkbox' checked /><label for='section-f5db586f-0aaf-4822-8869-442493e81bb1' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(7)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.4</dd><dt><span>title :</span></dt><dd>uae</dd><dt><span>history :</span></dt><dd>Fri Feb 20 16:50:09 2026: ncks -4 -L 5 -O -d time,0,143 --cnk_dmn=time,72 --cnk_dmn=node,16000 --cnk_dmn=level,1 --cnk_plc=all /work/cmcc/mh12621/protocoast/model_ouput/taranto/shyfem/forecast//20260220//taranto_nos.nc /work/cmcc/mh12621/protocoast/model_ouput/taranto/shyfem/forecast//20260220//taranto_nos_20260220_nc4.nc\n", | |
| "created on 2026-02-20 15:46:20 MET</dd><dt><span>institution :</span></dt><dd>Centro Euro-Mediterraneo sui Cambiamenti Climatici - CMCC, Italy</dd><dt><span>source :</span></dt><dd>Model data produced by SHYFEM-MPI at CMCC</dd><dt><span>references :</span></dt><dd>https://zenodo.org/record/5596734#.Y-YwpxPMLx8</dd><dt><span>NCO :</span></dt><dd>netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)</dd></dl></div></li></ul></div></div>" | |
| ], | |
| "text/plain": [ | |
| "<xarray.Dataset> Size: 776GB\n", | |
| "Dimensions: (time: 156, step: 144, node: 30731, level: 70,\n", | |
| " element: 58285, vertex: 3)\n", | |
| "Coordinates:\n", | |
| " * time (time) datetime64[ns] 1kB 2025-09-08 ... 2026-02-28\n", | |
| " * step (step) timedelta64[ns] 1kB 00:00:00 ... 5 days 23:00:00\n", | |
| " * valid_time (time, step) datetime64[ns] 180kB ...\n", | |
| " latitude (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " longitude (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " total_depth (node) float32 123kB dask.array<chunksize=(16000,), meta=np.ndarray>\n", | |
| " * level (level) float32 280B 2.0 4.0 6.0 ... 1.5e+03 2e+03 2.5e+03\n", | |
| " element_index (element, vertex) int32 699kB dask.array<chunksize=(58285, 3), meta=np.ndarray>\n", | |
| " topology int32 4B ...\n", | |
| "Dimensions without coordinates: node, element, vertex\n", | |
| "Data variables:\n", | |
| " salinity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " temperature (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " water_level (time, step, node) float32 3GB dask.array<chunksize=(1, 72, 16000), meta=np.ndarray>\n", | |
| " v_velocity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| " u_velocity (time, step, node, level) float32 193GB dask.array<chunksize=(1, 72, 16000, 1), meta=np.ndarray>\n", | |
| "Indexes:\n", | |
| " ┌ time ForecastIndex\n", | |
| " │ step\n", | |
| " └ valid_time\n", | |
| "Attributes:\n", | |
| " Conventions: CF-1.4\n", | |
| " title: uae\n", | |
| " history: Fri Feb 20 16:50:09 2026: ncks -4 -L 5 -O -d time,0,143 --c...\n", | |
| " institution: Centro Euro-Mediterraneo sui Cambiamenti Climatici - CMCC, ...\n", | |
| " source: Model data produced by SHYFEM-MPI at CMCC\n", | |
| " references: https://zenodo.org/record/5596734#.Y-YwpxPMLx8\n", | |
| " NCO: netCDF Operators version 5.0.6 (Homepage = http://nco.sf.ne..." | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ds_model" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "557fb2c1-4a0f-445b-8e41-a18bf8637dce", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Load OBS data from Copernicus" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "id": "49202780-666b-4e62-9485-ca19a999fd86", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import copernicusmarine\n", | |
| "import datetime\n", | |
| "import pandas as pd\n", | |
| "\n", | |
| "dataset_id = \"cmems_obs-ins_med_phybgcwav_mynrt_na_irr\"\n", | |
| "sta = 'Taranto1TG'\n", | |
| "var = 'SLEV'" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "id": "0df37434-66fe-4e81-b392-8bdb3c9b871e", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "def prepare_obs(obs_ds, obs_var):\n", | |
| " \"\"\"Load obs once, strip timezone, resample to hourly. Call this once before the loop.\"\"\"\n", | |
| " obs_ds['valid_time'] = obs_ds.indexes['valid_time'].tz_localize(None)\n", | |
| " observed = obs_ds[obs_var].load()\n", | |
| " obs_1h = observed.resample(valid_time='60min').mean()\n", | |
| " return obs_1h\n", | |
| "\n", | |
| "\n", | |
| "def get_hourly_timeseries(forecast_offset, ds_node, model_var, obs_1h, common_time=None):\n", | |
| " \"\"\"\n", | |
| " Select BestEstimate from pre-loaded single-node model data,\n", | |
| " reindex onto a complete hourly grid (filling gaps with NaN),\n", | |
| " and interpolate pre-prepared hourly obs onto the model time base.\n", | |
| " \n", | |
| " Returns aligned (modeled, observed) DataArrays on a regular hourly grid.\n", | |
| " Gaps in the BestEstimate output are filled with NaN so that\n", | |
| " low-pass filters produce NaN near gaps rather than averaging across them.\n", | |
| " \"\"\"\n", | |
| " ds_best = ds_node.sel(valid_time=BestEstimate(offset=forecast_offset))\n", | |
| "\n", | |
| " start_obs = obs_1h['valid_time'][0]\n", | |
| " stop_obs = obs_1h['valid_time'][-1]\n", | |
| "\n", | |
| " modeled = ds_best[model_var].sel(valid_time=slice(start_obs, stop_obs))\n", | |
| "\n", | |
| " if common_time is not None:\n", | |
| " modeled = modeled.sel(valid_time=common_time)\n", | |
| "\n", | |
| " # Reindex to a complete hourly grid so gaps become NaN\n", | |
| " full_hourly = pd.date_range(\n", | |
| " modeled.valid_time.values[0],\n", | |
| " modeled.valid_time.values[-1],\n", | |
| " freq='h'\n", | |
| " )\n", | |
| " modeled = modeled.reindex(valid_time=full_hourly)\n", | |
| "\n", | |
| " obs_aligned = obs_1h.interp_like(modeled)\n", | |
| "\n", | |
| " return modeled, obs_aligned\n", | |
| "\n", | |
| "\n", | |
| "def find_common_time_window(ds_node, model_var, obs_1h, offsets):\n", | |
| " \"\"\"\n", | |
| " Find the valid_time window common to ALL offsets, so that skill\n", | |
| " comparisons use the same period regardless of offset.\n", | |
| " \"\"\"\n", | |
| " latest_start = None\n", | |
| " earliest_stop = None\n", | |
| " for offset in offsets:\n", | |
| " mod, _ = get_hourly_timeseries(offset, ds_node, model_var, obs_1h)\n", | |
| " t0 = pd.Timestamp(mod.valid_time.values[0])\n", | |
| " t1 = pd.Timestamp(mod.valid_time.values[-1])\n", | |
| " latest_start = t0 if latest_start is None else max(latest_start, t0)\n", | |
| " earliest_stop = t1 if earliest_stop is None else min(earliest_stop, t1)\n", | |
| " print(f\"Common time window: {latest_start} to {earliest_stop}\")\n", | |
| " return slice(latest_start, earliest_stop)\n", | |
| "\n", | |
| "\n", | |
| "def find_common_valid_hours(ds_node, model_var, obs_1h, offsets, common_time):\n", | |
| " \"\"\"\n", | |
| " Find hours where ALL offsets have valid (non-NaN) model data,\n", | |
| " so that every offset is evaluated on exactly the same set of hours.\n", | |
| " \n", | |
| " Returns a boolean DataArray on the common hourly grid.\n", | |
| " \"\"\"\n", | |
| " valid_all = None\n", | |
| " for offset in offsets:\n", | |
| " mod, obs_al = get_hourly_timeseries(offset, ds_node, model_var, obs_1h, common_time=common_time)\n", | |
| " valid = ~np.isnan(mod.values) & ~np.isnan(obs_al.values)\n", | |
| " if valid_all is None:\n", | |
| " valid_all = valid\n", | |
| " time_index = mod.valid_time\n", | |
| " else:\n", | |
| " valid_all = valid_all & valid\n", | |
| " mask = xr.DataArray(valid_all, dims=['valid_time'], coords={'valid_time': time_index})\n", | |
| " n_valid = int(valid_all.sum())\n", | |
| " n_total = len(valid_all)\n", | |
| " print(f\"Common valid hours: {n_valid} of {n_total} ({100*n_valid/n_total:.1f}%)\")\n", | |
| " return mask" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "id": "xc01qlisd3", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "def demean(da):\n", | |
| " \"\"\"Remove the mean from a DataArray, ignoring NaNs.\"\"\"\n", | |
| " return da - da.mean(skipna=True)\n", | |
| "\n", | |
| "\n", | |
| "def low_pass_rolling(da, window=25):\n", | |
| " \"\"\"Apply a centered rolling-mean low-pass filter.\"\"\"\n", | |
| " return da.rolling(valid_time=window, center=True).mean()\n", | |
| "\n", | |
| "\n", | |
| "def godin_filter(da):\n", | |
| " \"\"\"\n", | |
| " Godin filter: triple running mean (24-24-25) that effectively removes\n", | |
| " both diurnal and semidiurnal tidal constituents.\n", | |
| " Requires hourly data.\n", | |
| " \"\"\"\n", | |
| " f1 = da.rolling(valid_time=24, center=True).mean()\n", | |
| " f2 = f1.rolling(valid_time=24, center=True).mean()\n", | |
| " f3 = f2.rolling(valid_time=25, center=True).mean()\n", | |
| " return f3\n", | |
| "\n", | |
| "\n", | |
| "def _valid_pair_mask(a, b):\n", | |
| " \"\"\"Boolean mask where both arrays have finite values.\"\"\"\n", | |
| " return ~np.isnan(np.asarray(a)) & ~np.isnan(np.asarray(b))\n", | |
| "\n", | |
| "\n", | |
| "# --- Skill metrics (all operate on demeaned, aligned arrays) ---\n", | |
| "\n", | |
| "def crms(da_mod, da_obs):\n", | |
| " \"\"\"Centered RMS difference (anomaly RMS).\"\"\"\n", | |
| " m = _valid_pair_mask(da_mod, da_obs)\n", | |
| " if not np.any(m):\n", | |
| " return np.nan\n", | |
| " mod = np.asarray(da_mod)[m]\n", | |
| " obs = np.asarray(da_obs)[m]\n", | |
| " diff = (mod - mod.mean()) - (obs - obs.mean())\n", | |
| " return float(np.sqrt(np.mean(diff**2)))\n", | |
| "\n", | |
| "\n", | |
| "def correlation(da_mod, da_obs):\n", | |
| " \"\"\"Pearson correlation coefficient.\"\"\"\n", | |
| " m = _valid_pair_mask(da_mod, da_obs)\n", | |
| " if np.sum(m) < 2:\n", | |
| " return np.nan\n", | |
| " return float(np.corrcoef(np.asarray(da_mod)[m], np.asarray(da_obs)[m])[0, 1])\n", | |
| "\n", | |
| "\n", | |
| "def rmse(da_mod, da_obs):\n", | |
| " \"\"\"Root-mean-square error (NaN-safe).\"\"\"\n", | |
| " m = _valid_pair_mask(da_mod, da_obs)\n", | |
| " if not np.any(m):\n", | |
| " return np.nan\n", | |
| " diff = np.asarray(da_mod)[m] - np.asarray(da_obs)[m]\n", | |
| " return float(np.sqrt(np.mean(diff**2)))\n", | |
| "\n", | |
| "\n", | |
| "def bias(da_mod, da_obs):\n", | |
| " \"\"\"Mean bias (model - obs), NaN-safe.\"\"\"\n", | |
| " m = _valid_pair_mask(da_mod, da_obs)\n", | |
| " if not np.any(m):\n", | |
| " return np.nan\n", | |
| " return float(np.mean(np.asarray(da_mod)[m] - np.asarray(da_obs)[m]))\n", | |
| "\n", | |
| "\n", | |
| "def skill_score(da_mod, da_obs):\n", | |
| " \"\"\"Murphy skill score: 1 - MSE/variance(obs). Perfect = 1.\"\"\"\n", | |
| " m = _valid_pair_mask(da_mod, da_obs)\n", | |
| " if np.sum(m) < 2:\n", | |
| " return np.nan\n", | |
| " mod = np.asarray(da_mod)[m]\n", | |
| " obs = np.asarray(da_obs)[m]\n", | |
| " mse = np.mean((mod - obs)**2)\n", | |
| " var_obs = np.var(obs)\n", | |
| " if var_obs == 0:\n", | |
| " return np.nan\n", | |
| " return float(1.0 - mse / var_obs)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "id": "fb1b22b4-0329-4a1a-b41f-9e07e79d0ec4", | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def copernicus_obs(dataset_id=None, sta=None, var=None, start_time=None, stop_time=None):\n", | |
| " df1= copernicusmarine.read_dataframe(\n", | |
| " dataset_id=dataset_id,\n", | |
| " dataset_part=\"monthly\",\n", | |
| " variables=[var],\n", | |
| " start_datetime=start_time,\n", | |
| " end_datetime=stop_time,\n", | |
| " platform_ids=[sta]\n", | |
| " )\n", | |
| " df2= copernicusmarine.read_dataframe(\n", | |
| " dataset_id=dataset_id,\n", | |
| " dataset_part=\"latest\",\n", | |
| " variables=[var],\n", | |
| " start_datetime=start_time,\n", | |
| " end_datetime=stop_time,\n", | |
| " platform_ids=[sta]\n", | |
| " )\n", | |
| " # the two dataframes overlap in time, so get rid of the duplicate rows\n", | |
| " cutoff_time = df1['time'].max()\n", | |
| " df2_new = df2[df2['time'] > cutoff_time]\n", | |
| " df = pd.concat([df1, df2_new], ignore_index=True)\n", | |
| "\n", | |
| " df['time'] = pd.to_datetime(df['time']) # ensure it's datetime64[ns]\n", | |
| " \n", | |
| " # Only a few columns vary with time, the rest of the columns should be attributes not data vars\n", | |
| " constant_cols = [col for col in df.columns if df[col].nunique() == 1]\n", | |
| " # -> ['longitude', 'latitude', 'sensor_id', 'unit']\n", | |
| " \n", | |
| " # The time-varying columns are everything else\n", | |
| " data_vars = [col for col in df.columns if col not in constant_cols]\n", | |
| "\n", | |
| " # Create a Dataset from the time-varying columns\n", | |
| " ds = df[data_vars].set_index('time').to_xarray()\n", | |
| "\n", | |
| " # Define the coordinates you want to pull out\n", | |
| " COORD_NAMES = ['longitude', 'latitude']\n", | |
| " \n", | |
| " # Extract the first value from the constant columns for coordinates\n", | |
| " coord_values = {name: df[name].iloc[0] for name in COORD_NAMES}\n", | |
| " \n", | |
| " # Extract variable name\n", | |
| " var = df['variable'].iloc[0]\n", | |
| " \n", | |
| " # Add them as single-valued coordinates to the Dataset\n", | |
| " ds = ds.assign_coords(**coord_values)\n", | |
| " ds = ds.rename({'value':var, 'time':'valid_time'}) \n", | |
| "\n", | |
| " return ds" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "id": "0336e668-3f51-4cd0-9aa1-15bac9809866", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "INFO - 2026-03-02T10:31:33Z - Selected dataset version: \"202311\"\n", | |
| "INFO - 2026-03-02T10:31:33Z - Selected dataset part: \"monthly\"\n", | |
| "Downloading files: 100%|██████████| 2/2 [00:00<00:00, 7.61it/s]\n", | |
| "INFO - 2026-03-02T10:31:35Z - Selected dataset version: \"202311\"\n", | |
| "INFO - 2026-03-02T10:31:35Z - Selected dataset part: \"latest\"\n", | |
| "WARNING - 2026-03-02T10:31:35Z - Some of your subset selection [2025-09-08 00:00:00+00:00, 2026-02-28 00:00:00+00:00] for the time dimension exceed the dataset coordinates [2026-01-31 00:00:00+00:00, 2026-03-02 07:14:00+00:00]\n", | |
| "Downloading files: 100%|██████████| 23/23 [00:00<00:00, 25.48it/s]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "model_start =pd.to_datetime(ds_model.time.values[0]).to_pydatetime()\n", | |
| "model_stop = pd.to_datetime(ds_model.time.values[-1]).to_pydatetime()\n", | |
| "\n", | |
| "ds_obs_full = copernicus_obs(dataset_id=dataset_id, sta=sta, var=var, start_time=model_start, stop_time=model_stop)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "id": "af2fd8b8-fc3a-4804-a37d-52212cb1de36", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": {}, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "application/vnd.holoviews_exec.v0+json": "", | |
| "text/html": [ | |
| "<div id='e0de1c6d-d37d-4858-ac3c-8999d00a5891'>\n", | |
| " <div id=\"e3308847-876c-47e6-b073-3f3a7ac66849\" data-root-id=\"e0de1c6d-d37d-4858-ac3c-8999d00a5891\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"6a7f8390-3f03-4739-a329-99142539f985\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"d9dc7b09-44b9-4ad1-bf76-36326ed7af81\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"b61608b9-30d4-469d-a729-1040e73d38dd\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"e0de1c6d-d37d-4858-ac3c-8999d00a5891\",\"attributes\":{\"name\":\"Row00278\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"167c4d4b-701e-4e87-b546-87ff829e8d9c\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"487f9ed9-163f-428f-8529-c86a5c54cad1\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"87387904-4991-4439-b011-96939bac39e1\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"81062b30-933b-41f1-a59b-3be6cb41ff1e\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/native.css\"}}],\"min_width\":700,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"4de0bc86-5334-488f-8c2d-806c05171f5e\",\"attributes\":{\"name\":\"HSpacer00282\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"167c4d4b-701e-4e87-b546-87ff829e8d9c\"},{\"id\":\"87387904-4991-4439-b011-96939bac39e1\"},{\"id\":\"81062b30-933b-41f1-a59b-3be6cb41ff1e\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"81bcca88-55d6-4a91-a5a7-fecbb44a68c7\",\"attributes\":{\"width\":700,\"height\":300,\"margin\":[5,10],\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"1c6b9d15-ec23-47f3-b6d4-44ce0aa60472\",\"attributes\":{\"name\":\"valid_time\",\"tags\":[[[\"valid_time\",null]],[]],\"start\":1757289600000.0,\"end\":1772236800000.0,\"reset_start\":1757289600000.0,\"reset_end\":1772236800000.0}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"64a175a7-ff45-4d22-b277-0705ae3543e3\",\"attributes\":{\"name\":\"SLEV\",\"tags\":[[[\"SLEV\",null]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":4.803,\"end\":5.727,\"reset_start\":4.803,\"reset_end\":5.727}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"5e50e941-7543-46c8-95b5-f4609e7efab2\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"5485b472-9563-48c9-8651-fc252523c5db\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"d2bf8819-5f28-4ea5-8b31-d4d48732b673\",\"attributes\":{\"text\":\"Station Taranto1TG\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"f7f8d591-e1e7-4421-8963-d968d5ff24ad\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"ca6ea2c1-a586-49d4-bde8-fc02d6183862\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"513bb41e-a247-4737-96d1-4402c5c4613e\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"7e82b022-8cc3-4e0d-9020-2c8e58462a39\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4066],\"dtype\":\"float64\",\"order\":\"little\"}],[\"SLEV\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4066],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"b1fb98a9-fc8b-4f0e-9419-bdf1f7f08341\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"cf09de6c-7a35-433a-9c11-b32bfc020745\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"8cb48e4f-6f48-4bef-8273-c157bf211338\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"1e4b876c-63dd-402c-a56f-256039dbe2aa\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"de41ec5c-5f2f-4f98-80c3-0b322d4a2049\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"cf98181b-5403-4f89-86b5-aa877575bd8d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"5e45abca-f5e9-4fdf-b52a-0304fd0c9561\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"cf6722a4-89ef-422d-b221-aed4cd3efdac\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"d724b79f-1d5d-4608-a5ba-2225a03b276f\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"f7f8d591-e1e7-4421-8963-d968d5ff24ad\"}],\"tooltips\":[[\"valid_time\",\"@{valid_time}{%F %T}\"],[\"SLEV\",\"@{SLEV}\"]],\"formatters\":{\"type\":\"map\",\"entries\":[[\"@{valid_time}\",\"datetime\"]]},\"sort_by\":null}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"eb4bdd4e-3298-46e9-a8c4-05607145f4fb\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"7fad7570-0c4a-4d63-bb07-aaad0b3a6725\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"1b603d14-a460-4b08-96b9-2a16f8ed92ec\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"8e268ece-d6b2-4f04-bad8-23a1b10ef0ad\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"0a5627d2-4a09-4fea-b854-abf55db33212\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"350ed19b-8851-4f17-b3b7-6b1ac117e3f6\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"0b769a0e-eb45-43ab-b31b-10fd56842f30\"}],\"active_drag\":{\"id\":\"7fad7570-0c4a-4d63-bb07-aaad0b3a6725\"},\"active_scroll\":{\"id\":\"cf6722a4-89ef-422d-b221-aed4cd3efdac\"}}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"a721f00e-708c-4375-8bdf-381b9f099357\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"88cb0117-ecac-4ffe-958a-b224bd59d1c6\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"68ceaa42-b489-4b78-a079-91207988e746\"},\"axis_label\":\"SLEV\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"68b5e079-4f88-4ef3-bd22-a129b54adcc0\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"DatetimeAxis\",\"id\":\"277ebccf-3a68-475b-b3d5-42072753d026\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"DatetimeTicker\",\"id\":\"69be2cea-58dc-430d-8393-9e7a5e7f1a59\",\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"b0aa1682-9d32-459b-be7c-c90bbeca76b1\",\"attributes\":{\"num_minor_ticks\":0,\"mantissas\":[1,2,5],\"max_interval\":500.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"ca499a66-d27c-46bb-95e0-48dccda183cc\",\"attributes\":{\"num_minor_ticks\":0,\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"min_interval\":1000.0,\"max_interval\":1800000.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"fda382dc-c1c6-4a4a-95cd-e5776fcdd39c\",\"attributes\":{\"num_minor_ticks\":0,\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"min_interval\":3600000.0,\"max_interval\":43200000.0}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"a9abe374-5b8f-4200-9d50-e8b45180b2d6\",\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"395bbc8d-7f7d-420d-a0a3-b0cda100dfbe\",\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"38e1d691-7cd7-4187-9974-9220e80439e8\",\"attributes\":{\"days\":[1,8,15,22]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"ba496a36-5dbc-49f6-ada1-fa0b40c5f273\",\"attributes\":{\"days\":[1,15]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"b97c6335-f7d4-48b8-a052-3d2b535c7f82\",\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"8b45b3b8-8d1c-4ffe-b18d-b4a93942c259\",\"attributes\":{\"months\":[0,2,4,6,8,10]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"19627a04-1673-40db-a2de-c7fef807c230\",\"attributes\":{\"months\":[0,4,8]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"1a998dd6-78e6-45a3-9d9c-a2c91564800b\",\"attributes\":{\"months\":[0,6]}},{\"type\":\"object\",\"name\":\"YearsTicker\",\"id\":\"ed3cca65-186e-4dad-9fc3-4fc36307080a\"}]}},\"formatter\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"59f3749e-d3ad-4ac6-a031-a6821acb9aa6\",\"attributes\":{\"seconds\":\"%T\",\"minsec\":\"%T\",\"minutes\":\"%H:%M\",\"hours\":\"%H:%M\",\"days\":\"%b %d\",\"months\":\"%b %Y\",\"strip_leading_zeros\":[\"microseconds\",\"milliseconds\",\"seconds\"],\"boundary_scaling\":false,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"64d361ba-413d-4752-8286-26ec3210b34c\",\"attributes\":{\"microseconds\":\"%T\",\"milliseconds\":\"%T\",\"seconds\":\"%b %d, %Y\",\"minsec\":\"%b %d, %Y\",\"minutes\":\"%b %d, %Y\",\"hourmin\":\"%b %d, %Y\",\"hours\":\"%b %d, %Y\",\"days\":\"%Y\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"1cf6bda4-8d68-4d9e-8ba4-bcb22677ae8a\",\"attributes\":{\"microseconds\":\"%b %d, %Y\",\"milliseconds\":\"%b %d, %Y\",\"seconds\":\"\",\"minsec\":\"\",\"minutes\":\"\",\"hourmin\":\"\",\"hours\":\"\",\"days\":\"\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true}},\"context_which\":\"all\"}},\"context_which\":\"all\"}},\"axis_label\":\"valid_time\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"e762613e-dff6-44a2-ae6c-2e8565044bf2\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"d755043d-9bef-4110-b6f7-b6459bd5b486\",\"attributes\":{\"axis\":{\"id\":\"277ebccf-3a68-475b-b3d5-42072753d026\"},\"ticker\":{\"id\":\"69be2cea-58dc-430d-8393-9e7a5e7f1a59\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"d2fe9dbb-fcc4-4179-b647-94f131dc55e8\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"a721f00e-708c-4375-8bdf-381b9f099357\"},\"ticker\":{\"id\":\"88cb0117-ecac-4ffe-958a-b224bd59d1c6\"}}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"cbad9ae1-85a6-423a-a17b-3b03eaa9679d\",\"attributes\":{\"name\":\"HSpacer00283\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"167c4d4b-701e-4e87-b546-87ff829e8d9c\"},{\"id\":\"87387904-4991-4439-b011-96939bac39e1\"},{\"id\":\"81062b30-933b-41f1-a59b-3be6cb41ff1e\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"6a7f8390-3f03-4739-a329-99142539f985\",\"roots\":{\"e0de1c6d-d37d-4858-ac3c-8999d00a5891\":\"e3308847-876c-47e6-b073-3f3a7ac66849\"},\"root_ids\":[\"e0de1c6d-d37d-4858-ac3c-8999d00a5891\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ], | |
| "text/plain": [ | |
| ":Curve [valid_time] (SLEV)" | |
| ] | |
| }, | |
| "execution_count": 17, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "e0de1c6d-d37d-4858-ac3c-8999d00a5891" | |
| } | |
| }, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ds_obs_full[var].hvplot(x='valid_time', grid=True, title=f'Station {sta}')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "id": "296ac0c0-1d34-4b7b-b228-3174a7f6e964", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# find the indices of the points in (x,y) closest to the points in (xi,yi)\n", | |
| "def nearxy(x,y,xi,yi):\n", | |
| " ind = np.ones(len(xi),dtype=int)\n", | |
| " for i in range(len(xi)):\n", | |
| " dist = np.sqrt((x-xi[i])**2+(y-yi[i])**2)\n", | |
| " ind[i] = dist.argmin()\n", | |
| " return ind" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "id": "40c5fc75-d840-4ffd-bd19-4dfaebaec839", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "lat = ds_obs_full['latitude'].values\n", | |
| "lon = ds_obs_full['longitude'].values" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "id": "c93024fc-f7e3-49c1-a33c-254807c97180", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "30098\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "model_node = nearxy(ds_model['latitude'].values,ds_model['longitude'].values,[lon], [lat])[0]\n", | |
| "print(model_node)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "id": "6c3390f7-b912-467b-8041-19ca26ee9df9", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", | |
| "<defs>\n", | |
| "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", | |
| "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", | |
| "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
| "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
| "</symbol>\n", | |
| "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", | |
| "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", | |
| "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
| "</symbol>\n", | |
| "</defs>\n", | |
| "</svg>\n", | |
| "<style>/* CSS stylesheet for displaying xarray objects in notebooks */\n", | |
| "\n", | |
| ":root {\n", | |
| " --xr-font-color0: var(\n", | |
| " --jp-content-font-color0,\n", | |
| " var(--pst-color-text-base rgba(0, 0, 0, 1))\n", | |
| " );\n", | |
| " --xr-font-color2: var(\n", | |
| " --jp-content-font-color2,\n", | |
| " var(--pst-color-text-base, rgba(0, 0, 0, 0.54))\n", | |
| " );\n", | |
| " --xr-font-color3: var(\n", | |
| " --jp-content-font-color3,\n", | |
| " var(--pst-color-text-base, rgba(0, 0, 0, 0.38))\n", | |
| " );\n", | |
| " --xr-border-color: var(\n", | |
| " --jp-border-color2,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 10))\n", | |
| " );\n", | |
| " --xr-disabled-color: var(\n", | |
| " --jp-layout-color3,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 40))\n", | |
| " );\n", | |
| " --xr-background-color: var(\n", | |
| " --jp-layout-color0,\n", | |
| " var(--pst-color-on-background, white)\n", | |
| " );\n", | |
| " --xr-background-color-row-even: var(\n", | |
| " --jp-layout-color1,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 5))\n", | |
| " );\n", | |
| " --xr-background-color-row-odd: var(\n", | |
| " --jp-layout-color2,\n", | |
| " hsl(from var(--pst-color-on-background, white) h s calc(l - 15))\n", | |
| " );\n", | |
| "}\n", | |
| "\n", | |
| "html[theme=\"dark\"],\n", | |
| "html[data-theme=\"dark\"],\n", | |
| "body[data-theme=\"dark\"],\n", | |
| "body.vscode-dark {\n", | |
| " --xr-font-color0: var(\n", | |
| " --jp-content-font-color0,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 1))\n", | |
| " );\n", | |
| " --xr-font-color2: var(\n", | |
| " --jp-content-font-color2,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 0.54))\n", | |
| " );\n", | |
| " --xr-font-color3: var(\n", | |
| " --jp-content-font-color3,\n", | |
| " var(--pst-color-text-base, rgba(255, 255, 255, 0.38))\n", | |
| " );\n", | |
| " --xr-border-color: var(\n", | |
| " --jp-border-color2,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))\n", | |
| " );\n", | |
| " --xr-disabled-color: var(\n", | |
| " --jp-layout-color3,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))\n", | |
| " );\n", | |
| " --xr-background-color: var(\n", | |
| " --jp-layout-color0,\n", | |
| " var(--pst-color-on-background, #111111)\n", | |
| " );\n", | |
| " --xr-background-color-row-even: var(\n", | |
| " --jp-layout-color1,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))\n", | |
| " );\n", | |
| " --xr-background-color-row-odd: var(\n", | |
| " --jp-layout-color2,\n", | |
| " hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))\n", | |
| " );\n", | |
| "}\n", | |
| "\n", | |
| ".xr-wrap {\n", | |
| " display: block !important;\n", | |
| " min-width: 300px;\n", | |
| " max-width: 700px;\n", | |
| " line-height: 1.6;\n", | |
| " padding-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-text-repr-fallback {\n", | |
| " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header {\n", | |
| " padding-top: 6px;\n", | |
| " padding-bottom: 6px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header {\n", | |
| " border-bottom: solid 1px var(--xr-border-color);\n", | |
| " margin-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-header > div,\n", | |
| ".xr-header > ul {\n", | |
| " display: inline;\n", | |
| " margin-top: 0;\n", | |
| " margin-bottom: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-obj-type,\n", | |
| ".xr-obj-name {\n", | |
| " margin-left: 2px;\n", | |
| " margin-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-obj-type,\n", | |
| ".xr-group-box-contents > label {\n", | |
| " color: var(--xr-font-color2);\n", | |
| " display: block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-sections {\n", | |
| " padding-left: 0 !important;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n", | |
| " margin-block-start: 0;\n", | |
| " margin-block-end: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input,\n", | |
| ".xr-group-box-contents > input,\n", | |
| ".xr-array-wrap > input {\n", | |
| " display: block;\n", | |
| " opacity: 0;\n", | |
| " height: 0;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input + label,\n", | |
| ".xr-var-item > input + label {\n", | |
| " color: var(--xr-disabled-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:enabled + label,\n", | |
| ".xr-var-item > input:enabled + label,\n", | |
| ".xr-array-wrap > input:enabled + label,\n", | |
| ".xr-group-box-contents > input:enabled + label {\n", | |
| " cursor: pointer;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:focus-visible + label,\n", | |
| ".xr-var-item > input:focus-visible + label,\n", | |
| ".xr-array-wrap > input:focus-visible + label,\n", | |
| ".xr-group-box-contents > input:focus-visible + label {\n", | |
| " outline: auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-item > input:enabled + label:hover,\n", | |
| ".xr-var-item > input:enabled + label:hover,\n", | |
| ".xr-array-wrap > input:enabled + label:hover,\n", | |
| ".xr-group-box-contents > input:enabled + label:hover {\n", | |
| " color: var(--xr-font-color0);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary {\n", | |
| " grid-column: 1;\n", | |
| " color: var(--xr-font-color2);\n", | |
| " font-weight: 500;\n", | |
| " white-space: nowrap;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary > em {\n", | |
| " font-weight: normal;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-span-grid {\n", | |
| " grid-column-end: -1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary > span {\n", | |
| " display: inline-block;\n", | |
| " padding-left: 0.3em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label > span {\n", | |
| " display: inline-block;\n", | |
| " padding-left: 0.6em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:disabled + label {\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in + label:before {\n", | |
| " display: inline-block;\n", | |
| " content: \"►\";\n", | |
| " font-size: 11px;\n", | |
| " width: 15px;\n", | |
| " text-align: center;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:disabled + label:before {\n", | |
| " color: var(--xr-disabled-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked + label:before {\n", | |
| " content: \"▼\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked + label > span {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary,\n", | |
| ".xr-section-inline-details,\n", | |
| ".xr-group-box-contents > label {\n", | |
| " padding-top: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-inline-details {\n", | |
| " grid-column: 2 / -1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-details {\n", | |
| " grid-column: 1 / -1;\n", | |
| " margin-top: 4px;\n", | |
| " margin-bottom: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in ~ .xr-section-details {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-section-summary-in:checked ~ .xr-section-details {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-children {\n", | |
| " display: inline-grid;\n", | |
| " grid-template-columns: 100%;\n", | |
| " grid-column: 1 / -1;\n", | |
| " padding-top: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box {\n", | |
| " display: inline-grid;\n", | |
| " grid-template-columns: 0px 30px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-vline {\n", | |
| " grid-column-start: 1;\n", | |
| " border-right: 0.2em solid;\n", | |
| " border-color: var(--xr-border-color);\n", | |
| " width: 0px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-hline {\n", | |
| " grid-column-start: 2;\n", | |
| " grid-row-start: 1;\n", | |
| " height: 1em;\n", | |
| " width: 26px;\n", | |
| " border-bottom: 0.2em solid;\n", | |
| " border-color: var(--xr-border-color);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents {\n", | |
| " grid-column-start: 3;\n", | |
| " padding-bottom: 4px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > label::before {\n", | |
| " content: \"📂\";\n", | |
| " padding-right: 0.3em;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label::before {\n", | |
| " content: \"📁\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked + label {\n", | |
| " padding-bottom: 0px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input:checked ~ .xr-sections {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-contents > input + label > span {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-group-box-ellipsis {\n", | |
| " font-size: 1.4em;\n", | |
| " font-weight: 900;\n", | |
| " color: var(--xr-font-color2);\n", | |
| " letter-spacing: 0.15em;\n", | |
| " cursor: default;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-wrap {\n", | |
| " grid-column: 1 / -1;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 20px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-wrap > label {\n", | |
| " grid-column: 1;\n", | |
| " vertical-align: top;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-preview {\n", | |
| " color: var(--xr-font-color3);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-preview,\n", | |
| ".xr-array-data {\n", | |
| " padding: 0 5px !important;\n", | |
| " grid-column: 2;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-data,\n", | |
| ".xr-array-in:checked ~ .xr-array-preview {\n", | |
| " display: none;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-array-in:checked ~ .xr-array-data,\n", | |
| ".xr-array-preview {\n", | |
| " display: inline-block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list {\n", | |
| " display: inline-block !important;\n", | |
| " list-style: none;\n", | |
| " padding: 0 !important;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list li {\n", | |
| " display: inline-block;\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list:before {\n", | |
| " content: \"(\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list:after {\n", | |
| " content: \")\";\n", | |
| "}\n", | |
| "\n", | |
| ".xr-dim-list li:not(:last-child):after {\n", | |
| " content: \",\";\n", | |
| " padding-right: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-has-index {\n", | |
| " font-weight: bold;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-list,\n", | |
| ".xr-var-item {\n", | |
| " display: contents;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-item > div,\n", | |
| ".xr-var-item label,\n", | |
| ".xr-var-item > .xr-var-name span {\n", | |
| " background-color: var(--xr-background-color-row-even);\n", | |
| " border-color: var(--xr-background-color-row-odd);\n", | |
| " margin-bottom: 0;\n", | |
| " padding-top: 2px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-item > .xr-var-name:hover span {\n", | |
| " padding-right: 5px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-list > li:nth-child(odd) > div,\n", | |
| ".xr-var-list > li:nth-child(odd) > label,\n", | |
| ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", | |
| " background-color: var(--xr-background-color-row-odd);\n", | |
| " border-color: var(--xr-background-color-row-even);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name {\n", | |
| " grid-column: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-dims {\n", | |
| " grid-column: 2;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-dtype {\n", | |
| " grid-column: 3;\n", | |
| " text-align: right;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-preview {\n", | |
| " grid-column: 4;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-index-preview {\n", | |
| " grid-column: 2 / 5;\n", | |
| " color: var(--xr-font-color2);\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name,\n", | |
| ".xr-var-dims,\n", | |
| ".xr-var-dtype,\n", | |
| ".xr-preview,\n", | |
| ".xr-attrs dt {\n", | |
| " white-space: nowrap;\n", | |
| " overflow: hidden;\n", | |
| " text-overflow: ellipsis;\n", | |
| " padding-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name:hover,\n", | |
| ".xr-var-dims:hover,\n", | |
| ".xr-var-dtype:hover,\n", | |
| ".xr-attrs dt:hover {\n", | |
| " overflow: visible;\n", | |
| " width: auto;\n", | |
| " z-index: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-data {\n", | |
| " display: none;\n", | |
| " border-top: 2px dotted var(--xr-background-color);\n", | |
| " padding-bottom: 20px !important;\n", | |
| " padding-top: 10px !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in + label,\n", | |
| ".xr-var-data-in + label,\n", | |
| ".xr-index-data-in + label {\n", | |
| " padding: 0 1px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", | |
| ".xr-var-data-in:checked ~ .xr-var-data,\n", | |
| ".xr-index-data-in:checked ~ .xr-index-data {\n", | |
| " display: block;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-data > table {\n", | |
| " float: right;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-data > pre,\n", | |
| ".xr-index-data > pre,\n", | |
| ".xr-var-data > table > tbody > tr {\n", | |
| " background-color: transparent !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-name span,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-name div,\n", | |
| ".xr-index-data,\n", | |
| ".xr-attrs {\n", | |
| " padding-left: 25px !important;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs,\n", | |
| ".xr-var-attrs,\n", | |
| ".xr-var-data,\n", | |
| ".xr-index-data {\n", | |
| " grid-column: 1 / -1;\n", | |
| "}\n", | |
| "\n", | |
| "dl.xr-attrs {\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| " display: grid;\n", | |
| " grid-template-columns: 125px auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt,\n", | |
| ".xr-attrs dd {\n", | |
| " padding: 0;\n", | |
| " margin: 0;\n", | |
| " float: left;\n", | |
| " padding-right: 10px;\n", | |
| " width: auto;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt {\n", | |
| " font-weight: normal;\n", | |
| " grid-column: 1;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dt:hover span {\n", | |
| " display: inline-block;\n", | |
| " background: var(--xr-background-color);\n", | |
| " padding-right: 10px;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-attrs dd {\n", | |
| " grid-column: 2;\n", | |
| " white-space: pre-wrap;\n", | |
| " word-break: break-all;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-icon-database,\n", | |
| ".xr-icon-file-text2,\n", | |
| ".xr-no-icon {\n", | |
| " display: inline-block;\n", | |
| " vertical-align: middle;\n", | |
| " width: 1em;\n", | |
| " height: 1.5em !important;\n", | |
| " stroke-width: 0;\n", | |
| " stroke: currentColor;\n", | |
| " fill: currentColor;\n", | |
| "}\n", | |
| "\n", | |
| ".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n", | |
| ".xr-var-data-in:checked + label > .xr-icon-database,\n", | |
| ".xr-index-data-in:checked + label > .xr-icon-database {\n", | |
| " color: var(--xr-font-color0);\n", | |
| " filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n", | |
| " stroke-width: 0.8px;\n", | |
| "}\n", | |
| "</style><pre class='xr-text-repr-fallback'><xarray.Dataset> Size: 98kB\n", | |
| "Dimensions: (valid_time: 4066)\n", | |
| "Coordinates:\n", | |
| " * valid_time (valid_time) datetime64[ns, UTC] 33kB 2025-09-08 00:00:00+00:...\n", | |
| " longitude float64 8B 17.22\n", | |
| " latitude float64 8B 40.48\n", | |
| "Data variables:\n", | |
| " pressure (valid_time) object 33kB None None None None ... None None None\n", | |
| " SLEV (valid_time) float64 33kB 5.16 5.22 5.26 5.26 ... 5.06 5.09 5.12</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-38bab09e-6ff0-48ad-9d28-edd3d663092f' class='xr-section-summary-in' type='checkbox' disabled /><label for='section-38bab09e-6ff0-48ad-9d28-edd3d663092f' class='xr-section-summary'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>valid_time</span>: 4066</li></ul></div></li><li class='xr-section-item'><input id='section-09380374-9032-466c-bc38-30959cad5431' class='xr-section-summary-in' type='checkbox' checked /><label for='section-09380374-9032-466c-bc38-30959cad5431' class='xr-section-summary' title='Expand/collapse section'>Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>valid_time</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>datetime64[ns, UTC]</div><div class='xr-var-preview xr-preview'>2025-09-08 00:00:00+00:00 ... 20...</div><input id='attrs-b59cb279-4288-4e94-921e-72b21c91b688' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b59cb279-4288-4e94-921e-72b21c91b688' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e8423e60-bc42-484e-855c-47ce96d268e2' class='xr-var-data-in' type='checkbox'><label for='data-e8423e60-bc42-484e-855c-47ce96d268e2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre><DatetimeArray>\n", | |
| "['2025-09-08 00:00:00+00:00', '2025-09-08 01:00:00+00:00',\n", | |
| " '2025-09-08 02:00:00+00:00', '2025-09-08 03:00:00+00:00',\n", | |
| " '2025-09-08 04:00:00+00:00', '2025-09-08 05:00:00+00:00',\n", | |
| " '2025-09-08 06:00:00+00:00', '2025-09-08 07:00:00+00:00',\n", | |
| " '2025-09-08 08:00:00+00:00', '2025-09-08 09:00:00+00:00',\n", | |
| " ...\n", | |
| " '2026-02-27 15:00:00+00:00', '2026-02-27 16:00:00+00:00',\n", | |
| " '2026-02-27 17:00:00+00:00', '2026-02-27 18:00:00+00:00',\n", | |
| " '2026-02-27 19:00:00+00:00', '2026-02-27 20:00:00+00:00',\n", | |
| " '2026-02-27 21:00:00+00:00', '2026-02-27 22:00:00+00:00',\n", | |
| " '2026-02-27 23:00:00+00:00', '2026-02-28 00:00:00+00:00']\n", | |
| "Length: 4066, dtype: datetime64[ns, UTC]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>17.22</div><input id='attrs-4978a183-0da3-46d1-8c3b-00578cd9cacb' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4978a183-0da3-46d1-8c3b-00578cd9cacb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-53afa9cd-4faf-4e50-b15e-0b59c5c2222b' class='xr-var-data-in' type='checkbox'><label for='data-53afa9cd-4faf-4e50-b15e-0b59c5c2222b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(17.2214)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>40.48</div><input id='attrs-0399ff36-7801-46ab-b607-927f4b4b1b26' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-0399ff36-7801-46ab-b607-927f4b4b1b26' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ea6bdc47-c21b-426c-b716-09a9fe2e77b0' class='xr-var-data-in' type='checkbox'><label for='data-ea6bdc47-c21b-426c-b716-09a9fe2e77b0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(40.4759)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-eca2828d-087c-4b8b-b395-eef0634b9d21' class='xr-section-summary-in' type='checkbox' checked /><label for='section-eca2828d-087c-4b8b-b395-eef0634b9d21' class='xr-section-summary' title='Expand/collapse section'>Data variables: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>pressure</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>None None None ... None None None</div><input id='attrs-e29bf6c2-061b-4143-991d-4d7e21bd4236' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e29bf6c2-061b-4143-991d-4d7e21bd4236' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-31e3f36b-e589-4ee2-b535-d27607b8ce48' class='xr-var-data-in' type='checkbox'><label for='data-31e3f36b-e589-4ee2-b535-d27607b8ce48' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([None, None, None, ..., None, None, None],\n", | |
| " shape=(4066,), dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>SLEV</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>5.16 5.22 5.26 ... 5.06 5.09 5.12</div><input id='attrs-bf9c91fe-a008-4444-a3dc-11c650cc2c1a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-bf9c91fe-a008-4444-a3dc-11c650cc2c1a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fab2f516-5507-4682-afb9-091094fa4592' class='xr-var-data-in' type='checkbox'><label for='data-fab2f516-5507-4682-afb9-091094fa4592' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([5.16, 5.22, 5.26, ..., 5.06, 5.09, 5.12], shape=(4066,))</pre></div></li></ul></div></li></ul></div></div>" | |
| ], | |
| "text/plain": [ | |
| "<xarray.Dataset> Size: 98kB\n", | |
| "Dimensions: (valid_time: 4066)\n", | |
| "Coordinates:\n", | |
| " * valid_time (valid_time) datetime64[ns, UTC] 33kB 2025-09-08 00:00:00+00:...\n", | |
| " longitude float64 8B 17.22\n", | |
| " latitude float64 8B 40.48\n", | |
| "Data variables:\n", | |
| " pressure (valid_time) object 33kB None None None None ... None None None\n", | |
| " SLEV (valid_time) float64 33kB 5.16 5.22 5.26 5.26 ... 5.06 5.09 5.12" | |
| ] | |
| }, | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ds_obs_full" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "id": "j3u28x0a2d", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Model node data loaded: 88 KB\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# Prepare hourly obs once (load, tz-strip, resample) — reused for every offset\n", | |
| "obs_1h = prepare_obs(ds_obs_full, 'SLEV')\n", | |
| "\n", | |
| "# Load model data at this node once from the cloud — (143 times x 144 steps) ≈ 80KB\n", | |
| "ds_node = ds_model[['water_level']].isel(node=model_node).load()\n", | |
| "print(f\"Model node data loaded: {ds_node['water_level'].nbytes / 1024:.0f} KB\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "id": "01f8f08d-5582-4d54-a97b-804be5c8d10b", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Hourly CRMS: 0.0508 m\n", | |
| "Low-pass CRMS: 0.0477 m\n", | |
| "Hourly corr: 0.9144\n", | |
| "Low-pass corr: 0.9045\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "mod_1h, obs_1h_aligned = get_hourly_timeseries(7, ds_node, 'water_level', obs_1h)\n", | |
| "\n", | |
| "# Demean\n", | |
| "mod_dm = demean(mod_1h)\n", | |
| "obs_dm = demean(obs_1h_aligned)\n", | |
| "\n", | |
| "# Low-pass filtered versions\n", | |
| "mod_lp = low_pass_rolling(mod_dm)\n", | |
| "obs_lp = low_pass_rolling(obs_dm)\n", | |
| "\n", | |
| "print(f\"Hourly CRMS: {crms(mod_dm, obs_dm):.4f} m\")\n", | |
| "print(f\"Low-pass CRMS: {crms(mod_lp, obs_lp):.4f} m\")\n", | |
| "print(f\"Hourly corr: {correlation(mod_dm, obs_dm):.4f}\")\n", | |
| "print(f\"Low-pass corr: {correlation(mod_lp, obs_lp):.4f}\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "ceju4om7pl6", | |
| "metadata": {}, | |
| "source": [ | |
| "### Verify BestEstimate behavior\n", | |
| "Compare model time series at different offsets. Where two offsets select the same model run for a given valid_time, values should be identical. Where they pull from different runs, they diverge." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 24, | |
| "id": "5w16ecvv06l", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": {}, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "application/vnd.holoviews_exec.v0+json": "", | |
| "text/html": [ | |
| "<div id='01370693-9440-43a4-b127-3f177a5fcce6'>\n", | |
| " <div id=\"fda9816e-be50-4ce5-9312-32a96d5ade6f\" data-root-id=\"01370693-9440-43a4-b127-3f177a5fcce6\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"5a3cea07-fcfe-48d5-93a1-568791ea44c7\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"682e98a9-7a53-4e84-8ca6-3a89edec8f9e\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"7ac251b0-430c-446e-8d7f-cfa8d4c47b1b\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"01370693-9440-43a4-b127-3f177a5fcce6\",\"attributes\":{\"name\":\"Row00489\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"f0ed7565-363a-4b5b-bad1-3b5b491db7e3\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"b0dbf19b-3d2a-4d73-a9a7-4445358a9c0d\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"74d757a7-be07-413c-b02d-dedb34d8635e\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"9afd2a80-2b91-4b3b-9158-47e02e19ad91\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/native.css\"}}],\"min_width\":900,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"67dea2da-e1a5-4456-b356-b964a7cd802a\",\"attributes\":{\"name\":\"HSpacer00493\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"f0ed7565-363a-4b5b-bad1-3b5b491db7e3\"},{\"id\":\"74d757a7-be07-413c-b02d-dedb34d8635e\"},{\"id\":\"9afd2a80-2b91-4b3b-9158-47e02e19ad91\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"a2fd57f7-5632-427c-95a5-832ec9b9bb2e\",\"attributes\":{\"width\":900,\"height\":400,\"margin\":[5,10],\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"c6477051-0808-4e12-bf49-c58183fbd6d2\",\"attributes\":{\"name\":\"valid_time\",\"tags\":[[[\"valid_time\",null]],[]],\"start\":1757289600000.0,\"end\":1772236800000.0,\"reset_start\":1757289600000.0,\"reset_end\":1772236800000.0}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"42a7d71f-1a7e-466b-b296-8b89fec5713b\",\"attributes\":{\"name\":\"water_level\",\"tags\":[[[\"water_level\",\"m\"]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":-0.35241531655192376,\"end\":0.4978731133043766,\"reset_start\":-0.35241531655192376,\"reset_end\":0.4978731133043766}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"aa663672-fb0a-444e-a256-8efb08514702\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"9523ae54-d5dd-497e-a80e-52735fccec58\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"38f8f812-485b-4e95-9eb3-0c579fcedeef\",\"attributes\":{\"text\":\"BestEstimate at different offsets\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"dc1de9d5-f7cb-4b02-96cf-3346b25c9011\",\"attributes\":{\"name\":\"offset=0h\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"5a449ba3-9883-46a4-995f-c202f8d1d8b5\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"2771479d-d781-415e-91de-41f5219591d9\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"3e6d7117-9905-4d1b-9e2d-2445a97b01f7\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4153],\"dtype\":\"float64\",\"order\":\"little\"}],[\"water_level\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4153],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"6e66a304-d078-4518-a574-c252373e7835\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"0352b0f2-825e-44a4-b175-5a33d7697f81\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"4c1252da-0d4a-4c7b-b6c7-760f9dffa6c3\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"69bbba60-8b04-467f-9788-507798e82350\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"40cbafa3-14d2-4b71-a9f8-d121dc1dc692\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"c3e666d8-4d0f-4588-a1a5-d504a29d7db1\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"32067f88-b48b-436a-891a-4c1b38acaa27\",\"attributes\":{\"name\":\"offset=6h\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"570c4552-3bf8-461c-8338-44eaa64e24f7\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"61cfe460-9c36-4952-a4db-0f1427af67ce\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"9f3d77b6-659e-4abc-9773-302df1fae9cd\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4147],\"dtype\":\"float64\",\"order\":\"little\"}],[\"water_level\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4147],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"70bbd655-86b5-472c-8902-68cc4bdcd620\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"b8149490-327a-4c5b-a986-9d142ef95328\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"647cee69-d76c-419e-9aa2-546c4fcc72fe\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"0ad3918b-d6e4-4e44-8158-d55cbca70582\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"0b839f08-05cc-4704-a3d2-948332f75a67\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"90faba41-f02e-404e-bf57-d55df846b344\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"917fdd0d-8227-494c-8e99-a8870bb7102a\",\"attributes\":{\"name\":\"offset=24h\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"082bcfe1-34de-4a9d-81e0-a5a7ff0628d1\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"995d590a-0c4c-40e5-a757-68eab3331ff8\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"7089a124-2858-4a58-8009-5af44aed999b\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4129],\"dtype\":\"float64\",\"order\":\"little\"}],[\"water_level\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4129],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"57a6e3b9-fe14-44e5-a5aa-b8e1806ca7e7\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"cfe7d1ea-c756-47c6-97e4-d3eed74d83d6\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"82b03a92-b2e2-412a-8620-8bc4d70f48b7\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"668ce3bd-79f1-4600-abb3-cf119dc4b64b\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"ac2969f7-3abf-4dc9-b3e8-a8d255b33774\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"a2bd81dc-6b4c-4843-980f-d414ab53892d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"e098197d-46a2-4e89-adc7-747333f4d807\",\"attributes\":{\"name\":\"offset=48h\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"56c29ec5-f989-41e3-af0a-7d6c49633bd2\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"a9c9cd9c-ee84-4ec1-9788-4cb1b8aa94fb\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"022b8880-9461-4645-bded-c2f4aa6b3f33\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4105],\"dtype\":\"float64\",\"order\":\"little\"}],[\"water_level\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4105],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"c3a938b8-8d4c-4990-aa8a-0840a5a707d3\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"788aaf24-5f89-43f1-9843-93cedc1101bd\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"acc34667-c646-497e-8e5a-3ed53a26a349\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#6d904f\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"b65159eb-a135-4f83-8186-4d4534225198\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#6d904f\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"2e7cace2-a422-421a-a905-bf9d4edb74f9\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#6d904f\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"7b9a5859-c65e-41fa-b95d-61f8a2b8482d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#6d904f\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"57ef54a1-dff8-4c1c-9af3-c0973a5765af\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"17259ec7-7bdd-4696-af0e-4c2a4b82e71e\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"07cf0db6-876e-4368-8054-49e864424d62\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"dc1de9d5-f7cb-4b02-96cf-3346b25c9011\"},{\"id\":\"32067f88-b48b-436a-891a-4c1b38acaa27\"},{\"id\":\"917fdd0d-8227-494c-8e99-a8870bb7102a\"},{\"id\":\"e098197d-46a2-4e89-adc7-747333f4d807\"}],\"tooltips\":[[\"valid_time\",\"@{valid_time}{%F %T}\"],[\"water_level (m)\",\"@{water_level}\"]],\"formatters\":{\"type\":\"map\",\"entries\":[[\"@{valid_time}\",\"datetime\"]]},\"sort_by\":null}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"93413c76-98a8-4504-b03e-2111db61871d\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"53e9cc5c-2470-4dc6-aad3-7a411b9e1775\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"e4d27f90-0772-4924-91e3-23bafcc1cfa7\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"e59aa5f6-8029-4ad3-b9de-2138409079b2\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"d4813b3b-b5c5-4ee1-9b38-614cd99e0228\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"fcec6bdf-5241-4016-8079-defc1cfec4a4\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"4a1f06ea-d0c0-4446-8c05-87e24f36b2ad\"}],\"active_drag\":{\"id\":\"53e9cc5c-2470-4dc6-aad3-7a411b9e1775\"},\"active_scroll\":{\"id\":\"17259ec7-7bdd-4696-af0e-4c2a4b82e71e\"}}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"7feb5a48-fa3d-43ee-ac5e-4e9e40e90fa4\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"e7710aa9-94ae-41b4-b29c-6f53ead4e138\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"e287cd09-c265-4058-9e29-75cff38ee6c0\"},\"axis_label\":\"water_level (m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"a74bccf6-1912-4269-8c8d-d2cd73376016\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"DatetimeAxis\",\"id\":\"79074411-8850-4f13-b9cb-604037ec9283\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"DatetimeTicker\",\"id\":\"c807e2ae-468f-48a0-8ce5-8c9982f5760d\",\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"18839a3f-3f59-4af6-90dc-c09f0f391e7c\",\"attributes\":{\"num_minor_ticks\":0,\"mantissas\":[1,2,5],\"max_interval\":500.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"70b65e62-41fe-4d71-9e17-920fe8b11644\",\"attributes\":{\"num_minor_ticks\":0,\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"min_interval\":1000.0,\"max_interval\":1800000.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"bfbebd45-6ad6-4af2-9048-6819f9147d61\",\"attributes\":{\"num_minor_ticks\":0,\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"min_interval\":3600000.0,\"max_interval\":43200000.0}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"37262a5a-a7fb-4cf8-89f3-0e7a6cdc5d39\",\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"cf411237-ab6a-46f2-aa83-f03cf24dd757\",\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"64b25214-b284-484e-9daa-12c1735aa990\",\"attributes\":{\"days\":[1,8,15,22]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"551c1501-f9c1-4450-9c2f-20b616ebcd51\",\"attributes\":{\"days\":[1,15]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"05d57722-ce76-49c9-96ba-afb8266c8be7\",\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"23f43567-bee0-4c80-9ac3-3babb22b1438\",\"attributes\":{\"months\":[0,2,4,6,8,10]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"0a1a6472-e13e-4833-9926-d63c8fac9ae3\",\"attributes\":{\"months\":[0,4,8]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"c2581a5d-4cd0-4217-a55e-aca7dc2d5ecf\",\"attributes\":{\"months\":[0,6]}},{\"type\":\"object\",\"name\":\"YearsTicker\",\"id\":\"c383030e-035a-44fb-8e5b-538a94229bb0\"}]}},\"formatter\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"ad549af2-c2d3-4c36-9caa-d927a5183424\",\"attributes\":{\"seconds\":\"%T\",\"minsec\":\"%T\",\"minutes\":\"%H:%M\",\"hours\":\"%H:%M\",\"days\":\"%b %d\",\"months\":\"%b %Y\",\"strip_leading_zeros\":[\"microseconds\",\"milliseconds\",\"seconds\"],\"boundary_scaling\":false,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"09b8f05f-cfb1-47c0-bf22-22faf94b1bfe\",\"attributes\":{\"microseconds\":\"%T\",\"milliseconds\":\"%T\",\"seconds\":\"%b %d, %Y\",\"minsec\":\"%b %d, %Y\",\"minutes\":\"%b %d, %Y\",\"hourmin\":\"%b %d, %Y\",\"hours\":\"%b %d, %Y\",\"days\":\"%Y\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"41dd2294-784b-4d09-a59c-4bf8647a1750\",\"attributes\":{\"microseconds\":\"%b %d, %Y\",\"milliseconds\":\"%b %d, %Y\",\"seconds\":\"\",\"minsec\":\"\",\"minutes\":\"\",\"hourmin\":\"\",\"hours\":\"\",\"days\":\"\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true}},\"context_which\":\"all\"}},\"context_which\":\"all\"}},\"axis_label\":\"valid_time\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"49e79f1d-ba8d-4392-b790-747336487259\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"507cafbc-8fae-4f79-80e5-44b6d0f1592c\",\"attributes\":{\"axis\":{\"id\":\"79074411-8850-4f13-b9cb-604037ec9283\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"aa8e2382-e82d-4f81-8917-ddcd269a1afd\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"7feb5a48-fa3d-43ee-ac5e-4e9e40e90fa4\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"6f6ee81b-64ff-4221-a10d-6329a38fbfa9\",\"attributes\":{\"location\":\"top_left\",\"click_policy\":\"mute\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"1cbfbfe3-995d-4819-b353-943a4a3cf2af\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"offset=0h\"},\"renderers\":[{\"id\":\"dc1de9d5-f7cb-4b02-96cf-3346b25c9011\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"9f2ac0c6-ac76-4904-aedb-d080a2da8d15\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"offset=6h\"},\"renderers\":[{\"id\":\"32067f88-b48b-436a-891a-4c1b38acaa27\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"71ab10da-b235-4ca8-9ff6-b73555f7c57b\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"offset=24h\"},\"renderers\":[{\"id\":\"917fdd0d-8227-494c-8e99-a8870bb7102a\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"64f724d1-7ac8-459e-942e-e022d86036c4\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"offset=48h\"},\"renderers\":[{\"id\":\"e098197d-46a2-4e89-adc7-747333f4d807\"}]}}]}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"214f9cfd-5753-478f-8ac5-1090945eabc5\",\"attributes\":{\"name\":\"HSpacer00494\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"f0ed7565-363a-4b5b-bad1-3b5b491db7e3\"},{\"id\":\"74d757a7-be07-413c-b02d-dedb34d8635e\"},{\"id\":\"9afd2a80-2b91-4b3b-9158-47e02e19ad91\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"5a3cea07-fcfe-48d5-93a1-568791ea44c7\",\"roots\":{\"01370693-9440-43a4-b127-3f177a5fcce6\":\"fda9816e-be50-4ce5-9312-32a96d5ade6f\"},\"root_ids\":[\"01370693-9440-43a4-b127-3f177a5fcce6\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ], | |
| "text/plain": [ | |
| ":Overlay\n", | |
| " .Curve.Offset_equals_0h :Curve [valid_time] (water_level)\n", | |
| " .Curve.Offset_equals_6h :Curve [valid_time] (water_level)\n", | |
| " .Curve.Offset_equals_24h :Curve [valid_time] (water_level)\n", | |
| " .Curve.Offset_equals_48h :Curve [valid_time] (water_level)" | |
| ] | |
| }, | |
| "execution_count": 24, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "01370693-9440-43a4-b127-3f177a5fcce6" | |
| } | |
| }, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "offsets_to_check = [0, 6, 24, 48]\n", | |
| "curves = []\n", | |
| "for off in offsets_to_check:\n", | |
| " mod, _ = get_hourly_timeseries(off, ds_node, 'water_level', obs_1h)\n", | |
| " curves.append(demean(mod).hvplot(x='valid_time', label=f'offset={off}h'))\n", | |
| "\n", | |
| "overlay = curves[0]\n", | |
| "for c in curves[1:]:\n", | |
| " overlay = overlay * c\n", | |
| "overlay.opts(legend_position='top_left', title='BestEstimate at different offsets', width=900, height=400)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "id": "wxsg5lmw8zn", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "offset= 0h: step range = [0, 143]h, mean step = 17.2h, unique steps = 144, n_times = 4248\n", | |
| "offset= 24h: step range = [24, 143]h, mean step = 39.9h, unique steps = 120, n_times = 4200\n", | |
| "offset= 48h: step range = [48, 143]h, mean step = 62.8h, unique steps = 96, n_times = 4152\n", | |
| "offset= 96h: step range = [96, 143]h, mean step = 109.2h, unique steps = 48, n_times = 4032\n", | |
| "offset=119h: step range = [119, 143]h, mean step = 130.5h, unique steps = 25, n_times = 3756\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# Diagnostic: what time/step does BestEstimate actually select at each offset?\n", | |
| "for off in [0, 24, 48, 96, 119]:\n", | |
| " ds_best = ds_node.sel(valid_time=BestEstimate(offset=off))\n", | |
| " steps_h = ds_best.step.values / np.timedelta64(1, 'h')\n", | |
| " print(f\"offset={off:3d}h: step range = [{steps_h.min():.0f}, {steps_h.max():.0f}]h, \"\n", | |
| " f\"mean step = {steps_h.mean():.1f}h, \"\n", | |
| " f\"unique steps = {len(np.unique(steps_h))}, \"\n", | |
| " f\"n_times = {len(ds_best.valid_time)}\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "id": "6dad2d60-6890-4020-8642-96c8b253ed84", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "modeled_plot = mod_lp.hvplot(x='valid_time', grid=True, title=f'Taranto Water Level (low-pass): CRMS={crms(mod_lp, obs_lp):.3f} m').relabel('modeled')\n", | |
| "observed_plot = obs_lp.hvplot(x='valid_time').relabel('observed')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "id": "1bc3a80e-7479-467e-90d0-375a33d0c120", | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": {}, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "application/vnd.holoviews_exec.v0+json": "", | |
| "text/html": [ | |
| "<div id='0d5385d8-de04-4886-899d-b20d88c5d5b8'>\n", | |
| " <div id=\"a143aca4-3641-4a91-9f3b-4b739d74ee5d\" data-root-id=\"0d5385d8-de04-4886-899d-b20d88c5d5b8\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"05b24b04-5460-4366-90e9-9e11b29f9db2\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"eb666af5-0087-4455-832a-fa421304f8b0\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"2636a53a-9484-45a1-b137-9fdc904e17dd\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"0d5385d8-de04-4886-899d-b20d88c5d5b8\",\"attributes\":{\"name\":\"Row00624\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"11c0ba69-4786-4ea5-8ecd-9675aed8ff6d\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"998ad0b2-3f2e-4239-8466-ef4093614591\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"2e575cba-c44b-439b-92c3-bcf65d9fd21a\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"15ee0f4f-0f03-4985-a1d0-772b7eb45b7f\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/native.css\"}}],\"min_width\":700,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"cbdeae5d-5cbc-413c-aa6c-708623ddec09\",\"attributes\":{\"name\":\"HSpacer00628\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"11c0ba69-4786-4ea5-8ecd-9675aed8ff6d\"},{\"id\":\"2e575cba-c44b-439b-92c3-bcf65d9fd21a\"},{\"id\":\"15ee0f4f-0f03-4985-a1d0-772b7eb45b7f\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"bb6a36d9-b81a-4f74-b216-213f3c24fbe1\",\"attributes\":{\"width\":700,\"height\":300,\"margin\":[5,10],\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"8c2e3b39-d200-4009-85b5-9d1a573f784f\",\"attributes\":{\"name\":\"valid_time\",\"tags\":[[[\"valid_time\",null]],[]],\"start\":1757314800000.0,\"end\":1772236800000.0,\"reset_start\":1757314800000.0,\"reset_end\":1772236800000.0}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"05666d0a-6bd7-43b9-ad18-7422957f01c0\",\"attributes\":{\"name\":\"water_level\",\"tags\":[[[\"water_level\",\"m\"]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":-0.29015446169007514,\"end\":0.3847255383099249,\"reset_start\":-0.29015446169007514,\"reset_end\":0.3847255383099249}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"c703419c-11d2-4c52-93a1-13c2f3876727\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"8933ca8d-d96a-4024-8522-03080449e64a\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"7a6b9db0-9493-4910-87d3-9a41d9260e60\",\"attributes\":{\"text\":\"Taranto Water Level (low-pass): CRMS=0.048 m\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"d40ef19d-1b92-4696-97f0-7e1222ccff77\",\"attributes\":{\"name\":\"modeled\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"18a00885-6d35-4163-be68-4e7fbf9042d0\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"f9ed4da5-ffd7-46bf-baff-8673735d1202\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"a758382a-19e9-45ea-be91-7539415f7230\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4146],\"dtype\":\"float64\",\"order\":\"little\"}],[\"water_level\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4146],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"00c94996-b6f4-4a60-9aba-6ccd7aaf3d9e\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"23a3f1fe-d3f8-440e-b547-1bc2ecf6d95e\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"c1b7e5ea-36dc-4567-97d6-73930269236e\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"5491f61d-7906-4703-907e-f324cf3395fa\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"adefbf69-cb74-40af-9a26-f89ea1eb858d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"1a56a1ca-6685-428b-a285-3fecdab99ca9\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"water_level\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"ddc88185-f204-4bb0-ab48-adac4739597a\",\"attributes\":{\"name\":\"observed\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"e0bf9a27-8e60-48c0-be06-e4f695d6839c\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"83ca9814-a25c-4d61-a73e-f27f7c6d5374\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"73ccdf57-3a89-4ecc-bf29-be2a5a7cb77f\"},\"data\":{\"type\":\"map\",\"entries\":[[\"valid_time\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4146],\"dtype\":\"float64\",\"order\":\"little\"}],[\"SLEV\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[4146],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"d5ccb9be-ff67-4196-9110-2a392cf1c638\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"d4e00a09-ace7-46e1-b412-c3c401324046\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"f1f5d102-6c42-457a-8c28-0a79060b083f\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"a8a6b6d2-15ba-4c7e-aa6e-be7a00ff481a\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"3b5d7721-a6d3-4840-8632-d33d6ae2486d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"80d3fa71-eb68-4f39-9191-57d7faf3d387\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"valid_time\"},\"y\":{\"type\":\"field\",\"field\":\"SLEV\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"4718ed88-e4f9-48c8-baa7-90eba16a8b09\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"a287092a-dbf0-46e7-97d1-dccd56053c09\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"e01a7778-41df-47ca-8de4-bc736282e52e\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"d40ef19d-1b92-4696-97f0-7e1222ccff77\"}],\"tooltips\":[[\"valid_time\",\"@{valid_time}{%F %T}\"],[\"water_level (m)\",\"@{water_level}\"]],\"formatters\":{\"type\":\"map\",\"entries\":[[\"@{valid_time}\",\"datetime\"]]},\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"b507cd92-3857-495b-9e27-e852d6db85b2\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"ddc88185-f204-4bb0-ab48-adac4739597a\"}],\"tooltips\":[[\"valid_time\",\"@{valid_time}{%F %T}\"],[\"SLEV\",\"@{SLEV}\"]],\"formatters\":{\"type\":\"map\",\"entries\":[[\"@{valid_time}\",\"datetime\"]]},\"sort_by\":null}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"5489c59d-f012-46b5-99ee-89ce54444114\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"3bcfda8e-cbbf-4132-8780-427fbb2bf82c\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"14248da0-e0bc-4f94-98ec-10416f6c9892\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"58d88037-6860-44fa-a1e1-479609384d8a\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"9c4011e0-2dc7-47e6-8182-edede7576544\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"3bdfcb33-b29d-4738-99de-62267998a0d8\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"fc4a1962-beb8-452e-929a-a6be5a39e100\"}],\"active_drag\":{\"id\":\"3bcfda8e-cbbf-4132-8780-427fbb2bf82c\"},\"active_scroll\":{\"id\":\"a287092a-dbf0-46e7-97d1-dccd56053c09\"}}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"f702cb21-2bb1-4928-bbf9-3733e4ef9644\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"7a261497-35d9-4b61-a9b4-f849f36b6db1\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"3ab8f030-9ced-4b22-9e07-388a21cd685e\"},\"axis_label\":\"water_level (m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"0f579dd5-d485-484a-98c0-a7699551f8ae\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"DatetimeAxis\",\"id\":\"9f14bff6-21d4-4f6b-bc26-850a78fee12c\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"DatetimeTicker\",\"id\":\"2b167c2f-a682-4494-9c4d-92190236b80f\",\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"a54f4637-d384-4bad-aa00-e494f9a841bc\",\"attributes\":{\"num_minor_ticks\":0,\"mantissas\":[1,2,5],\"max_interval\":500.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"04d2b680-9971-4b9f-8e89-696e2aea667f\",\"attributes\":{\"num_minor_ticks\":0,\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"min_interval\":1000.0,\"max_interval\":1800000.0}},{\"type\":\"object\",\"name\":\"AdaptiveTicker\",\"id\":\"109f1480-7372-4efd-a9c1-45e65806bdeb\",\"attributes\":{\"num_minor_ticks\":0,\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"min_interval\":3600000.0,\"max_interval\":43200000.0}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"463b12e8-47fa-4bac-b531-e16ab90c9145\",\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"f2aabc77-5ac7-4e99-9a22-9152d2b0db0b\",\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"60968b70-5740-4b1b-a071-85f60ca6b8b8\",\"attributes\":{\"days\":[1,8,15,22]}},{\"type\":\"object\",\"name\":\"DaysTicker\",\"id\":\"d22b1643-d06a-479c-828a-42d88d40be39\",\"attributes\":{\"days\":[1,15]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"ed8d7da2-f8d6-4559-8936-131b7598ea69\",\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"99088c23-9dea-4246-8287-123df1e871fb\",\"attributes\":{\"months\":[0,2,4,6,8,10]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"79018e11-1ebb-40bb-bfe3-aa8d7e908d6d\",\"attributes\":{\"months\":[0,4,8]}},{\"type\":\"object\",\"name\":\"MonthsTicker\",\"id\":\"26a46d6c-c0c7-4665-a246-22991a56590c\",\"attributes\":{\"months\":[0,6]}},{\"type\":\"object\",\"name\":\"YearsTicker\",\"id\":\"38740492-f7ef-43d2-a3a1-bd3bfa9c20a9\"}]}},\"formatter\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"0ebb5ed0-4a3d-41c7-b70b-7af962884e5b\",\"attributes\":{\"seconds\":\"%T\",\"minsec\":\"%T\",\"minutes\":\"%H:%M\",\"hours\":\"%H:%M\",\"days\":\"%b %d\",\"months\":\"%b %Y\",\"strip_leading_zeros\":[\"microseconds\",\"milliseconds\",\"seconds\"],\"boundary_scaling\":false,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"10c9c627-14ce-4c4f-a4f7-c9799f3dbd9d\",\"attributes\":{\"microseconds\":\"%T\",\"milliseconds\":\"%T\",\"seconds\":\"%b %d, %Y\",\"minsec\":\"%b %d, %Y\",\"minutes\":\"%b %d, %Y\",\"hourmin\":\"%b %d, %Y\",\"hours\":\"%b %d, %Y\",\"days\":\"%Y\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true,\"context\":{\"type\":\"object\",\"name\":\"DatetimeTickFormatter\",\"id\":\"496403a2-9a61-4a0a-8af2-312c89b62ce6\",\"attributes\":{\"microseconds\":\"%b %d, %Y\",\"milliseconds\":\"%b %d, %Y\",\"seconds\":\"\",\"minsec\":\"\",\"minutes\":\"\",\"hourmin\":\"\",\"hours\":\"\",\"days\":\"\",\"months\":\"\",\"years\":\"\",\"boundary_scaling\":false,\"hide_repeats\":true}},\"context_which\":\"all\"}},\"context_which\":\"all\"}},\"axis_label\":\"valid_time\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"82f20530-524e-4dc2-8bb9-cf4497bb154e\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"fe803519-5c89-4372-a4bd-36c56eb47624\",\"attributes\":{\"axis\":{\"id\":\"9f14bff6-21d4-4f6b-bc26-850a78fee12c\"},\"ticker\":{\"id\":\"2b167c2f-a682-4494-9c4d-92190236b80f\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"c9c32fb0-f3e3-4cdd-8105-2bbe4c91c746\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"f702cb21-2bb1-4928-bbf9-3733e4ef9644\"},\"ticker\":{\"id\":\"7a261497-35d9-4b61-a9b4-f849f36b6db1\"}}},{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"884232ac-f484-4bb1-b42a-9d61ae20bc96\",\"attributes\":{\"location\":\"top_left\",\"click_policy\":\"mute\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"f883928b-f228-41f6-8fd2-3e607dd517bc\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"modeled\"},\"renderers\":[{\"id\":\"d40ef19d-1b92-4696-97f0-7e1222ccff77\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"7816c936-0750-4799-92f9-273d4ec54e30\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"observed\"},\"renderers\":[{\"id\":\"ddc88185-f204-4bb0-ab48-adac4739597a\"}]}}]}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"d560a797-2621-4c3f-9960-1af5063622d1\",\"attributes\":{\"name\":\"HSpacer00629\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"11c0ba69-4786-4ea5-8ecd-9675aed8ff6d\"},{\"id\":\"2e575cba-c44b-439b-92c3-bcf65d9fd21a\"},{\"id\":\"15ee0f4f-0f03-4985-a1d0-772b7eb45b7f\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"05b24b04-5460-4366-90e9-9e11b29f9db2\",\"roots\":{\"0d5385d8-de04-4886-899d-b20d88c5d5b8\":\"a143aca4-3641-4a91-9f3b-4b739d74ee5d\"},\"root_ids\":[\"0d5385d8-de04-4886-899d-b20d88c5d5b8\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ], | |
| "text/plain": [ | |
| ":Overlay\n", | |
| " .Curve.Modeled :Curve [valid_time] (water_level)\n", | |
| " .Curve.Observed :Curve [valid_time] (SLEV)" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "0d5385d8-de04-4886-899d-b20d88c5d5b8" | |
| } | |
| }, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "(modeled_plot * observed_plot).opts(legend_position='top_left')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "id": "a92a276c-29c3-4f8d-9323-ffa530dca83c", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Forecast length: 143h, cadence: 24h → max offset: 119h\n", | |
| "Common time window: 2025-09-12 23:00:00 to 2026-02-28 00:00:00\n", | |
| "Common valid hours: 3536 of 4034 (87.7%)\n", | |
| "Done — 120 offsets (0–119h) computed\n", | |
| "CPU times: user 2.58 s, sys: 5.34 ms, total: 2.58 s\n", | |
| "Wall time: 2.58 s\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>offset_hours</th>\n", | |
| " <th>CRMS</th>\n", | |
| " <th>lp_CRMS</th>\n", | |
| " <th>godin_CRMS</th>\n", | |
| " <th>correlation</th>\n", | |
| " <th>lp_correlation</th>\n", | |
| " <th>godin_correlation</th>\n", | |
| " <th>RMSE</th>\n", | |
| " <th>lp_RMSE</th>\n", | |
| " <th>godin_RMSE</th>\n", | |
| " <th>n_points</th>\n", | |
| " <th>n_points_lp</th>\n", | |
| " <th>n_points_godin</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>0</td>\n", | |
| " <td>0.050928</td>\n", | |
| " <td>0.048804</td>\n", | |
| " <td>0.048365</td>\n", | |
| " <td>0.911706</td>\n", | |
| " <td>0.893965</td>\n", | |
| " <td>0.876105</td>\n", | |
| " <td>0.050928</td>\n", | |
| " <td>0.048814</td>\n", | |
| " <td>0.048366</td>\n", | |
| " <td>3536</td>\n", | |
| " <td>3121</td>\n", | |
| " <td>2516</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>1</td>\n", | |
| " <td>0.050869</td>\n", | |
| " <td>0.048820</td>\n", | |
| " <td>0.048387</td>\n", | |
| " <td>0.911970</td>\n", | |
| " <td>0.894241</td>\n", | |
| " <td>0.876481</td>\n", | |
| " <td>0.050869</td>\n", | |
| " <td>0.048830</td>\n", | |
| " <td>0.048388</td>\n", | |
| " <td>3536</td>\n", | |
| " <td>3121</td>\n", | |
| " <td>2516</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2</td>\n", | |
| " <td>0.050890</td>\n", | |
| " <td>0.048845</td>\n", | |
| " <td>0.048424</td>\n", | |
| " <td>0.911900</td>\n", | |
| " <td>0.894152</td>\n", | |
| " <td>0.876332</td>\n", | |
| " <td>0.050890</td>\n", | |
| " <td>0.048855</td>\n", | |
| " <td>0.048426</td>\n", | |
| " <td>3536</td>\n", | |
| " <td>3121</td>\n", | |
| " <td>2516</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>3</td>\n", | |
| " <td>0.050901</td>\n", | |
| " <td>0.048850</td>\n", | |
| " <td>0.048439</td>\n", | |
| " <td>0.911854</td>\n", | |
| " <td>0.894151</td>\n", | |
| " <td>0.876295</td>\n", | |
| " <td>0.050901</td>\n", | |
| " <td>0.048860</td>\n", | |
| " <td>0.048442</td>\n", | |
| " <td>3536</td>\n", | |
| " <td>3121</td>\n", | |
| " <td>2516</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>4</td>\n", | |
| " <td>0.050925</td>\n", | |
| " <td>0.048868</td>\n", | |
| " <td>0.048470</td>\n", | |
| " <td>0.911766</td>\n", | |
| " <td>0.894084</td>\n", | |
| " <td>0.876173</td>\n", | |
| " <td>0.050925</td>\n", | |
| " <td>0.048879</td>\n", | |
| " <td>0.048472</td>\n", | |
| " <td>3536</td>\n", | |
| " <td>3121</td>\n", | |
| " <td>2516</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " offset_hours CRMS lp_CRMS godin_CRMS correlation lp_correlation \\\n", | |
| "0 0 0.050928 0.048804 0.048365 0.911706 0.893965 \n", | |
| "1 1 0.050869 0.048820 0.048387 0.911970 0.894241 \n", | |
| "2 2 0.050890 0.048845 0.048424 0.911900 0.894152 \n", | |
| "3 3 0.050901 0.048850 0.048439 0.911854 0.894151 \n", | |
| "4 4 0.050925 0.048868 0.048470 0.911766 0.894084 \n", | |
| "\n", | |
| " godin_correlation RMSE lp_RMSE godin_RMSE n_points n_points_lp \\\n", | |
| "0 0.876105 0.050928 0.048814 0.048366 3536 3121 \n", | |
| "1 0.876481 0.050869 0.048830 0.048388 3536 3121 \n", | |
| "2 0.876332 0.050890 0.048855 0.048426 3536 3121 \n", | |
| "3 0.876295 0.050901 0.048860 0.048442 3536 3121 \n", | |
| "4 0.876173 0.050925 0.048879 0.048472 3536 3121 \n", | |
| "\n", | |
| " n_points_godin \n", | |
| "0 2516 \n", | |
| "1 2516 \n", | |
| "2 2516 \n", | |
| "3 2516 \n", | |
| "4 2516 " | |
| ] | |
| }, | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "%%time\n", | |
| "# ### 3. Run the Analysis for a Range of Offsets\n", | |
| "# All data is in memory — no cloud access in this loop.\n", | |
| "# Use a common time window so all offsets are compared over the same period.\n", | |
| "# Use a common valid-hour mask so all offsets are evaluated on exactly the\n", | |
| "# same set of hours (gap hours masked as NaN for every offset).\n", | |
| "\n", | |
| "# Derive offset range from the dataset\n", | |
| "steps_hours = ds_node.step.values / np.timedelta64(1, 'h')\n", | |
| "max_step = int(steps_hours.max())\n", | |
| "\n", | |
| "ref_times = pd.DatetimeIndex(ds_node.time.values)\n", | |
| "forecast_cadence = int((ref_times[1] - ref_times[0]) / pd.Timedelta('1h'))\n", | |
| "\n", | |
| "max_offset = max_step - forecast_cadence\n", | |
| "print(f\"Forecast length: {max_step}h, cadence: {forecast_cadence}h → max offset: {max_offset}h\")\n", | |
| "\n", | |
| "forecast_offsets = range(0, max_offset + 1)\n", | |
| "\n", | |
| "common_time = find_common_time_window(ds_node, 'water_level', obs_1h, forecast_offsets)\n", | |
| "\n", | |
| "# Find hours where ALL offsets have valid model + obs data\n", | |
| "valid_mask = find_common_valid_hours(ds_node, 'water_level', obs_1h, forecast_offsets, common_time)\n", | |
| "\n", | |
| "results = []\n", | |
| "for offset in forecast_offsets:\n", | |
| " mod_1h, obs_1h_aligned = get_hourly_timeseries(offset, ds_node, 'water_level', obs_1h, common_time=common_time)\n", | |
| "\n", | |
| " # Apply common mask: NaN out any hour that is missing for ANY offset\n", | |
| " mod_masked = mod_1h.where(valid_mask)\n", | |
| " obs_masked = obs_1h_aligned.where(valid_mask)\n", | |
| "\n", | |
| " mod_dm = demean(mod_masked)\n", | |
| " obs_dm = demean(obs_masked)\n", | |
| "\n", | |
| " # Simple 25h rolling mean\n", | |
| " mod_lp = low_pass_rolling(mod_dm)\n", | |
| " obs_lp = low_pass_rolling(obs_dm)\n", | |
| "\n", | |
| " # Godin filter (better tidal removal)\n", | |
| " mod_godin = godin_filter(mod_dm)\n", | |
| " obs_godin = godin_filter(obs_dm)\n", | |
| "\n", | |
| " m = _valid_pair_mask(mod_dm, obs_dm)\n", | |
| " m_lp = _valid_pair_mask(mod_lp, obs_lp)\n", | |
| " m_godin = _valid_pair_mask(mod_godin, obs_godin)\n", | |
| " results.append({\n", | |
| " 'offset_hours': offset,\n", | |
| " 'CRMS': crms(mod_dm, obs_dm),\n", | |
| " 'lp_CRMS': crms(mod_lp, obs_lp),\n", | |
| " 'godin_CRMS': crms(mod_godin, obs_godin),\n", | |
| " 'correlation': correlation(mod_dm, obs_dm),\n", | |
| " 'lp_correlation': correlation(mod_lp, obs_lp),\n", | |
| " 'godin_correlation': correlation(mod_godin, obs_godin),\n", | |
| " 'RMSE': rmse(mod_dm, obs_dm),\n", | |
| " 'lp_RMSE': rmse(mod_lp, obs_lp),\n", | |
| " 'godin_RMSE': rmse(mod_godin, obs_godin),\n", | |
| " 'n_points': int(np.sum(m)),\n", | |
| " 'n_points_lp': int(np.sum(m_lp)),\n", | |
| " 'n_points_godin': int(np.sum(m_godin)),\n", | |
| " })\n", | |
| "\n", | |
| "results_df = pd.DataFrame(results)\n", | |
| "print(f\"Done — {len(results_df)} offsets (0–{max_offset}h) computed\")\n", | |
| "results_df.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "id": "28b984c6-f64f-4e4e-a085-3f43342f18de", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": {}, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "application/vnd.holoviews_exec.v0+json": "", | |
| "text/html": [ | |
| "<div id='eb18a192-a291-40c8-ae4b-24a473c3f5c9'>\n", | |
| " <div id=\"b9de657e-b4d7-4c71-aa13-c82c0e162914\" data-root-id=\"eb18a192-a291-40c8-ae4b-24a473c3f5c9\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"2e4ad6e4-bbb2-44e6-8360-421e3c5910f2\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"e7e73ad3-0dc8-4cda-91ff-6fa48fb65b5b\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"1eaf9c1b-b1d2-4963-9675-0f22d3147a89\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"eb18a192-a291-40c8-ae4b-24a473c3f5c9\",\"attributes\":{\"name\":\"Row00704\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"658f1692-d921-4ebc-a94d-3bc3cf6875c8\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"de1ee849-5308-45a3-9778-6ee4d9b0b6ef\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"50b618c6-676e-47a6-a266-8f2af3a091e7\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"fbd90c10-fb9b-482e-bf81-a4c16c6b58e8\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/native.css\"}}],\"min_width\":700,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"7e75dfef-02f4-4a32-9d2c-3cdc1de789bb\",\"attributes\":{\"name\":\"HSpacer00708\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"658f1692-d921-4ebc-a94d-3bc3cf6875c8\"},{\"id\":\"50b618c6-676e-47a6-a266-8f2af3a091e7\"},{\"id\":\"fbd90c10-fb9b-482e-bf81-a4c16c6b58e8\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"78dfc8b2-4437-4451-9472-60a647bc86f5\",\"attributes\":{\"width\":700,\"height\":350,\"margin\":[5,10],\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"2814a9ea-3175-478a-89a6-aa84368e0410\",\"attributes\":{\"name\":\"offset_hours\",\"tags\":[[[\"offset_hours\",null]],[]],\"end\":119.0,\"reset_start\":0.0,\"reset_end\":119.0}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"d60abdea-c786-4f72-9097-da78c2ca4d42\",\"attributes\":{\"name\":\"n_points\",\"tags\":[[[\"value\",null]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":2414.0,\"end\":3638.0,\"reset_start\":2414.0,\"reset_end\":3638.0}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"e3ed99e6-4753-4127-a67f-b189d313d306\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"28cc3efe-e161-4125-a0b6-155e7f14052e\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"ad702110-b596-4435-8dfd-912646eb74ff\",\"attributes\":{\"text\":\"Number of valid comparison points vs. offset (should be flat)\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"fd93d323-1190-498a-9d6b-1a589d4aa5d3\",\"attributes\":{\"name\":\"n_points\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"271eda6b-59c8-4f8f-9fb3-1a8f3dcf7562\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"e542dd22-c76f-41a1-bcb1-f494e26321e4\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"8729a140-ce73-4945-b483-68d87a3b0e24\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"n_points\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/7vAy8BwYRQPWwwAsXWU4uABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"Variable\",[\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\",\"n_points\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"274d055e-024c-4886-9381-33eff7d90121\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"4fe7c638-d415-48c7-8a12-e57fe2e1d069\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"5b5385d5-d922-43c6-8d0d-8c28bb91f534\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"28bb82f4-0515-45dc-98cf-acdd7b31a311\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"7ed188fd-5242-4821-80e5-467c1314b8b5\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"28d2aa52-dfee-4035-86d0-d99d3d31f34d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"6d29a3b4-174d-47d6-ab62-e8f8500a4bf1\",\"attributes\":{\"name\":\"n_points_lp\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"5445024d-21ef-4220-9502-871cc42e2459\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"f5c95d2d-9e4b-44eb-9fb3-16a8ab7c7653\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"e0b3251e-6bc7-49d9-8a63-35330431da2a\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"n_points_lp\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/zPkYWAwHMXDFgMA3AnEfeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"Variable\",[\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\",\"n_points_lp\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"eede1d9b-a356-4ed7-ab58-dbe1288437de\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"1d4b9eb7-5779-4e2b-9ac0-6eb82ed1ee2b\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"f628e05b-058e-4af5-8295-a2047e2a17a3\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_lp\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"f7840930-886b-4e67-9af4-c2c1e52e169f\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_lp\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"1784774b-26cb-4571-aac8-44cf02e4f4da\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_lp\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"bd4f2079-67be-415d-a0ef-69a527ce12d7\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_lp\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.2,\"line_width\":2}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"34ecd6f4-f190-4e2c-87d2-d59aac268d7b\",\"attributes\":{\"name\":\"n_points_godin\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"82664697-efcb-4194-82e9-fe38d8800834\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"dc796ad4-bf48-4947-bf09-eb7bbe5814f9\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"77241fd1-c99a-4f5f-af5f-b7aced9b1528\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"n_points_godin\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/7vCycBwZRQPWwwAzjOqROABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"Variable\",[\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\",\"n_points_godin\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"365e8415-9741-47dd-8006-26523cbd6742\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"c9feceec-dbd8-4a75-9fbb-30de57c79ea5\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"a737bbc3-6c00-48bc-a9ba-0f4f4b3b35ca\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_godin\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"61d2fe38-9c9e-48b1-aa81-8b997bf53b66\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_godin\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"605ed8f1-3173-4854-a60c-e1da8d54edb9\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_godin\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"886cf99a-df46-4ff2-8ad1-c617c72c01f7\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"n_points_godin\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"4aaec79b-749f-4624-8bd5-7c91c83d886c\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"1ce7f795-1ea9-486d-bc3e-1fd88777d773\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"c65cfecb-f036-41ee-a16a-2729465d8fc8\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"fd93d323-1190-498a-9d6b-1a589d4aa5d3\"}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"value\",\"@{n_points}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"52748140-061c-49ab-bc61-f192f5c4ebe1\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"6d29a3b4-174d-47d6-ab62-e8f8500a4bf1\"}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"value\",\"@{n_points_lp}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"0362abf7-1148-4316-a35d-641b8ae33e9d\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"id\":\"34ecd6f4-f190-4e2c-87d2-d59aac268d7b\"}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"value\",\"@{n_points_godin}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"69c9525f-ae23-40d6-b18f-de0df7ce9150\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"9354024a-f48b-4416-8c2f-8abe07cd0738\"},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"5a5e59ce-60c0-43b0-a68e-a84e92db6287\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"98478fb4-5828-4fa3-99ca-ec0c5a0e04be\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"76cf8c91-6b11-4d66-8d49-821c2b93584a\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"8688129c-3da5-49c3-bdba-64c379a4435d\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"e3b383fd-31e3-47c3-9b1d-6e6acb37d900\"}],\"active_drag\":{\"id\":\"9354024a-f48b-4416-8c2f-8abe07cd0738\"},\"active_scroll\":{\"id\":\"1ce7f795-1ea9-486d-bc3e-1fd88777d773\"}}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"b3a5b4ef-699c-47b1-9d1a-f2babf118167\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"65ac1e6d-a0a8-45da-9089-18eaccb5c0a6\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"8ddb3fd2-9352-4a06-9ecf-74b3bb9e01cb\"},\"axis_label\":\"Valid comparison points\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"5101a19d-178e-42f2-bec5-721c449aef40\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"2847c0f5-d7fd-4091-9f8a-5771eb3cb804\",\"attributes\":{\"location\":[0,0],\"title\":\"Variable\",\"click_policy\":\"mute\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"cbaf61dd-ad78-4fcf-8f5b-a80f33cdff0f\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"n_points\"},\"renderers\":[{\"id\":\"fd93d323-1190-498a-9d6b-1a589d4aa5d3\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"2d1814a9-fc55-4372-8a7b-41fe83eab958\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"n_points_lp\"},\"renderers\":[{\"id\":\"6d29a3b4-174d-47d6-ab62-e8f8500a4bf1\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"466dc94e-9ef4-4b06-a611-be1aedb830d4\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"n_points_godin\"},\"renderers\":[{\"id\":\"34ecd6f4-f190-4e2c-87d2-d59aac268d7b\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"9033ebeb-8c8a-4e0a-ae09-b71183ce776a\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"ce74aa50-3a5c-40da-966f-0726640a7d7c\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"599b77dc-846e-4d1a-a4c1-4e0f43d91aaa\"},\"axis_label\":\"Forecast Offset (hours)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"bfa0bc32-dc2a-4983-9048-4185cacb116e\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"e370ab99-cca4-460f-bcde-e6584012d3e1\",\"attributes\":{\"axis\":{\"id\":\"9033ebeb-8c8a-4e0a-ae09-b71183ce776a\"},\"ticker\":{\"id\":\"ce74aa50-3a5c-40da-966f-0726640a7d7c\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"106f7b37-39f9-4baf-aea1-4ca32d48cdff\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"b3a5b4ef-699c-47b1-9d1a-f2babf118167\"},\"ticker\":{\"id\":\"65ac1e6d-a0a8-45da-9089-18eaccb5c0a6\"}}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"3ba3a2ea-06ea-4fe1-9b63-9a04ed8fc087\",\"attributes\":{\"name\":\"HSpacer00709\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"658f1692-d921-4ebc-a94d-3bc3cf6875c8\"},{\"id\":\"50b618c6-676e-47a6-a266-8f2af3a091e7\"},{\"id\":\"fbd90c10-fb9b-482e-bf81-a4c16c6b58e8\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"2e4ad6e4-bbb2-44e6-8360-421e3c5910f2\",\"roots\":{\"eb18a192-a291-40c8-ae4b-24a473c3f5c9\":\"b9de657e-b4d7-4c71-aa13-c82c0e162914\"},\"root_ids\":[\"eb18a192-a291-40c8-ae4b-24a473c3f5c9\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ], | |
| "text/plain": [ | |
| ":NdOverlay [Variable]\n", | |
| " :Curve [offset_hours] (value)" | |
| ] | |
| }, | |
| "execution_count": 29, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "eb18a192-a291-40c8-ae4b-24a473c3f5c9" | |
| } | |
| }, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# Diagnostic: n_points should now be constant across offsets (common valid mask)\n", | |
| "results_df.hvplot.line(\n", | |
| " x='offset_hours', y=['n_points', 'n_points_lp', 'n_points_godin'],\n", | |
| " xlabel='Forecast Offset (hours)', ylabel='Valid comparison points',\n", | |
| " title='Number of valid comparison points vs. offset (should be flat)',\n", | |
| " grid=True, height=350, width=700\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "id": "c9ef3441-4a86-41c6-9071-027a530819c4", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": {}, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "application/vnd.holoviews_exec.v0+json": "", | |
| "text/html": [ | |
| "<div id='db3b1f40-d568-4508-9131-7c9b4e78a2fd'>\n", | |
| " <div id=\"c1488821-5b98-48fd-93a5-bb0c027ba72b\" data-root-id=\"db3b1f40-d568-4508-9131-7c9b4e78a2fd\" style=\"display: contents;\"></div>\n", | |
| "</div>\n", | |
| "<script type=\"application/javascript\">(function(root) {\n", | |
| " var docs_json = {\"f6e8fae4-d577-40ad-9420-397bd9852069\":{\"version\":\"3.8.2\",\"title\":\"Bokeh Application\",\"config\":{\"type\":\"object\",\"name\":\"DocumentConfig\",\"id\":\"76dada86-826d-4fd8-916a-fb2dc0387a3f\",\"attributes\":{\"notifications\":{\"type\":\"object\",\"name\":\"Notifications\",\"id\":\"f522e3ce-dfcc-4210-a134-5985d00ab4e2\"}}},\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"db3b1f40-d568-4508-9131-7c9b4e78a2fd\",\"attributes\":{\"name\":\"Row00835\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"e7451096-1e05-45a3-858c-b8291a10ee34\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"bd18b82c-c3a1-494b-b739-896b578422bd\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"88fc5c9d-6406-4ec9-b595-bb8005ec38fd\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"bcde75f1-d837-4231-a000-45c90d4eb361\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.8.7/dist/bundled/theme/native.css\"}}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"4624ee83-0fd8-42b8-8afe-553bdacb0ae0\",\"attributes\":{\"name\":\"HSpacer00839\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"e7451096-1e05-45a3-858c-b8291a10ee34\"},{\"id\":\"88fc5c9d-6406-4ec9-b595-bb8005ec38fd\"},{\"id\":\"bcde75f1-d837-4231-a000-45c90d4eb361\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"GridPlot\",\"id\":\"f638aacc-19d2-4237-8de4-1a9327e5006b\",\"attributes\":{\"rows\":null,\"cols\":null,\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"4178822e-a0ae-48b0-bdce-1723ea9f40c0\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"608e9c02-5a9b-4706-9266-0cdce27423a5\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"7fb654c3-b11f-4b6f-a743-a23da86b8bb3\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"ab5e8d4a-73f0-41ea-bab0-4149389db30a\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"84aff009-0d18-41c7-b846-70374eae3b3a\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"bc373970-2380-46e1-ad03-ec7a427abf7e\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"2efd0ea9-e57a-4b0f-9119-3d879acfefae\",\"attributes\":{\"name\":\"CRMS\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"048e3c18-3ac1-490e-a4af-b96a914077bf\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"848f54d5-b8dc-4286-92f8-6620c2de4a2f\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"d6d8b3db-109b-43f4-8c14-c36d64e4749e\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"CRMS\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/xXSa0wTVhQAYNQG5VUZ8n7YMQiP0FVWMuhm4SjVSixsyjQDNgXpUECsMWoTmGVaUeyGDQgDUX4sbqj38LDS8HRMomDJwkSlRR5DQEAeKuh4BMXijr++3HvPuefk3FvhNDyycR3CmNR6r9aGdBzJCuUi/FUVyKtei1DgGXrD4IAwOJ5nkDoieMRapf1HOnAG66OdEQJV9lO+Lgjb56/LFORS6PjpVa4I9SmdETrSyyI01s8NIco1uDWDvMV38EkntaavPr1NliR8EQTuCDv5nU+bSF5Za9szD4R9vSLBai+EgAubZ5rIYn6zyH09QqS7LnaW1ic+H7r4J3m4VB59+MP+9AaVhiyNtzrWSco7PPemkp0HzrnoyCci/aiCh5ATOHZwiXT93nDmGRkyrFwM+hjhWOnZu89pbb1kDLYgVx9o1vpQ3q+pNSdiqE5jpP7cdk+EwoAVhXrqszZi8yMueWTgkmyAtG1SaVKp77SbTQt+FDcnzhGqyOb885JpMjyvQXiL7omKtzO0070b/73SwqW6bmWZxnZvBMn+rMQicsKkXO9L+zFOt5eWKS5f6vXWSPnvaxWXvamOV6yw7yjNfdN3HLH5I/JxT0+pHcIU/4dPKtYgCBbLZ3asQqibFOwcNDOombyZpV5kUNe7bde6WQa5d35Jq51mIDGmF+VMMpD3lWSvHGNwKlnLzMMMNvDqPCwHGSTF7fC/1s8gfFfH1YUeBuXmK5/ZdzO4YMcJijQyCEkX26i7GPwT8EB1msyoFbqaTAxa/LN+2kp58Snn+xVDDOYbEpK6RxkcytW8HJ5i4OvNte57xUBv5XaPM89g5iR0Sd8wCOtzv7r8joHDo5ECi5UIP2a+d1Fa0lzk11rabRGCxDGW2U4I7+76zRTR+6yVi/cVBtI/s5sbWg5BUJbwR9siENSvbI8mbEMQLqT8PvE1QmuYfbAuDuHyz62SLUn0Xn+/aLPZj5BcLLlUcAihpuxUcbgS4ZverTyNGiH3tVhQpEWQ9o9ZP7xI/7rDOc72D5qzbE+9thIhMyFP2a1HUIjaHRsaEKq5srBEskszqrVoRKg0NCbeqEP4MltwPJfUzW6Kek3xfLPsfrUOIS7bv3hPFf1LoX+lqQLhfoA8owqp33E1+5YUO/6WGU11jrNuzhsSBia2+JBza/BtAZ0nS/MnnlxHEDnv3j1ZjvA/t1pK1MADAAA=\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\",\"CRMS\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"6aa96d7a-49c7-4140-bac9-22cc64ecdb59\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"66d541dd-2a09-4cfd-b64c-ad8ad431d88b\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"17ced0d0-252f-40c6-8721-de15c640fe8c\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"CRMS\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"1ade2c5d-824e-4b4e-b493-ff70eaadbf77\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"CRMS\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"57f4462b-403a-43e6-b120-611759b61100\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"CRMS\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"1ec0cb16-c045-4dd5-b034-f8b8e3c3af7d\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"CRMS\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"CRMS (m)\",\"@{CRMS}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"50e062b8-e828-428d-b3b5-1afb7432053b\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"c8344500-e2ad-4818-aaf5-05a73274eca9\",\"attributes\":{\"name\":\"lp_CRMS\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"88c8c29a-3883-48ca-99b8-580dcf95b795\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"33f6221d-2dfe-41b9-a7a0-4da7240321ba\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"51cbea6f-98d2-4c7e-bdd3-432c4e48ebbc\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"lp_CRMS\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w2TfVATdBjHGSEKjZQpseapTHcjQHK9eGXuerzjdQK9ACd1SQdrmibo0O6gXYO4GAyQObzKDvCIsOP5HY1ca7zYuKYTCpqAJswZsWBkvCiMlxxyC3v++tz97rnv8zzf5/s7ZB7QTPoQWm6sC3KtIaRElQ1L/BncK3FIHETIGeMnrGPgaRL8KF7PQPeSQnplA4NopbxeFMwg3/bZYsOTDOwT/JJqLoN2l1ZeGcKAmxdmz3qKwQ8m1SMLsedIfIVkI4NthrgtrxOP6WuzdhMzKk5URRBfVSUbbVSHbnvlEeJR5bhwC7H1qweRVaSXMK0YFxL/fsc6ZaY+tu8+PL2PuKOoSuaj/garanMLkdOw5t1L1CR3HX6D5pvx1z3BD2IQ4Th1t53mL/irtnhrIIOz3LiK5wIYnDnuVOykPRfGQq4NPUb4yTJRLPsPYVi8S9O8StxrKLnqRXjl6184hmUEXuToy/oFhLd4I6KcOYSk8vKQyFmE+oaLk+5/EH79Vrv6xSSCzVw0mziO8KZyKX72TwQrL06quYuQGFi9KHQgGHP9XVd/RzANB1zPGEK4/dtK2KAd4XjjQHBEH0JqfiVf1oPQNJIKPitCum6wR2tBKNOMSuY6ENw1fsUxJoRc/fmL6W0IRZ65kJMM4b6x6/vKSwjrY0r1bY0IjXlB++frEBoOl/dmfkn37Q56baQW4bq2dZu6hub0ztRkVFKflbf7lBoEtUHYO1aKcOBydqGxGOFh+klf4CcIT69yUvxVCJmL+8RYhNCf8U0oj+h2DW6PJdbHKZWijxH6nK3316hO251zwKRGUNZNdUeT3mzrHdVm0t/eLa0yUz9Zf10o9xzC/Aahs+9zhIkXlgWjNGdanuePPU0IPrFIb2ohP29w9stpv3eDnxHEmhGa5Z5pMfmQf6jw5ywb7a/zDBn7yd+OCUvULYSNujKfxUk++CVL5eR/15X4T0XTCJMPml/k0N1mLsQuLa8gDOWLx7x+lJf2S9lcysfR6mxrQigDl663sJPPgNdZ955sB4Pcy/Y+t4hB5mq4tyqKAZtPmr+9m0Fq7ge9nD0MDgrMozslDGofFUSmEUufP5N4lt6N3OHFpVjK5c3H4rIYqtd+JFA8yyDJ1KbQkV6BX8fD8AgGc+HXVNFbGbx/wRJwL4zBgOhY54lNDG4KmfsO5XdNm8WX0v+bSjtoMFM+b512OE9RLtUp6oVz/yL8D1LolyvAAwAA\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\",\"lp_CRMS\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"daac2559-c147-4dfb-923f-ff8909d4e938\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"34793f6d-11b1-4948-844d-d032187de1ec\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"77693f23-9c9f-4272-9ae1-1167d1d3f782\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_CRMS\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"482e1099-4f81-4c69-bd0d-928668b042ff\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_CRMS\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"a0f20164-e0fd-4021-9760-b7ed77db6659\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_CRMS\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"9fb7e95a-3102-4718-8af9-d562146049af\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_CRMS\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"CRMS (m)\",\"@{lp_CRMS}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"67d1008f-a1cc-4cf1-9700-b77bdf3c066a\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"7a76a08d-dfc6-4e29-9a68-180f6266bb7a\",\"attributes\":{\"name\":\"godin_CRMS\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"132a4c31-01ce-4413-96b5-7d8bc09f2b31\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"56d27764-23f8-463e-8148-330ce73fad94\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"9da8da2a-bf0b-4485-b02d-0b76d782915f\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"godin_CRMS\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w1SfVATZBw2DEjk49zi1B2CkEBhqIQliPB0iivl48Jc2AQJGMH4KFjMdumhMyZELPGUAvUM5WM/6GYRwtUoDTIghrtgaXztZvKlkEjkxQyQfn899773e5+P9/l9NSmThv1M0B6069vQQSi0rxOvMRIeqhsL3W4SVipkRkEvwff6o9Tc3wldc6dVx/4gZKk6N6YNEl740Mu2x0Io0TnNaK2E4e75Cz1/EsqHijXXRgh51U7pvmOEggCt4cg4YW3Cl7/snyA0VQ7YGxmf+fc/89Z7hDfDTVl+jJ+LjWmzfB8hUrXVMT43M2VY4Hf+QesrJYxT8rFUDfMJl+ycC0YJL4Wo3YpY54rm6K637hJ0KRXRT7P+UqlJEcV+olcUXwxmf1lte5rvsd/HgrAQaT/hZVugd/YtguP2grLoPsKPm/OdbpkIjQ6KGXfOv7n23Cu+nYT0VyMF4+3sP/OmZ/I11j8ZU9P6PfPXZzROXOWceU0us18TZC7rLg80EDx7Yjqraglvlym84qsIF+KlOaPnOJd0x/LYcs55KHVH7Sn+5/KmkAefEDLsRcIXCwkmtYNQVsBzmvrofBVBLZE2yxWElpqfSgXZ7GNV9tqGNMJ6ZftvW5LYhyX3+KUD/N43RiPaR/B5Y8OzuihC8Nm/emN3E+z6vpsWgqAMez9oeSj323WizDuYsFtW3R4fSAi4m/Sozp8gv7wpUeBDqOrIsZIH/6NbgjR3NWHo757ewwLCIb3aZHYhJB6bd61eQZgTHve32hO8zZFd5+143jnlwdCSDs2D91OvLOrglzll3r+gQ5a2UNI9r8ONFsv9eca9siK3er53dpq1uD/RoURfHI9lBL9u9e1R5tmuP6WwMe94W4kmj3UE+n8yd7Lu3MHXKGMVIdDWMGJ25305EiCqFBEm+h23dXgR9qXvbYvzJVR4tbgGbeQ+Iyb70oMIKbFl4slthI99BjKMEdzDWGm4g5hQ1HPy6hcxvE9WZ8+PJARruGKZIZH78FYqk94l7Lo4rFS+R7Ak5fTeURJylDXyT48Svtkpj0w7QYgynA9bXcR7H9r9jqWE0OrZZbiuZf51W263ca+/ho4MD5TxXurXDLqeJnzwen6rhM+BD901Nz4jbJqe/TaslJBc7+HRXEw4EKdSirl/o+hShY37X3wq6oyJ+986lrDQm0c4PO0ofCwnTC4+fyc2mbAgjFs5GU94Eqf8oZ9z/A+sbxR0wAMAAA==\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\",\"godin_CRMS\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"b80769d5-85b7-4989-86c1-d5bae522f1b4\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"4f5f55c6-5f23-452a-acd8-bb8355913e9f\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"f152ed97-3d58-4f33-a6ac-55aeacb6f613\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_CRMS\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"6a1c0e11-e769-4d8a-922c-038e6b735194\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_CRMS\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"81a665f3-389d-4214-aac4-1a754e79458b\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_CRMS\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"f7c3f651-836b-4e79-b869-45fa8cbc5dea\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_CRMS\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"CRMS (m)\",\"@{godin_CRMS}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"3bddbe39-3f9a-483d-9ab6-c1179f6fb875\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"6d77552e-11e6-4c13-8b74-832c641c73bb\",\"attributes\":{\"name\":\"correlation\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"092d87eb-cb89-4449-ac2f-c49bb29ca354\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"408672ac-ffb1-4b5a-8e34-30061db628b8\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"47998410-a395-40ed-85f5-aba5806a4c2d\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correlation\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/xXSeTDUYRgH8IgaImppFbE7i8o6O9bIbG/oD1oZo61kIjPWkYpkcs/Q1m6KktpEku6xbroGsZOyidWxNRhH2kaHaV635Ii+/fWZ+e3z7vs83+eVj1eU19pTUsqIWNLnSMmNMJ1wb1gpDJ356UDJshreI2conxjwaEfdoEIskUGTkoIiHlznOp8wzaVkh0TneB+UdXQ9r4W5mZHVEqg/FKcSwSpWS5AA5vUE1vJhfjafx4QnL1xiauwoSTqy6d4DGJBVusiHqmUVnM5NlDx5+Gz0DEwO7R4gsM5vmm0OBUrbufmNlPxiOs7IoK7WsW9+cFbR2KQFM+bU1b0bKCmPMhzKgdVNEo4d/GLfyX5vS4n3Gk/TIugglfIDoapF8WwLNHKOe8yDez4X/3KDVzpHognsWzNZL4Rrz2eMZMFtP4NUF2GrhdiQD/m5u7izNpQ0ZgTEl8GVVQXmp6AmfGGnO0zxXTg6Zo2cU1b73oa+LwJaBfDu/LjjKIeSvaXJ7X+g/5MsJ198r7nbwcqBn77pdenhvNG7o2ZFsK5EkSbCfSvsYosPYZ6zrpOn/8/9QpXbG4xcXtsmfhUjv21lV93KkG9FvMirA3vilVU+HcMe00UOU93Yr5npYsuwEyWHmmxPDDhT8mOfSD/dhZLwnogoq83IbyLRugta7eZ8jN6Cd9Hck6a3lRLu7jeMSCiQGJwTw2FZcL8IOhts76tHnczJy/4wzvW/MrBh4P+40d2lU7jHRtjvL8a9+1JljpboI645MdgBfd2J35GyC31ejzloJ0HfYw397WcxR4LX36UPMFeycMwkEHN6Xi6OTcP8Lj8aXvogp/s+126ZsvEOR4PVSktKVmfelEZaUNIrGLp/eR32tnY9860ZchyIWTRmUhLBygmqMqUkWz3yRWFCid/vl5oYBiXx94QS9SpKtn4P8eEZUeLakLA/2wDvyEJzx0WfkmZ2xvil5dhfMYmS6mI/7oNhH5ZSEjbnOVGuTYlHYP50Byw0Ylu3wrbstsEk/P7bmNEohzXymtkDOpRwLP9qG+J8gZv5NTk8eGODsRJultarG+C5ypDkVKh5GjVeh3pV3qs8b5h+wK+QwBmWUvsY7CKzmSWwN1aZz0X9P8ODrCLAAwAA\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\",\"correlation\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"e0c617c1-64b6-46b9-9fde-c33f41e512c3\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"82c04cce-b92a-41f7-a4bd-a27e46669566\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"457eee85-d426-4173-b8a2-9e3e78944c69\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"correlation\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"01716545-a95c-4b6e-86ce-46628bf7755e\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"correlation\"},\"line_color\":\"#30a2da\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"37bba87f-b389-4b31-a2fc-9a9cf92d9b72\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"correlation\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"8a0848dc-406a-42b9-b888-dfe0dcb09b09\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"correlation\"},\"line_color\":\"#30a2da\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"Correlation\",\"@{correlation}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"c16cd981-d0c3-4d17-ae5a-4dd6438c8bd3\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"016cbfe1-a378-4526-ae02-9c0b01d7924b\",\"attributes\":{\"name\":\"lp_correlation\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"a6cbe704-70f0-41c8-8654-f5200809d03e\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"416affd3-5289-4f22-bc2f-2e01e56356bc\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"c3482536-010a-47de-89f3-5a8d12e9f4bf\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"lp_correlation\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/xXSfVATdBgHcD2XuZOhO0RelCC8TS0YBELgsXtm+DKuEDNOQN6yWgmiC11a8WowYbiYGAwIFiyFyXjJnVBkV14Io9QQL+C686xwU0KfyoCgdIVf/vr887vn5fv8zgj93k9vYBrm6X1NJqai4qkqZyPTkUhx1TjM1uTp90BLrnzOgXebTVdCj8MW3cEKf7ihv/W+7WMmt/qBDa/B/xtEkifgnu6DT3bWM5m7M7dkwY7fStN94Mi+otGf6phyIm6ZzFDT7HwnDQr+PHBVAv+5kOGaqGWa+0ab3QQFwpe+z4A6X6fMHV421Yl6jUxhXss0r0J3ucTwRw3Ts0f0a/LhMw+eClkJl5esLemrRt/s2eAK6Kk6uj4NJiS7DcmhuPJuQQSMEVxyPg9fCJUP7YTjrxs1x+D2YHFFB9wiCA6chYW21WG7UTf0hnTeBt0jn/7PG/37cwomSqFy5rB2Fu66Wf/5Icw5LKoy3YfizEatGns17J6c+BeqvSYPlSGHcyLXt97IyVc3+lf3Qn6y2pmFOxQMxpMX8havOqz7ZcG9jveu4S5Cm8F38BMmq6FOO9TEFG+vyXA0Mz36KqJu0adMtSWxxnVncKeZjc3Ks0wDQeG/5rQwXfIbzj/ZyvRl0sY0s4Upcmg+7vw5pjHFdGFPG1OA9sDqLivTd3bVkup25NSlyn+jg+lqeLrNpxP5rOpMsEKPa3ltoi4m453J6Fj4oXXv9q0wb/PiOQ8YIHEJLXhX2LhUuQzmqJ9LjEad5K+v6wl1A90qi8PQx5K4a8yF/urO+eomzLPCs304CPPZpMmJbZhbNF/0sg/2kPZ3jRSbmSZuhZSPY9+Ri307CPtLddVRNchljexsyDhyi9tpbJAiT+s2ecJ+5D26JNzTgvvE345MvfMRU0/fckPAaSZnwBeZKaeYBld6rD9VydQt7u2z65nsR2ezXBVMi7xVKTIdcvEeSNeX4R7rosvXnkC9kEK1o5Qp64fUlp9LmDYJFk8FQb9356J6P8A/KYu250EltY+9DV8MuqupgT/KLp6+DWMc9y4n4f1x88yb92CcsNatEfUCnblL39IySfwHUhTok/vK36n+6DsVOx3zEPorXa1XypkSP8stNmCupJu/9ygwZ8dolGIExulUYYqTTI8BuH9PQcADAAA=\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\",\"lp_correlation\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"98b6ef2e-92a7-4dc3-ac80-676428951dc9\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"b883a3f2-8609-44e0-952f-35f3ce34f221\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"e35e2eec-87d1-4e03-8310-1d35da8c18d5\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_correlation\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"180d63e7-93c3-457f-8ccc-da42bbb9e5d5\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_correlation\"},\"line_color\":\"#fc4f30\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"fbe0a625-2ee2-4236-befd-c51f336f0127\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_correlation\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"cbb78fa0-0cac-4135-b15b-1cb2395769f6\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"lp_correlation\"},\"line_color\":\"#fc4f30\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"Correlation\",\"@{lp_correlation}\"]],\"sort_by\":null}},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"c3c4d592-5391-447d-b2e2-dc88939d41d4\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"32059387-57e1-4706-ba67-a42ecd0d0b17\",\"attributes\":{\"name\":\"godin_correlation\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"d70ba51b-c143-4db2-b0fe-49b238c7af73\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"b5afea07-d9e5-4ec4-acc2-b12a01a925b5\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"2ebef42b-4f4e-493b-b04d-88955b9b06c8\"},\"data\":{\"type\":\"map\",\"entries\":[[\"offset_hours\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/w3Dg3JDAQAAsDfbNjrbNtrOtm3r95fcJQiCIMZY44w3wUSTTDbFVNNMN8NMs8w2x1zzzLfAQosstsRSyyy3wkqrrLbGWkPWWW+DjTbZbIutttluh5122W2PvfbZ74CDDjnsiKOOOe6Ek0457Yyzzjlv2IhRF1x0yWVXXHXNdTfcdMttd9x1z30PPPTIY0889cxzL7z0ymtvvPXOex989MlnX3z1zXc//PTLb3/89c9/MZWymeABAAA=\"},\"shape\":[120],\"dtype\":\"int32\",\"order\":\"little\"}],[\"godin_correlation\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H4sIAAEAAAAC/xWSa1QTdBjGCxgMHAg6BonCIDHYyKkBo+PgdYqBRnKJCZpShIYCIZwdTSQINZaXQ+iEkYIXhAzxHPFyEI9DpyJCB0pESg5GlgYDfQEtFuGievr0+/C/vM/lDY0v/0DkyHQrPMPeV8RUppMJh52Yjo9/aa0Ec0MMg5U4j1NGNJmETFVKwbIJByanuLbwhWCFY++WVHumwbSUFKOA6bK7qloEJo/8si7LjinTnKAYtWXqvaSVZYJa0c/HBOBo/u6MRhsmo9uH9u+D5d+4qPzB5XcU6tGXmcxD2rcaQetfJ0IPgIe6JPNSwZLfKm6HgKYXTz+fCT7IixA/folJ7OM1ZQQHorpiK8FtvyfUlINHAoySetBi3T/5Ldgtqe23gvIvZkRF4/32iMj1Nf//1/eozhPzAwpdntWAN5w7agk681tvrLOA6UMxYS3w06vvGq2AP/Wxffrt8N0dGWxJRQ451zTjicinwaSVJiCvPRvmPNEgv89SBXXp05iig6rbdcjXrmfS9qwz02lL2N1+F6Y3eEWRxJXp/KojKcluTD8ZEqfXz2DyK7CcdhAzhYw8bdrpzjTkoJ2y88D8pJuaUk/oioqs9pvFZKja8ajRi2npp7oXy+cwbTB57b/jzZRRtKg0XsoU2rhJ1u7L9GNyRd+CV6GncNqBg3OZpqSP3x72Z1pSE9gZ+hrTv+uv3N0aAB/eO4W1gUz1Y7qiZhmT4/3Nn1ySo+/VTfF7g5jmv7JwVtjrTLbnruqbwbPZZqN4PlNdcflWFbgk2HVQAYoKik+N4byv9GZ3Eahwzo6dxPsThg6zGtT8vajjPfx7pVW1MRlzZgrHFqswN1+9RuYEHc98F8hvz0POQpuDudCZ/0PUP27QvbtHqan2Y3pXGmg/G76ubkoLLPZB7wXX+SH8n3Ra/at8NvbyXux4FvJ5c4dP+lHklWMoOGOSMLU255T0INcGeczzfuQcu7LzcC/yz6s6492CPvTb/hDeQ0+236/5zhW9xTwRndqFPv983u4ZhH43tuTkydG3QrDno83oX2d2WDuAfUjK27LrKOiRmN1WBhZOlSnbweudHtLFuKcNfyd9EHyYOdfajfe5SxNjbPDvsjb/4I+xJwNjacddMfcrcfSDYeyH8sKEamI6k6BWLlFB5y33r+9fhO6Rkqy4JOxBg1p/UQp//wFgtoI/wAMAAA==\"},\"shape\":[120],\"dtype\":\"float64\",\"order\":\"little\"}],[\"Variable\",[\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\",\"godin_correlation\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"91f57b1c-c992-4be2-9527-d21fb8725fcc\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"75c7d78b-df31-48f2-8ac8-d4c3a0dbeda2\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"bcf9be25-2ffa-419e-9458-0a62636ba527\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_correlation\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"03f63524-5969-4a13-b1d5-219d3c723e02\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_correlation\"},\"line_color\":\"#e5ae38\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"9adf2f4a-f1f8-4614-bc9c-b4ab4e9aa945\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_correlation\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"8a1c8d34-bdd7-4891-b580-8148e43dcc64\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"offset_hours\"},\"y\":{\"type\":\"field\",\"field\":\"godin_correlation\"},\"line_color\":\"#e5ae38\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"tooltips\":[[\"Variable\",\"@{Variable}\"],[\"offset_hours\",\"@{offset_hours}\"],[\"Correlation\",\"@{godin_correlation}\"]],\"sort_by\":null}}]}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"4da3b760-3b66-4be7-8378-d8e370da60d8\"},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"87c00e22-16a1-475d-8dd3-0ec24892f10b\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"089bc448-924d-4773-ab08-fa46adb066dc\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"a2cfb33d-2e61-4684-a4b1-c8184de80b64\"}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"48cdcea7-9f53-465e-9983-d775a2c563e8\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"83d3825e-18a3-4bcb-b68f-ee157401d9ba\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"d9d7d360-0bb5-4099-82a9-69b9635ebf22\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"11853868-4b42-4369-b605-ee2ef688f07e\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"a8569448-12f3-47c1-a418-2f7e95a29161\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"62b70d2f-341d-47be-b9fc-302ccbd9e29c\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"c3c056f2-ec49-43a5-8067-3e619bedc271\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"5b556f57-3e1e-4217-a346-cca3eca6af01\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"baec1e0b-e093-4ed5-99a1-6d43b58eb918\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"b2bab333-4d27-4c08-9e6c-e7772fca79db\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"33130790-027b-4181-95b6-21ac62d1aac3\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"a8af1bca-66d0-476c-8249-633edeb915da\"}]}}]}},\"children\":[[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"33b0a3d6-4566-4568-a6cd-af5ac80ee62a\",\"attributes\":{\"width\":700,\"height\":400,\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"7ac7f2cc-db7f-4ac0-96a2-37b58f5a729e\",\"attributes\":{\"name\":\"offset_hours\",\"tags\":[[[\"offset_hours\",null]],[]],\"end\":119.0,\"reset_start\":0.0,\"reset_end\":119.0}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"bd905909-cec0-4cc3-844d-69683a2824e3\",\"attributes\":{\"name\":\"CRMS\",\"tags\":[[[\"CRMS (m)\",null]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":0.04630790089493249,\"end\":0.05272768678029796,\"reset_start\":0.04630790089493249,\"reset_end\":0.05272768678029796}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"3fa6b9c4-fabc-4b60-ad0d-099178067e5d\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"f420298e-0e6f-4602-a5c3-b13a6c7d24e6\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"68c64024-b4a3-4128-bc95-2c253ba863c8\",\"attributes\":{\"text\":\"CRMS: Hourly vs 25h rolling vs Godin filter\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"id\":\"2efd0ea9-e57a-4b0f-9119-3d879acfefae\"},{\"id\":\"c8344500-e2ad-4818-aaf5-05a73274eca9\"},{\"id\":\"7a76a08d-dfc6-4e29-9a68-180f6266bb7a\"}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"e71a3cdc-b55c-4c2f-ab4c-479c0c9dd83b\",\"attributes\":{\"tools\":[{\"id\":\"7fb654c3-b11f-4b6f-a743-a23da86b8bb3\"},{\"id\":\"bc373970-2380-46e1-ad03-ec7a427abf7e\"},{\"id\":\"50e062b8-e828-428d-b3b5-1afb7432053b\"},{\"id\":\"67d1008f-a1cc-4cf1-9700-b77bdf3c066a\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"573821ad-2b53-45f4-b794-3b31f08a05e4\"},{\"id\":\"089bc448-924d-4773-ab08-fa46adb066dc\"},{\"id\":\"83d3825e-18a3-4bcb-b68f-ee157401d9ba\"},{\"id\":\"33130790-027b-4181-95b6-21ac62d1aac3\"}],\"active_drag\":{\"id\":\"089bc448-924d-4773-ab08-fa46adb066dc\"},\"active_scroll\":{\"id\":\"7fb654c3-b11f-4b6f-a743-a23da86b8bb3\"}}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"9fddcd05-d067-4403-a8c8-35ef1f28c165\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"414f577b-3347-4139-85dc-5dd022fa533d\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"215ff7b8-f090-4d47-9889-dec8521991bb\"},\"axis_label\":\"CRMS (m)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"c28aef7f-bb45-4cdb-b719-9ef1a7d14787\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"5b3117de-29d8-4446-915c-609ffc19d146\",\"attributes\":{\"location\":[0,0],\"title\":\"Variable\",\"click_policy\":\"mute\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"4531a9ed-05fa-4e51-9bbb-44e84232c78d\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"CRMS\"},\"renderers\":[{\"id\":\"2efd0ea9-e57a-4b0f-9119-3d879acfefae\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"9730085f-5fb9-418c-a715-26a64453900b\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"lp_CRMS\"},\"renderers\":[{\"id\":\"c8344500-e2ad-4818-aaf5-05a73274eca9\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"5d291e03-65ec-41e5-88ff-65673ad14306\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"godin_CRMS\"},\"renderers\":[{\"id\":\"7a76a08d-dfc6-4e29-9a68-180f6266bb7a\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"ca7e6ca7-7505-4a0a-8095-bde22760282a\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"bb7899e0-5b4c-4fbe-a316-c9ef235600d6\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"d8247037-c884-4fd8-989a-6facf60ca8b7\"},\"axis_label\":\"Forecast Offset (hours)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"5d9c3ba7-c7f7-43bf-9279-9f3c2165bbfa\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"ddfa8329-2f4c-4d14-a5b2-10378d9b05c7\",\"attributes\":{\"axis\":{\"id\":\"ca7e6ca7-7505-4a0a-8095-bde22760282a\"},\"ticker\":{\"id\":\"bb7899e0-5b4c-4fbe-a316-c9ef235600d6\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"e7829124-41b2-42ad-9690-7445921e0d5c\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"9fddcd05-d067-4403-a8c8-35ef1f28c165\"},\"ticker\":{\"id\":\"414f577b-3347-4139-85dc-5dd022fa533d\"}}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},0,0],[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"26e7a63f-afa0-4b6b-9df3-65ea42688ad8\",\"attributes\":{\"width\":700,\"height\":400,\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"id\":\"7ac7f2cc-db7f-4ac0-96a2-37b58f5a729e\"},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"6f5d72e5-a05a-4628-a3ac-04d11f66be34\",\"attributes\":{\"name\":\"correlation\",\"tags\":[[[\"Correlation\",null]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":0.8713124985835002,\"end\":0.9164187509965125,\"reset_start\":0.8713124985835002,\"reset_end\":0.9164187509965125}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"44da2ea8-eb1d-4290-b206-29fc299410a6\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"4160076a-08e4-4cc3-828b-36235160a85e\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"7fb7ec78-a610-4691-b689-cdcc4146d0c2\",\"attributes\":{\"text\":\"Correlation: Hourly vs 25h rolling vs Godin filter\",\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"id\":\"6d77552e-11e6-4c13-8b74-832c641c73bb\"},{\"id\":\"016cbfe1-a378-4526-ae02-9c0b01d7924b\"},{\"id\":\"32059387-57e1-4706-ba67-a42ecd0d0b17\"}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"fb0a81fe-19a7-4b8a-8a55-3dd90d61675a\",\"attributes\":{\"tools\":[{\"id\":\"ab5e8d4a-73f0-41ea-bab0-4149389db30a\"},{\"id\":\"3bddbe39-3f9a-483d-9ab6-c1179f6fb875\"},{\"id\":\"c16cd981-d0c3-4d17-ae5a-4dd6438c8bd3\"},{\"id\":\"c3c4d592-5391-447d-b2e2-dc88939d41d4\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"cf2c04af-d9f3-42c2-b76f-0cd54e56d1ab\"},{\"id\":\"a2cfb33d-2e61-4684-a4b1-c8184de80b64\"},{\"id\":\"62b70d2f-341d-47be-b9fc-302ccbd9e29c\"},{\"id\":\"a8af1bca-66d0-476c-8249-633edeb915da\"}],\"active_drag\":{\"id\":\"a2cfb33d-2e61-4684-a4b1-c8184de80b64\"},\"active_scroll\":{\"id\":\"ab5e8d4a-73f0-41ea-bab0-4149389db30a\"}}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"4e236e8e-6b83-4410-837c-5e5c9e1fec97\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"f02ac19a-c78d-4711-93fd-e48312cf46e6\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"2645bb29-1a40-4d9a-a6b9-ce8fb45c5994\"},\"axis_label\":\"Correlation\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"8d4113c4-5d2b-4b98-9d40-e945fefe4bbc\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"d23ecdea-f831-4f08-aca5-a006625075ce\",\"attributes\":{\"location\":[0,0],\"title\":\"Variable\",\"click_policy\":\"mute\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"a3e5f323-caf6-4e56-90b1-ebbbf8d49212\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"correlation\"},\"renderers\":[{\"id\":\"6d77552e-11e6-4c13-8b74-832c641c73bb\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"14d4c74d-a23a-4d8e-b567-142b8211cb73\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"lp_correlation\"},\"renderers\":[{\"id\":\"016cbfe1-a378-4526-ae02-9c0b01d7924b\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"7a5650ac-c8f4-4874-a512-ed4d84599aef\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"godin_correlation\"},\"renderers\":[{\"id\":\"32059387-57e1-4706-ba67-a42ecd0d0b17\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"d9262d54-c878-4d45-9c07-542ddc103491\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"cb652b79-03db-4c75-abb3-d9259c44ea25\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"f3daeac5-1e04-422e-a893-5abcc9a57716\"},\"axis_label\":\"Forecast Offset (hours)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"cc40987b-86a9-4393-82b6-f3951f5bd670\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"777fe164-3005-487a-921e-da121a746908\",\"attributes\":{\"axis\":{\"id\":\"d9262d54-c878-4d45-9c07-542ddc103491\"},\"ticker\":{\"id\":\"cb652b79-03db-4c75-abb3-d9259c44ea25\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"799c9737-dfd8-4c26-97bb-18a057de9d85\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"4e236e8e-6b83-4410-837c-5e5c9e1fec97\"},\"ticker\":{\"id\":\"f02ac19a-c78d-4711-93fd-e48312cf46e6\"}}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},0,1]]}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"325487c2-5152-4269-ad38-c1238f65216e\",\"attributes\":{\"name\":\"HSpacer00840\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 300px));\\n -webkit-mask-size: auto calc(min(50%, 300px));\\n}\",{\"id\":\"e7451096-1e05-45a3-858c-b8291a10ee34\"},{\"id\":\"88fc5c9d-6406-4ec9-b595-bb8005ec38fd\"},{\"id\":\"bcde75f1-d837-4231-a000-45c90d4eb361\"}],\"min_width\":0,\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"start\",\"kind\":\"Any\",\"default\":0},{\"name\":\"end\",\"kind\":\"Any\",\"default\":100},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"JSComponent1\",\"properties\":[{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"ReactComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\",\"properties\":[{\"name\":\"use_shadow_dom\",\"kind\":\"Any\",\"default\":true},{\"name\":\"esm_constants\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"max_notifications\",\"kind\":\"Any\",\"default\":5},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_rendered\",\"kind\":\"Any\",\"default\":false},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"holoviews.plotting.bokeh.raster.HoverModel\",\"properties\":[{\"name\":\"xy\",\"kind\":\"Any\",\"default\":null},{\"name\":\"data\",\"kind\":\"Any\",\"default\":null}]}]}};\n", | |
| " var render_items = [{\"docid\":\"f6e8fae4-d577-40ad-9420-397bd9852069\",\"roots\":{\"db3b1f40-d568-4508-9131-7c9b4e78a2fd\":\"c1488821-5b98-48fd-93a5-bb0c027ba72b\"},\"root_ids\":[\"db3b1f40-d568-4508-9131-7c9b4e78a2fd\"]}];\n", | |
| " var docs = Object.values(docs_json)\n", | |
| " if (!docs) {\n", | |
| " return\n", | |
| " }\n", | |
| " const version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n", | |
| " async function embed_document(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
| " for (const render_item of render_items) {\n", | |
| " for (const root_id of render_item.root_ids) {\n", | |
| "\tconst id_el = document.getElementById(root_id)\n", | |
| "\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n", | |
| "\t const root_el = id_el.children[0]\n", | |
| "\t root_el.id = root_el.id + '-rendered'\n", | |
| "\t for (const child of root_el.children) {\n", | |
| " // Ensure JupyterLab does not capture keyboard shortcuts\n", | |
| " // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n", | |
| "\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n", | |
| "\t }\n", | |
| "\t}\n", | |
| " }\n", | |
| " }\n", | |
| " }\n", | |
| " function get_bokeh(root) {\n", | |
| " if (root.Bokeh === undefined) {\n", | |
| " return null\n", | |
| " } else if (root.Bokeh.version !== version) {\n", | |
| " if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(version)) {\n", | |
| "\treturn null\n", | |
| " }\n", | |
| " return root.Bokeh.versions.get(version);\n", | |
| " } else if (root.Bokeh.version === version) {\n", | |
| " return root.Bokeh\n", | |
| " }\n", | |
| " return null\n", | |
| " }\n", | |
| " function is_loaded(root) {\n", | |
| " var Bokeh = get_bokeh(root)\n", | |
| " return (Bokeh != null && Bokeh.Panel !== undefined)\n", | |
| " }\n", | |
| " if (is_loaded(root)) {\n", | |
| " embed_document(root);\n", | |
| " } else {\n", | |
| " var attempts = 0;\n", | |
| " var timer = setInterval(function(root) {\n", | |
| " if (is_loaded(root)) {\n", | |
| " clearInterval(timer);\n", | |
| " embed_document(root);\n", | |
| " } else if (document.readyState == \"complete\") {\n", | |
| " attempts++;\n", | |
| " if (attempts > 200) {\n", | |
| " clearInterval(timer);\n", | |
| "\t var Bokeh = get_bokeh(root)\n", | |
| "\t if (Bokeh == null || Bokeh.Panel == null) {\n", | |
| " console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n", | |
| "\t } else {\n", | |
| "\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n", | |
| "\t embed_document(root)\n", | |
| "\t }\n", | |
| " }\n", | |
| " }\n", | |
| " }, 25, root)\n", | |
| " }\n", | |
| "})(window);</script>" | |
| ], | |
| "text/plain": [ | |
| ":Layout\n", | |
| " .NdOverlay.I :NdOverlay [Variable]\n", | |
| " :Curve [offset_hours] (CRMS (m))\n", | |
| " .NdOverlay.II :NdOverlay [Variable]\n", | |
| " :Curve [offset_hours] (Correlation)" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "metadata": { | |
| "application/vnd.holoviews_exec.v0+json": { | |
| "id": "db3b1f40-d568-4508-9131-7c9b4e78a2fd" | |
| } | |
| }, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# Compare hourly, 25h rolling, and Godin-filtered CRMS\n", | |
| "results_df.hvplot.line(\n", | |
| " x='offset_hours',\n", | |
| " y=['CRMS', 'lp_CRMS', 'godin_CRMS'],\n", | |
| " value_label='CRMS (m)',\n", | |
| " xlabel='Forecast Offset (hours)',\n", | |
| " title='CRMS: Hourly vs 25h rolling vs Godin filter',\n", | |
| " grid=True, height=400, width=700\n", | |
| ") + results_df.hvplot.line(\n", | |
| " x='offset_hours',\n", | |
| " y=['correlation', 'lp_correlation', 'godin_correlation'],\n", | |
| " value_label='Correlation',\n", | |
| " xlabel='Forecast Offset (hours)',\n", | |
| " title='Correlation: Hourly vs 25h rolling vs Godin filter',\n", | |
| " grid=True, height=400, width=700\n", | |
| ")" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3 (ipykernel)", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.13.12" | |
| }, | |
| "widgets": { | |
| "application/vnd.jupyter.widget-state+json": { | |
| "state": {}, | |
| "version_major": 2, | |
| "version_minor": 0 | |
| } | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment