{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hurricane Ike Maximum Water Levels\n", "Compute the maximum water level during Hurricane Ike on a 9 million node triangular mesh storm surge model. Plot the results with Datashader. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "from dask.distributed import Client, progress\n", "from dask_gateway import Gateway\n", "import xarray as xr\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Start a dask cluster to crunch the data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "gateway = Gateway()\n", "cluster = gateway.new_cluster()\n", "cluster.scale(25)\n", "cluster" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "client = Client(cluster)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Read the data using the cloud-friendly zarr data format" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pangeo = 'PANGEO-GCS-S3'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "if pangeo=='ESIP-AWS-S3':\n", " import s3fs\n", " fs = s3fs.S3FileSystem(anon=True)\n", " map = s3fs.S3Map('rsignell/adcirc_test01', s3=fs)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "if pangeo=='PANGEO-GCS-S3':\n", " import gcsfs\n", " fs = gcsfs.GCSFileSystem(project='pangeo-181919')\n", " map = gcsfs.mapping.GCSMap('pangeo-data/rsignell/adcirc_test01', gcs=fs, check=False, create=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds = xr.open_zarr(map)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "ds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds['zeta']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that unfortunately Xarray does not yet understand that `x` and `y` are coordinate variables, becuase we have a triangular mesh. Hopefully Xarray will gain some capabilities in this area in the future. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many GB of sea surface height data do we have?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds['zeta'].nbytes/1.e9" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to calculate the maximum water level at every cell over all time steps" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds['zeta'].max(dim='time')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dask will read data only when necessary, so nothing has been loaded yet. In the next cell, however, we use `persist` to persist the data to the Dask worker nodes, and watch the progress" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "max_var = ds['zeta'].max(dim='time').persist()\n", "progress(max_var)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize data on mesh using Datashader" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import datashader as dshade\n", "import holoviews as hv\n", "import geoviews as gv\n", "import cartopy.crs as ccrs\n", "\n", "from holoviews.operation.datashader import datashade, rasterize\n", "\n", "datashade.precompute = True\n", "\n", "hv.extension('bokeh')\n", "%opts Image RGB VectorField [width=800 height=600]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "v = np.vstack((ds['x'], ds['y'], max_var)).T\n", "verts = pd.DataFrame(v, columns=['x','y','vmax'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "points = gv.operation.project_points(gv.Points(verts, vdims=['vmax']))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "tris = pd.DataFrame(ds['element'].values.astype('int')-1, columns=['v0','v1','v2'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "tiles = gv.WMTS('https://maps.wikimedia.org/osm-intl/{Z}/{X}/{Y}@2x.png')\n", "value = 'max water level'\n", "label = '{} (m)'.format(value)\n", "trimesh = gv.TriMesh((tris, points), label=label)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "%%opts Image [colorbar=True] (cmap='rainbow')\n", "\n", "meshes = rasterize(trimesh,aggregator=dshade.mean('vmax'))\n", "tiles * meshes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extract a time series at a specified lon, lat location" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because Xarray does not yet understand that `x` and `y` are coordinate variables on this triangular mesh, we create our own simple function to find the closest point. If we had a lot of these, we could use a more fancy tree algorithm." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# find the indices of the points in (x,y) closest to the points in (xi,yi)\n", "def nearxy(x,y,xi,yi):\n", " ind = np.ones(len(xi),dtype=int)\n", " for i in range(len(xi)):\n", " dist = np.sqrt((x-xi[i])**2+(y-yi[i])**2)\n", " ind[i] = dist.argmin()\n", " return ind" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#just offshore of Galveston\n", "lat = 29.2329856\n", "lon = -95.1535041" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ind = nearxy(ds['x'].values,ds['y'].values,[lon], [lat])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%time\n", "ds['zeta'][:,ind].plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "01fcfe3453574be4ac3d37e28425d0b0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_fad4f62c9399419993153fb961830488", "IPY_MODEL_bdfc56e2940c4c739ff1d5faeec40d7f", "IPY_MODEL_14478fbdfc0a4fa9a41fb87209cfb76b" ], "layout": "IPY_MODEL_dc161608c8bc4a019de49bad6cc0cb2f" } }, "061e3b19ad0944bb98c6b44bd10a989c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "07d213ec9c774483937f447bf3dd86ae": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_f860565f03c9460a9fcd197828d4a043", "max": 1, "style": "IPY_MODEL_86cda597474343f990730a66d71dce98", "value": 1 } }, "13c18d134d3e495b9dff310d81b0c2cc": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_fbf901b76b014589bcd19fb800b66b6a", "IPY_MODEL_5b148f98c7da47678f5e38de89b5c215", "IPY_MODEL_e667ec2530bb4d9bb801700b164a1ccf" ], "layout": "IPY_MODEL_6d01a84902be460aa27a72b0da24383a" } }, "14478fbdfc0a4fa9a41fb87209cfb76b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_6b3abb3e1d9f4a9685960ac30e86037b", "style": "IPY_MODEL_4f1f297a1c524a489d284d1f5ebf9f18", "value": "
nanmax
" } }, "14511e290cdf43bab1a81c656bf0aefc": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "14fdab47ae8c404c9731a2d015bf7fee": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_c15eb2b3ca8847d9b1af872e019583f4", "IPY_MODEL_cf0a449cea2046f6a33ca2007eee69de", "IPY_MODEL_55e8e8ae71f041d1a3eaa0cf6b848642" ], "layout": "IPY_MODEL_8c6015c3d7604e698318912f87530bab" } }, "16786dadcea8412195bede48e8d110d4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_14511e290cdf43bab1a81c656bf0aefc", "style": "IPY_MODEL_77694b68b009421b95468e726e6c00fc", "value": "
nanmax-aggregate
" } }, "17a6ed6ba13647c390a2823596970f1d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "198337771f7144b2b69c255c49ed3e2a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "1c8a8108a8074d60bcca05d85424d9ec": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "1d7ed0d13a054956865a9a3b14b70af0": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "20a8bb4121724332a556e3906aa1bbd7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "2334dd91646348518ceb0c8e50675c19": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "2587b46f1029494593df370baf3af340": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_1d7ed0d13a054956865a9a3b14b70af0", "max": 1, "style": "IPY_MODEL_258ed3d3f27549d7818005f6b52449c2", "value": 1 } }, "258ed3d3f27549d7818005f6b52449c2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "25a84c261f0b452caf25a81a088ba369": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "290d0f4b92f4483ca42ece3d69c9a8df": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "2afdd253f91d4f2699d8e8304c08d6cd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_51815c4353524c2a8b8beaac913c84b4", "IPY_MODEL_01fcfe3453574be4ac3d37e28425d0b0", "IPY_MODEL_eb8414bf255d4b11b91ff378ca44a033", "IPY_MODEL_13c18d134d3e495b9dff310d81b0c2cc" ], "layout": "IPY_MODEL_ed98307e48a348e2a2c20060a8c47bce" } }, "31c7164fc63141378888246dd152f9c3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "3209b8b55e3846b39813c89bfddfb56e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_cff9c375be0b4606bea265e723183c9b", "max": 1, "style": "IPY_MODEL_b8752a39541c4eeaacd65b784c68a5be", "value": 1 } }, "399d01417a014376ba1e5cc4d57f4879": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "39ff4c94852c4928a3ba4083eaf69303": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "41b97a4ad5354fa09f20dd171d9efce8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "42b6cf7263374878ad008f88edbf7b90": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_6196503fed59480ea4f3c2e81cf698ff", "style": "IPY_MODEL_39ff4c94852c4928a3ba4083eaf69303", "value": "
zarr
" } }, "45f4c5c9c98f449f9d089fc349e27214": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "46244b84c4fa410b957ba71e0a34cb8a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "4782533256cc42c3903e6a67f568e977": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_a3167a15ebd3451689ac0968c255ebae", "style": "IPY_MODEL_399d01417a014376ba1e5cc4d57f4879", "value": "
zarr
" } }, "4e4e7214733243c2a46c79973b81ae70": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "4f1f297a1c524a489d284d1f5ebf9f18": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "4f69a4c8c1984c66ae14dfd9e7d65601": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "513117387e1d45d7ba718f8b54f5f845": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "51815c4353524c2a8b8beaac913c84b4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_f5c4287c7e224928a83cb404f12bcf2e", "IPY_MODEL_3209b8b55e3846b39813c89bfddfb56e", "IPY_MODEL_42b6cf7263374878ad008f88edbf7b90" ], "layout": "IPY_MODEL_970ee1718f7a4435a323fc7b02b0a8b2" } }, "520689ee6b1a4768abb41e6a40bfb9d1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "5257e06ca43a46a888ad0b8713526b59": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "55e8e8ae71f041d1a3eaa0cf6b848642": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_ae2e9fdc14e24ca6b3162bf14d239de2", "style": "IPY_MODEL_061e3b19ad0944bb98c6b44bd10a989c", "value": "
nanmax
" } }, "5a946da01d0546e0b64e1b4b662c32e4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "5ab52130ef9c43a4bf0d252df0230efd": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "5b148f98c7da47678f5e38de89b5c215": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_6ac5bb449ff240958a595f2945a0116f", "max": 1, "style": "IPY_MODEL_9c95f8d4855e4dca878a079683fff1bf", "value": 1 } }, "5b6ec018f5b4431bb72b74396104d5db": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_7bacbb75886541f6b9082472f3befaf7", "IPY_MODEL_14fdab47ae8c404c9731a2d015bf7fee", "IPY_MODEL_bfbe2870f81246989cd15cbeb5ccde92", "IPY_MODEL_965208081fe14ed69f620152806251b1" ], "layout": "IPY_MODEL_940eb1f376b44d81b88e7dad912a4c9e" } }, "6188678c53014cd3a42c101284e15f2b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "6196503fed59480ea4f3c2e81cf698ff": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "67b50bf2dfa243be9259fb2bd3630bd1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_c9a88b5601ea479e9d44183b90815b73", "IPY_MODEL_5b6ec018f5b4431bb72b74396104d5db" ], "layout": "IPY_MODEL_d299dfb8bbf24365a17821105565dd02" } }, "6ac5bb449ff240958a595f2945a0116f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "6b3abb3e1d9f4a9685960ac30e86037b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "6d01a84902be460aa27a72b0da24383a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "73489cc81b674c099c183542cc4cde8d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_5ab52130ef9c43a4bf0d252df0230efd", "style": "IPY_MODEL_b6ed13ff28a0480395a3c26634e91cac", "value": "
1560 / 1560
" } }, "77694b68b009421b95468e726e6c00fc": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "7a25ff623e6948bcb52a76c4a375645b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "7bacbb75886541f6b9082472f3befaf7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_d00f87cb80eb462aa6bd5190ccaf3cda", "IPY_MODEL_8af817497b5a4025835a6be94e5e4dbe", "IPY_MODEL_4782533256cc42c3903e6a67f568e977" ], "layout": "IPY_MODEL_e6479441b83340aea9a4a5db29af0aaf" } }, "7c7705497a2a444bb0ab147da79f9922": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "7ff152f5dd634bbfbc4a7c37a728f29d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "82067ceccd114f81b85d6b78848fa45a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "83268aac72194c14a848e95024d2135c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "86cda597474343f990730a66d71dce98": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "8aacd84cd3d643049afa436d7e907654": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "8af817497b5a4025835a6be94e5e4dbe": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_f450a4fb334a4e31a7957f6ef935d62a", "max": 1, "style": "IPY_MODEL_45f4c5c9c98f449f9d089fc349e27214", "value": 1 } }, "8c6015c3d7604e698318912f87530bab": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "940eb1f376b44d81b88e7dad912a4c9e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "950787a0bc8e4a22a5da0e30d808d266": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_6188678c53014cd3a42c101284e15f2b", "style": "IPY_MODEL_41b97a4ad5354fa09f20dd171d9efce8", "value": "
Finished: 37.0s
" } }, "965208081fe14ed69f620152806251b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_f1f974bd02ca485da5f00855978d99ca", "IPY_MODEL_2587b46f1029494593df370baf3af340", "IPY_MODEL_16786dadcea8412195bede48e8d110d4" ], "layout": "IPY_MODEL_82067ceccd114f81b85d6b78848fa45a" } }, "970ee1718f7a4435a323fc7b02b0a8b2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "9c95f8d4855e4dca878a079683fff1bf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "a3167a15ebd3451689ac0968c255ebae": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "a33c1d9bf47741e6877f6a09923ed845": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_f2942b13497a4940b9ae59f9573dd8de", "style": "IPY_MODEL_4e4e7214733243c2a46c79973b81ae70", "value": "
nanmax-partial
" } }, "a74db149a62140d8bdd0b3ffa3d6b9de": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "ae2e9fdc14e24ca6b3162bf14d239de2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "afc1315077c04916bee32e2c2646d5d4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_b327237ab472404e9b3677ddd0c4325d", "max": 1, "style": "IPY_MODEL_520689ee6b1a4768abb41e6a40bfb9d1", "value": 1 } }, "b30634abf2ee46ca88176a7578b31da7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_950787a0bc8e4a22a5da0e30d808d266", "IPY_MODEL_2afdd253f91d4f2699d8e8304c08d6cd" ], "layout": "IPY_MODEL_d6f2c5ec10a2435d97381cc22f8cb963" } }, "b327237ab472404e9b3677ddd0c4325d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "b6ed13ff28a0480395a3c26634e91cac": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "b750608fdd904e73848947e0aa0bae1e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_8aacd84cd3d643049afa436d7e907654", "style": "IPY_MODEL_7ff152f5dd634bbfbc4a7c37a728f29d", "value": "
1560 / 1560
" } }, "b8752a39541c4eeaacd65b784c68a5be": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "bdfc56e2940c4c739ff1d5faeec40d7f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_1c8a8108a8074d60bcca05d85424d9ec", "max": 1, "style": "IPY_MODEL_17a6ed6ba13647c390a2823596970f1d", "value": 1 } }, "bfbe2870f81246989cd15cbeb5ccde92": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_73489cc81b674c099c183542cc4cde8d", "IPY_MODEL_07d213ec9c774483937f447bf3dd86ae", "IPY_MODEL_cfd949b4e0154e3f8ec5025d34503dd7" ], "layout": "IPY_MODEL_290d0f4b92f4483ca42ece3d69c9a8df" } }, "c15eb2b3ca8847d9b1af872e019583f4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_7a25ff623e6948bcb52a76c4a375645b", "style": "IPY_MODEL_ff7b8038de9740508084b810f37d68bc", "value": "
4680 / 4680
" } }, "c9a88b5601ea479e9d44183b90815b73": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_f30283674ce845f2bc15fe4f8705fc37", "style": "IPY_MODEL_20a8bb4121724332a556e3906aa1bbd7", "value": "
Finished: 1min 29.5s
" } }, "ca87311e69644740b5fbb4c1d76086d0": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "cf0a449cea2046f6a33ca2007eee69de": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_5a946da01d0546e0b64e1b4b662c32e4", "max": 1, "style": "IPY_MODEL_25a84c261f0b452caf25a81a088ba369", "value": 1 } }, "cfd949b4e0154e3f8ec5025d34503dd7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_5257e06ca43a46a888ad0b8713526b59", "style": "IPY_MODEL_2334dd91646348518ceb0c8e50675c19", "value": "
nanmax-partial
" } }, "cff9c375be0b4606bea265e723183c9b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "d00f87cb80eb462aa6bd5190ccaf3cda": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_198337771f7144b2b69c255c49ed3e2a", "style": "IPY_MODEL_7c7705497a2a444bb0ab147da79f9922", "value": "
4813 / 4813
" } }, "d299dfb8bbf24365a17821105565dd02": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "d37fb3ecbbb14555b020111b7fb1d6e4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "d665407811f84d80b15ee4c12148fca0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "d6f2c5ec10a2435d97381cc22f8cb963": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "d9962513f16d417d8138e25ab85da0b2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "dc161608c8bc4a019de49bad6cc0cb2f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "df5fe18cd57141db86d43128f4375603": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "e6479441b83340aea9a4a5db29af0aaf": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "e667ec2530bb4d9bb801700b164a1ccf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_513117387e1d45d7ba718f8b54f5f845", "style": "IPY_MODEL_d665407811f84d80b15ee4c12148fca0", "value": "
nanmax-aggregate
" } }, "eb8414bf255d4b11b91ff378ca44a033": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_b750608fdd904e73848947e0aa0bae1e", "IPY_MODEL_afc1315077c04916bee32e2c2646d5d4", "IPY_MODEL_a33c1d9bf47741e6877f6a09923ed845" ], "layout": "IPY_MODEL_ca87311e69644740b5fbb4c1d76086d0" } }, "ed98307e48a348e2a2c20060a8c47bce": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "f1f974bd02ca485da5f00855978d99ca": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_83268aac72194c14a848e95024d2135c", "style": "IPY_MODEL_d9962513f16d417d8138e25ab85da0b2", "value": "
65 / 65
" } }, "f2942b13497a4940b9ae59f9573dd8de": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "f30283674ce845f2bc15fe4f8705fc37": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "f450a4fb334a4e31a7957f6ef935d62a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "f5c4287c7e224928a83cb404f12bcf2e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_46244b84c4fa410b957ba71e0a34cb8a", "style": "IPY_MODEL_31c7164fc63141378888246dd152f9c3", "value": "
4813 / 4813
" } }, "f860565f03c9460a9fcd197828d4a043": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "fad4f62c9399419993153fb961830488": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_d37fb3ecbbb14555b020111b7fb1d6e4", "style": "IPY_MODEL_df5fe18cd57141db86d43128f4375603", "value": "
4680 / 4680
" } }, "fbf901b76b014589bcd19fb800b66b6a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_4f69a4c8c1984c66ae14dfd9e7d65601", "style": "IPY_MODEL_a74db149a62140d8bdd0b3ffa3d6b9de", "value": "
65 / 65
" } }, "ff7b8038de9740508084b810f37d68bc": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.2.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 2 }