Skip to content

Instantly share code, notes, and snippets.

@niallrobinson
Created August 23, 2018 09:56
Show Gist options
  • Save niallrobinson/ea1063b610f5047e602fb22bfde516c9 to your computer and use it in GitHub Desktop.
Save niallrobinson/ea1063b610f5047e602fb22bfde516c9 to your computer and use it in GitHub Desktop.
Ensemble forecast fun
import numpy as np
import functools
import operator
import dask.array as da
def estimate_cube_size(cube):
num_points = functools.reduce(operator.mul, cube.shape, 1)
if cube[(0,) * len(cube.shape)].data.dtype != 'float32':
return Fals
return human_bytes((num_points * 32) / 8)
def human_bytes(num, suffix='B'):
for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
if abs(num) < 1024.0:
return "%3.1f%s%s" % (num, unit, suffix)
num /= 1024.0
return "%.1f%s%s" % (num, 'Yi', suffix)
def metadata_broadcast(wbpt, wbpt_truth):
x = wbpt_truth.coord("time").points.flatten()
y = wbpt.coord("time").points
index = np.argsort(x)
sorted_x = x[index]
sorted_index = np.searchsorted(sorted_x, y)
yindex = np.take(index, sorted_index, mode="clip")
mask = x[yindex] != y
idx = np.ma.array(yindex, mask=mask)
wbpt_truth_data = wbpt_truth.lazy_data()
data = wbpt_truth_data[..., idx.flatten()].reshape(wbpt.shape)
mask = np.broadcast_to(idx.mask.flatten().reshape(idx.shape), wbpt.shape)
# da.from_array(mask, -1)
wbpt_truth_data_bc = data #da.ma.masked_array(data, mask)
wbpt_truth_bc = wbpt.copy() # where bc indicates broadcasted
wbpt_truth_bc.data = wbpt_truth_data_bc
return wbpt_truth_bc
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Analysing skill from a lagged weather forecast ensemble"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"\n",
"import distributed\n",
"from dask_kubernetes import KubeCluster\n",
"import iris\n",
"import iris.quickplot as qplt\n",
"import iris.coord_categorisation\n",
"import xarray\n",
"import s3fs\n",
"\n",
"from tools import *"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5e3694a4266746819a1905e6b5f94701",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(HTML(value='<h2>KubeCluster</h2>'), HBox(children=(HTML(value='\\n<div>\\n <style scoped>\\n .…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cluster = KubeCluster()\n",
"cluster.adapt()\n",
"cluster"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table style=\"border: 2px solid white;\">\n",
"<tr>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Client</h3>\n",
"<ul>\n",
" <li><b>Scheduler: </b>tcp://100.96.189.70:32959\n",
" <li><b>Dashboard: </b><a href='/user/niallrobinson/proxy/36043/status' target='_blank'>/user/niallrobinson/proxy/36043/status</a>\n",
"</ul>\n",
"</td>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Cluster</h3>\n",
"<ul>\n",
" <li><b>Workers: </b>1</li>\n",
" <li><b>Cores: </b>1</li>\n",
" <li><b>Memory: </b>6.00 GB</li>\n",
"</ul>\n",
"</td>\n",
"</tr>\n",
"</table>"
],
"text/plain": [
"<Client: scheduler='tcp://100.96.189.70:32959' processes=1 cores=1>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c = distributed.Client(cluster.scheduler_address)\n",
"c"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Load ensemble hindcast set "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"loaded_dataset = xarray.open_zarr(s3fs.S3Map(root='informatics-pangeo-scratch/jacobtomlinson/hypermegacube.zarr', s3=s3fs.S3FileSystem(), check=False))\n",
"wbpt = loaded_dataset.wet_bulb_potential_temperature.to_iris()\n",
"wbpt.transpose((1, 3, 4, 5, 0, 2))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" a.iris {\n",
" text-decoration: none !important;\n",
" }\n",
" table.iris {\n",
" white-space: pre;\n",
" border: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-family: monaco, monospace;\n",
" }\n",
" th.iris {\n",
" background: #303f3f;\n",
" color: #e0e0e0;\n",
" border-left: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-size: 1.05em;\n",
" min-width: 50px;\n",
" max-width: 125px;\n",
" }\n",
" tr.iris :first-child {\n",
" border-right: 1px solid #9c9c9c !important;\n",
" }\n",
" td.iris-title {\n",
" background: #d5dcdf;\n",
" border-top: 1px solid #9c9c9c;\n",
" font-weight: bold;\n",
" }\n",
" .iris-word-cell {\n",
" text-align: left !important;\n",
" white-space: pre;\n",
" }\n",
" .iris-subheading-cell {\n",
" padding-left: 2em !important;\n",
" }\n",
" .iris-inclusion-cell {\n",
" padding-right: 1em !important;\n",
" }\n",
" .iris-panel-body {\n",
" padding-top: 0px;\n",
" }\n",
" .iris-panel-title {\n",
" padding-left: 3em;\n",
" }\n",
" .iris-panel-title {\n",
" margin-top: 7px;\n",
" }\n",
"</style>\n",
"<table class=\"iris\" id=\"139910640308408\">\n",
" <tr class=\"iris\">\n",
"<th class=\"iris iris-word-cell\">Wet Bulb Potential Temperature (K)</th>\n",
"<th class=\"iris iris-word-cell\">realization</th>\n",
"<th class=\"iris iris-word-cell\">pressure</th>\n",
"<th class=\"iris iris-word-cell\">latitude</th>\n",
"<th class=\"iris iris-word-cell\">longitude</th>\n",
"<th class=\"iris iris-word-cell\">forecast_reference_time</th>\n",
"<th class=\"iris iris-word-cell\">forecast_period</th>\n",
"</tr>\n",
" <tr class=\"iris\">\n",
"<td class=\"iris-word-cell iris-subheading-cell\">Shape</td>\n",
"<td class=\"iris iris-inclusion-cell\">12</td>\n",
"<td class=\"iris iris-inclusion-cell\">3</td>\n",
"<td class=\"iris iris-inclusion-cell\">600</td>\n",
"<td class=\"iris iris-inclusion-cell\">800</td>\n",
"<td class=\"iris iris-inclusion-cell\">20</td>\n",
"<td class=\"iris iris-inclusion-cell\">59</td>\n",
"</td>\n",
" <tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Dimension coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\trealization</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tpressure</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlatitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlongitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_reference_time</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_period</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Auxiliary coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\ttime</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Attributes</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tConventions</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">CF-1.5</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tSTASH</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">[1, 16, 205]</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tsource</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">Data from Met Office Unified Model</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tum_version</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">10.1</td>\n",
"</tr>\n",
"</table>\n",
" "
],
"text/plain": [
"<iris 'Cube' of wet_bulb_potential_temperature / (K) (realization: 12; pressure: 3; latitude: 600; longitude: 800; forecast_reference_time: 20; forecast_period: 59)>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wbpt"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'76.0GiB'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"estimate_cube_size(wbpt)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Construct a truth from the 0th time points"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"wbpt_truth = wbpt.extract(iris.Constraint(forecast_period=0))\n",
"wbpt_truth.remove_coord(\"time\")\n",
"wbpt_truth.coord(\"forecast_reference_time\").rename(\"time\")\n",
"wbpt_truth_bc = metadata_broadcast(wbpt, wbpt_truth)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" a.iris {\n",
" text-decoration: none !important;\n",
" }\n",
" table.iris {\n",
" white-space: pre;\n",
" border: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-family: monaco, monospace;\n",
" }\n",
" th.iris {\n",
" background: #303f3f;\n",
" color: #e0e0e0;\n",
" border-left: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-size: 1.05em;\n",
" min-width: 50px;\n",
" max-width: 125px;\n",
" }\n",
" tr.iris :first-child {\n",
" border-right: 1px solid #9c9c9c !important;\n",
" }\n",
" td.iris-title {\n",
" background: #d5dcdf;\n",
" border-top: 1px solid #9c9c9c;\n",
" font-weight: bold;\n",
" }\n",
" .iris-word-cell {\n",
" text-align: left !important;\n",
" white-space: pre;\n",
" }\n",
" .iris-subheading-cell {\n",
" padding-left: 2em !important;\n",
" }\n",
" .iris-inclusion-cell {\n",
" padding-right: 1em !important;\n",
" }\n",
" .iris-panel-body {\n",
" padding-top: 0px;\n",
" }\n",
" .iris-panel-title {\n",
" padding-left: 3em;\n",
" }\n",
" .iris-panel-title {\n",
" margin-top: 7px;\n",
" }\n",
"</style>\n",
"<table class=\"iris\" id=\"139909500025488\">\n",
" <tr class=\"iris\">\n",
"<th class=\"iris iris-word-cell\">Wet Bulb Potential Temperature (K)</th>\n",
"<th class=\"iris iris-word-cell\">realization</th>\n",
"<th class=\"iris iris-word-cell\">pressure</th>\n",
"<th class=\"iris iris-word-cell\">latitude</th>\n",
"<th class=\"iris iris-word-cell\">longitude</th>\n",
"<th class=\"iris iris-word-cell\">time</th>\n",
"</tr>\n",
" <tr class=\"iris\">\n",
"<td class=\"iris-word-cell iris-subheading-cell\">Shape</td>\n",
"<td class=\"iris iris-inclusion-cell\">12</td>\n",
"<td class=\"iris iris-inclusion-cell\">3</td>\n",
"<td class=\"iris iris-inclusion-cell\">600</td>\n",
"<td class=\"iris iris-inclusion-cell\">800</td>\n",
"<td class=\"iris iris-inclusion-cell\">20</td>\n",
"</td>\n",
" <tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Dimension coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\trealization</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tpressure</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlatitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlongitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\ttime</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Scalar coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_period</td>\n",
" <td class=\"iris-word-cell\" colspan=\"5\">0 hours</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Attributes</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tConventions</td>\n",
" <td class=\"iris-word-cell\" colspan=\"5\">CF-1.5</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tSTASH</td>\n",
" <td class=\"iris-word-cell\" colspan=\"5\">[1, 16, 205]</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tsource</td>\n",
" <td class=\"iris-word-cell\" colspan=\"5\">Data from Met Office Unified Model</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tum_version</td>\n",
" <td class=\"iris-word-cell\" colspan=\"5\">10.1</td>\n",
"</tr>\n",
"</table>\n",
" "
],
"text/plain": [
"<iris 'Cube' of wet_bulb_potential_temperature / (K) (realization: 12; pressure: 3; latitude: 600; longitude: 800; time: 20)>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wbpt_truth"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Subtract truth from field to create anomaly"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" a.iris {\n",
" text-decoration: none !important;\n",
" }\n",
" table.iris {\n",
" white-space: pre;\n",
" border: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-family: monaco, monospace;\n",
" }\n",
" th.iris {\n",
" background: #303f3f;\n",
" color: #e0e0e0;\n",
" border-left: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-size: 1.05em;\n",
" min-width: 50px;\n",
" max-width: 125px;\n",
" }\n",
" tr.iris :first-child {\n",
" border-right: 1px solid #9c9c9c !important;\n",
" }\n",
" td.iris-title {\n",
" background: #d5dcdf;\n",
" border-top: 1px solid #9c9c9c;\n",
" font-weight: bold;\n",
" }\n",
" .iris-word-cell {\n",
" text-align: left !important;\n",
" white-space: pre;\n",
" }\n",
" .iris-subheading-cell {\n",
" padding-left: 2em !important;\n",
" }\n",
" .iris-inclusion-cell {\n",
" padding-right: 1em !important;\n",
" }\n",
" .iris-panel-body {\n",
" padding-top: 0px;\n",
" }\n",
" .iris-panel-title {\n",
" padding-left: 3em;\n",
" }\n",
" .iris-panel-title {\n",
" margin-top: 7px;\n",
" }\n",
"</style>\n",
"<table class=\"iris\" id=\"139909500042880\">\n",
" <tr class=\"iris\">\n",
"<th class=\"iris iris-word-cell\">Wet Bulb Potential Temperature (K)</th>\n",
"<th class=\"iris iris-word-cell\">realization</th>\n",
"<th class=\"iris iris-word-cell\">pressure</th>\n",
"<th class=\"iris iris-word-cell\">latitude</th>\n",
"<th class=\"iris iris-word-cell\">longitude</th>\n",
"<th class=\"iris iris-word-cell\">forecast_reference_time</th>\n",
"<th class=\"iris iris-word-cell\">forecast_period</th>\n",
"</tr>\n",
" <tr class=\"iris\">\n",
"<td class=\"iris-word-cell iris-subheading-cell\">Shape</td>\n",
"<td class=\"iris iris-inclusion-cell\">12</td>\n",
"<td class=\"iris iris-inclusion-cell\">3</td>\n",
"<td class=\"iris iris-inclusion-cell\">600</td>\n",
"<td class=\"iris iris-inclusion-cell\">800</td>\n",
"<td class=\"iris iris-inclusion-cell\">20</td>\n",
"<td class=\"iris iris-inclusion-cell\">59</td>\n",
"</td>\n",
" <tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Dimension coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\trealization</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tpressure</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlatitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlongitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_reference_time</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_period</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Auxiliary coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\ttime</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Attributes</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tConventions</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">CF-1.5</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tSTASH</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">[1, 16, 205]</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tsource</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">Data from Met Office Unified Model</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tum_version</td>\n",
" <td class=\"iris-word-cell\" colspan=\"6\">10.1</td>\n",
"</tr>\n",
"</table>\n",
" "
],
"text/plain": [
"<iris 'Cube' of wet_bulb_potential_temperature / (K) (realization: 12; pressure: 3; latitude: 600; longitude: 800; forecast_reference_time: 20; forecast_period: 59)>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wbpt_truth_bc"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"wbpt_anomaly = wbpt - wbpt_truth_bc\n",
"wbpt_anomaly.rename(\"Wet bulb potential temperature anomaly\")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" a.iris {\n",
" text-decoration: none !important;\n",
" }\n",
" table.iris {\n",
" white-space: pre;\n",
" border: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-family: monaco, monospace;\n",
" }\n",
" th.iris {\n",
" background: #303f3f;\n",
" color: #e0e0e0;\n",
" border-left: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-size: 1.05em;\n",
" min-width: 50px;\n",
" max-width: 125px;\n",
" }\n",
" tr.iris :first-child {\n",
" border-right: 1px solid #9c9c9c !important;\n",
" }\n",
" td.iris-title {\n",
" background: #d5dcdf;\n",
" border-top: 1px solid #9c9c9c;\n",
" font-weight: bold;\n",
" }\n",
" .iris-word-cell {\n",
" text-align: left !important;\n",
" white-space: pre;\n",
" }\n",
" .iris-subheading-cell {\n",
" padding-left: 2em !important;\n",
" }\n",
" .iris-inclusion-cell {\n",
" padding-right: 1em !important;\n",
" }\n",
" .iris-panel-body {\n",
" padding-top: 0px;\n",
" }\n",
" .iris-panel-title {\n",
" padding-left: 3em;\n",
" }\n",
" .iris-panel-title {\n",
" margin-top: 7px;\n",
" }\n",
"</style>\n",
"<table class=\"iris\" id=\"139911881654400\">\n",
" <tr class=\"iris\">\n",
"<th class=\"iris iris-word-cell\">Wet Bulb Potential Temperature Anomaly (K)</th>\n",
"<th class=\"iris iris-word-cell\">realization</th>\n",
"<th class=\"iris iris-word-cell\">pressure</th>\n",
"<th class=\"iris iris-word-cell\">latitude</th>\n",
"<th class=\"iris iris-word-cell\">longitude</th>\n",
"<th class=\"iris iris-word-cell\">forecast_reference_time</th>\n",
"<th class=\"iris iris-word-cell\">forecast_period</th>\n",
"</tr>\n",
" <tr class=\"iris\">\n",
"<td class=\"iris-word-cell iris-subheading-cell\">Shape</td>\n",
"<td class=\"iris iris-inclusion-cell\">12</td>\n",
"<td class=\"iris iris-inclusion-cell\">3</td>\n",
"<td class=\"iris iris-inclusion-cell\">600</td>\n",
"<td class=\"iris iris-inclusion-cell\">800</td>\n",
"<td class=\"iris iris-inclusion-cell\">20</td>\n",
"<td class=\"iris iris-inclusion-cell\">59</td>\n",
"</td>\n",
" <tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Dimension coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\trealization</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tpressure</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlatitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlongitude</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_reference_time</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_period</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Auxiliary coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\ttime</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">-</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"</table>\n",
" "
],
"text/plain": [
"<iris 'Cube' of Wet bulb potential temperature anomaly / (K) (realization: 12; pressure: 3; latitude: 600; longitude: 800; forecast_reference_time: 20; forecast_period: 59)>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wbpt_anomaly"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All lazy!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----------------------"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# What does anomaly look like as a fn of forecast period?"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"wbpt_anomaly_period = wbpt_anomaly.collapsed(['latitude', 'longitude', 'pressure', 'realization', 'forecast_reference_time'],\n",
" iris.analysis.RMS)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" a.iris {\n",
" text-decoration: none !important;\n",
" }\n",
" table.iris {\n",
" white-space: pre;\n",
" border: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-family: monaco, monospace;\n",
" }\n",
" th.iris {\n",
" background: #303f3f;\n",
" color: #e0e0e0;\n",
" border-left: 1px solid;\n",
" border-color: #9c9c9c;\n",
" font-size: 1.05em;\n",
" min-width: 50px;\n",
" max-width: 125px;\n",
" }\n",
" tr.iris :first-child {\n",
" border-right: 1px solid #9c9c9c !important;\n",
" }\n",
" td.iris-title {\n",
" background: #d5dcdf;\n",
" border-top: 1px solid #9c9c9c;\n",
" font-weight: bold;\n",
" }\n",
" .iris-word-cell {\n",
" text-align: left !important;\n",
" white-space: pre;\n",
" }\n",
" .iris-subheading-cell {\n",
" padding-left: 2em !important;\n",
" }\n",
" .iris-inclusion-cell {\n",
" padding-right: 1em !important;\n",
" }\n",
" .iris-panel-body {\n",
" padding-top: 0px;\n",
" }\n",
" .iris-panel-title {\n",
" padding-left: 3em;\n",
" }\n",
" .iris-panel-title {\n",
" margin-top: 7px;\n",
" }\n",
"</style>\n",
"<table class=\"iris\" id=\"139908968236480\">\n",
" <tr class=\"iris\">\n",
"<th class=\"iris iris-word-cell\">Wet Bulb Potential Temperature Anomaly (K)</th>\n",
"<th class=\"iris iris-word-cell\">forecast_period</th>\n",
"</tr>\n",
" <tr class=\"iris\">\n",
"<td class=\"iris-word-cell iris-subheading-cell\">Shape</td>\n",
"<td class=\"iris iris-inclusion-cell\">59</td>\n",
"</td>\n",
" <tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Dimension coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_period</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Auxiliary coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\ttime</td>\n",
" <td class=\"iris-inclusion-cell\">x</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Scalar coordinates</td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tforecast_reference_time</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">2016-01-03 09:00:00, bound=(2016-01-01 00:00:00, 2016-01-05 18:00:00)</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlatitude</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">7.6293945e-06 degrees, bound=(-89.85, 89.85001) degrees</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tlongitude</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">180.0 degrees, bound=(0.225, 359.775) degrees</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\tpressure</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">550.0 hPa, bound=(250.0, 850.0) hPa</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\trealization</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">5, bound=(0, 11)</td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-title iris-word-cell\">Cell methods</td>\n",
" <td class=\"iris-title\"></td>\n",
"</tr>\n",
"<tr class=\"iris\">\n",
" <td class=\"iris-word-cell iris-subheading-cell\">\troot mean square</td>\n",
" <td class=\"iris-word-cell\" colspan=\"1\">latitude, longitude, pressure, realization, forecast_reference_time</td>\n",
"</tr>\n",
"</table>\n",
" "
],
"text/plain": [
"<iris 'Cube' of Wet bulb potential temperature anomaly / (K) (forecast_period: 59)>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wbpt_anomaly_period"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"distributed.utils - ERROR - \n",
"Traceback (most recent call last):\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/utils.py\", line 644, in log_errors\n",
" yield\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2690, in retire_workers\n",
" n=1, delete=False)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1113, in run\n",
" yielded = self.gen.send(value)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2503, in replicate\n",
" assert count > 0\n",
"AssertionError\n",
"distributed.utils - ERROR - \n",
"Traceback (most recent call last):\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/utils.py\", line 644, in log_errors\n",
" yield\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/deploy/adaptive.py\", line 237, in _retire_workers\n",
" close_workers=True)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1107, in run\n",
" yielded = self.gen.throw(*exc_info)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2690, in retire_workers\n",
" n=1, delete=False)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1113, in run\n",
" yielded = self.gen.send(value)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2503, in replicate\n",
" assert count > 0\n",
"AssertionError\n",
"tornado.application - ERROR - Exception in callback functools.partial(<function wrap.<locals>.null_wrapper at 0x7f3ef82c6620>, <Future finished exception=AssertionError()>)\n",
"Traceback (most recent call last):\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/ioloop.py\", line 759, in _run_callback\n",
" ret = callback()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/stack_context.py\", line 276, in null_wrapper\n",
" return fn(*args, **kwargs)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/ioloop.py\", line 780, in _discard_future_result\n",
" future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1107, in run\n",
" yielded = self.gen.throw(*exc_info)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/deploy/adaptive.py\", line 312, in _adapt\n",
" workers = yield self._retire_workers(workers=to_close)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1107, in run\n",
" yielded = self.gen.throw(*exc_info)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/deploy/adaptive.py\", line 237, in _retire_workers\n",
" close_workers=True)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1107, in run\n",
" yielded = self.gen.throw(*exc_info)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2690, in retire_workers\n",
" n=1, delete=False)\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1099, in run\n",
" value = future.result()\n",
" File \"/opt/conda/lib/python3.6/site-packages/tornado/gen.py\", line 1113, in run\n",
" yielded = self.gen.send(value)\n",
" File \"/opt/conda/lib/python3.6/site-packages/distributed/scheduler.py\", line 2503, in replicate\n",
" assert count > 0\n",
"AssertionError\n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f3f7c544c50>]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"qplt.plot(wbpt_anomaly_period)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-------------------"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment