diff --git a/.gitignore b/.gitignore index b90f543041788093f5226bbecf9cca576f8548a4..f937f88cc434152a71db67273c2df6a1795838b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dist/ -*/.ipynb_checkpoints + +**/.ipynb_checkpoints tricco/__pycache__ diff --git a/benchmarks/.ipynb_checkpoints/benchmark_cubulation-checkpoint.ipynb b/benchmarks/.ipynb_checkpoints/benchmark_cubulation-checkpoint.ipynb deleted file mode 100644 index 0506e40269bfd73a3475eea0235f6b8f64738758..0000000000000000000000000000000000000000 --- a/benchmarks/.ipynb_checkpoints/benchmark_cubulation-checkpoint.ipynb +++ /dev/null @@ -1,126 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Notebook for benchmarking runtime of cubulation\n", - "\n", - "Tests are performed on an exclusive compute node of the DKRZ supercomputer Mistral in Hamburg, Germany.\n", - "\n", - "A compute node has the following specs (https://www.dkrz.de/up/systems/mistral/configuration):\n", - " * 2x 12-core Intel Xeon E5-2680 v3 (Haswell) @ 2.5GHz\n", - " * 24 cores (48 logical CPUs)\n", - " * 64 GB main memory\n", - " \n", - "As for the grids we consider limited-area ICON grids that cover a large part of the North Atlantic. They were for example used for the NAWDEX simulations described Senf, F., A. Voigt et al, 2020: Increasing Resolution and Resolving Convection Improve the Simulation of Cloud‐Radiative Effects Over the North Atlantic, JGR Atmospheres. https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020JD032667." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load required packages. Note: adding cc3d to system path is needed because it is required by tricco." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import timeit\n", - "import sys\n", - "sys.path.append('/pf/b/b380459/connected-components-3d/')\n", - "sys.path.append('/pf/b/b380459/BigDataClouds/tricco/')\n", - "import tricco" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Define the start triangle and radius of outward search as a function of grid resolution." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "dict_start = {'80000m': 5783, '40000m': 18538, '20000m': 69309, '10000m': 264792}\n", - "dict_radius = {'80000m': 102 , '40000m': 230 , '20000m': 460 , '10000m': 2000 }" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Working on resolution of 80000m\n", - "Time to read the grid:\n", - "310 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Time to compute cubulation:\n", - "11.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Working on resolution of 40000m\n", - "Time to read the grid:\n", - "163 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Time to compute cubulation:\n", - "1min 13s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Working on resolution of 20000m\n", - "Time to read the grid:\n", - "144 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Time to compute cubulation:\n", - "11min 34s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Working on resolution of 10000m\n", - "Time to read the grid:\n", - "312 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n", - "Time to compute cubulation:\n" - ] - } - ], - "source": [ - "# path to grid files\n", - "gridpath = '/work/bb1018/b380459/NAWDEX/grids/'\n", - "\n", - "# model resolutions under investigation\n", - "for res in ['80000m', '40000m', '20000m', '10000m']:\n", - " \n", - " print('Working on resolution of', res)\n", - " \n", - " gridfile = 'icon-grid_nawdex_78w40e23n80n_R'+res+'.nc'\n", - " print('Time to read the grid:')\n", - " %timeit -r 1 -n 1 tricco.grid_functions.grid = tricco.prepare_grid(model='ICON',path=gridpath, file=gridfile)\n", - " \n", - " print('Time to compute cubulation:')\n", - " %timeit -r 1 -n 1 tricco.compute_cubulation(start_triangle=dict_start[res], radius=dict_radius[res], print_progress=False)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Nawdex-Hackathon", - "language": "python", - "name": "nawdex-hackathon" - }, - "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.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -}