From 546302c297b28ff56b4a3753218fc7d328b478fc Mon Sep 17 00:00:00 2001 From: Juniper Tyree <50025784+juntyr@users.noreply.github.com> Date: Fri, 1 Nov 2024 09:55:45 +0200 Subject: [PATCH 1/3] Add 02-quality.ipynb --- 03-examples/02-quality.ipynb | 270 +++++++++++++++++++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 03-examples/02-quality.ipynb diff --git a/03-examples/02-quality.ipynb b/03-examples/02-quality.ipynb new file mode 100644 index 0000000..381c2b4 --- /dev/null +++ b/03-examples/02-quality.ipynb @@ -0,0 +1,270 @@ +{ + "metadata": { + "kernelspec": { + "display_name": "Python (Pyodide)", + "language": "python", + "name": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat_minor": 4, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "# Example: Which compression method works best for different quality requirements?", + "metadata": { + "tags": [] + } + }, + { + "cell_type": "markdown", + "source": "> [!NOTE]\n> The online laboratory has only been tested in recent Firefox and Chrome browsers. Some features may not (yet) be supported in Safari browsers.\n\n> [!CAUTION]\n> Any changes you make to this notebook will be lost once the page is closed or refreshed. Please download any files you would like to keep.", + "metadata": {} + }, + { + "cell_type": "markdown", + "source": "## Setting up the online laboratory\n\nFirst, we import several utility packages to setup this notebook for data compression in climate science and meteorology.\n\nPlease refer back to the [01-intro.ipynb](../01-intro.ipynb) notebook for a deeper explanation.", + "metadata": {} + }, + { + "cell_type": "code", + "source": "from pathlib import Path\n\nimport dask\nimport fcbench\nimport numpy as np\nimport pandas as pd\nimport xarray as xr", + "metadata": { + "autorun": true, + "tags": [], + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "text": "[pyodide]: Loading Jinja2, MarkupSafe, Pillow, appdirs, asciitree, attrs, cffi, cfgrib, cftime, click, cloudpickle, cycler, dask, eccodes, field-compression-benchmark, findlibs, flexcache, flexparser, fonttools, h5py, importlib_metadata, joblib, kiwisolver, locket, matplotlib, matplotlib-pyodide, msgpack, netcdf4, numcodecs, numpy, openblas, pandas, partd, pint, pkgconfig, pycparser, pyparsing, python-dateutil, pytz, pyyaml, scikit-learn, scipy, threadpoolctl, toolz, tqdm, typing-extensions, tzdata, xarray, xarray-datatree, xeofs, xhistogram, zarr, zipp\n[pyodide]: Loaded Jinja2, MarkupSafe, Pillow, appdirs, asciitree, attrs, cffi, cfgrib, cftime, click, cloudpickle, cycler, dask, eccodes, field-compression-benchmark, findlibs, flexcache, flexparser, fonttools, h5py, importlib_metadata, joblib, kiwisolver, locket, matplotlib, matplotlib-pyodide, msgpack, netcdf4, numcodecs, numpy, openblas, pandas, partd, pint, pkgconfig, pycparser, pyparsing, python-dateutil, pytz, pyyaml, scikit-learn, scipy, threadpoolctl, toolz, tqdm, typing-extensions, tzdata, xarray, xarray-datatree, xeofs, xhistogram, zarr, zipp\n[pyodide]: Memory usage has grown to 171.0MiB (from 49.9MiB) for this notebook\n", + "output_type": "stream" + } + ], + "execution_count": 1 + }, + { + "cell_type": "markdown", + "source": "We also import a utility module `utils.py` from the outer parent directory.", + "metadata": {} + }, + { + "cell_type": "code", + "source": "import sys\nsys.path.insert(0, \"..\")", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 2 + }, + { + "cell_type": "code", + "source": "import utils", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "text": "[pyodide]: Loading fsspec, ipyfilite, ipywidgets, jupyterlab_widgets, kerchunk, mpmath, sympy, ujson, widgetsnbextension\n[pyodide]: Loaded fsspec, ipyfilite, ipywidgets, jupyterlab_widgets, kerchunk, mpmath, sympy, ujson, widgetsnbextension\n[pyodide]: Memory usage has grown to 205.2MiB (from 171.0MiB) for this notebook\n", + "output_type": "stream" + } + ], + "execution_count": 3 + }, + { + "cell_type": "code", + "source": "fcbench.codecs.preload()\n\ndask.config.set(array__chunk_size=\"4MiB\");", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "text": "Loaded the fcbench.codecs.Asinh codec ...\nLoaded the fcbench.codecs.BitRound codec ...\nLoaded the fcbench.codecs.FixedOffsetScale codec ...\nLoaded the fcbench.codecs.Identity codec ...\nLoaded the fcbench.codecs.LinearQuantize codec ...\nLoaded the fcbench.codecs.Log codec ...\nLoaded the fcbench.codecs.RandomProjection codec ...\nLoaded the fcbench.codecs.Reinterpret codec ...\nLoaded the fcbench.codecs.Round codec ...\nLoaded the fcbench.codecs.SwizzleReshape codec ...\nLoaded the fcbench.codecs.Sz3 codec ...\nLoaded the fcbench.codecs.UniformNoise codec ...\nLoaded the fcbench.codecs.Zfp codec ...\nLoaded the fcbench.codecs.Zlib codec ...\nLoaded the fcbench.codecs.Zstd codec ...\n[pyodide]: Memory usage has grown to 246.3MiB (from 205.2MiB) for this notebook\n", + "output_type": "stream" + } + ], + "execution_count": 4 + }, + { + "cell_type": "code", + "source": "import shutil\nfrom urllib.parse import unquote as urlunquote\nfrom urllib.parse import urlparse\nfrom urllib.request import urlopen\n\ndownload_url = \"https://a3s.fi/compression.lab.climet.eu/tigge_pl_t_q_dx=2_2024_08_02.nc\"\ndownload_path = Path(\"data\") / \"02-t-q.nc\"\n\nwith urlopen(download_url) as response:\n with download_path.open(\"wb\") as file:\n shutil.copyfileobj(response, file)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 5 + }, + { + "cell_type": "code", + "source": "import numpy as np\nimport xarray as xr\n\nds = utils.open_dataset(download_path)\nds", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "execution_count": 6, + "output_type": "execute_result", + "data": { + "text/plain": " Size: 263kB\nDimensions: (longitude: 180, latitude: 91, time: 1)\nCoordinates:\n * longitude (longitude) float32 720B 0.0 2.0 4.0 6.0 ... 354.0 356.0 358.0\n * latitude (latitude) float32 364B 90.0 88.0 86.0 84.0 ... -86.0 -88.0 -90.0\n * time (time) datetime64[ns] 8B 2024-08-12\nData variables:\n t (time, latitude, longitude) float64 131kB dask.array\n q (time, latitude, longitude) float64 131kB dask.array\nAttributes:\n Conventions: CF-1.6\n history: 2024-09-27 11:51:26 GMT by grib_to_netcdf-2.35.3: /opt/ecmw...\n path: data/02-t-q.nc", + "text/html": "
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
<xarray.Dataset> Size: 263kB\nDimensions:    (longitude: 180, latitude: 91, time: 1)\nCoordinates:\n  * longitude  (longitude) float32 720B 0.0 2.0 4.0 6.0 ... 354.0 356.0 358.0\n  * latitude   (latitude) float32 364B 90.0 88.0 86.0 84.0 ... -86.0 -88.0 -90.0\n  * time       (time) datetime64[ns] 8B 2024-08-12\nData variables:\n    t          (time, latitude, longitude) float64 131kB dask.array<chunksize=(1, 91, 180), meta=np.ndarray>\n    q          (time, latitude, longitude) float64 131kB dask.array<chunksize=(1, 91, 180), meta=np.ndarray>\nAttributes:\n    Conventions:  CF-1.6\n    history:      2024-09-27 11:51:26 GMT by grib_to_netcdf-2.35.3: /opt/ecmw...\n    path:         data/02-t-q.nc
" + }, + "metadata": {} + } + ], + "execution_count": 6 + }, + { + "cell_type": "code", + "source": "da = ds[\"q\"]", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 7 + }, + { + "cell_type": "code", + "source": "def goodness(da, da_decompressed) -> float:\n # compute the PS2NR for now, choose a better goodness estimator later\n da_min, da_max = float(da.min()), float(da.max())\n\n da_error = da_decompressed - da\n da_mse = float((da_error*da_error).mean())\n\n return np.log10(da_max - da_min) * 20.0 - np.log10(da_mse) * 10.0", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 8 + }, + { + "cell_type": "code", + "source": "def compression_ratio(stats):\n return round(stats[0].decoded_bytes / stats[-1].encoded_bytes, 2)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 9 + }, + { + "cell_type": "code", + "source": "from matplotlib import pyplot as plt", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 10 + }, + { + "cell_type": "code", + "source": "import tqdm", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 11 + }, + { + "cell_type": "code", + "source": "bitround_ratio_goodness = []\nfor keepbits in tqdm.tqdm(range(0, 24)):\n compressor = [fcbench.codecs.BitRound(keepbits=keepbits), fcbench.codecs.Zlib(level=9)]\n da_decompressed, stats = fcbench.compressor.compute_dataarray_compress_decompress(\n da, compressor\n )\n bitround_ratio_goodness.append((compression_ratio(stats), goodness(da, da_decompressed)))\n del compressor\nbitround_ratio_goodness = np.array(bitround_ratio_goodness)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "text": ":2: TqdmMonitorWarning: tqdm:disabling monitor support (monitor_interval = 0) due to:\ncan't start new thread\n for keepbits in tqdm.tqdm(range(0, 24)):\n100%|██████████| 24/24 [00:01<00:00, 13.31it/s]\n", + "output_type": "stream" + } + ], + "execution_count": 12 + }, + { + "cell_type": "code", + "source": "linquant_ratio_goodness = []\nfor bits in tqdm.tqdm(range(1, 24)):\n compressor = [fcbench.codecs.LinearQuantize(bits=bits, dtype=str(da.dtype)), fcbench.codecs.Zlib(level=9)]\n da_decompressed, stats = fcbench.compressor.compute_dataarray_compress_decompress(\n da, compressor\n )\n linquant_ratio_goodness.append((compression_ratio(stats), goodness(da, da_decompressed)))\n del compressor\nlinquant_ratio_goodness = np.array(linquant_ratio_goodness)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "text": "100%|██████████| 23/23 [00:01<00:00, 21.46it/s]\n", + "output_type": "stream" + } + ], + "execution_count": 13 + }, + { + "cell_type": "code", + "source": "zfp_ratio_goodness = []\nfor rel in tqdm.tqdm([10**(-x/4) for x in range(20)]):\n compressor = [fcbench.codecs.Asinh(linear_width=1.0), fcbench.codecs.Zfp(mode=\"fixed-accuracy\", tolerance=rel)]\n da_decompressed, stats = fcbench.compressor.compute_dataarray_compress_decompress(\n da, compressor\n )\n zfp_ratio_goodness.append((compression_ratio(stats), goodness(da, da_decompressed)))\n del compressor\nzfp_ratio_goodness = np.array(zfp_ratio_goodness)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "text": "100%|██████████| 20/20 [00:00<00:00, 26.32it/s]\n", + "output_type": "stream" + } + ], + "execution_count": 14 + }, + { + "cell_type": "code", + "source": "sz3_ratio_goodness = []\nfor rel in tqdm.tqdm([10**(-x/4) for x in range(20)]):\n compressor = [fcbench.codecs.Sz3(eb_mode=\"rel\", eb_rel=rel)]\n da_decompressed, stats = fcbench.compressor.compute_dataarray_compress_decompress(\n da, compressor\n )\n sz3_ratio_goodness.append((compression_ratio(stats), goodness(da, da_decompressed)))\n del compressor\nsz3_ratio_goodness = np.array(sz3_ratio_goodness)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "text": "100%|██████████| 20/20 [00:00<00:00, 29.59it/s]\n", + "output_type": "stream" + } + ], + "execution_count": 15 + }, + { + "cell_type": "code", + "source": "fig, ax = plt.subplots()\n\nax.set_title(\"Which compressor performs better for different quality requirements?\")\nax.set_xlabel(\"peak signal-to-noise ratio\\nhigher means better quality\")\nax.set_ylabel(\"compression ratio\")\nax.set_yscale(\"log\")\n\nax.plot(bitround_ratio_goodness[:,1], bitround_ratio_goodness[:,0])\nax.scatter(bitround_ratio_goodness[:,1], bitround_ratio_goodness[:,0], label=\"Bit Rounding\")\n\nax.plot(linquant_ratio_goodness[:,1], linquant_ratio_goodness[:,0])\nax.scatter(linquant_ratio_goodness[:,1], linquant_ratio_goodness[:,0], label=\"Linear Quantize\")\n\nax.plot(zfp_ratio_goodness[:,1], zfp_ratio_goodness[:,0])\nax.scatter(zfp_ratio_goodness[:,1], zfp_ratio_goodness[:,0], label=\"ZFP\")\n\nax.plot(sz3_ratio_goodness[:,1], sz3_ratio_goodness[:,0])\nax.scatter(sz3_ratio_goodness[:,1], sz3_ratio_goodness[:,0], label=\"SZ3\")\n\nax.legend()\n\nplt.show()", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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yt/fXz333HPqypUruW6Hbdu2qUaNGilnZ2cVFhamlixZYi6T/f1862PLli233V7Z3/vOzs6qdu3aatWqVebPni372Lp1WbduR6WUOnz4sBo4cKAKCwtTzs7OKiAgQD399NMW55yb4735fHLzfrrd8fzmm28qBwcHFRcXl+PzDBkyRHl7e+f6HZTNFvvEaDSqt956S1WsWFG5urqq1q1bqyNHjqjQ0FA1cOBAc7ns78lb3enz37wNvvrqK/X666+r4OBgpWma+bz2+++/qw4dOigvLy/l6uqqWrZsqbZv326xnuz1Hz9+XD3++OPKy8tLVahQQb3xxhvKaDSqc+fOqW7duilPT08VEBCgZs6cmSNWa78fbpdLZMdz6yN7OxTku/Shhx5SlStXvm2ZWxVaUvbhhx/m+Gdp06aNeu6559TJkycVoA4fPmyeFxERoWrVqmUZHKi6deuqoKAg9dZbb6k5c+aoqlWrKjc3N4t/pNwOos8++0xpmqbq1Kmj/u///k9FRkaqZ599Vj355JPmMq1atVLBwcEqJCREjRgxQi1YsEC1adNGAWrdunV3/IyTJk1SgGrWrJl699131dy5c9WAAQPU2LFjzWWyd3S7du3UvHnz1LBhw5Rer1eNGjVSGRkZucYyZswYNW/ePBUeHq70er36+uuvVWBgoJo0aZKaM2eOqlixovL29lZJSUk51nPfffeprl27qvnz56snnnhCARafOXu71qpVS/n5+anJkyeryMhIdfDgQRUTE6MqVaqkQkJC1JQpU9QHH3ygunXrpgCLE85HH32kANW7d2/14Ycfqrlz56pnnnlGDR8+3FxmwIABysnJSY0aNUp9/PHHasaMGapr167q888/z7HfGjVqpGbPnq3GjRunXF1dVZUqVSyS1oEDBypnZ2dVrVo1NXDgQLVw4UK1dOnSPPeLNdvi7bffVpqmqb59+6oFCxaoyZMnqwoVKuSIoVWrViowMFD5+fmpl19+WX344YdqzZo1atmyZapFixbK2dlZLVu2TC1btkydOnXKHHf2doqMjFRPPfWUAtSjjz5qEUNoaKiqXr268vX1VePGjVMLFy5UW7ZsMX/xRUREqKZNm6r3339fDR8+XGmapvr166cGDBigOnXqpCIjI9WTTz6pADV58mTzco8cOaKcnJxUw4YN1dy5c9XChQvV6NGjVcuWLfPc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" + }, + "metadata": {} + } + ], + "execution_count": 16 + }, + { + "cell_type": "code", + "source": "", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + } + ] +} \ No newline at end of file From 5527d792c886f78454d2036b65acf9cc9d8bfca3 Mon Sep 17 00:00:00 2001 From: Juniper Tyree <50025784+juntyr@users.noreply.github.com> Date: Fri, 1 Nov 2024 09:56:52 +0200 Subject: [PATCH 2/3] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d8bd4..8c9ad84 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ The following is an overview of all notebooks: - [`04-ecmwfapi.ipynb`](02-data-sources/04-ecmwfapi.ipynb): download small datasets from the ECMWF Archive using the `ecmwfapi` - [`03-examples/`](03-examples/README.md): Longer walkthrough examples that apply and evaluate data compression on different variables - [`01-compressors.ipynb`](03-examples/01-compressors.ipynb): comparison of different compressors on a small temperature and specific humidity dataset + - [`02-quality.ipynb`](03-examples/02-quality.ipynb): quantitative evaluation of different compressors and their settings across different variables ## Getting Help and Contributing From 33dbe26c26233adff3e7de57a14d929454f49a59 Mon Sep 17 00:00:00 2001 From: Juniper Tyree <50025784+juntyr@users.noreply.github.com> Date: Fri, 1 Nov 2024 09:57:15 +0200 Subject: [PATCH 3/3] Update README.md --- 03-examples/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/03-examples/README.md b/03-examples/README.md index 122009c..5b0fd3d 100644 --- a/03-examples/README.md +++ b/03-examples/README.md @@ -6,6 +6,7 @@ The **Online Laboratory for Data Compression** allows you to explore various dat ## Overview of the provided notebooks - [`01-compressors.ipynb`](01-compressors.ipynb): Comparison of different compressors on a small temperature and specific humidity dataset +- [`02-quality.ipynb`](02-quality.ipynb): Quantitative evaluation of different compressors and their settings across different variables ## License