From 969fa09720d9f61f07fef28df7a1523983cb7e95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jens=20Henrik=20G=C3=B6bbert?= <j.goebbert@fz-juelich.de>
Date: Mon, 2 Mar 2020 15:47:26 +0100
Subject: [PATCH] rm .ipynb_checkpoints

---
 .../SanityCheck-Tutorials-checkpoint.ipynb    | 655 ------------------
 .../.ipynb_checkpoints/running-checkpoint.png | Bin 21789 -> 0 bytes
 .../.ipynb_checkpoints/tabs-checkpoint.png    | Bin 23272 -> 0 bytes
 .../Howto_Dask_onJUWELS-checkpoint.ipynb      | 346 ---------
 4 files changed, 1001 deletions(-)
 delete mode 100644 001-Jupyter/001-Tutorials/.ipynb_checkpoints/SanityCheck-Tutorials-checkpoint.ipynb
 delete mode 100644 001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/running-checkpoint.png
 delete mode 100644 001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/tabs-checkpoint.png
 delete mode 100644 002-Methods/001-Computing/.ipynb_checkpoints/Howto_Dask_onJUWELS-checkpoint.ipynb

diff --git a/001-Jupyter/001-Tutorials/.ipynb_checkpoints/SanityCheck-Tutorials-checkpoint.ipynb b/001-Jupyter/001-Tutorials/.ipynb_checkpoints/SanityCheck-Tutorials-checkpoint.ipynb
deleted file mode 100644
index ad5e0d4..0000000
--- a/001-Jupyter/001-Tutorials/.ipynb_checkpoints/SanityCheck-Tutorials-checkpoint.ipynb
+++ /dev/null
@@ -1,655 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Sanity Check\n",
-    "This notebook checks if the available general tutorials run without errors.  \n",
-    "\n",
-    "This particulary tests the installed python packages and their interoperability for standard features and examples. Running these checks can take **a lot of time** and there for will not finish in the max. cpu-time we provide for a process on a login node. Hence the jupyter kernel for this notebook will eventually be killed by the system. These Sanity Checks are primarily usefull for system administrators.  \n",
-    "\n",
-    "If you want to run them anyway - ensure your Jupyter is running as a **batch job** with far more compute time available."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Grab Tutorials from Git-Repo "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from git import Repo\n",
-    "#repo = Repo.clone_from(\"https://gitlab.version.fz-juelich.de/jupyter4jsc/j4j_notebooks.git\", './j4j_notebooks')\n",
-    "#repo.git.checkout('integration')"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Define Funktions for later Sanity Check"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from typing import Any, Tuple, Dict, Mapping\n",
-    "from collections import defaultdict\n",
-    "from nbformat import NotebookNode\n",
-    "\n",
-    "def count_source(source: str) -> Tuple[int, int, int]:\n",
-    "    \"\"\"Count number of non-blank lines, words, and non-whitespace characters.\n",
-    "\n",
-    "    :param source: string to count\n",
-    "    :return: number of non-blank lines, words, and non-whitespace characters\n",
-    "    \"\"\"\n",
-    "    lines = [line for line in source.split('\\n') if line and not line.isspace()]\n",
-    "    words = source.split()\n",
-    "    chars = ''.join(words)\n",
-    "\n",
-    "    return len(lines), len(words), len(chars)\n",
-    "\n",
-    "REQUIRED_NB_FIELDS = {\"metadata\", \"nbformat_minor\", \"nbformat\", \"cells\"}\n",
-    "REQUIRED_NB_METADATA_FIELDS = {\"kernelspec\", \"language_info\"}\n",
-    "CELL_TYPES = ('markdown', 'code', 'raw', )\n",
-    "REQUIRED_CELL_FIELDS = {\n",
-    "    'markdown': {\"cell_type\", \"metadata\", \"source\"},\n",
-    "    'code': {\"cell_type\", \"metadata\", \"source\", \"execution_count\", \"outputs\"},\n",
-    "    'raw': {\"cell_type\", \"metadata\", \"source\"}\n",
-    "}\n",
-    "OPTIONAL_CELL_FIELDS = {\n",
-    "    'markdown': {\"attachments\"},\n",
-    "    'code': set(),\n",
-    "    'raw': {\"attachments\"}\n",
-    "}\n",
-    "OPTIONAL_OUTPUT_TYPES = {\n",
-    "    'execute_result': {'data', 'metadata' ,'execution_count'},\n",
-    "    'stream': {'name', 'text'},\n",
-    "    'display_data': {'data', 'metadata', },\n",
-    "    'error': {'ename', 'evalue', 'traceback'},\n",
-    "}\n",
-    "\n",
-    "CELL_STATISTICS = (\n",
-    "    'cell_types',  #: cell type counts\n",
-    "    'sources', #: cell sources counts\n",
-    "    'cell_metadata',  #: cell metadata counts, including separate ``tags``\n",
-    "    'cell_attachments',  #: cell attachment MIME type counts, and total\n",
-    "    'code_execution',  #: code cell execution count statistics\n",
-    "    'code_outputs',  #: code cell counts per output_type, subcounts per ``stream`` and ``error``, and total\n",
-    "    'cell_extra',  #: counts for extra (unknown) fields in cells\n",
-    ")\n",
-    "\n",
-    "# dictionary keys for source statistics\n",
-    "EMPTY_SOURCES = 'total empty sources'\n",
-    "SOURCE_LINES = 'total source lines'\n",
-    "SOURCE_WORDS = 'total source words'\n",
-    "SOURCE_CHARS = 'total source chars'\n",
-    "EMPTY_SOURCES_MD = 'markdown empty sources'\n",
-    "SOURCE_LINES_MD = 'markdown source lines'\n",
-    "SOURCE_WORDS_MD = 'markdown source words'\n",
-    "SOURCE_CHARS_MD = 'markdown source chars'\n",
-    "EMPTY_SOURCES_CODE = 'code empty sources'\n",
-    "SOURCE_LINES_CODE = 'code source lines'\n",
-    "SOURCE_WORDS_CODE = 'code source words'\n",
-    "SOURCE_CHARS_CODE = 'code source chars'\n",
-    "EMPTY_SOURCES_RAW = 'raw empty sources'\n",
-    "SOURCE_LINES_RAW = 'raw source lines'\n",
-    "SOURCE_WORDS_RAW = 'raw source words'\n",
-    "SOURCE_CHARS_RAW = 'raw source chars'\n",
-    "\n",
-    "def nb_cell_stats(nb: NotebookNode) -> Dict[str, Dict[str, int]]:\n",
-    "    \"\"\"Count occurrences of various elements in notebook cells.\n",
-    "\n",
-    "    :param nb: notebook to inspect\n",
-    "    :return: dictionary of dictionaries with counts per section;\n",
-    "        each section has its own key; see CELL_STATISTICS\n",
-    "    \"\"\"\n",
-    "    # process the notebook cells\n",
-    "    result = {key: defaultdict(int) for key in CELL_STATISTICS}\n",
-    "\n",
-    "    # traverse all cells and gather statistics\n",
-    "    for index, cell in enumerate(nb.cells):  # index can be used for debug output\n",
-    "        result['cell_types']['total cell count'] += 1  # count all cells\n",
-    "        ct = cell.cell_type\n",
-    "        result['cell_types'][ct] += 1  # count each cell type\n",
-    "\n",
-    "        # compute source statistics\n",
-    "        lines, words, chars = count_source(cell.source)  # cell.source should always be present\n",
-    "        empty_cell = chars == 0\n",
-    "        if empty_cell:\n",
-    "            result['sources'][EMPTY_SOURCES] += 1\n",
-    "            if ct == 'markdown':\n",
-    "                result['sources'][EMPTY_SOURCES_MD] += 1\n",
-    "            elif ct == 'code':\n",
-    "                result['sources'][EMPTY_SOURCES_CODE] += 1\n",
-    "            elif ct == 'raw':\n",
-    "                result['sources'][EMPTY_SOURCES_RAW] += 1\n",
-    "        if chars:\n",
-    "            result['sources'][SOURCE_LINES] += lines\n",
-    "            result['sources'][SOURCE_WORDS] += words\n",
-    "            result['sources'][SOURCE_CHARS] += chars\n",
-    "            if ct == 'markdown':\n",
-    "                result['sources'][SOURCE_LINES_MD] += lines\n",
-    "                result['sources'][SOURCE_WORDS_MD] += words\n",
-    "                result['sources'][SOURCE_CHARS_MD] += chars\n",
-    "            elif ct == 'code':\n",
-    "                result['sources'][SOURCE_LINES_CODE] += lines\n",
-    "                result['sources'][SOURCE_WORDS_CODE] += words\n",
-    "                result['sources'][SOURCE_CHARS_CODE] += chars\n",
-    "            elif ct == 'raw':\n",
-    "                result['sources'][SOURCE_LINES_RAW] += lines\n",
-    "                result['sources'][SOURCE_WORDS_RAW] += words\n",
-    "                result['sources'][SOURCE_CHARS_RAW] += chars\n",
-    "\n",
-    "        # count each metadata key\n",
-    "        for attr in cell.metadata:  # cell.metadata should always be present\n",
-    "                result['cell_metadata'][attr] += 1\n",
-    "\n",
-    "        # count each tag in tags metadata\n",
-    "        if 'tags' in cell.metadata:\n",
-    "            for tag in cell.metadata.tags:\n",
-    "                result['cell_metadata']['tag ' + tag] += 1\n",
-    "\n",
-    "        # count each attachment mime type\n",
-    "        if 'attachments' in cell:\n",
-    "            result['cell_attachments']['total count of cells with attachments'] += 1\n",
-    "            for attachment in cell.attachments.values():\n",
-    "                for key in attachment:\n",
-    "                    result['cell_attachments']['total attachments count'] += 1\n",
-    "                    result['cell_attachments'][key] += 1\n",
-    "\n",
-    "        # count non-standard fields in cells\n",
-    "        for field in cell:\n",
-    "            if field not in REQUIRED_CELL_FIELDS[ct].union(OPTIONAL_CELL_FIELDS[ct]):\n",
-    "                result['cell_extra'][field] += 1\n",
-    "\n",
-    "    return result\n",
-    "\n",
-    "from colorama import Fore, Back, Style\n",
-    "DEFAULT_WIDTH = 10\n",
-    "def print_dict(d: Dict[str, Any], header: str=None, width: int=DEFAULT_WIDTH) -> None:\n",
-    "    \"\"\"Print dictionary d with section header.\n",
-    "\n",
-    "    :param d: dictionary to print\n",
-    "    :param header: header of the table\n",
-    "    :param width: width of the left column\n",
-    "    \"\"\"\n",
-    "    if d:\n",
-    "        if header:\n",
-    "            print('{}:'.format(header))\n",
-    "        for key in sorted(d):\n",
-    "            if key == 'raw':\n",
-    "                style = Fore.RED\n",
-    "            else:\n",
-    "                style = ''\n",
-    "            left = str(d[key])\n",
-    "            print(style + '  {:>{}} {}'.format(left, width, key) + Style.RESET_ALL)\n",
-    "            \n",
-    "from pathlib import Path\n",
-    "from nbformat import NotebookNode\n",
-    "from typing import List, Union\n",
-    "import nbformat\n",
-    "import sys\n",
-    "\n",
-    "def read_nb(nb_path: Path) -> Union[None, NotebookNode]:\n",
-    "    \"\"\"Read notebook from given path, and return it.\n",
-    "    Uses ``args.debug``: in debug mode, a read error results in an exception, else it returns ``None``.\n",
-    "\n",
-    "    :param nb_path: path to read from\n",
-    "    :param args: to check debug mode\n",
-    "    :return: notebook read from ``nb_path`` or None if reading failed``\n",
-    "    \"\"\"\n",
-    "    try:\n",
-    "        nb = nbformat.read(nb_path.open(encoding='utf-8'), as_version=4)\n",
-    "    except Exception as e:\n",
-    "        ename = type(e).__name__\n",
-    "        print('Reading of \"{}\" failed ({}):\\n  {}'.format(nb_path.name, ename, e), file=sys.stderr)\n",
-    "        return None\n",
-    "\n",
-    "    return nb"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Run the Sanity Check"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "ename": "ModuleNotFoundError",
-     "evalue": "No module named 'papermill'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
-      "\u001b[0;32m<ipython-input-2-4fe21cbd60c3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpapermill\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpapermill\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexceptions\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mPapermillExecutionError\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0mfailed_notebooks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'papermill'"
-     ]
-    }
-   ],
-   "source": [
-    "import os\n",
-    "import papermill as pm\n",
-    "from papermill.exceptions import PapermillExecutionError\n",
-    "\n",
-    "failed_notebooks = list()\n",
-    "dirbase=\"/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/\"\n",
-    "for dirpath, dirs, files in os.walk(dirbase):\n",
-    "    dirs.sort()\n",
-    "    if os.path.basename(dirpath).startswith('.'):\n",
-    "        continue\n",
-    "    for filename in sorted(files):\n",
-    "        if filename.endswith('.ipynb') and not filename.startswith('papermill_'):\n",
-    "            print(os.path.join(dirpath,filename))\n",
-    "            if filename == \"SanityCheck-Tutorials.ipynb\":\n",
-    "                continue\n",
-    "            try:\n",
-    "                os.chdir(dirpath)\n",
-    "                nb_path = os.path.join(dirpath, filename)\n",
-    "                \n",
-    "                # get notebook statistics\n",
-    "                nb = read_nb(Path(nb_path))\n",
-    "                cell_stats = nb_cell_stats(nb)\n",
-    "                print_dict(cell_stats['cell_types'], \"Cell types\")\n",
-    "                #print_dict(cell_stats['sources'], \"Cell sources\")\n",
-    "                #print_dict(cell_stats['cell_metadata'], \"Cell metadata fields\")\n",
-    "                #print_dict(cell_stats['cell_attachments'], \"Cell attachments\")             \n",
-    "                \n",
-    "                # execute notebook\n",
-    "                nb = pm.execute_notebook(\n",
-    "                    nb_path,\n",
-    "                    os.path.join(dirpath, 'papermill_' + filename),\n",
-    "                    #kernel_name=\"Python3\"\n",
-    "                    )\n",
-    "                \n",
-    "                os.chdir(dirbase)\n",
-    "            except PapermillExecutionError as e:\n",
-    "                failed_notebooks.append([os.path.join(dirpath, filename), e.evalue])\n",
-    "                print(e.evalue)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Check Results"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/Example - Beat Frequencies.ipynb',\n",
-       "  'too many values to unpack (expected 2)'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/08_cuda.ipynb',\n",
-       "  'Error at driver init: \\n[100] Call to cuInit results in CUDA_ERROR_NO_DEVICE:'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/09_ipyparallel.ipynb',\n",
-       "  \"Can't build targets without any engines\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/06_kde.ipynb',\n",
-       "  \"No module named 'cartopy'\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter09_numoptim/03_curvefitting.ipynb',\n",
-       "  'Optimal parameters not found: Number of calls to function has reached maxfev = 1000.'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/05_faces.ipynb',\n",
-       "  \"No module named 'cv2'\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/02_airports.ipynb',\n",
-       "  \"No module named 'cartopy'\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/06_gis.ipynb',\n",
-       "  \"No module named 'cartopy'\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/07_gps.ipynb',\n",
-       "  'read_shp requires OGR: http://www.gdal.org/'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/Animations Using clear_output.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Data Publication API.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Monitoring an MPI Simulation - 1.ipynb',\n",
-       "  'You have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Monitoring an MPI Simulation - 2.ipynb',\n",
-       "  'You have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Monte Carlo Options.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Parallel Decorator and map.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Parallel Magics.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Using Dill.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/Using MPI with IPython Parallel.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/rmt/rmt.ipynb',\n",
-       "  \"Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.\\nYou have attempted to connect to an IPython Cluster but no Controller could be found.\\nPlease double-check your configuration and ensure that a cluster is running.\"],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Notebook/Notebook Exercises.ipynb',\n",
-       "  'HTTP Error 404: Not Found'],\n",
-       " ['/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/Lecture-6B-HPC.ipynb',\n",
-       "  \"Can't build targets without any engines\"]]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "failed_notebooks"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Clean Up"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/papermill_SanityCheck-Tutorials.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Beyond Plain Python.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Cell Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Working With External Code.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Custom Display Logic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Script Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Plotting in the Notebook with Matplotlib.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Animations Using clear_output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Rich Output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Raw Input in the Notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Capturing Output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Background Jobs.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_Cython Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/001-IPython-Kernel/papermill_SymPy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Example - Beat Frequencies.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Example - Factoring.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Example - Lorenz Differential Equations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Using Interact.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Widget Styling.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Widget Events.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Widget List.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/002-Interactive-Widgets/papermill_Widget Basics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_What is the IPython Notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_Notebook Basics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_Working With Markdown Cells.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_JupyterLab Interface.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_Typesetting Equations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/001-Basic-Tutorials/003-Notebook/papermill_Running Code.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_06_kde.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_03_bayesian.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_05_mlfit.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_01_pandas.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_02_z_test.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_04_correlation.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter07_stats/papermill_07_pymc.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_07_lotka.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_02_solvers.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_05_number_theory.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_01_sympy_intro.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_04_stats.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_03_function.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter15_symbolic/papermill_06_logic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_05_config.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_06_kernel.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_01_notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_04_magic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_02_pandas.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter01_basic/papermill_03_numpy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter06_viz/papermill_03_bokeh.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter06_viz/papermill_01_styles.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter06_viz/papermill_02_seaborn.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter06_viz/papermill_06_altair.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter06_viz/papermill_05_widgets.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter12_deterministic/papermill_01_bifurcation.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter12_deterministic/papermill_02_cellular.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter12_deterministic/papermill_04_turing.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter12_deterministic/papermill_03_ode.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_03_dag.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_04_connected.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_02_airports.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_05_voronoi.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_01_networkx.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_06_gis.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter14_graphgeo/papermill_07_gps.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_02_titanic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_03_digits.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_06_random_forest.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_04_text.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_05_svm.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_01_scikit.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_08_clustering.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter08_ml/papermill_07_pca.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_07_rolling_average.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_04_memprof.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_01_timeit.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_05_array_copies.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_02_profile.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_03_linebyline.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_08_memmap.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_09_hdf5_array.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter04_optimization/papermill_06_stride_tricks.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_12_julia.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_05_cython.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_08_cuda.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_06_ray.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_01_slow.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_07_openmp.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_03_numexpr.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_10_async.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_04_ctypes.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_02_numba.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_11_dask.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/papermill_09_ipyparallel.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_6.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_1.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_4.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_2.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_3.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_7.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter05_hpc/06_ray/papermill_06_ray_5.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter09_numoptim/papermill_04_energy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter09_numoptim/papermill_01_root.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter09_numoptim/papermill_02_minimize.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter09_numoptim/papermill_03_curvefitting.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter10_signal/papermill_03_autocorrelation.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter10_signal/papermill_02_filter.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter10_signal/papermill_01_fourier.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter13_stochastic/papermill_03_brownian.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter13_stochastic/papermill_01_markov.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter13_stochastic/papermill_04_sde.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter13_stochastic/papermill_02_poisson.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter03_notebook/papermill_02_nbformat.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter03_notebook/papermill_05_custom_notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter03_notebook/papermill_04_custom_widgets.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter03_notebook/papermill_03_widgets.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter03_notebook/papermill_01_blocks.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_02_filters.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_07_synth.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_04_interest.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_03_segmentation.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_06_speech.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_01_exposure.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/002-IPython-Cookbook/chapter11_image/papermill_05_faces.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/papermill_index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/quickstart/papermill_quickstart.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_00 - Introduction and Setup.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_08 - Graph and Network Plots.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_02 - Styling and Theming.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_06 - Linking and Interactions.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_A3 - High-Level Charting with Holoviews.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_05 - Presentation Layouts.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_A1 - Models and Primitives.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_A2 - Visualizing Big Data with Datashader.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_A4 - Additional Resources.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_04 - Data Sources and Transformations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_10 - Exporting and Embedding.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_07 - Bar and Categorical Data Plots.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_03 - Adding Annotations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_09 - Geographic Plots.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_11 - Running Bokeh Applictions.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/006-Bokeh/tutorial/papermill_01 - Basic Plotting.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_04.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_08.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_02.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_07.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_03.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_01.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_00.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_06.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_11.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/005-Python4Maths/papermill_05.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-4-Matplotlib.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-7-Revision-Control-Software.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-6B-HPC.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-0-Scientific-Computing-with-Python.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-6A-Fortran-and-C.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-3-Scipy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-2-Numpy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-5-Sympy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/004-Scientific-Python-Lectures/papermill_Lecture-1-Introduction-to-Python-Programming.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/IPython Kernel/papermill_Custom Display Logic Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/IPython Kernel/papermill_Rich Output Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/IPython Kernel/papermill_Background Jobs Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Customization/papermill_Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Customization/papermill_Condensed.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Customization/papermill_Configuration.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Customization/papermill__Sample.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Customization/papermill_Custom magic and cross language integration.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Interactive Widgets/papermill_Widget Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Interactive Widgets/papermill_Interact Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/exercises/Notebook/papermill_Notebook Exercises.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Embedding/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Terminal Usage.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Plotting in the Notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Beyond Plain Python.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Cell Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Trapezoid Rule.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Working With External Code.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Custom Display Logic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Script Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Importing Notebooks.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Animations Using clear_output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Rich Output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Raw Input in the Notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Capturing Output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Old Custom Display Logic.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Background Jobs.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Updating Displays.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_Third Party Rich Output.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/papermill_SymPy.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/nbpackage/papermill_mynotebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/IPython Kernel/nbpackage/nbs/papermill_other.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Monitoring an MPI Simulation - 2.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Data Publication API.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Parallel Decorator and map.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Using MPI with IPython Parallel.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Using Dill.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Parallel Magics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Monte Carlo Options.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/papermill_Monitoring an MPI Simulation - 1.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Parallel Computing/rmt/papermill_rmt.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Image Processing.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Export As (nbconvert).ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Beat Frequencies.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Nonblocking Console.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Using Interact.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Exploring Graphs.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Widget Styling.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Widget Events.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Factoring.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Image Browser.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Widget List.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Widget Basics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Interactive Widgets/papermill_Lorenz Differential Equations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_What is the IPython Notebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Running the Notebook Server.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Notebook Basics.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Working With Markdown Cells.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Importing Notebooks.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Connecting with the Qt Console.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Julia and Python Bridge.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Multiple Languages, Frontends.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Converting Notebooks With nbconvert.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Typesetting Equations.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/papermill_Running Code.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/nbpackage/papermill_mynotebook.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Notebook/nbpackage/nbs/papermill_other.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Magics/papermill_Index.ipynb\n",
-      "/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/003-IPython-in-Depth/examples/Magics/papermill_Cython Magics.ipynb\n"
-     ]
-    }
-   ],
-   "source": [
-    "import os\n",
-    "import papermill as pm\n",
-    "from papermill.exceptions import PapermillExecutionError\n",
-    "\n",
-    "failed_notebooks = list()\n",
-    "dirbase=\"/p/home/jusers/goebbert1/jureca/j4j_notebooks_2/001-Tutorials/\"\n",
-    "for dirpath, dirs, files in os.walk(dirbase):\n",
-    "    if os.path.basename(dirpath).startswith('.'):\n",
-    "        continue\n",
-    "    for filename in files:\n",
-    "        if filename.endswith('.ipynb') and filename.startswith('papermill_'):\n",
-    "            nb_path = os.path.join(dirpath,filename)\n",
-    "            print(nb_path)\n",
-    "            os.remove(nb_path)"
-   ]
-  },
-  {
-   "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.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/running-checkpoint.png b/001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/running-checkpoint.png
deleted file mode 100644
index 4a1dc06e7ec0f1afae467345ace1043a16647d17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21789
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
XYMCf`)UlC)fq}u()z4*}Q$iB}r!wFG

diff --git a/001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/tabs-checkpoint.png b/001-Jupyter/001-Tutorials/001-Basic-Tutorials/003-Notebook/images/.ipynb_checkpoints/tabs-checkpoint.png
deleted file mode 100644
index bc9e09ace4edc30c4d2b3d5056c409564f98b514..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 23272
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
F2>>8(3!?x4

diff --git a/002-Methods/001-Computing/.ipynb_checkpoints/Howto_Dask_onJUWELS-checkpoint.ipynb b/002-Methods/001-Computing/.ipynb_checkpoints/Howto_Dask_onJUWELS-checkpoint.ipynb
deleted file mode 100644
index b56c82b..0000000
--- a/002-Methods/001-Computing/.ipynb_checkpoints/Howto_Dask_onJUWELS-checkpoint.ipynb
+++ /dev/null
@@ -1,346 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Dask Extension"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "---\n",
-    "This notebook will give you a short introduction into the Dask Extension on JUWELS. It allows you to run Jobs on the compute nodes, even if your JupyterLab is running interactively on the login node.  \n",
-    "First you have to define on which project and partition it should be running."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "queue = \"batch\"  #  batch, gpus, develgpus, etc.\n",
-    "project = \"training2005\"  # your project: zam, training19xx, etc.\n",
-    "port = 56755"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Monte-Carlo Estimate of $\\pi$\n",
-    "\n",
-    "We want to estimate the number $\\pi$ using a [Monte-Carlo method](https://en.wikipedia.org/wiki/Pi#Monte_Carlo_methods) exploiting that the area of a quarter circle of unit radius is $\\pi/4$ and that hence the probability of any randomly chosen point in a unit square to lie in a unit circle centerd at a corner of the unit square is $\\pi/4$ as well.  So for N randomly chosen pairs $(x, y)$ with $x\\in[0, 1)$ and $y\\in[0, 1)$, we count the number $N_{circ}$ of pairs that also satisfy $(x^2 + y^2) < 1$ and estimage $\\pi \\approx 4 \\cdot N_{circ} / N$.\n",
-    "\n",
-    "[<img src=\"https://upload.wikimedia.org/wikipedia/commons/8/84/Pi_30K.gif\" \n",
-    "     width=\"50%\" \n",
-    "     align=top\n",
-    "     alt=\"PI monte-carlo estimate\">](https://en.wikipedia.org/wiki/Pi#Monte_Carlo_methods)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Core Lessons\n",
-    "\n",
-    "- setting up SLURM (and other jobqueue) clusters\n",
-    "- Scaling clusters\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Set up a Slurm cluster\n",
-    "\n",
-    "We'll create a SLURM cluster and have a look at the job-script used to start workers on the HPC scheduler."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import dask\n",
-    "from dask.distributed import Client\n",
-    "from dask_jobqueue import SLURMCluster\n",
-    "import os\n",
-    "\n",
-    "cluster = SLURMCluster(\n",
-    "    cores=96,\n",
-    "    processes=4,\n",
-    "    memory=\"70GB\",\n",
-    "    shebang=\"#!/usr/bin/env bash\",\n",
-    "    queue=queue,\n",
-    "    dashboard_address=\":\"+str(port),\n",
-    "    walltime=\"00:30:00\",\n",
-    "    local_directory=\"/tmp\",\n",
-    "    death_timeout=\"30s\",\n",
-    "    log_directory=f'{os.environ[\"HOME\"]}/dask_jobqueue_logs/',\n",
-    "    interface=\"ib1\",\n",
-    "    project=project,\n",
-    "    extra=['--host $SLURMD_NODENAME.ib.juwels.fzj.de'],\n",
-    ")\n",
-    "# optional: job_extra=[\"--reservation=reservation_name\"]\n",
-    "# interface can be skipped if the master process runs on a comput node"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print(cluster.job_script())"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "cluster"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "client = Client(cluster)\n",
-    "client"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## You can visit the Dask Dashboard at the following url:  \n",
-    "```\n",
-    "https://jupyter-jsc.fz-juelich.de/user/<user_name>/<lab_name>/proxy/<port>/status\n",
-    "```"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## You can integrate it into your JupyterLab environment by putting the link into the Dask Extension"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "![\"Dask\"](https://zam10183.zam.kfa-juelich.de/hub/static/images/dask2.png \"dask\")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Afterwards you can press on the orange buttons to open a new tab in your JupyterLab Environment."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Scale the cluster to two nodes\n",
-    "\n",
-    "A look at the Dashboard reveals that there are no workers in the clusetr.  Let's start 4 workers (in 2 SLURM jobs).\n",
-    "\n",
-    "For the distiction between _workers_ and _jobs_, see [the Dask jobqueue docs](https://jobqueue.dask.org/en/latest/howitworks.html#workers-vs-jobs)."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "cluster.scale(4)  # scale to 4 _workers_"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## The Monte Carlo Method"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import dask.array as da\n",
-    "import numpy as np\n",
-    "\n",
-    "\n",
-    "def calc_pi_mc(size_in_bytes, chunksize_in_bytes=200e6):\n",
-    "    \"\"\"Calculate PI using a Monte Carlo estimate.\"\"\"\n",
-    "\n",
-    "    size = int(size_in_bytes / 8)\n",
-    "    chunksize = int(chunksize_in_bytes / 8)\n",
-    "\n",
-    "    xy = da.random.uniform(0, 1, size=(size / 2, 2), chunks=(chunksize / 2, 2))\n",
-    "\n",
-    "    in_circle = (xy ** 2).sum(axis=-1) < 1\n",
-    "    pi = 4 * in_circle.mean()\n",
-    "\n",
-    "    return pi\n",
-    "\n",
-    "\n",
-    "def print_pi_stats(size, pi, time_delta, num_workers):\n",
-    "    \"\"\"Print pi, calculate offset from true value, and print some stats.\"\"\"\n",
-    "    print(\n",
-    "        f\"{size / 1e9} GB\\n\"\n",
-    "        f\"\\tMC pi: {pi : 13.11f}\"\n",
-    "        f\"\\tErr: {abs(pi - np.pi) : 10.3e}\\n\"\n",
-    "        f\"\\tWorkers: {num_workers}\"\n",
-    "        f\"\\t\\tTime: {time_delta : 7.3f}s\"\n",
-    "    )"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## The actual calculations\n",
-    "\n",
-    "We loop over different volumes of double-precision random numbers and estimate $\\pi$ as described above."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from time import time, sleep"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "for size in (1e9 * n for n in (1, 10, 100)):\n",
-    "\n",
-    "    start = time()\n",
-    "    pi = calc_pi_mc(size).compute()\n",
-    "    elaps = time() - start\n",
-    "\n",
-    "    print_pi_stats(\n",
-    "        size, pi, time_delta=elaps, num_workers=len(cluster.scheduler.workers)\n",
-    "    )"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Is it running?"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "To check if something has been started for you just use the following command in a terminal:  \n",
-    "```\n",
-    "squeue | grep ${USER}\n",
-    "```"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Scaling the Cluster to twice its size\n",
-    "\n",
-    "We increase the number of workers by 2 and the re-run the experiments."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "new_num_workers = 2 * len(cluster.scheduler.workers)\n",
-    "\n",
-    "print(f\"Scaling from {len(cluster.scheduler.workers)} to {new_num_workers} workers.\")\n",
-    "\n",
-    "cluster.scale(new_num_workers)\n",
-    "\n",
-    "sleep(10)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "client"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Re-run same experiments with doubled cluster"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "for size in (1e9 * n for n in (1, 10, 100)):\n",
-    "\n",
-    "    start = time()\n",
-    "    pi = calc_pi_mc(size).compute()\n",
-    "    elaps = time() - start\n",
-    "\n",
-    "    print_pi_stats(\n",
-    "        size, pi, time_delta=elaps, num_workers=len(cluster.scheduler.workers)\n",
-    "    )"
-   ]
-  }
- ],
- "metadata": {
-  "anaconda-cloud": {},
-  "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.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
-- 
GitLab