-
-
Save ScottWales/7402c7c5cbd96f6bed62f810899b611a to your computer and use it in GitHub Desktop.
This file contains 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", | |
"metadata": {}, | |
"source": [ | |
"# Intake ESGF test\n", | |
"\n", | |
"Demonstration of sample intake catalogue for esgf datasets in hh5" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import intake" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Loading the catalogue\n", | |
"\n", | |
"The sample catalogue is at /g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml. If you're using the hh5 conda environment, this can be accessed via Intake's default catalogue list" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/json": "catalogue:\n args:\n path: /g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml\n description: ''\n driver: intake.catalog.local.YAMLFileCatalog\n metadata:\n version: 1\n", | |
"text/plain": [ | |
"catalogue:\n", | |
" args:\n", | |
" path: /g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml\n", | |
" description: ''\n", | |
" driver: intake.catalog.local.YAMLFileCatalog\n", | |
" metadata:\n", | |
" version: 1\n" | |
] | |
}, | |
"metadata": { | |
"application/json": { | |
"root": "catalogue" | |
} | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"intake.cat.nci" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If not using hh5 you can load the catalogue manually" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/json": "catalogue:\n args:\n path: /g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml\n description: ''\n driver: intake.catalog.local.YAMLFileCatalog\n metadata:\n version: 1\n", | |
"text/plain": [ | |
"catalogue:\n", | |
" args:\n", | |
" path: /g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml\n", | |
" description: ''\n", | |
" driver: intake.catalog.local.YAMLFileCatalog\n", | |
" metadata:\n", | |
" version: 1\n" | |
] | |
}, | |
"metadata": { | |
"application/json": { | |
"root": "catalogue" | |
} | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"intake.open_catalog('/g/data/hh5/public/apps/nci-intake-catalogue/catalogue.yaml')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Inspecting the catalogue\n", | |
"\n", | |
"From the catalogue, you can get a list of entries by converting it to a list:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"['era5', 'era5_land', 'ecmwf', 'esgf']" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"list(intake.cat.nci)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The child catalogues are then accessed as attributes of the parent.\n", | |
"\n", | |
"You can also get a list of catalogue descriptions in Ipython using `.gui` - however this only shows datasets, not directories" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/javascript": [ | |
"\n", | |
"(function(root) {\n", | |
" function now() {\n", | |
" return new Date();\n", | |
" }\n", | |
"\n", | |
" var force = true;\n", | |
"\n", | |
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", | |
" root._bokeh_onload_callbacks = [];\n", | |
" root._bokeh_is_loading = undefined;\n", | |
" }\n", | |
"\n", | |
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\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, callback) {\n", | |
" if (css_urls == null) css_urls = [];\n", | |
" if (js_urls == null) js_urls = [];\n", | |
"\n", | |
" root._bokeh_onload_callbacks.push(callback);\n", | |
" if (root._bokeh_is_loading > 0) {\n", | |
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", | |
" return null;\n", | |
" }\n", | |
" if (js_urls == null || js_urls.length === 0) {\n", | |
" run_callbacks();\n", | |
" return null;\n", | |
" }\n", | |
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", | |
" root._bokeh_is_loading = css_urls.length + js_urls.length;\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", | |
"\n", | |
" function on_error() {\n", | |
" console.error(\"failed to load \" + url);\n", | |
" }\n", | |
"\n", | |
" for (var i = 0; i < css_urls.length; i++) {\n", | |
" var url = css_urls[i];\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", | |
" }\n", | |
"\n", | |
" var skip = [];\n", | |
" if (window.requirejs) {\n", | |
" require([], function() {\n", | |
" })\n", | |
" }\n", | |
" for (var i = 0; i < js_urls.length; i++) {\n", | |
" var url = js_urls[i];\n", | |
" if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", | |
" var element = document.createElement('script');\n", | |
" element.onload = on_load;\n", | |
" element.onerror = on_error;\n", | |
" element.async = false;\n", | |
" element.src = url;\n", | |
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", | |
" document.head.appendChild(element);\n", | |
" }\n", | |
"\tif (!js_urls.length) {\n", | |
" on_load()\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" function inject_raw_css(css) {\n", | |
" const element = document.createElement(\"style\");\n", | |
" element.appendChild(document.createTextNode(css));\n", | |
" document.body.appendChild(element);\n", | |
" }\n", | |
"\n", | |
" var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\", \"https://unpkg.com/@holoviz/panel@^0.10.3/dist/panel.min.js\"];\n", | |
" var css_urls = [\"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/markdown.css\"];\n", | |
"\n", | |
" var inline_js = [\n", | |
" function(Bokeh) {\n", | |
" inject_raw_css(\"\\n .scrolling {\\n overflow: scroll;\\n }\\n \");\n", | |
" },\n", | |
" function(Bokeh) {\n", | |
" Bokeh.set_log_level(\"info\");\n", | |
" },\n", | |
" function(Bokeh) {} // ensure no trailing comma for IE\n", | |
" ];\n", | |
"\n", | |
" function run_inline_js() {\n", | |
" if ((root.Bokeh !== undefined) || (force === true)) {\n", | |
" for (var i = 0; i < inline_js.length; i++) {\n", | |
" inline_js[i].call(root, root.Bokeh);\n", | |
" }} else if (Date.now() < root._bokeh_timeout) {\n", | |
" setTimeout(run_inline_js, 100);\n", | |
" } else if (!root._bokeh_failed_load) {\n", | |
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", | |
" root._bokeh_failed_load = true;\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" if (root._bokeh_is_loading === 0) {\n", | |
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", | |
" run_inline_js();\n", | |
" } else {\n", | |
" load_libs(css_urls, js_urls, function() {\n", | |
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", | |
" run_inline_js();\n", | |
" });\n", | |
" }\n", | |
"}(window));" | |
], | |
"application/vnd.holoviews_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\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, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\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\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\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 }\n\n var skip = [];\n if (window.requirejs) {\n require([], function() {\n })\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) >= 0) { on_load(); continue; }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n\tif (!js_urls.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\", \"https://unpkg.com/@holoviz/panel@^0.10.3/dist/panel.min.js\"];\n var css_urls = [\"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.10.3/dist/css/markdown.css\"];\n\n var inline_js = [\n function(Bokeh) {\n inject_raw_css(\"\\n .scrolling {\\n overflow: scroll;\\n }\\n \");\n },\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/javascript": [ | |
"\n", | |
"if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", | |
" window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", | |
"}\n", | |
"\n", | |
"\n", | |
" function JupyterCommManager() {\n", | |
" }\n", | |
"\n", | |
" JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", | |
" if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", | |
" var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", | |
" comm_manager.register_target(comm_id, function(comm) {\n", | |
" comm.on_msg(msg_handler);\n", | |
" });\n", | |
" } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", | |
" window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", | |
" comm.onMsg = msg_handler;\n", | |
" });\n", | |
" } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", | |
" google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", | |
" var messages = comm.messages[Symbol.asyncIterator]();\n", | |
" function processIteratorResult(result) {\n", | |
" var message = result.value;\n", | |
" console.log(message)\n", | |
" var content = {data: message.data, comm_id};\n", | |
" var buffers = []\n", | |
" for (var buffer of message.buffers || []) {\n", | |
" buffers.push(new DataView(buffer))\n", | |
" }\n", | |
" var metadata = message.metadata || {};\n", | |
" var msg = {content, buffers, metadata}\n", | |
" msg_handler(msg);\n", | |
" return messages.next().then(processIteratorResult);\n", | |
" }\n", | |
" return messages.next().then(processIteratorResult);\n", | |
" })\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", | |
" if (comm_id in window.PyViz.comms) {\n", | |
" return window.PyViz.comms[comm_id];\n", | |
" } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", | |
" var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", | |
" var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", | |
" if (msg_handler) {\n", | |
" comm.on_msg(msg_handler);\n", | |
" }\n", | |
" } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", | |
" var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", | |
" comm.open();\n", | |
" if (msg_handler) {\n", | |
" comm.onMsg = msg_handler;\n", | |
" }\n", | |
" } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", | |
" var comm_promise = google.colab.kernel.comms.open(comm_id)\n", | |
" comm_promise.then((comm) => {\n", | |
" window.PyViz.comms[comm_id] = comm;\n", | |
" if (msg_handler) {\n", | |
" var messages = comm.messages[Symbol.asyncIterator]();\n", | |
" function processIteratorResult(result) {\n", | |
" var message = result.value;\n", | |
" var content = {data: message.data};\n", | |
" var metadata = message.metadata || {comm_id};\n", | |
" var msg = {content, metadata}\n", | |
" msg_handler(msg);\n", | |
" return messages.next().then(processIteratorResult);\n", | |
" }\n", | |
" return messages.next().then(processIteratorResult);\n", | |
" }\n", | |
" }) \n", | |
" var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", | |
" return comm_promise.then((comm) => {\n", | |
" comm.send(data, metadata, buffers, disposeOnDone);\n", | |
" });\n", | |
" };\n", | |
" var comm = {\n", | |
" send: sendClosure\n", | |
" };\n", | |
" }\n", | |
" window.PyViz.comms[comm_id] = comm;\n", | |
" return comm;\n", | |
" }\n", | |
" window.PyViz.comm_manager = new JupyterCommManager();\n", | |
" \n", | |
"\n", | |
"\n", | |
"var JS_MIME_TYPE = 'application/javascript';\n", | |
"var HTML_MIME_TYPE = 'text/html';\n", | |
"var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", | |
"var CLASS_NAME = 'output';\n", | |
"\n", | |
"/**\n", | |
" * Render data to the DOM node\n", | |
" */\n", | |
"function render(props, node) {\n", | |
" var div = document.createElement(\"div\");\n", | |
" var script = document.createElement(\"script\");\n", | |
" node.appendChild(div);\n", | |
" node.appendChild(script);\n", | |
"}\n", | |
"\n", | |
"/**\n", | |
" * Handle when a new output is added\n", | |
" */\n", | |
"function handle_add_output(event, handle) {\n", | |
" var output_area = handle.output_area;\n", | |
" var output = handle.output;\n", | |
" if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", | |
" return\n", | |
" }\n", | |
" var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", | |
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", | |
" if (id !== undefined) {\n", | |
" var nchildren = toinsert.length;\n", | |
" var html_node = toinsert[nchildren-1].children[0];\n", | |
" html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", | |
" var scripts = [];\n", | |
" var nodelist = html_node.querySelectorAll(\"script\");\n", | |
" for (var i in nodelist) {\n", | |
" if (nodelist.hasOwnProperty(i)) {\n", | |
" scripts.push(nodelist[i])\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" scripts.forEach( function (oldScript) {\n", | |
" var newScript = document.createElement(\"script\");\n", | |
" var attrs = [];\n", | |
" var nodemap = oldScript.attributes;\n", | |
" for (var j in nodemap) {\n", | |
" if (nodemap.hasOwnProperty(j)) {\n", | |
" attrs.push(nodemap[j])\n", | |
" }\n", | |
" }\n", | |
" attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", | |
" newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", | |
" oldScript.parentNode.replaceChild(newScript, oldScript);\n", | |
" });\n", | |
" if (JS_MIME_TYPE in output.data) {\n", | |
" toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", | |
" }\n", | |
" output_area._hv_plot_id = id;\n", | |
" if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", | |
" window.PyViz.plot_index[id] = Bokeh.index[id];\n", | |
" } else {\n", | |
" window.PyViz.plot_index[id] = null;\n", | |
" }\n", | |
" } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", | |
" var bk_div = document.createElement(\"div\");\n", | |
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", | |
" var script_attrs = bk_div.children[0].attributes;\n", | |
" for (var i = 0; i < script_attrs.length; i++) {\n", | |
" toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", | |
" }\n", | |
" // store reference to server id on output_area\n", | |
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", | |
" }\n", | |
"}\n", | |
"\n", | |
"/**\n", | |
" * Handle when an output is cleared or removed\n", | |
" */\n", | |
"function handle_clear_output(event, handle) {\n", | |
" var id = handle.cell.output_area._hv_plot_id;\n", | |
" var server_id = handle.cell.output_area._bokeh_server_id;\n", | |
" if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", | |
" var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", | |
" if (server_id !== null) {\n", | |
" comm.send({event_type: 'server_delete', 'id': server_id});\n", | |
" return;\n", | |
" } else if (comm !== null) {\n", | |
" comm.send({event_type: 'delete', 'id': id});\n", | |
" }\n", | |
" delete PyViz.plot_index[id];\n", | |
" if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", | |
" var doc = window.Bokeh.index[id].model.document\n", | |
" doc.clear();\n", | |
" const i = window.Bokeh.documents.indexOf(doc);\n", | |
" if (i > -1) {\n", | |
" window.Bokeh.documents.splice(i, 1);\n", | |
" }\n", | |
" }\n", | |
"}\n", | |
"\n", | |
"/**\n", | |
" * Handle kernel restart event\n", | |
" */\n", | |
"function handle_kernel_cleanup(event, handle) {\n", | |
" delete PyViz.comms[\"hv-extension-comm\"];\n", | |
" window.PyViz.plot_index = {}\n", | |
"}\n", | |
"\n", | |
"/**\n", | |
" * Handle update_display_data messages\n", | |
" */\n", | |
"function handle_update_output(event, handle) {\n", | |
" handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", | |
" handle_add_output(event, handle)\n", | |
"}\n", | |
"\n", | |
"function register_renderer(events, OutputArea) {\n", | |
" function append_mime(data, metadata, element) {\n", | |
" // create a DOM node to render to\n", | |
" var toinsert = this.create_output_subarea(\n", | |
" metadata,\n", | |
" CLASS_NAME,\n", | |
" EXEC_MIME_TYPE\n", | |
" );\n", | |
" this.keyboard_manager.register_events(toinsert);\n", | |
" // Render to node\n", | |
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", | |
" render(props, toinsert[0]);\n", | |
" element.append(toinsert);\n", | |
" return toinsert\n", | |
" }\n", | |
"\n", | |
" events.on('output_added.OutputArea', handle_add_output);\n", | |
" events.on('output_updated.OutputArea', handle_update_output);\n", | |
" events.on('clear_output.CodeCell', handle_clear_output);\n", | |
" events.on('delete.Cell', handle_clear_output);\n", | |
" events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", | |
"\n", | |
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", | |
" safe: true,\n", | |
" index: 0\n", | |
" });\n", | |
"}\n", | |
"\n", | |
"if (window.Jupyter !== undefined) {\n", | |
" try {\n", | |
" var events = require('base/js/events');\n", | |
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n", | |
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", | |
" register_renderer(events, OutputArea);\n", | |
" }\n", | |
" } catch(err) {\n", | |
" }\n", | |
"}\n" | |
], | |
"application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": {}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"application/vnd.holoviews_exec.v0+json": "", | |
"text/html": [ | |
"<div id='1001'>\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" <div class=\"bk-root\" id=\"a36ceb31-c935-4b0d-9780-e7a36eae6efd\" data-root-id=\"1001\"></div>\n", | |
"</div>\n", | |
"<script type=\"application/javascript\">(function(root) {\n", | |
" function embed_document(root) {\n", | |
" var docs_json = {\"7ea3f427-a06b-4144-8133-6bec47987c50\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1010\"},{\"id\":\"1011\"}],\"margin\":[0,0,0,0],\"name\":\"Controls\"},\"id\":\"1009\",\"type\":\"Row\"},{\"attributes\":{\"children\":[{\"id\":\"1002\"},{\"id\":\"1014\"}],\"margin\":[0,0,0,0],\"name\":\"Column00030\"},\"id\":\"1001\",\"type\":\"Column\"},{\"attributes\":{\"children\":[{\"id\":\"1013\"}],\"css_classes\":[\"scrollable\"],\"height\":240,\"margin\":[0,0,0,0],\"name\":\"Description\",\"sizing_mode\":\"stretch_width\",\"width_policy\":\"max\"},\"id\":\"1012\",\"type\":\"Column\"},{\"attributes\":{\"icon\":null,\"label\":\"\\ud83d\\udcca\",\"margin\":[5,10,5,10],\"min_width\":50,\"width\":50},\"id\":\"1010\",\"type\":\"Toggle\"},{\"attributes\":{\"css_classes\":[\"markdown\"],\"margin\":[5,5,5,5],\"name\":\"Markdown00021\",\"text\":\"<div class="codehilite"><pre><span></span><code><span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">cmip5</span>\\n<span class="nt">container</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">xarray</span>\\n<span class="nt">plugin</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="s">&#39;esm_datastore&#39;</span><span class="p p-Indicator">]</span>\\n<span class="nt">description</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">CMIP5 (Latest Versions)</span>\\n\\n<span class="l l-Scalar l-Scalar-Plain">Datasets on Gadi, both publised and replicated. Only the latest available file versions are in the listing, see catalogue &#39;cmip5_all&#39; for all available versions</span>\\n\\n<span class="l l-Scalar l-Scalar-Plain">Catalogue columns match those used by ESGF search (esgf.nci.org.au)</span>\\n\\n<span class="nt">Project</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">al33, rr3</span>\\n<span class="nt">Maintained By</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">NCI</span>\\n<span class="nt">Contact</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">help@nci.org.au</span>\\n<span class="nt">References</span><span class="p">:</span>\\n <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">https://pcmdi.llnl.gov/mips/cmip5/</span>\\n\\n<span class="nt">direct_access</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">forbid</span>\\n<span class="nt">user_parameters</span><span class="p">:</span> <span class="p p-Indicator">[]</span>\\n<span class="nt">metadata</span><span class="p">:</span> \\n<span class="nt">args</span><span class="p">:</span> \\n <span class="nt">esmcol_obj</span><span class="p">:</span> <span class="p p-Indicator">{{</span><span class="nv">CATALOG_DIR</span><span class="p p-Indicator">}}</span><span class="l l-Scalar l-Scalar-Plain">/cmip5/catalogue_latest.json</span>\\n</code></pre></div>\"},\"id\":\"1013\",\"type\":\"panel.models.markup.HTML\"},{\"attributes\":{\"reload\":false},\"id\":\"1016\",\"type\":\"panel.models.location.Location\"},{\"attributes\":{\"children\":[{\"id\":\"1007\"},{\"id\":\"1008\"}],\"margin\":[0,0,0,0],\"name\":\"Select Data Source\"},\"id\":\"1006\",\"type\":\"Column\"},{\"attributes\":{\"disabled\":true,\"icon\":null,\"label\":\"\\u2699\",\"margin\":[5,10,5,10],\"min_width\":50,\"width\":50},\"id\":\"1011\",\"type\":\"Toggle\"},{\"attributes\":{\"margin\":[5,10,5,10],\"min_width\":200,\"options\":[\"cmip5\",\"cmip5_all\",\"cmip6\",\"cmip6_all\",\"cordex\",\"cordex_all\"],\"size\":9,\"value\":[\"cmip5\"],\"width_policy\":\"min\"},\"id\":\"1008\",\"type\":\"MultiSelect\"},{\"attributes\":{\"client_comm_id\":\"cc4ee93dadad4609bbc17d2e9b2e4843\",\"comm_id\":\"c5e239de7bca405f8c8bd9bfef534392\",\"plot_id\":\"1001\"},\"id\":\"1015\",\"type\":\"panel.models.comm_manager.CommManager\"},{\"attributes\":{\"children\":[{\"id\":\"1003\"},{\"id\":\"1004\"}],\"margin\":[0,0,0,0],\"name\":\"Row00029\"},\"id\":\"1002\",\"type\":\"Row\"},{\"attributes\":{\"css_classes\":[\"markdown\"],\"margin\":[5,5,5,5],\"max_height\":40,\"name\":\"Markdown00018\",\"text\":\"<h4>Sources</h4>\"},\"id\":\"1007\",\"type\":\"panel.models.markup.HTML\"},{\"attributes\":{\"children\":[{\"id\":\"1005\"},{\"id\":\"1012\"}],\"margin\":[0,0,0,0],\"name\":\"Row00028\"},\"id\":\"1004\",\"type\":\"Row\"},{\"attributes\":{\"height\":35,\"margin\":[5,5,5,5],\"name\":\"PNG00025\",\"text\":\"<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAjCAYAAADrJzjpAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAEJUlEQVRYCe2Xx4tUQRDG16yYMO+uCVFUTHjQi3jxKqLgP+HVs4rgSQ/+FV6MmFDMBzHnuKaDLi7qKuLFnP1+8/pbirczb2dGNxws+Lq6uqurv1evXk9PQ0N9MigtWyH9S/gt/EiafjngZ9916iOOk1k1tP1r8O1Trv+J9/TrGFjFhn4r1G0/Ae0x7HrE69AGcRFsvoVCqYZ4DOLgP1PUOFe4UW7S69DEdFzcYh+7rDhzZSc1yHw5H04Q5Humam693jofYEB+IG/7lZUb95Ov1+RaoV3gIViD/io0C8sFxvCvFE9THZnE55bwWBgqOPskoVG4KmwSvgmOq2714kzP1JJrAsQqIb7ySj4eL/IlOcsExPtnVo3t4OQ/WfqUwOZfBLJBhnjVJlSLZh3rwecU4770EgGhVIreXsmh5Fmm4VeNwATbK5wRXguLBISMdFmLJc/ODWsBH/kQ4aKwW9givBV4iLpiexEk2wSySZa2CieTzUOxcS2Zjr68Ney7wmbhTbJ5A6sFhKwXZr7klRqTXij7pUDw90nvlB4uHE82mxfVbCQa+3zY2E8EPsiNyf6YNElZJSBV1bpJz9OCdwLBHexwCDJCfWe+VvIm/UgxZgiW7eqwn2ue/so0aV7J7Kz8dE2aOiewmI8RfVuYJlg4yk4IzFVTNrwZk36ofj4WiYn7PZO9WEDMK7MqtH46iJ0WCOYstKo/S7DwYR0TqiFv0i3yn+oA0iOFs0LchxKaLiDmk1ldtL4nD5OfS+KT+gR/KswWLJA/KhSRN2lOiyleKB1JuyRjCZlHWNJ114tiSTh4q5bPCSHwPSLkycfyuKf55rBmlPouR8eFtDPt/cOS6rteHEvCmzxXmLkhFBc216lrng+Xh+HIaxIso9W5IDDneA/Udwl5Xw3VLw7Cr+hRgc1cNm3qcwJZIH9QwMflwUfdKFjGqMMPTiTdItsl5P3s/1fawSDvknCmID8/RIf8PgFi14VJggXSl4RImhLqFtLe1OTRLgmTf6GxBXaU5qPbJsQTaKzsK0IkTQm57h1fQ/9eHJysHhIg4bJ5pT5XBCR/7o7XmG+Yftg7GnMJOS5ru028CefrASGSb5ftHw2uBshEgZKJmeY+3qOktV9JTJ7M7hcieTK/tOSVnSQ30rwzfVO2695xknvPKG/K7c0fo8uGo3KNcF7goT4kzUNMEBCvz6webr055PcIkPQxSB98SZoap9YRr8usXmojCf4MQJYfHu7qfghOk3ECEv2zkV5sI5ld4hEzfVk2RyES/bKRPtBGUjvEB/LUOD86SJzPRvpQa3LcKjcIvnPzi9vnhfM9St6Oc3X3OQ26Q4jr2Fxt/7k4uDdCU5vejB8YjxVtbh+vw9djjsEY88SvJPaNHKIvMfEpihH96+6zUV7KjeV9ytkQ7pA/TXKLPl8vNeQAAAAASUVORK5CYII=" width="46px" height="35px" alt=""></img>\",\"width\":46},\"id\":\"1003\",\"type\":\"panel.models.markup.HTML\"},{\"attributes\":{\"margin\":[0,0,0,0],\"name\":\"Plot\",\"width_policy\":\"max\"},\"id\":\"1014\",\"type\":\"Column\"},{\"attributes\":{\"children\":[{\"id\":\"1006\"},{\"id\":\"1009\"}],\"margin\":[0,0,0,0],\"name\":\"Column00027\"},\"id\":\"1005\",\"type\":\"Column\"}],\"root_ids\":[\"1001\",\"1015\",\"1016\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n", | |
" var render_items = [{\"docid\":\"7ea3f427-a06b-4144-8133-6bec47987c50\",\"root_ids\":[\"1001\"],\"roots\":{\"1001\":\"a36ceb31-c935-4b0d-9780-e7a36eae6efd\"}}];\n", | |
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", | |
" }\n", | |
" if (root.Bokeh !== undefined && root.Bokeh.Panel !== undefined) {\n", | |
" embed_document(root);\n", | |
" } else {\n", | |
" var attempts = 0;\n", | |
" var timer = setInterval(function(root) {\n", | |
" if (root.Bokeh !== undefined && root.Bokeh.Panel !== undefined) {\n", | |
" clearInterval(timer);\n", | |
" embed_document(root);\n", | |
" } else if (document.readyState == \"complete\") {\n", | |
" attempts++;\n", | |
" if (attempts > 100) {\n", | |
" clearInterval(timer);\n", | |
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", | |
" }\n", | |
" }\n", | |
" }, 10, root)\n", | |
" }\n", | |
"})(window);</script>" | |
], | |
"text/plain": [ | |
"Column\n", | |
" [0] Row\n", | |
" [0] PNG(str)\n", | |
" [1] Row\n", | |
" [0] Column\n", | |
" [0] Column(name='Select Data Source')\n", | |
" [0] Markdown(str, max_height=40)\n", | |
" [1] MultiSelect(min_width=200, options=OrderedDict([('cmip5', ...]), size=9, value=[name: cmip5\n", | |
"container: xa...], width_policy='min')\n", | |
" [1] Row(name='Controls')\n", | |
" [0] Toggle(name='📊', width=50)\n", | |
" [1] Toggle(disabled=True, name='⚙', width=50)\n", | |
" [1] Column(height=240, name='Description', scroll=True, sizing_mode='stretch_width', width_policy='max')\n", | |
" [0] Markdown(str)\n", | |
" [1] Column(name='Plot', width_policy='max')" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": { | |
"application/vnd.holoviews_exec.v0+json": { | |
"id": "1001" | |
} | |
}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"intake.cat.nci.esgf.gui" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Selecting the cordex catalogue, we get a list of the available filters and how many options there are" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<p><strong>cordex catalog with 11462 dataset(s) from 636562 asset(s)</strong>:</p> <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>unique</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>project</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>product</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>domain</th>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>institute</th>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>driving_model</th>\n", | |
" <td>35</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>experiment</th>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ensemble</th>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_name</th>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_version</th>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>time_frequency</th>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>variable</th>\n", | |
" <td>86</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>date_range</th>\n", | |
" <td>1137</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>path</th>\n", | |
" <td>636562</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>version</th>\n", | |
" <td>10</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"cordex = intake.cat.nci.esgf.cordex\n", | |
"cordex" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"There's a little bit of metadata available, e.g. the dataset description:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"CORDEX (Latest Versions)\n", | |
"\n", | |
"Datasets on Gadi, both publised and replicated. Only the latest available file versions are in the listing, see catalogue 'cordex_all' for only the latest versions\n", | |
"\n", | |
"Catalogue columns match those used by ESGF search (esgf.nci.org.au)\n", | |
"\n", | |
"Project: al33, rr3\n", | |
"Maintained By: NCI\n", | |
"Contact: help@nci.org.au\n", | |
"References:\n", | |
" - https://cordex.org/\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"print(cordex.description)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Searching\n", | |
"\n", | |
"Searching a ESM catalogue returns a new catalogue with only the matching values" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<p><strong>cordex catalog with 6 dataset(s) from 66 asset(s)</strong>:</p> <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>unique</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>project</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>product</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>domain</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>institute</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>driving_model</th>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>experiment</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ensemble</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_name</th>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_version</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>time_frequency</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>variable</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>date_range</th>\n", | |
" <td>11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>path</th>\n", | |
" <td>66</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>version</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"unsw_day_tas_aus44i = cordex.search(institute='UNSW', time_frequency='day', variable='tas', domain='AUS-44i')\n", | |
"unsw_day_tas_aus44i" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"You can get a list of available values for the filters with `.unique()`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'rcm_name': {'count': 3, 'values': ['WRF360J', 'WRF360K', 'WRF360L']}}" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"unsw_day_tas_aus44i.unique('rcm_name')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"A list of all the matching datasets is available as `.keys()` - I've set up the sample catalogue so the keys this returns match the dataset IDs from ESGF" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"['cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360J.v1.day.tas.v20180614',\n", | |
" 'cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360K.v1.day.tas.v20180614',\n", | |
" 'cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360L.v1.day.tas.v20180614',\n", | |
" 'cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-3.historical.r1i1p1.WRF360J.v1.day.tas.v20180614',\n", | |
" 'cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-3.historical.r1i1p1.WRF360K.v1.day.tas.v20180614',\n", | |
" 'cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-3.historical.r1i1p1.WRF360L.v1.day.tas.v20180614']\n" | |
] | |
} | |
], | |
"source": [ | |
"from pprint import pp\n", | |
"pp(list(unsw_day_tas_aus44i.keys()))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Getting the datasets\n", | |
"\n", | |
"There are a few ways to get to a dataset from here - you can index the catalogue as a dictionary and call `.to_dask()`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"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 jupyterlab.\n", | |
" *\n", | |
" */\n", | |
"\n", | |
":root {\n", | |
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", | |
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", | |
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", | |
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", | |
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", | |
" --xr-background-color: var(--jp-layout-color0, white);\n", | |
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n", | |
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", | |
"}\n", | |
"\n", | |
"html[theme=dark],\n", | |
"body.vscode-dark {\n", | |
" --xr-font-color0: rgba(255, 255, 255, 1);\n", | |
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n", | |
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n", | |
" --xr-border-color: #1F1F1F;\n", | |
" --xr-disabled-color: #515151;\n", | |
" --xr-background-color: #111111;\n", | |
" --xr-background-color-row-even: #111111;\n", | |
" --xr-background-color-row-odd: #313131;\n", | |
"}\n", | |
"\n", | |
".xr-wrap {\n", | |
" display: block;\n", | |
" min-width: 300px;\n", | |
" max-width: 700px;\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", | |
" margin-bottom: 4px;\n", | |
" border-bottom: solid 1px var(--xr-border-color);\n", | |
"}\n", | |
"\n", | |
".xr-header > div,\n", | |
".xr-header > ul {\n", | |
" display: inline;\n", | |
" margin-top: 0;\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type,\n", | |
".xr-array-name {\n", | |
" margin-left: 2px;\n", | |
" margin-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-sections {\n", | |
" padding-left: 0 !important;\n", | |
" display: grid;\n", | |
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n", | |
"}\n", | |
"\n", | |
".xr-section-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input + label {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label {\n", | |
" cursor: pointer;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label:hover {\n", | |
" color: var(--xr-font-color0);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary {\n", | |
" grid-column: 1;\n", | |
" color: var(--xr-font-color2);\n", | |
" font-weight: 500;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary > span {\n", | |
" display: inline-block;\n", | |
" padding-left: 0.5em;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in + label:before {\n", | |
" display: inline-block;\n", | |
" content: '►';\n", | |
" font-size: 11px;\n", | |
" width: 15px;\n", | |
" text-align: center;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label:before {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label:before {\n", | |
" content: '▼';\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label > span {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary,\n", | |
".xr-section-inline-details {\n", | |
" padding-top: 4px;\n", | |
" padding-bottom: 4px;\n", | |
"}\n", | |
"\n", | |
".xr-section-inline-details {\n", | |
" grid-column: 2 / -1;\n", | |
"}\n", | |
"\n", | |
".xr-section-details {\n", | |
" display: none;\n", | |
" grid-column: 1 / -1;\n", | |
" margin-bottom: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked ~ .xr-section-details {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap {\n", | |
" grid-column: 1 / -1;\n", | |
" display: grid;\n", | |
" grid-template-columns: 20px auto;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap > label {\n", | |
" grid-column: 1;\n", | |
" vertical-align: top;\n", | |
"}\n", | |
"\n", | |
".xr-preview {\n", | |
" color: var(--xr-font-color3);\n", | |
"}\n", | |
"\n", | |
".xr-array-preview,\n", | |
".xr-array-data {\n", | |
" padding: 0 5px !important;\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-array-data,\n", | |
".xr-array-in:checked ~ .xr-array-preview {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-array-in:checked ~ .xr-array-data,\n", | |
".xr-array-preview {\n", | |
" display: inline-block;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list {\n", | |
" display: inline-block !important;\n", | |
" list-style: none;\n", | |
" padding: 0 !important;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li {\n", | |
" display: inline-block;\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:before {\n", | |
" content: '(';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:after {\n", | |
" content: ')';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li:not(:last-child):after {\n", | |
" content: ',';\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-has-index {\n", | |
" font-weight: bold;\n", | |
"}\n", | |
"\n", | |
".xr-var-list,\n", | |
".xr-var-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > div,\n", | |
".xr-var-item label,\n", | |
".xr-var-item > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-even);\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > .xr-var-name:hover span {\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-var-list > li:nth-child(odd) > div,\n", | |
".xr-var-list > li:nth-child(odd) > label,\n", | |
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-odd);\n", | |
"}\n", | |
"\n", | |
".xr-var-name {\n", | |
" grid-column: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-dims {\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-var-dtype {\n", | |
" grid-column: 3;\n", | |
" text-align: right;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-var-preview {\n", | |
" grid-column: 4;\n", | |
"}\n", | |
"\n", | |
".xr-var-name,\n", | |
".xr-var-dims,\n", | |
".xr-var-dtype,\n", | |
".xr-preview,\n", | |
".xr-attrs dt {\n", | |
" white-space: nowrap;\n", | |
" overflow: hidden;\n", | |
" text-overflow: ellipsis;\n", | |
" padding-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-var-name:hover,\n", | |
".xr-var-dims:hover,\n", | |
".xr-var-dtype:hover,\n", | |
".xr-attrs dt:hover {\n", | |
" overflow: visible;\n", | |
" width: auto;\n", | |
" z-index: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs,\n", | |
".xr-var-data {\n", | |
" display: none;\n", | |
" background-color: var(--xr-background-color) !important;\n", | |
" padding-bottom: 5px !important;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", | |
".xr-var-data-in:checked ~ .xr-var-data {\n", | |
" display: block;\n", | |
"}\n", | |
"\n", | |
".xr-var-data > table {\n", | |
" float: right;\n", | |
"}\n", | |
"\n", | |
".xr-var-name span,\n", | |
".xr-var-data,\n", | |
".xr-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-data {\n", | |
" grid-column: 1 / -1;\n", | |
"}\n", | |
"\n", | |
"dl.xr-attrs {\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
" display: grid;\n", | |
" grid-template-columns: 125px auto;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dt,\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", | |
" display: inline-block;\n", | |
" vertical-align: middle;\n", | |
" width: 1em;\n", | |
" height: 1.5em !important;\n", | |
" stroke-width: 0;\n", | |
" stroke: currentColor;\n", | |
" fill: currentColor;\n", | |
"}\n", | |
"</style><pre class='xr-text-repr-fallback'><xarray.Dataset>\n", | |
"Dimensions: (bnds: 2, lat: 133, lon: 238, time: 20089)\n", | |
"Coordinates:\n", | |
" * lon (lon) float64 88.75 89.25 89.75 90.25 ... -153.8 -153.2 -152.8\n", | |
" * lat (lat) float64 -53.25 -52.75 -52.25 -51.75 ... 11.75 12.25 12.75\n", | |
" * time (time) datetime64[ns] 1951-01-01T12:00:00 ... 2005-12-31T12:00:00\n", | |
" height float64 2.0\n", | |
"Dimensions without coordinates: bnds\n", | |
"Data variables:\n", | |
" time_bnds (time, bnds) datetime64[ns] dask.array<chunksize=(1826, 2), meta=np.ndarray>\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(1826, 133, 238), meta=np.ndarray>\n", | |
"Attributes: (12/29)\n", | |
" postprocessing_version: 1.0\n", | |
" intake_esm_varname: ['tas']\n", | |
" experiment: ACCESS1.0 historical run\n", | |
" CORDEX_domain: AUS-44i\n", | |
" model_id: UNSW-WRF360L\n", | |
" driving_model_id: CSIRO-BOM-ACCESS1-0\n", | |
" ... ...\n", | |
" experiment_id: historical\n", | |
" product: output\n", | |
" wrf_schemes_ra_sw_physics: CAM; Collins et al. (2004, NCAR)\n", | |
" Conventions: CF-1.4\n", | |
" wrf_schemes_sf_surface_physics: Noah; Chen and Dudhia (2001, MWR)\n", | |
" intake_esm_dataset_key: cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACC...</pre><div class='xr-wrap' hidden><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-3d80eeaa-8621-4048-8bef-3bd7bb790402' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-3d80eeaa-8621-4048-8bef-3bd7bb790402' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>bnds</span>: 2</li><li><span class='xr-has-index'>lat</span>: 133</li><li><span class='xr-has-index'>lon</span>: 238</li><li><span class='xr-has-index'>time</span>: 20089</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-d05c6c8b-8467-4923-bad8-78018c756319' class='xr-section-summary-in' type='checkbox' checked><label for='section-d05c6c8b-8467-4923-bad8-78018c756319' class='xr-section-summary' >Coordinates: <span>(4)</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'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>88.75 89.25 89.75 ... -153.2 -152.8</div><input id='attrs-0cad62ea-e727-496f-9c33-9af614903e5a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0cad62ea-e727-496f-9c33-9af614903e5a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c27a4b71-1365-4cf3-9ad9-c1fe57f5303b' class='xr-var-data-in' type='checkbox'><label for='data-c27a4b71-1365-4cf3-9ad9-c1fe57f5303b' 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>longitude</dd><dt><span>long_name :</span></dt><dd>Longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>axis :</span></dt><dd>X</dd></dl></div><div class='xr-var-data'><pre>array([ 88.75, 89.25, 89.75, ..., -153.75, -153.25, -152.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-53.25 -52.75 ... 12.25 12.75</div><input id='attrs-603c7f1e-2ce7-4b89-9d97-070e9eaf7cf4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-603c7f1e-2ce7-4b89-9d97-070e9eaf7cf4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-59817cde-3fde-4657-a7ce-527141406a83' class='xr-var-data-in' type='checkbox'><label for='data-59817cde-3fde-4657-a7ce-527141406a83' 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>latitude</dd><dt><span>long_name :</span></dt><dd>Latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>axis :</span></dt><dd>Y</dd></dl></div><div class='xr-var-data'><pre>array([-53.25, -52.75, -52.25, -51.75, -51.25, -50.75, -50.25, -49.75, -49.25,\n", | |
" -48.75, -48.25, -47.75, -47.25, -46.75, -46.25, -45.75, -45.25, -44.75,\n", | |
" -44.25, -43.75, -43.25, -42.75, -42.25, -41.75, -41.25, -40.75, -40.25,\n", | |
" -39.75, -39.25, -38.75, -38.25, -37.75, -37.25, -36.75, -36.25, -35.75,\n", | |
" -35.25, -34.75, -34.25, -33.75, -33.25, -32.75, -32.25, -31.75, -31.25,\n", | |
" -30.75, -30.25, -29.75, -29.25, -28.75, -28.25, -27.75, -27.25, -26.75,\n", | |
" -26.25, -25.75, -25.25, -24.75, -24.25, -23.75, -23.25, -22.75, -22.25,\n", | |
" -21.75, -21.25, -20.75, -20.25, -19.75, -19.25, -18.75, -18.25, -17.75,\n", | |
" -17.25, -16.75, -16.25, -15.75, -15.25, -14.75, -14.25, -13.75, -13.25,\n", | |
" -12.75, -12.25, -11.75, -11.25, -10.75, -10.25, -9.75, -9.25, -8.75,\n", | |
" -8.25, -7.75, -7.25, -6.75, -6.25, -5.75, -5.25, -4.75, -4.25,\n", | |
" -3.75, -3.25, -2.75, -2.25, -1.75, -1.25, -0.75, -0.25, 0.25,\n", | |
" 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 4.25, 4.75,\n", | |
" 5.25, 5.75, 6.25, 6.75, 7.25, 7.75, 8.25, 8.75, 9.25,\n", | |
" 9.75, 10.25, 10.75, 11.25, 11.75, 12.25, 12.75])</pre></div></li><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'>1951-01-01T12:00:00 ... 2005-12-...</div><input id='attrs-5aae6cb3-40aa-49c4-91c0-d76372899416' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5aae6cb3-40aa-49c4-91c0-d76372899416' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bcf6a86e-22d9-478e-a35c-c8eea266cf94' class='xr-var-data-in' type='checkbox'><label for='data-bcf6a86e-22d9-478e-a35c-c8eea266cf94' 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><dt><span>long_name :</span></dt><dd>time</dd><dt><span>bounds :</span></dt><dd>time_bnds</dd></dl></div><div class='xr-var-data'><pre>array(['1951-01-01T12:00:00.000000000', '1951-01-02T12:00:00.000000000',\n", | |
" '1951-01-03T12:00:00.000000000', ..., '2005-12-29T12:00:00.000000000',\n", | |
" '2005-12-30T12:00:00.000000000', '2005-12-31T12:00:00.000000000'],\n", | |
" dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>height</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>2.0</div><input id='attrs-13532f8b-7355-40b6-9d01-4eee12bd823b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-13532f8b-7355-40b6-9d01-4eee12bd823b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-94e5add6-7962-4ed3-83f0-23b6b4e9c974' class='xr-var-data-in' type='checkbox'><label for='data-94e5add6-7962-4ed3-83f0-23b6b4e9c974' 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>height</dd><dt><span>long_name :</span></dt><dd>height</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>positive :</span></dt><dd>up</dd><dt><span>axis :</span></dt><dd>Z</dd></dl></div><div class='xr-var-data'><pre>array(2.)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-c8079205-26dd-40dc-8a6b-d5c707ce5752' class='xr-section-summary-in' type='checkbox' checked><label for='section-c8079205-26dd-40dc-8a6b-d5c707ce5752' class='xr-section-summary' >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>time_bnds</span></div><div class='xr-var-dims'>(time, bnds)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1826, 2), meta=np.ndarray></div><input id='attrs-c7d2de4b-6685-454e-9d87-bd5e571ea184' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c7d2de4b-6685-454e-9d87-bd5e571ea184' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-659ce485-db47-4b23-b5db-486842e86190' class='xr-var-data-in' type='checkbox'><label for='data-659ce485-db47-4b23-b5db-486842e86190' 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'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 321.42 kB </td> <td> 29.23 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (20089, 2) </td> <td> (1827, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 33 Tasks </td><td> 11 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> datetime64[ns] </td><td> numpy.ndarray </td></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=\"10\" x2=\"25\" y2=\"10\" />\n", | |
" <line x1=\"0\" y1=\"21\" x2=\"25\" y2=\"21\" />\n", | |
" <line x1=\"0\" y1=\"32\" x2=\"25\" y2=\"32\" />\n", | |
" <line x1=\"0\" y1=\"43\" x2=\"25\" y2=\"43\" />\n", | |
" <line x1=\"0\" y1=\"54\" x2=\"25\" y2=\"54\" />\n", | |
" <line x1=\"0\" y1=\"65\" x2=\"25\" y2=\"65\" />\n", | |
" <line x1=\"0\" y1=\"76\" x2=\"25\" y2=\"76\" />\n", | |
" <line x1=\"0\" y1=\"87\" x2=\"25\" y2=\"87\" />\n", | |
" <line x1=\"0\" y1=\"98\" x2=\"25\" y2=\"98\" />\n", | |
" <line x1=\"0\" y1=\"109\" x2=\"25\" y2=\"109\" />\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.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">20089</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>tas</span></div><div class='xr-var-dims'>(time, lat, lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1826, 133, 238), meta=np.ndarray></div><input id='attrs-65dd26ec-a2ff-4287-9bd3-be2c244d14bb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-65dd26ec-a2ff-4287-9bd3-be2c244d14bb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-85c0afea-731a-4d61-928e-91473a436ca2' class='xr-var-data-in' type='checkbox'><label for='data-85c0afea-731a-4d61-928e-91473a436ca2' 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>long_name :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>standard_name :</span></dt><dd>air_temperature</dd><dt><span>cell_methods :</span></dt><dd>time: mean</dd><dt><span>units :</span></dt><dd>K</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 2.54 GB </td> <td> 231.33 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (20089, 133, 238) </td> <td> (1827, 133, 238) </td></tr>\n", | |
" <tr><th> Count </th><td> 33 Tasks </td><td> 11 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float32 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" 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=\"16\" y1=\"6\" x2=\"16\" y2=\"31\" />\n", | |
" <line x1=\"22\" y1=\"12\" x2=\"22\" y2=\"38\" />\n", | |
" <line x1=\"29\" y1=\"19\" x2=\"29\" y2=\"44\" />\n", | |
" <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"51\" />\n", | |
" <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"57\" />\n", | |
" <line x1=\"48\" y1=\"38\" x2=\"48\" y2=\"63\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"54\" y2=\"70\" />\n", | |
" <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"76\" />\n", | |
" <line x1=\"67\" y1=\"57\" x2=\"67\" y2=\"83\" />\n", | |
" <line x1=\"74\" y1=\"64\" x2=\"74\" y2=\"89\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"36\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"16\" y1=\"6\" x2=\"42\" y2=\"6\" />\n", | |
" <line x1=\"22\" y1=\"12\" x2=\"49\" y2=\"12\" />\n", | |
" <line x1=\"29\" y1=\"19\" x2=\"55\" y2=\"19\" />\n", | |
" <line x1=\"35\" y1=\"25\" x2=\"61\" y2=\"25\" />\n", | |
" <line x1=\"42\" y1=\"32\" x2=\"68\" y2=\"32\" />\n", | |
" <line x1=\"48\" y1=\"38\" x2=\"74\" y2=\"38\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"81\" y2=\"44\" />\n", | |
" <line x1=\"61\" y1=\"51\" x2=\"87\" y2=\"51\" />\n", | |
" <line x1=\"67\" y1=\"57\" x2=\"93\" y2=\"57\" />\n", | |
" <line x1=\"74\" y1=\"64\" x2=\"100\" y2=\"64\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"36\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 36.242557076454275,0.0 106.83079237057193,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"80.58823529411765,70.58823529411765 106.83079237057193,70.58823529411765 106.83079237057193,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.709514\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >238</text>\n", | |
" <text x=\"126.830792\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,126.830792,83.294544)\">133</text>\n", | |
" <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">20089</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-440ddd69-c287-4252-9ef8-2809d0297228' class='xr-section-summary-in' type='checkbox' ><label for='section-440ddd69-c287-4252-9ef8-2809d0297228' class='xr-section-summary' >Attributes: <span>(29)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>postprocessing_version :</span></dt><dd>1.0</dd><dt><span>intake_esm_varname :</span></dt><dd>['tas']</dd><dt><span>experiment :</span></dt><dd>ACCESS1.0 historical run</dd><dt><span>CORDEX_domain :</span></dt><dd>AUS-44i</dd><dt><span>model_id :</span></dt><dd>UNSW-WRF360L</dd><dt><span>driving_model_id :</span></dt><dd>CSIRO-BOM-ACCESS1-0</dd><dt><span>wrf_schemes_ra_lw_physics :</span></dt><dd>CAM; Collins et al. (2004, NCAR)</dd><dt><span>references :</span></dt><dd>http://www.ccrc.unsw.edu.au</dd><dt><span>creation_date :</span></dt><dd>2017-08-05 10:41:25 Z</dd><dt><span>comment :</span></dt><dd>CCRC version of WRF3.6, locally known as WRF3.6.0.5. It includes time varying forcings</dd><dt><span>contact :</span></dt><dd>Jason Evans (jason.evans@unsw.edu.au), Roman Olson (roman.olson@unsw.edu.au), Daniel Argueso (d.argueso@unsw.edu.au), Alejandro Di Luca (a.diluca@unsw.edu.au), Giovanni Di Virgilio (giovanni@unsw.edu.au)</dd><dt><span>institute_id :</span></dt><dd>UNSW</dd><dt><span>driving_model_ensemble_member :</span></dt><dd>r1i1p1</dd><dt><span>wrf_schemes_cu_physics :</span></dt><dd>Kain-Fritsch; Kain (2004, JAM)</dd><dt><span>driving_experiment_name :</span></dt><dd>historical</dd><dt><span>wrf_options :</span></dt><dd>sst_update & tmn_update</dd><dt><span>project_id :</span></dt><dd>CORDEX</dd><dt><span>institution :</span></dt><dd>UNSW Australia</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>history :</span></dt><dd>Interpolated from the original variable in the native grid to the regular lat/lon grid using a nearest neighbor interpolation method</dd><dt><span>wrf_schemes_sf_sfclay_physics :</span></dt><dd>Old_MM5; Paulson (1970, JAM), Dyer and Hicks (1970, QJRMS), and Webb (1970, QJRMS)</dd><dt><span>wrf_schemes_bl_pbl_physics :</span></dt><dd>YSU; Hong, Noh and Dudhia (2006, MWR)</dd><dt><span>rcm_version_id :</span></dt><dd>v1</dd><dt><span>experiment_id :</span></dt><dd>historical</dd><dt><span>product :</span></dt><dd>output</dd><dt><span>wrf_schemes_ra_sw_physics :</span></dt><dd>CAM; Collins et al. (2004, NCAR)</dd><dt><span>Conventions :</span></dt><dd>CF-1.4</dd><dt><span>wrf_schemes_sf_surface_physics :</span></dt><dd>Noah; Chen and Dudhia (2001, MWR)</dd><dt><span>intake_esm_dataset_key :</span></dt><dd>cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360L.v1.day.tas.v20180614</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (bnds: 2, lat: 133, lon: 238, time: 20089)\n", | |
"Coordinates:\n", | |
" * lon (lon) float64 88.75 89.25 89.75 90.25 ... -153.8 -153.2 -152.8\n", | |
" * lat (lat) float64 -53.25 -52.75 -52.25 -51.75 ... 11.75 12.25 12.75\n", | |
" * time (time) datetime64[ns] 1951-01-01T12:00:00 ... 2005-12-31T12:00:00\n", | |
" height float64 2.0\n", | |
"Dimensions without coordinates: bnds\n", | |
"Data variables:\n", | |
" time_bnds (time, bnds) datetime64[ns] dask.array<chunksize=(1826, 2), meta=np.ndarray>\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(1826, 133, 238), meta=np.ndarray>\n", | |
"Attributes: (12/29)\n", | |
" postprocessing_version: 1.0\n", | |
" intake_esm_varname: ['tas']\n", | |
" experiment: ACCESS1.0 historical run\n", | |
" CORDEX_domain: AUS-44i\n", | |
" model_id: UNSW-WRF360L\n", | |
" driving_model_id: CSIRO-BOM-ACCESS1-0\n", | |
" ... ...\n", | |
" experiment_id: historical\n", | |
" product: output\n", | |
" wrf_schemes_ra_sw_physics: CAM; Collins et al. (2004, NCAR)\n", | |
" Conventions: CF-1.4\n", | |
" wrf_schemes_sf_surface_physics: Noah; Chen and Dudhia (2001, MWR)\n", | |
" intake_esm_dataset_key: cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACC..." | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"unsw_day_tas_aus44i['cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360L.v1.day.tas.v20180614'].to_dask()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"or you can call to_dataset_dict(), which converts a catalogue into a dictionary of datasets. This lets you give options like chunk sizes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\n", | |
"--> The keys in the returned dictionary of datasets are constructed as follows:\n", | |
"\t'project.product.domain.institute.driving_model.experiment.ensemble.rcm_name.rcm_version.time_frequency.variable.version'\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"\n", | |
" <div>\n", | |
" <style>\n", | |
" /* Turns off some styling */\n", | |
" progress {\n", | |
" /* gets rid of default border in Firefox and Opera. */\n", | |
" border: none;\n", | |
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n", | |
" background-size: auto;\n", | |
" }\n", | |
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n", | |
" background: #F44336;\n", | |
" }\n", | |
" </style>\n", | |
" <progress value='6' class='' max='6' style='width:300px; height:20px; vertical-align: middle;'></progress>\n", | |
" 100.00% [6/6 00:01<00:00]\n", | |
" </div>\n", | |
" " | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"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 jupyterlab.\n", | |
" *\n", | |
" */\n", | |
"\n", | |
":root {\n", | |
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", | |
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", | |
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", | |
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", | |
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", | |
" --xr-background-color: var(--jp-layout-color0, white);\n", | |
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n", | |
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", | |
"}\n", | |
"\n", | |
"html[theme=dark],\n", | |
"body.vscode-dark {\n", | |
" --xr-font-color0: rgba(255, 255, 255, 1);\n", | |
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n", | |
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n", | |
" --xr-border-color: #1F1F1F;\n", | |
" --xr-disabled-color: #515151;\n", | |
" --xr-background-color: #111111;\n", | |
" --xr-background-color-row-even: #111111;\n", | |
" --xr-background-color-row-odd: #313131;\n", | |
"}\n", | |
"\n", | |
".xr-wrap {\n", | |
" display: block;\n", | |
" min-width: 300px;\n", | |
" max-width: 700px;\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", | |
" margin-bottom: 4px;\n", | |
" border-bottom: solid 1px var(--xr-border-color);\n", | |
"}\n", | |
"\n", | |
".xr-header > div,\n", | |
".xr-header > ul {\n", | |
" display: inline;\n", | |
" margin-top: 0;\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type,\n", | |
".xr-array-name {\n", | |
" margin-left: 2px;\n", | |
" margin-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-sections {\n", | |
" padding-left: 0 !important;\n", | |
" display: grid;\n", | |
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n", | |
"}\n", | |
"\n", | |
".xr-section-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input + label {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label {\n", | |
" cursor: pointer;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label:hover {\n", | |
" color: var(--xr-font-color0);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary {\n", | |
" grid-column: 1;\n", | |
" color: var(--xr-font-color2);\n", | |
" font-weight: 500;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary > span {\n", | |
" display: inline-block;\n", | |
" padding-left: 0.5em;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in + label:before {\n", | |
" display: inline-block;\n", | |
" content: '►';\n", | |
" font-size: 11px;\n", | |
" width: 15px;\n", | |
" text-align: center;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label:before {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label:before {\n", | |
" content: '▼';\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label > span {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary,\n", | |
".xr-section-inline-details {\n", | |
" padding-top: 4px;\n", | |
" padding-bottom: 4px;\n", | |
"}\n", | |
"\n", | |
".xr-section-inline-details {\n", | |
" grid-column: 2 / -1;\n", | |
"}\n", | |
"\n", | |
".xr-section-details {\n", | |
" display: none;\n", | |
" grid-column: 1 / -1;\n", | |
" margin-bottom: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked ~ .xr-section-details {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap {\n", | |
" grid-column: 1 / -1;\n", | |
" display: grid;\n", | |
" grid-template-columns: 20px auto;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap > label {\n", | |
" grid-column: 1;\n", | |
" vertical-align: top;\n", | |
"}\n", | |
"\n", | |
".xr-preview {\n", | |
" color: var(--xr-font-color3);\n", | |
"}\n", | |
"\n", | |
".xr-array-preview,\n", | |
".xr-array-data {\n", | |
" padding: 0 5px !important;\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-array-data,\n", | |
".xr-array-in:checked ~ .xr-array-preview {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-array-in:checked ~ .xr-array-data,\n", | |
".xr-array-preview {\n", | |
" display: inline-block;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list {\n", | |
" display: inline-block !important;\n", | |
" list-style: none;\n", | |
" padding: 0 !important;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li {\n", | |
" display: inline-block;\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:before {\n", | |
" content: '(';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:after {\n", | |
" content: ')';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li:not(:last-child):after {\n", | |
" content: ',';\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-has-index {\n", | |
" font-weight: bold;\n", | |
"}\n", | |
"\n", | |
".xr-var-list,\n", | |
".xr-var-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > div,\n", | |
".xr-var-item label,\n", | |
".xr-var-item > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-even);\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > .xr-var-name:hover span {\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-var-list > li:nth-child(odd) > div,\n", | |
".xr-var-list > li:nth-child(odd) > label,\n", | |
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-odd);\n", | |
"}\n", | |
"\n", | |
".xr-var-name {\n", | |
" grid-column: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-dims {\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-var-dtype {\n", | |
" grid-column: 3;\n", | |
" text-align: right;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-var-preview {\n", | |
" grid-column: 4;\n", | |
"}\n", | |
"\n", | |
".xr-var-name,\n", | |
".xr-var-dims,\n", | |
".xr-var-dtype,\n", | |
".xr-preview,\n", | |
".xr-attrs dt {\n", | |
" white-space: nowrap;\n", | |
" overflow: hidden;\n", | |
" text-overflow: ellipsis;\n", | |
" padding-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-var-name:hover,\n", | |
".xr-var-dims:hover,\n", | |
".xr-var-dtype:hover,\n", | |
".xr-attrs dt:hover {\n", | |
" overflow: visible;\n", | |
" width: auto;\n", | |
" z-index: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs,\n", | |
".xr-var-data {\n", | |
" display: none;\n", | |
" background-color: var(--xr-background-color) !important;\n", | |
" padding-bottom: 5px !important;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", | |
".xr-var-data-in:checked ~ .xr-var-data {\n", | |
" display: block;\n", | |
"}\n", | |
"\n", | |
".xr-var-data > table {\n", | |
" float: right;\n", | |
"}\n", | |
"\n", | |
".xr-var-name span,\n", | |
".xr-var-data,\n", | |
".xr-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-data {\n", | |
" grid-column: 1 / -1;\n", | |
"}\n", | |
"\n", | |
"dl.xr-attrs {\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
" display: grid;\n", | |
" grid-template-columns: 125px auto;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dt,\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", | |
" display: inline-block;\n", | |
" vertical-align: middle;\n", | |
" width: 1em;\n", | |
" height: 1.5em !important;\n", | |
" stroke-width: 0;\n", | |
" stroke: currentColor;\n", | |
" fill: currentColor;\n", | |
"}\n", | |
"</style><pre class='xr-text-repr-fallback'><xarray.Dataset>\n", | |
"Dimensions: (bnds: 2, lat: 133, lon: 238, time: 20089)\n", | |
"Coordinates:\n", | |
" * lon (lon) float64 88.75 89.25 89.75 90.25 ... -153.8 -153.2 -152.8\n", | |
" * lat (lat) float64 -53.25 -52.75 -52.25 -51.75 ... 11.75 12.25 12.75\n", | |
" * time (time) datetime64[ns] 1951-01-01T12:00:00 ... 2005-12-31T12:00:00\n", | |
" height float64 2.0\n", | |
"Dimensions without coordinates: bnds\n", | |
"Data variables:\n", | |
" time_bnds (time, bnds) datetime64[ns] dask.array<chunksize=(1826, 2), meta=np.ndarray>\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(1826, 133, 119), meta=np.ndarray>\n", | |
"Attributes: (12/29)\n", | |
" postprocessing_version: 1.0\n", | |
" intake_esm_varname: ['tas']\n", | |
" experiment: ACCESS1.0 historical run\n", | |
" CORDEX_domain: AUS-44i\n", | |
" model_id: UNSW-WRF360L\n", | |
" driving_model_id: CSIRO-BOM-ACCESS1-0\n", | |
" ... ...\n", | |
" experiment_id: historical\n", | |
" product: output\n", | |
" wrf_schemes_ra_sw_physics: CAM; Collins et al. (2004, NCAR)\n", | |
" Conventions: CF-1.4\n", | |
" wrf_schemes_sf_surface_physics: Noah; Chen and Dudhia (2001, MWR)\n", | |
" intake_esm_dataset_key: cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACC...</pre><div class='xr-wrap' hidden><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-859bd66b-3f39-4806-8fd2-0a5264c6324b' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-859bd66b-3f39-4806-8fd2-0a5264c6324b' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>bnds</span>: 2</li><li><span class='xr-has-index'>lat</span>: 133</li><li><span class='xr-has-index'>lon</span>: 238</li><li><span class='xr-has-index'>time</span>: 20089</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-eee8413b-482d-4a50-b958-0919963ffdfe' class='xr-section-summary-in' type='checkbox' checked><label for='section-eee8413b-482d-4a50-b958-0919963ffdfe' class='xr-section-summary' >Coordinates: <span>(4)</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'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>88.75 89.25 89.75 ... -153.2 -152.8</div><input id='attrs-2453f309-4fab-4515-af12-13cd1a43d92a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2453f309-4fab-4515-af12-13cd1a43d92a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e56503ca-6c00-41e5-af24-6a48e862a63d' class='xr-var-data-in' type='checkbox'><label for='data-e56503ca-6c00-41e5-af24-6a48e862a63d' 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>longitude</dd><dt><span>long_name :</span></dt><dd>Longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>axis :</span></dt><dd>X</dd></dl></div><div class='xr-var-data'><pre>array([ 88.75, 89.25, 89.75, ..., -153.75, -153.25, -152.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-53.25 -52.75 ... 12.25 12.75</div><input id='attrs-e0e5ea3e-008c-4c5c-b85d-e468e465f9a4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e0e5ea3e-008c-4c5c-b85d-e468e465f9a4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fa2c6b0f-9152-475b-9423-b6344839c215' class='xr-var-data-in' type='checkbox'><label for='data-fa2c6b0f-9152-475b-9423-b6344839c215' 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>latitude</dd><dt><span>long_name :</span></dt><dd>Latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>axis :</span></dt><dd>Y</dd></dl></div><div class='xr-var-data'><pre>array([-53.25, -52.75, -52.25, -51.75, -51.25, -50.75, -50.25, -49.75, -49.25,\n", | |
" -48.75, -48.25, -47.75, -47.25, -46.75, -46.25, -45.75, -45.25, -44.75,\n", | |
" -44.25, -43.75, -43.25, -42.75, -42.25, -41.75, -41.25, -40.75, -40.25,\n", | |
" -39.75, -39.25, -38.75, -38.25, -37.75, -37.25, -36.75, -36.25, -35.75,\n", | |
" -35.25, -34.75, -34.25, -33.75, -33.25, -32.75, -32.25, -31.75, -31.25,\n", | |
" -30.75, -30.25, -29.75, -29.25, -28.75, -28.25, -27.75, -27.25, -26.75,\n", | |
" -26.25, -25.75, -25.25, -24.75, -24.25, -23.75, -23.25, -22.75, -22.25,\n", | |
" -21.75, -21.25, -20.75, -20.25, -19.75, -19.25, -18.75, -18.25, -17.75,\n", | |
" -17.25, -16.75, -16.25, -15.75, -15.25, -14.75, -14.25, -13.75, -13.25,\n", | |
" -12.75, -12.25, -11.75, -11.25, -10.75, -10.25, -9.75, -9.25, -8.75,\n", | |
" -8.25, -7.75, -7.25, -6.75, -6.25, -5.75, -5.25, -4.75, -4.25,\n", | |
" -3.75, -3.25, -2.75, -2.25, -1.75, -1.25, -0.75, -0.25, 0.25,\n", | |
" 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 4.25, 4.75,\n", | |
" 5.25, 5.75, 6.25, 6.75, 7.25, 7.75, 8.25, 8.75, 9.25,\n", | |
" 9.75, 10.25, 10.75, 11.25, 11.75, 12.25, 12.75])</pre></div></li><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'>1951-01-01T12:00:00 ... 2005-12-...</div><input id='attrs-602b8667-302f-4103-8187-c833ab7f646c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-602b8667-302f-4103-8187-c833ab7f646c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-36f31f34-4d03-4427-b751-0298ecb13162' class='xr-var-data-in' type='checkbox'><label for='data-36f31f34-4d03-4427-b751-0298ecb13162' 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><dt><span>long_name :</span></dt><dd>time</dd><dt><span>bounds :</span></dt><dd>time_bnds</dd></dl></div><div class='xr-var-data'><pre>array(['1951-01-01T12:00:00.000000000', '1951-01-02T12:00:00.000000000',\n", | |
" '1951-01-03T12:00:00.000000000', ..., '2005-12-29T12:00:00.000000000',\n", | |
" '2005-12-30T12:00:00.000000000', '2005-12-31T12:00:00.000000000'],\n", | |
" dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>height</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>2.0</div><input id='attrs-a59dc582-4508-4815-960c-2f86a146e07c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a59dc582-4508-4815-960c-2f86a146e07c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5ade23e8-e9fb-464e-9ffc-a27a85bc966e' class='xr-var-data-in' type='checkbox'><label for='data-5ade23e8-e9fb-464e-9ffc-a27a85bc966e' 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>height</dd><dt><span>long_name :</span></dt><dd>height</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>positive :</span></dt><dd>up</dd><dt><span>axis :</span></dt><dd>Z</dd></dl></div><div class='xr-var-data'><pre>array(2.)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-9e1f429a-067e-4cbc-b9f0-f4c998fc0014' class='xr-section-summary-in' type='checkbox' checked><label for='section-9e1f429a-067e-4cbc-b9f0-f4c998fc0014' class='xr-section-summary' >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>time_bnds</span></div><div class='xr-var-dims'>(time, bnds)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1826, 2), meta=np.ndarray></div><input id='attrs-276b81cd-01ca-4bff-8d57-c40b7ab12f3b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-276b81cd-01ca-4bff-8d57-c40b7ab12f3b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2fbaa361-cb6d-4d56-8b8e-e2106c98292f' class='xr-var-data-in' type='checkbox'><label for='data-2fbaa361-cb6d-4d56-8b8e-e2106c98292f' 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'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 321.42 kB </td> <td> 29.23 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (20089, 2) </td> <td> (1827, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 33 Tasks </td><td> 11 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> datetime64[ns] </td><td> numpy.ndarray </td></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=\"10\" x2=\"25\" y2=\"10\" />\n", | |
" <line x1=\"0\" y1=\"21\" x2=\"25\" y2=\"21\" />\n", | |
" <line x1=\"0\" y1=\"32\" x2=\"25\" y2=\"32\" />\n", | |
" <line x1=\"0\" y1=\"43\" x2=\"25\" y2=\"43\" />\n", | |
" <line x1=\"0\" y1=\"54\" x2=\"25\" y2=\"54\" />\n", | |
" <line x1=\"0\" y1=\"65\" x2=\"25\" y2=\"65\" />\n", | |
" <line x1=\"0\" y1=\"76\" x2=\"25\" y2=\"76\" />\n", | |
" <line x1=\"0\" y1=\"87\" x2=\"25\" y2=\"87\" />\n", | |
" <line x1=\"0\" y1=\"98\" x2=\"25\" y2=\"98\" />\n", | |
" <line x1=\"0\" y1=\"109\" x2=\"25\" y2=\"109\" />\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.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">20089</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>tas</span></div><div class='xr-var-dims'>(time, lat, lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1826, 133, 119), meta=np.ndarray></div><input id='attrs-8f73f64c-d920-42fc-b598-2326ba60ff5b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8f73f64c-d920-42fc-b598-2326ba60ff5b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-142ea39e-7e55-4a61-a62c-577948002b55' class='xr-var-data-in' type='checkbox'><label for='data-142ea39e-7e55-4a61-a62c-577948002b55' 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>long_name :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>standard_name :</span></dt><dd>air_temperature</dd><dt><span>cell_methods :</span></dt><dd>time: mean</dd><dt><span>units :</span></dt><dd>K</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 2.54 GB </td> <td> 115.66 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (20089, 133, 238) </td> <td> (1827, 133, 119) </td></tr>\n", | |
" <tr><th> Count </th><td> 55 Tasks </td><td> 22 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float32 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" 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=\"16\" y1=\"6\" x2=\"16\" y2=\"31\" />\n", | |
" <line x1=\"22\" y1=\"12\" x2=\"22\" y2=\"38\" />\n", | |
" <line x1=\"29\" y1=\"19\" x2=\"29\" y2=\"44\" />\n", | |
" <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"51\" />\n", | |
" <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"57\" />\n", | |
" <line x1=\"48\" y1=\"38\" x2=\"48\" y2=\"63\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"54\" y2=\"70\" />\n", | |
" <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"76\" />\n", | |
" <line x1=\"67\" y1=\"57\" x2=\"67\" y2=\"83\" />\n", | |
" <line x1=\"74\" y1=\"64\" x2=\"74\" y2=\"89\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"36\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"16\" y1=\"6\" x2=\"42\" y2=\"6\" />\n", | |
" <line x1=\"22\" y1=\"12\" x2=\"49\" y2=\"12\" />\n", | |
" <line x1=\"29\" y1=\"19\" x2=\"55\" y2=\"19\" />\n", | |
" <line x1=\"35\" y1=\"25\" x2=\"61\" y2=\"25\" />\n", | |
" <line x1=\"42\" y1=\"32\" x2=\"68\" y2=\"32\" />\n", | |
" <line x1=\"48\" y1=\"38\" x2=\"74\" y2=\"38\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"81\" y2=\"44\" />\n", | |
" <line x1=\"61\" y1=\"51\" x2=\"87\" y2=\"51\" />\n", | |
" <line x1=\"67\" y1=\"57\" x2=\"93\" y2=\"57\" />\n", | |
" <line x1=\"74\" y1=\"64\" x2=\"100\" y2=\"64\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"23\" y1=\"0\" x2=\"93\" y2=\"70\" />\n", | |
" <line x1=\"36\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 36.242557076454275,0.0 106.83079237057193,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"93\" y1=\"70\" x2=\"93\" y2=\"96\" />\n", | |
" <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"80.58823529411765,70.58823529411765 106.83079237057193,70.58823529411765 106.83079237057193,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.709514\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >238</text>\n", | |
" <text x=\"126.830792\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,126.830792,83.294544)\">133</text>\n", | |
" <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">20089</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-4b875e47-5d5d-4d46-8b29-76baefece01a' class='xr-section-summary-in' type='checkbox' ><label for='section-4b875e47-5d5d-4d46-8b29-76baefece01a' class='xr-section-summary' >Attributes: <span>(29)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>postprocessing_version :</span></dt><dd>1.0</dd><dt><span>intake_esm_varname :</span></dt><dd>['tas']</dd><dt><span>experiment :</span></dt><dd>ACCESS1.0 historical run</dd><dt><span>CORDEX_domain :</span></dt><dd>AUS-44i</dd><dt><span>model_id :</span></dt><dd>UNSW-WRF360L</dd><dt><span>driving_model_id :</span></dt><dd>CSIRO-BOM-ACCESS1-0</dd><dt><span>wrf_schemes_ra_lw_physics :</span></dt><dd>CAM; Collins et al. (2004, NCAR)</dd><dt><span>references :</span></dt><dd>http://www.ccrc.unsw.edu.au</dd><dt><span>creation_date :</span></dt><dd>2017-08-05 10:41:25 Z</dd><dt><span>comment :</span></dt><dd>CCRC version of WRF3.6, locally known as WRF3.6.0.5. It includes time varying forcings</dd><dt><span>contact :</span></dt><dd>Jason Evans (jason.evans@unsw.edu.au), Roman Olson (roman.olson@unsw.edu.au), Daniel Argueso (d.argueso@unsw.edu.au), Alejandro Di Luca (a.diluca@unsw.edu.au), Giovanni Di Virgilio (giovanni@unsw.edu.au)</dd><dt><span>institute_id :</span></dt><dd>UNSW</dd><dt><span>driving_model_ensemble_member :</span></dt><dd>r1i1p1</dd><dt><span>wrf_schemes_cu_physics :</span></dt><dd>Kain-Fritsch; Kain (2004, JAM)</dd><dt><span>driving_experiment_name :</span></dt><dd>historical</dd><dt><span>wrf_options :</span></dt><dd>sst_update & tmn_update</dd><dt><span>project_id :</span></dt><dd>CORDEX</dd><dt><span>institution :</span></dt><dd>UNSW Australia</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>history :</span></dt><dd>Interpolated from the original variable in the native grid to the regular lat/lon grid using a nearest neighbor interpolation method</dd><dt><span>wrf_schemes_sf_sfclay_physics :</span></dt><dd>Old_MM5; Paulson (1970, JAM), Dyer and Hicks (1970, QJRMS), and Webb (1970, QJRMS)</dd><dt><span>wrf_schemes_bl_pbl_physics :</span></dt><dd>YSU; Hong, Noh and Dudhia (2006, MWR)</dd><dt><span>rcm_version_id :</span></dt><dd>v1</dd><dt><span>experiment_id :</span></dt><dd>historical</dd><dt><span>product :</span></dt><dd>output</dd><dt><span>wrf_schemes_ra_sw_physics :</span></dt><dd>CAM; Collins et al. (2004, NCAR)</dd><dt><span>Conventions :</span></dt><dd>CF-1.4</dd><dt><span>wrf_schemes_sf_surface_physics :</span></dt><dd>Noah; Chen and Dudhia (2001, MWR)</dd><dt><span>intake_esm_dataset_key :</span></dt><dd>cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360L.v1.day.tas.v20180614</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (bnds: 2, lat: 133, lon: 238, time: 20089)\n", | |
"Coordinates:\n", | |
" * lon (lon) float64 88.75 89.25 89.75 90.25 ... -153.8 -153.2 -152.8\n", | |
" * lat (lat) float64 -53.25 -52.75 -52.25 -51.75 ... 11.75 12.25 12.75\n", | |
" * time (time) datetime64[ns] 1951-01-01T12:00:00 ... 2005-12-31T12:00:00\n", | |
" height float64 2.0\n", | |
"Dimensions without coordinates: bnds\n", | |
"Data variables:\n", | |
" time_bnds (time, bnds) datetime64[ns] dask.array<chunksize=(1826, 2), meta=np.ndarray>\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(1826, 133, 119), meta=np.ndarray>\n", | |
"Attributes: (12/29)\n", | |
" postprocessing_version: 1.0\n", | |
" intake_esm_varname: ['tas']\n", | |
" experiment: ACCESS1.0 historical run\n", | |
" CORDEX_domain: AUS-44i\n", | |
" model_id: UNSW-WRF360L\n", | |
" driving_model_id: CSIRO-BOM-ACCESS1-0\n", | |
" ... ...\n", | |
" experiment_id: historical\n", | |
" product: output\n", | |
" wrf_schemes_ra_sw_physics: CAM; Collins et al. (2004, NCAR)\n", | |
" Conventions: CF-1.4\n", | |
" wrf_schemes_sf_surface_physics: Noah; Chen and Dudhia (2001, MWR)\n", | |
" intake_esm_dataset_key: cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACC..." | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"unsw_day_tas_aus44i.to_dataset_dict(cdf_kwargs={'chunks': {'lon': 119}})['cordex.output.AUS-44i.UNSW.CSIRO-BOM-ACCESS1-0.historical.r1i1p1.WRF360L.v1.day.tas.v20180614']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Advanced searching\n", | |
"\n", | |
"You can get a list of all datasets that have both variables 'tasmax' and 'tasmin' with `require_all_on`. Columns named here must have valid matches for all permutations of the other filter - so each 'rcm_name' returned must have matches for both variables." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<p><strong>cordex catalog with 12 dataset(s) from 132 asset(s)</strong>:</p> <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>unique</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>project</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>product</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>domain</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>institute</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>driving_model</th>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>experiment</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ensemble</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_name</th>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rcm_version</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>time_frequency</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>variable</th>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>date_range</th>\n", | |
" <td>11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>path</th>\n", | |
" <td>132</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>version</th>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"cordex.search(institute='UNSW', time_frequency='day', variable=['tasmax', 'tasmin'], domain='AUS-44i', require_all_on=['rcm_name'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python [conda env:analysis3]", | |
"language": "python", | |
"name": "conda-env-analysis3-py" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.8.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Just wanted to say thanks for this demo notebook Scott, just needed to use it and it contained exactly what I wanted to know! :)