{ "cells": [ { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 0, "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 0 }, "source": [ "# Repeat the colormap example with separate colorbars\n", "\n", "Same approach as with the colormap_example notebook, but make a separate \n", "colorbar for each subplot" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "setting context.cookbook_dir to /Users/phil/repos/eosc213_students/notebooks/cookbook_examples\n" ] } ], "source": [ "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import context" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read in the concentration dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "lines_to_next_cell": 0 }, "outputs": [], "source": [ "cp = np.load(context.cookbook_dir / \"colormap_data.npz\")\n", "x, y, c = cp[\"x\"], cp[\"y\"], cp[\"c\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set the pallete" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "lines_to_next_cell": 0 }, "outputs": [], "source": [ "pal = plt.get_cmap(\"RdYlBu\").reversed()\n", "pal.set_bad(\"0.75\") # 75% grey for np.nan (missing data)\n", "pal.set_over(\"xkcd:white\") # color cells > vmax white\n", "pal.set_under(\"xkcd:teal\") # color cells < vmin teal\n", "vmax = 1.5\n", "vmin = 0.2\n", "the_norm = matplotlib.colors.Normalize(vmin=vmin, vmax=vmax, clip=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Make a pair of plots" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hide_input": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABAYAAAFNCAYAAACT/W3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xm8JGV56PHfcwYILjhEUHYdF+I2CigixA1FDagRjUQRQ8Qb7yS5rjHqVW9EoiYxxkTNxaiYkFEjLhcRUVFUcEQiGkZFBYmKSsKw6oCDKNvMee4fVc00Pd2nq86pPtXL7/v51Oec7nqr6q3q7lPPefpdIjORJEmSJEmzaa7tCkiSJEmSpPaYGJAkSZIkaYaZGJAkSZIkaYaZGJAkSZIkaYaZGJAkSZIkaYaZGJAkSZIkaYaZGJBUW0Ssi4iMiBNaOv6q8vgZEavaqENbIuLOEfHmiLgkIm7qug77N3iMQzv7bWqf4yIiTijPbV2dddJiRcRx5fvqsrbrMgoRsbY8v7Vt12Vcjct7wNdK0kK2a7sC0iwr/7F+Y9XymRmjq8146Eo2rM3My1qsyrj6GPD08vebgGvK32+rsrHXV5MsIp4J7A9cmJmnt1yXVcBxAJl5QotVGYky2fhM4BeZ+c6266PBIuJQ4FDgssxc22plJE0sEwPS+LhmeJGZ0EmUrAMuG1DmNuAHXb/PhIh4IFuTAkdn5scWsZsq13ea/ZzivfPfbVdEi/JM4AXAB4BWEwPAKrZ+nk5YoNwmivfcFSOuT9P2pzi//wJMDIy3Qyleq68AaxcodxXFe/Gq0VdJ0qQxMSCNiczcve06TIrMvAJ4YNv1aMFDy58bF5kUmHmZeSJwYtv10OzIzE8Cn2y7HlJmvg54Xdv1kDSeHGNAkibHncufN7ZaC0mSJE0VEwPSBIqIh3cNOvewIWU/VJb7Up91O0bEKyLiaxFxfUTcHBH/FREfXOxgdl31OnSBMtsMXtgZFKmr2Je79nWHQZuqDD4YESsj4viI+FZE3FAO1PejiHhPRNy3Sv0jYqeIeEtE/Ge5/caI+ExEPKr6Fel7jFrXvTMoHlubiN6759qs7d2mzz4qX98+294/Ik6OiMsj4paI2BAR74+IvYYcc0U56NZZEXFNRNwaET8rHx8dEUsaMyMifq98PTr7vqZ8/KwFthnpAIMRsUv5vvtGRFxXvraXlef8JxGxssFzucNAYhFxVPnZui4ifh0RF0bEyyNiwXt9ROwTEW8ry28q3+s/johPRcQfRsSOA7Y7oHxf/Lg83o0R8Z3yM7PrgG3ucP0j4rCI+Gz5vrg5ikE139h7zPLzmBTdCABe0PP+vcPfnPKaZ/n+u2tEvCkivhcRv4yuvxsRsX1EPDki/jEi1kfEVeX1v7Z8zZ7X731afl6+3PW4ty5ru9YNHXguIu4Xxd+mH5XX/4Yo/nYdHxF3G7DNHQYJXezndMC+E/jX8mHv35sFB56t+z6MrvtB+Xr8efla/KL3dS3L7x4RfxcRF5fvuV+Vv78tInarcq0WOu9+x+xaf++I+Jfy2nau8b+W177yoLgR8YiI+Hj5frslIn4SEf8QEb+50HZ99rOqPKdOl5bH93mtjusqP3DwwZ7XYUVE/FlEfLu8xtdGxOkRsV9X+TtHxF9ExEXla7AxIj4WEfcbUueR3hckLUFmuri4tLRQ9EvN4qNYe9vvldv+3QJl7kLx7XICL+hZt1fXPhK4FfhF1+MtwEsH7HddWeaEPus62x+6QL222R54F3B11/bXlY87ywVdZVd1lVvVZ/8PAS7vKnMTcEPX45uBZw+oW6fM84AfdW3/q55r9TuLfM1rX3fgVeU12NRVpvvavKvCcetc30O7yj0B+GX5+w0UYzp01l0B7DXgeLsBX+8qmz3nmcCngB0WcQ13AD7ac82uK392njsF2H6Bz9y6Ousq1uspZT06dbgNuL7nnJ/Z4LmsLdevpege0dm+95gfWKDOx5bv707ZW/q8Tvv32e4vgfmuMr8qt+08vhI4YKFrDLy63Md8Wefu/Z0DrOja7rfL92mnrjdxx/fv1cBvd5W/rCz35xR9qjvn1rk2q/q81zt/G37Z89zHgbme87ig57Xurcu7usoeV5a5bMBr8JzyuJ193dDz+L+BB/XZrrvui/qcLvC+WOjvzdXAq5p6H7L1fvBW4N/Z+tnpXN9Du8o+vme/v2LrPa7zd+0xC12rIeedvcfsWncId7yP/Lrrmm8Cfr9r3aqebW9/DwDHUPzd7/xN7P6sXwTctcbrtE/5enSuwa19Xqvn9nutFngd/gr4Ils/M93X95fAgcAuwLfY+ln8dVeZa4B7DajvyO4LLi4uS19ar4CLyywvLC0x8Bq2Bn1zA8r8QVnmxu5gA1jRdXP+BfD8zo0YuC/w6a6b9BF99tsJIE7os25gYNXg9qsWCMB2An5SrtsAPLVzfYD9gPPZ+g/Afgsc/zrgYoqAew4I4JHAf7I1wOt73Reo91Kv+3GdYy/hPVfl+h7acx0+BTywXLcDxT8ynQD5g3223wH4j3L9N8vX4M7lursAf0gRPCbwjkWcw9vLbeeBNwE7l8//JkVQ26n7Wxf4zK2rs65CnQ5g6z+tFwFHUP4zT9EF5MCy3oc1eC5ru16jW4A/A+5WrtsFeH/X9k/ss/1T2frP+HnAY9j6Wbkb8FjgJODBPdu9gq3/gL4W2L3r/f0I4Oxy/eX0/JPTdY2vp/iH6K+BXbuO+Zdddf4fC5zz2iGvx2Vs/UfmKuBZXa/H3l3vx0cBHy6vxW5AlM/fHXgZW/85ftlCn5MhdTmOAZ9b4OFs/SfxPOBh5fNzwO9SJFgSuLTPtbz9+Czic1rhPT2w3g2/D9d1vVa/LI97p67t717+vg9bkwIXA4/u2sdj2fq3eSM9iZAar1Xfv4/Azl2vxY8p7gud98ojgQu5Y6Jo1YBr+SuKe8/7gX26/j68uOt98KZFvFYnUOFvF9USA9dTDNJ6FLA9W+99Py7X/ztwGvBTimToXLkcBlxblvm3Pvsf6X3BxcVl6UvrFXBxmeWl62aebJvlH/gNVLntnmz9puEpA/Z/Vrn+Qz3PP7fruNt8800xMGnnH9jv9VnfCSBO6LOuyj+eS91+1QIB2P9m6zcnq/tsu1MZ0CTwmQWOfy1wzz7rH9pV5tGD6jig3ku97sex/ImBc+iTAAFeWq7/NbBdz7oXs/Uf5J0GHOMRFP+U3tLvOi9Qt73Y+m3oXw8o8/dd74E9Bnzm1i3wedxmXYV6fbXc9ofAymU6l7Vdr9NxA7ZfX65/f5/3WieB9lUqfkMH7Erxz808PUmOnn13jvuKAde47+e/LPOJcv0X+6zrnPPaIfW8rCy3mT4tF2q8rkeV+7l0oc/JkH0M/NwCnyvX/Yjyn6Se9Qd0vUdeNej4i/mcVjj3gfVu6n1YrlvXtf3vLnCc97A1AbF7n/V7szWRc+IiX6u+fx+Bvyifvwm4/4DPxc+6tl814FoOfO+y9bP+o0W8Tzufq3UVX6tt6tDzOvRrdfHErvW/HnAd/kfX+u171o3svuDi4tLM4hgD0vjYbchyh77JmXklRTAIRXPgO4iIPSgy+AAf6ln93PLn+Zl5Vu+2mbmZ4ps7gNUR8dDeMmOsc26nZuZFvSsz85fA28qHR8SAPt/ASZl5bZ/tv0eRWABYcHyHBeo2Sdf9rzNzvs/znyp/3gnYt2fdi8qf/1Re721k5jcpvvXbgeLbt6qeTfGP580UTY/7eQtFYLk9xT92IxUR+1J82w7w+szcVHHTps7lcuCDA9adUf7sfa8+AbhP+fufZeatVSpM0crlzsD6zDy7X4HyffyR8uHvDNjPLRStJfrpvLfqfr76+XxmfnsJ23+2/Hm/8m9qYyJiZ7Zen7/LzF/3linrflr58HkL7G4xn9OmLeZ92O3izPx0vxVlv/PnlA/fm5lX95bJzA3Ae8uHRw+vbi2/X/78WGZe2ufYP6dIXFTxlgHPd16r+0fEnQeUWQ7nZeZ5fZ7/CsXnFor76zbXgeLLCFj++4KkBpgYkMZEZsaQ5bg+m3WCsGdFxF161h1D0bT3SqB34MEDy5/bDEjY5csULRK6y4+1iNiBrYHnQuf2xfLnHEVT3n6+scD2V5Y/7169dsBkXvdB1+HKrt9vvw4RsRNbX4M3R8TVgxbgAWW5e9eoT+eaXJCZN/QrkJnXU3xD2V1+lH67/LmF4hvgqpo6lwsG/FMIg9+rnTpfnZnrqa6TAFk95LU9viw36LW9ODMHza6x2M9XP/8+rEAUg4y+OiK+Ug6ydmvXQHXd/6zXHsRviIdTNNOGan+vHhYR2w8oU+tzOiKLeR92W+i1uk/XtlWu1S4RcZ8FylVW3lceUj78ygJF11XY3XUD/qGGO75WtQYhbNh/9HsyM7dQdDGAYoyNfq7p+v32c1iG+4KkBmzXdgUkLclpwD8BdwV+jzu2DOi0Ivhwn2DtnuXPKwbtODNvjoifU7RWuOegcmPm7hTJEFjg3CjGHugYdG59v9EobS5/DgrSB5m4677ANzubuwaP7r4Ou7M16Vz1H5E6344NvYalzmu8HNdw9/LnzzPzVzW2a+pcFvNe7dT5v4Ycu9ee5c87lcswg17bKnVuIkbZptVPt4j4LYoxEfbuevrXFGOAdP5udka6702+LlX361nl79V2FJ+pa3oLLOJzOgpL/Zu50GtV91p1tvnpoII1dN9Xrlyg3LDPMVS7RjD612ohVeo4bvcFSQ2wxYA0wcp/Qj5ZPvzDzvNlE/TOtEKDmnZC0d+v0qHq1651C9U5B/y+XKb5uq/o+v3gCi1hIjNPWMRxxvEaLvZYbZ5L3X12Xt/3VnxtVzVc37q2DFn/rxRJgcsomovvkpl3ycx7Zubu3LGVwDhMozaJfxOqGvZadSz356X7dV9on+Pw/hhXy3VfkLQEJgakydf5x/+JsXW+6k5rgQv79bNn6zcz+wzaaRTziO9SPvxZjfp0gru+c5+XBvXrX6rONG+wwLn1rKtzbks1yus+Lrq/zRzFGAlDr2Gp8w3wclzDq8qf9+jTpWchbZ5Lp851m1t3+naPw/gXSxIR+7C1S8XzMvPUzLyup9jujE73N+R7Dyy1dd1mihHjZ1H3tVro89J9Hbs/L7d/G1/+jd3GAuPNbGTrfWXPAWWGrZt1o74vSGqAiQFp8p1D0XxyDjgmIuYoxheAwa0FOn2KDxuwHopRnDtNeQf1J+ynE7j2Dd7KvoYPWmD7zjcytb99KQdQ+275cKFze1L5c55iLublMsrrXtWir2+lnRd94r9fPmx6ADDo6m8/KJAvB3W7vf/+COrQ62vlzxUU0xRW1ea5dOq8W0TUGYeh0w/84Ihoow9wp3l/E+/f7r9RgwYofNKA57vr0hkcr65vde2jyt+r72TmbYs4zmI1ea2X6qcUiV+odq02ZmZ3N4LuhMqgxMKj+j1Z3lcuLh8eusCxF1o3auP0Wm1jGe4LkhpgYkCacOX4AR8uHx5LMaXQXhTfcJwyYLOPlj8PiYin9K6MiO3YOnjYRQNaHQzynfLnswesfxXwGwts3xmEbecax+zWObejImJ178qIuCvwmvLhmTVGkG/CKK97VUu9vlWcVP48LCIWDAIjou6AaJ+g+PZvR4qpKft5PcV77Lay/EiVg4mdWz7864i4W8VN2zyXL1NMVwjwjnKAtSo+RDFl2wrg3RGxYlDBiJgrExtNavL92/3Z3693ZZnE/IsKdVlUfTLzF2wdxf3V/Uaij4j92Pq39CO960dsOf5WVJKZCXysfPjHEbFNS46I2BP44/Jh77X6IcX7Fvrcm8qE+usWqMKp5c/nRMR9+2y/C/AnC2w/amPzWi1glPcFSQ0wMSBNh07LgIcCf1P+/oXM3GaQqtIn2DqK9ccj4pjOaNflSM6fAA4p17+mz/YLuX2asoj4y84/SRGxa0T8NUWg/YsFtu/8M/z8RU7Z9B6Kb5e2Bz4XEUeUQV9n7IWzKJpP38rCQf8ojPK6V7XU61vFe9l6nh+KiLeUzbYBiIg7R8ShEXEi8OM6O87MK4B3lQ9fW77Hdi73u3NEvBl4dbn+HzLzqn77GYGXU0w7uC/w7xFxeNdre+eIeFREvDcibv8Gus1zKUcYfwnlnOXA2RHxmK7Pyt3K1+jfIuLBXdtdDby2fPg04IsR8ehOgiAKD4yIV1K8157eVJ1LnffvYyPigUvc1/eB/y5/PzkiHtFZERGHUIwyv9Do8D+k+DsC8KJFthr4PxRJn/sDZ5V/ozpJlacCZ1K0IPox8L5F7H8pOtf6bhHxnAVLLo+/prh33B34UkR0uoEQEY+mmK1gZ4qWBXeY/rNsadFJrL0+Ip7TSYZFxAMoxurZJjnU5USK5vB3onidHt95vcsWN1+k3QG9O6/VQ7qvy5gZ2X1BUkMy08XFpaUFOIEiME+KvrvDlt9eYF/f7NpXAkcPOfZeFMFEp/wtFM0tO4+3AC8bsO26sswJfdatoOje0NnPPEWgNl8urxqy/R90bXsrRTeJyyjmVu6UWdVVZlWffawut+uUuYni28HO45uBowacW6fMoQtcu4H1r/CaL+W6H1eWuWwJ77kq1/fQTpkh+xp4rYBdKUZ7735PbirPdb7rudsWcQ47UHx72H3NOuNLdJ47Bdh+gc/cujrrKtbrKRT/uHRf3+t6rsEzGzyXteX6tQvUacH3DMWgpTf3fDa6348J7N9nu1dTtHbofh//vDzn7m2fX/caL/T+o/hH/dqu/f+sfP9eRjGoWafcZeX644a8Zk+n+Me8s79flUvn98O61vV7n/9zz7b/VR777TVeg+eW16/7c3JT1+P/Bh5U5zpV/ZxWeE9/qWv7G7qu9Suaeh9S4+8p8Hju+Bm7sVw6j68HHjtg270pZg7o/nx27gs3lPte6LV+DMVo/N2v9y+7jntU17rd63wOyzKrurZfVfN12g74z67tr+t6rY7qKjfwtaryOlDhczXkGo7svuDi4rL0xRYD0vjYrcKyUHPf7vEEbgA+tdDBsvi28kDglcDXKQLROwOXUzQXfkRm/mPdk8jim8inAW+kCFQ6/yh8AXhyZr59yPb/RtEl4jyKacP2oJjPeKHBuXr3cRHFvNMnABdS/APzGxTfQrwXeEhmnjpwByM0qute4/hLvr4Vj/Nziv6+R1I0w72c4jW4E0Vw/jmKb6xXLWLft2bmcymaBH+OYnCwncqfnwN+LzOPyeXtj01mfoGixcBfUfRZv4nifC+jaKnyxxRJs+5tWj2XzPwg8EDgnRTfoG+m+DvzY+B0ivfKJX22+7tyu3dQjOtxM8W3tTdSjIXwNoqB/QZ1Z1psfa8HHkfRLecKioFM710uCw14Omh/nyn391mKfzi3o0hw/Cvw8Mw8e8guXkzxd6bzje29yrrsWqMOH6P4e/U+iuv+GxSvw4UUf0dXZ+Y2r8EyOYriNf4hRSuszrVupcl6Zn6F4n339xTvyzmKfvWXAG+nSKB8dcC2GyjGEfhntk4teCPFvfPh5b4XOvZ5wMMo3htXUrxXfgGcDDycO37LvVCruMZl5maKJNY/U/y9uQtbX6u7LmddFjLK+4KkpYvMbLsOkiRJ0sSKiP9J0Y/+J5l5v7brI0l12WJAkiRJWqRyCsRXlA8/32ZdJGmxTAxIkiRJC4iIo8sB81Z3DVy4XUQ8jqKL0IMputS8a6H9SNK4anMEVUmSJGkS7E4xi8T/ATIirqfov98Z++dW4IWZ+cOW6idJS2JiQJIkSVrYZ4B7UMwG0Rlg8jbgJ8CXgXeaFJA0yRx8UJIkSZKkGeYYA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5IkSZIkzTATA5KksRMRO0XETm3XQ5Ikza6IuHtE7Nh2PZbDdlULRsQKYD1wRWY+vWfdbwAfBB4BbASem5mXNVhPSdIMedaznnXDDjvsABBt10XjxXhEkrQcImLuoQ996MYjjzwSZiAeqdNi4OXAJQPW/RFwfWbeH3gH8LdLrZgkaTZFxP4333wz1113HRHxkLbro7FjPCJJGrlTTz11y2Me8xg+85nPEBF3b7s+o1apxUBE7A08Dfgr4JV9ihwJnFD+fipwYkREZmYTlZQkzY5nPetZ337Na17Dbbfdxt3vfveLmIEsvaoxHpEkLYeImDvooIP45Cc/yec//3l++tOfbmTK45GqLQbeCbwGmB+wfi/gcoDM3AxsAnZZcu0kSTOl01rg4IMP5rGPfaytBtTLeESSNHKnnnrqloMPPpg999yTY489diZaDQxtMRARTweuzcxvRsShg4r1eW6b7HxErAHWAOy4446PuNe97lWjqpKktvzwhz/8eWbeY9TH6bQW6HjDG95gqwEBxiNSPz+86VcjP8Zv3ekuIz+GVNVyxCPdrQUAtt9+e1760pdOfauBGNa6LiL+BjgW2AzsCNwNOC0z/6CrzFnACZl5fkRsB1wN3GOhpnsPeMAD8n3ve18DpyBJGrUnPOEJ38zMA0d5jIjY/4gjjvj2mWeeeYfnn/KUp/DFL35xdWZePMrja7wZj0jbOuyi80d+jLNXHzLyY0hVLUc88olPfCLPPfdc3vWud93+3G233cZBBx3EhRdeuEtmXjfK47dlaIuBzHwd8DqAMkP/qu6bcOkM4AXA+cBRwDn255Mk1dHbWqDDVgMC4xFJ0uhFxNwjH/lITj/99Ds8PwutBurMSnAHEfGmiHhG+fBfgF0i4lKKwYBe20TlJEmzoXtsgV6Pfexj2bhxo2MNqC/jEUlSU7rHFug17WMNVJqVoCMz1wHryt+P73r+ZuD3m6yYJGl2DGot0PGGN7yBXXbZxVYDAoxHJEnN67QW6Iwt0GvaWw0susWAJElNWKi1QMfjHvc4Ww1IkqSR6bQW2GuvvQaWmeZWA7VaDEiS1LRhrQU6bDUgSZJGYVhrgY5pbjVgiwFJUmsiYo+NGzcu2Fqg43GPexyXX345ETHyaRMlSdJMefRDH/rQBVsLdBx77LGcdtppy1Cl5WWLAUlSm+58y7nf4pR4QKXCt3IFwJ1GWiNJkjRr7rLx5NM55eTzKhX+Nf814uosPxMDkqTWzVVtvzY/0mpIkqQZFVSPR2IK4xETA5KkVkXUuBEn4Kz0kiSpYXXikWn8osLEgCSpVbVuxFtGWhVJkjSr6sQjUzXsYMHEgCSpVRGw3YpqZec2Y4sBSZLUuLm56vFI3DbaurTBxIAkqVV1+vRNY4ZekiS1r1bXximMR0wMSJLaNeM3Yknj77CLzm+7Cq0Z13M/e/UhbVdBU6ZW18YpZGJAktSqWhn60VZFkiTNKBMDkiS1yK4EkiSpbXYlkCSpTbYYkCRJLbPFgCRJLZr1DL0kSWrfrMcjJgYkSa2yK4EkSWqbLQYkSWpTBFE59W5mQJIkNS+gRjwyfWY4JyJJGgdzAdttV22Zq3C/joiTI+LaiLhoSLlHRsSWiDiqqXORJEmTaW6uejxSJX8wafGIiQFJUrvKpntVlooNBtYChy94yIgVwN8CZy21+pIkaQrUiUeqWcsExSMmBiRJreqMMVBlqZKhz8xzgeuGFHsp8Ang2iWfgCRJmnhRIzEwjfGIYwxIklpVaxTgRo4XewHPAp4IPLKBXUqSpAm33IMPjls8YmJAktSuOjfiIjNwTE8/vJMy86QaR3wn8L8zc8ssDzIkSZK2qjtdYUSsAdZ0PT3R8YiJAUlSq+pMV1jeNk/JzLcu4ZAHAh8tb8K7Ak+NiM2ZefoS9ilpghx20fltV0FLVPc1PHv1ISOqiaZF3RYDZRKgTiKg11jFI0NPPSJ2jIj/iIjvRMTFEfGXfcocFxE/i4gLy+VFo6muJGnaNN2nb5jMvE9mrsrMVcCpwP8yKTD+jEckSaNUJx5pwrjFI1VaDNwCPDEzb4yI7YHzIuJzmfn1nnIfy8yXNF9FSdK0qzINYVUR8RHgUGDXiNgAvBHYHiAz39vckbTMjEckSSMTVI9HKk5XOFHxyNDEQGYmcGP5cPtyyVFWSpI0OzrzBlcRFbL0mfm8qsfOzOOqllW7jEckSaNUKx6pUGbS4pFKDSEiYkVEXEgxjcIXM/MbfYo9OyK+GxGnRsQ+jdZSkjTVKnclaLuiapXxiCRpVGp1JZjCgKRSYiAzt2Tm/sDewEERsbqnyKeBVZn5MOBLwAf67Sci1kTE+ohYv2nTpqXUW5I0JYobcVRaxmDQXrXIeESSNCoR1WKRuSb7P46RWkMnZOYvgHXA4T3Pb8zMW8qH7wceMWD7kzLzwMw8cOXKlYuoriRp6gTEiqi0TGOGXvUZj0iSmhY14pFxmF6waVVmJbhHROxc/n4n4EnAf/aU2aPr4TOAS5qspCRpekUEMVdtscnA7DIekSSNVJ14ZApVGV5hD+ADEbGCIpHw8cz8TES8CVifmWcAL4uIZwCbgeuA40ZVYUnS9Kl6k53OW7EqMh6RJI1MRPV4ZBoDkiqzEnwXOKDP88d3/f464HXNVk2SNBPKpntVy2o2GY9IkkZqLqrHI1Oo4oQMkiSNRqcrQcXCo62MJEmaTbYYkCSpRTVaDJgXkCRJoxBRvcVATGFmwMSAJKlVEcGK7apNkjONowBLkqT2xVz1eGQK8wImBiRJLXOMAUlLcNhF57ddBU2AxbxPzl59yAhqonEVc7Mdj5gYkCS1qhhjoGqGfgrvxJIkqX014hG7EkiS1LQ6LQYkSZJGIGa8BaOJAUlSu2qMAmyDAUmSNBJ1ZkmaQiYGJEmtCpyuUJIktSvqTFc4hUwMSJLaNeNN9yRJ0hioMV3hNMYjJgYkSa2KgLmqXQlGXBdJkjRhiofMAAAgAElEQVSb6sUj0xeRmBiQJLVrLpjbvuIowDPcxE+SJI1OrKgej0xhXsDEgCSpXUGNf/in8EYsSZLaF3UGH5zCeMTEgCSpXXX69EmSJI1CjTGPpjFqMTEgSWpXQMxV7ErgrASSJGkEihYDVbsSTF88YmJAktSqWW+6J0mSxkCdeGQKmRiQJLUrYK5q070pzNBLkqT2RY14ZBq/qDAxIElqVa3BByVNtcMuOr/tKkyUAz6+y8iP8e3nbBz5McbVYt6PZ68+ZAQ10XKo04JxGqMWEwOSpHbVGXxwGu/EkiSpfXPVBx90jAFJkpoWdaYrnL4bsSRJGgOOMSBJUntiLojtq85KMOLKSJKkmVQnHpnGFowmBiRJ7QpgxexODyRJksbAXMx0PDL0zCNix4j4j4j4TkRcHBF/2afMb0TExyLi0oj4RkSsGkVlJUnTKIqbcZWlwn04Ik6OiGsj4qIB658fEd8tl69FxH5Nn5GaZzwiSRqpoHo8UmV3ExaPVEmJ3AI8MTP3A/YHDo+Ig3vK/BFwfWbeH3gH8LfNVlOSNLWiGOynylIxQ78WOHyB9T8FHp+ZDwPeDJy09JPQMjAekSSNTlSLRYp4pNIe1zJB8cjQxEAWbiwfbl8u2VPsSOAD5e+nAoeFk01Lkqqok6GvcGfJzHOB6xZY/7XMvL58+HVg7yZOQ6NlPCJJGqmGWwxMWjxSqRNFRKyIiAuBa4EvZuY3eorsBVwOkJmbgU3A6CdWlSRNvghYUXEp7sXHRMT6rmXNEo7+R8DnGjkPjZzxiCRpZIJa8UhErJmmeKTS4IOZuQXYPyJ2Bj4ZEaszs7uvRL+0SW8Wn/JirQHYbbfdFlFdSdLUqTNdYeGUzHzrkg8b8QSKG/FjlrovLQ/jEUnSqESN6QqDIDNPooHm/+MSj1QcdrGQmb8A1rFtX4kNwD4AEbEdsJI+zSYy86TMPDAzD1y5cuWiKixJmjJRjgJcZWmoVXhEPAz4Z+DIzNzYyE61bIxHJEmNm6sTjzRzyHGKR6rMSnCPMjNPRNwJeBLwnz3FzgBeUP5+FHBOZm6ToZckqVcExPZz1ZZ6LQsGHC/uBZwGHJuZP1zyDrUsjEckSSM1F5XjkSYSA+MWj1TpSrAH8IGIWEGRSPh4Zn4mIt4ErM/MM4B/AT4UEZdSZOaPHlmNJUnTpTPGQKWyVXYXHwEOBXaNiA3AGykGqiMz3wscT9Hv/J/Kcek2Z+aB9SuuZWY8IkkanTmqxyMVApJJi0eGJgYy87vAAX2eP77r95uB32+2apKkmVB/jIEFZebzhqx/EfCixg6oZWE8MpkOu+j8tqvQmsOv2ubtuqB3vubxtY+x77Fn1N6mrh9xbO1tXvG2r9Qq//k9vl37GOOq7nv+7NWHjKgmqqvOGAMVZ0maqHik0uCDkiSNTGcU4EplnXlOkiSNQJ14ZArVGnxQkqTGRcDcXLVlgu7XEfGAtusgSZIqmvF4xMSAJKldAbEiKi1ttBiIiBdExOqKZVdExLMj4mzgkhFXTZIkNSWqxSKxImgjMzDqeMSuBJKklkUxRdD4Ohn4C+CiQQUiYk9gDUVfwT2BBM5ZltpJkqSlC6rHI+2ELSONR0wMSJLaVWuMgZHWZJAbgEf0WxERhwH/C/hdYAWwEXg7cFJmXrpsNZQkSUszV2OWpHaMNB4xMSBJalXUmJUg2hl88PPAcyPiTOBtwIXAccCfAL9FkY0/F3gf8InMvK2NSkqSpMWrE4+09EXFSOMREwOSpHbNBeywonrZ5fdi4E4UWfjDgXmKMXquB94JvC8zf9BGxSRJUkNWzFWPR9r5omKk8YiDD0qS2lXOG1xlaSNDn5nXZeYzgUcBHwRupcjK7wj8JrDL8tdKkiQ1qmwxUGlpoXqjjkdMDEiS2tUZY6DK0mLXv8xcn5nHAXsBrwT+G/hD4LyI+F5EvDQiVrZXQ0mStGhRMRaZ0njExIAkqX1zUW0ZA5l5fWa+KzMfBDwB+Ahwf+BdwJURsTYifrvVSkqSpHo6sxLMaDxiYkCS1K468wa306dvoMw8NzOfD+wNvBq4AjiWMmvfauUkSVJlMePxiIkBSVK7Apibq7aM1334dpm5MTP/PjN/C3gy8P8oRgiWJEmToE48MqaWEo84K4EkqV0RNW6yY5oZ6JKZ5wDnRMQ9266LpGY87ed9pw5f0Om/84Va5edWHl77GPDcRWxTz76L2ObTv/OlWuWfec5Tah/js7t+s/Y20oLqxCPjH47UjkdMDEiSWlbnRjwBd+JSZl7bdh0kSVJFU/ZFRUfVeMTEgCSpXXMB2431vME9VYjHL3bbzPxKk3WRJEkNmZurEY+MtiqVqtBwPGJiQJLUvslquncOi6/J+HZMlCRplk1ei4FG4xETA5KkdtXq0zcWN+ITGJOIQJIkNWTyxhg4gQZrYmJAktSuCcvQZ+ab266DJElq2IzHIyYGJEntm6wMvSRJmja1EgPTx8SAJKldE5ahB4iIOeCRwCrg0sx03ixJkibZ5HUlaDQemd2UiCRpPATFzARVljG4EUfEzsBXgPOBjwAXRMRpEbFduX6fiHhPRDy8zXpKkqQa6sQjYxCQNB2P2GJAktSuyRt88C3AbwOfANYBvws8E/gT4ERgQ/n4VuBb7VRRkiTVMnktBhqNR4aeeZlp+HJEXBIRF0fEy/uUOTQiNkXEheVyfJ0zkiTNsvJGXGUZD08Fvp6Zv5+Z7waeBvwYeC5AZiZFBn/R8wtrW8YjkqSRitmOR6q0GNgM/HlmfisidgK+GRFfzMzv95T7amY+vepZSJIEEBHEimoN2IqudK3bHfh/nQeZuSUizqXIyndcDjx5uSs25YxHJEmjE3OV45ExacHYaDwy9Mwz8yrgqvL3X0bEJcBeQO+NWJKk+iav6d4VwG49z10NrOx6vAK487LVaAYYj0iSRmryBkNuNB6pNcZARKwCDgC+0Wf1IRHxHeBK4FWZeXGdfUttOfTQQ9uuQmPWrVvXdhWk+jqD/VQqOxY34o8CayLinpl5bfncLdyxe97DKbL0GgHjES2397z64NrbzN3lKSOoyWSYe9zba5V/zyNuqH2Me/2rk8GoYXXikfHQaDxSuU1mRNyVYmCDV2Rm76f3W8C9M3M/4P8Cpw/Yx5qIWB8R6zdt2lT10JKkqdZsn76IODkiro2Iiwasj4j4x4i4NCK+u4jZA/4K+E/gzIg4OGJrtqLc9wuBxwFn1NyvKjAekSSNRJ0xBirkDyYtHqkUZUXE9hQ34Q9n5mm96zPzhsy8sfz9TGD7iNi1T7mTMvPAzDxw5cqVvaslSbMoqHEjrpTJXwscvsD6I4B9y2UN8J6aNb4EuB9FFv5rwI3An5Xrrgf+haJ5+1tq7ldDGI9Ikkam1uCD0xePDO1KUGYe/gW4JDP/YUCZ3YFrMjMj4iCKhMPGKhWQJM24Wn36hsvMc8um5oMcCXywHK336xGxc0TsUfZhr2KeYuqfy3qev5qiv99ZwD9l5q9qVVwLMh6RJI1Uw2MeTVo8UmWMgUcDxwLfi4gLy+deD9wLIDPfCxwF/GlEbAZuAo4uT1CSpCHq3Igb6fu3F3fsb7ehfK7SjTgz79dEJVSb8YgkaXQa/qKigrGKR6rMSnAeQ3IimXkicGJTlZIkzZBOV4JKZQPgmIg4quvZkzLzpJpH7OU/j2POeESSNFI1ZyWIiDUUXQA6JjoeqTUrgSRJjYuA7VZULwunZOZbl3DEDcA+XY/3phjBXpIkzaq5uRrxSDFeDVAnEdBrrOIREwOSpHY13KevgjOAl0TER4FHAZtq9OcjIl6w2ANn5gcWu60kSRqhWvFIIwHJWMUjJgYkSe2q2XRv+O7iI8ChwK4RsQF4I7A93N4P/UzgqcClwK+BF9as8cmVKrJtc8AATAxIkjSOGh5jYNLiERMDkqT2RXMZ+sx83pD1Cby42gH7eiHwe8DvAucAXwGuAXajmC/4MOAzFNPqSZKkiRDV45EKJi0eMTEgSWpZszfiZfBzigz/MzLzs70rI+II4FMUgxBts16SJI2hoEY80kzfxiVqNB6ZqEhMkjSFOk33qizjcSP+P8AnB91kM/NzwGkUU+lJkqRJUCceGYtwpNl4xBYDkqT2VR3EZzxuxA8D1g0pcynw9NFXRVo+h110fttVaMyBn9m9Vvk9n/3R+ge5y5rhZQTAnjfUv751X8P1T7+69jGWw2I+V2evPmQENVHRgnE8Ao2KGo1HTAxIktoVdboSjMUN+zZg/yFl9gduXYa6SJKkJsx4PGJXAklS+2Ku2jIevgQcEREvj7hjpSJiLiJeStHn7+xWaidJkhYhZjoescWAJKldMQcrKt6OxuNm/HqK6YfeQTH/8HnA1cDuwGOA+wEbgde1VUFJklTTXJ14ZCxaDDQaj5gYkCS1r/J0haOtRhWZeWlEPAZ4N/BE4L49Rc4G/ldmXrrslZMkSYs0WbMkNR2PmBiQJLUr6gz2MwaZASAzfwg8OSL2AQ4AVgKbgG9n5uWtVk6SJNUXzHQ8YmJAktS+CcrQdytvuiYCJEmaeDVaDIxHXuB2TcQjJgYkSe3qzBtctewYiYh7AAdRZOg3Ahdk5nXt1kqSJNVWJx4ZM03EIyYGJEktC2KypgciInYCTgSezx1n+NkSER8GXp6Zm1qpnCRJqi1ituMREwOSpPZNUNO9iNgO+DxwMLAe+CrwZ8AFFDU8FnhYRDw6M29qraKSJKmGyRp8sOl4ZHLOXJI0naLOvMFjkBmANRQ34Tdm5qMy81Xl85/LzEcBrwH2A17RVgUlSVJNdeKR8eja2Gg8YmJAktSuCFixotoyHjfiY4BLgb/ptzIz/x74FvCc5ayUJElagjrxyHhoNB4xMSBJalmdFgNj4SHAeZm5ZYEyXwP2Xab6SJKkJZu4FoyNxiOOMSBJat9kDfazI3DNkDJzQC5DXSRJUhNi4qYrbDQeMTEgSWpXrRvxWNyJrwH2HLQyInYAfgf43rLVSJIkLdFkDT5Iw/HI0DOPiH0i4ssRcUlEXBwRL+9TJiLiHyPi0oj4bkQ8vMrBJUmCct7gKst4+BHwoD7P7xARDwM+Bdwf+MdlrdWUMx6RJI1U1IlHxuKLikbjkSpR1mbgzzPzQRSjHr44Ih7cU+YIir4L+1KMjvieKgeXJIlg0kYBPgM4MCLu2/P864ALgScDb8nMjy57zaab8YgkaXRqzZI0FhqNR4Z2JcjMq4Cryt9/GRGXAHsB3+8qdiTwwcxM4OsRsXNE7FFuK0nSAmJc/uGv6t8omu/Ndz33ZeBXwCXAKZn53TYqNs2MRyRJo1UjHhmPsKXReKTWGAMRsQo4APhGz6q9gMu7Hm8on/NGLEkaboIGH8zM64GP9zz3pJaqM5OMRyRJjasz5tEUxiOVEwMRcVfgE8ArMvOG3tV9Ntlm9MOIWEPRtI/ddtutRjUlSVNr8kYBVouMRyRJozFxgw82qlJiICK2p7gJfzgzT+tTZAOwT9fjvYErewtl5knASQAPeMADnMZJkkQyx3zFPHVWGhpntCLi8YvdNjO/0mRdZo3xiCRpVOrEI+PwTUXT8cjQM4+IAP4FuCQz/2FAsTOAl0TER4FHAZvszydJqiZIVlQuOwbOYfEVaT+zMaGMRyRJo5QzHo9USYk8GjgW+F5EXFg+93rgXgCZ+V7gTOCpwKXAr4EXLrKCkqRZk5BZ8f/l8fhu9wTGJCKYMcYjkqQRisrxyHiEI83GI1VmJThv2AHL0X9f3FSlJEmzo8jQV70Rt///eGa+ue06zCLjEUnSKNWJR8ZB0/HI5Jy5JGlKBfM5V2mpkhiPiMMj4gcRcWlEvLbP+ntFxJcj4tsR8d2IeOoozkqSJE2OzNmOR0wMSJJa1enTV21Z+EYcESuAdwNHAA8GnhcRD+4p9hfAxzPzAOBo4J9GcFqSJGmiVI9Hhu5pAuORytMVSpI0KpXHGBjuIODSzPwJQDkI3ZHA97sPB9yt/H0lfUatl7Sts1cfUnubwy46fwQ1Wbr1T7+6Vvkr71a/h8petbeYXVfe7eja26x/+rtHUJPlt5jPlUYj64wxkENbDExcPGJiQJLUsjp9+obeiPcCLu96vIFidPpuJwBfiIiXAncBnlTx4JIkaWo1OsbAxMUjdiWQJLUqCeaZq7SUowAfExHru5Y1XbvrlznoHTz4ecDazNybYgT7D0WE90NJkmZYnXgEgohYM03xiC0GJEmtKgb72b5i4TmAUzLzrQNKbAD26Xq8N9s2zfsj4PDi2Hl+ROwI7ApcW73WkiRpmmSuqByPFN0O8iTgpAFFJi4e8RsSSVLLij59lZbhXQkuAPaNiPtExA4Ug/mc0VPmv4HDACLiQcCOwM8aPilJkjRRqscjFUxcPGKLAUlSy5rr05eZmyPiJcBZwArg5My8OCLeBKzPzDOAPwfeHxF/RtGs77jM7G3eJ0mSZkjCTMcjJgYkSa1KKOcErlJ2+LzBmXkmcGbPc8d3/f594NG1KtklIl6w2G0z8wOL3VaSJI1O0bWxscGQJy4eMTEgSWpZVJoTuFN2DJxMUZHerH5v5fqtNzEgSdJYmqscj4xJM8NG4xETA5KkVmVWnzd4TO7ELxzw/M7AIyhGGf4U8Ollq5EkSVqSpEY8Mh5fVDQaj5gYkCS1rPoYA1W6EoxaZn5wofUR8a/AF4B/yswvL0+tJEnS0jQ35tFyaDoemZwzlyRNreqjALefGBgmM9dR9Ck8fkhRSZI0JjotGCvFIzl98YgtBiRJrUrm2FJj3uAJ8QPgT9uuhCRJqmbW4xETA5KkVmWtpnsTcyN+MOMyIoIkSRqqXjwyMSrHIyYGNPPWrVvXdhWk2ZZUHuwnx7jpXkSsAPYB1gBPo2eKIkmT60//7uu1tzn9iV+oVX7ucW+vfYxxNX/uq2qV/9NznlL/ILvW30RaUJ3BkMfYYuMREwOSpFYlwXzl6QrbFxFbWLjpQgLXAvUiY0mS1Jo68cg4dCVoOh4xMSBJatnETQ+0jv4V2QJcD/wHcHJmXreclZIkSYtXb7rCsbCOBuMREwOSpJZN3HSFh7VdB0mS1LTJGvOo6XjExIAkqVVJMp9Vx+lzPD9JktS8hBrxyPQxMSBJalUmzFe8D4/b7Toi7gEcBKwENgIX2IVAkqTJUyseGbOApIl4xMSAJKl1VTP043IjjoidgBOB58Md2h1uiYgPAy/PzE2tVE6SJNU2iS0Ym4xHhnaiiIiTI+LaiLhowPpDI2JTRFxYLsdXObAkSVBk5zfPZ6VlHG7DEbEd8HngD4BvAv9AESH8B/At4FjgyxFxp9YqOYWMRyRJozTr8UiV0RXWAocPKfPVzNy/XN5U5cCSJBWKDH2VJcejycAa4GDgjZn5qMzsTAP0ucx8FPAaYD/gFW1VcEqtxXhEkjQiWTEWGaNxCBqNR4YmBjLzXMD+kpKkkUhgS1ZbxuRWfAxwKfA3/VZm5t9TZOqfs5yVmnbGI5KkUaoVj4xHQNJoPNLURI2HRMR3IuJzEfGQQYUiYk1ErI+I9Zs22fVSktQZ7GeiMvQPAc7LzC0LlPkasO8y1UdbGY9IkhZl1uORJhID3wLunZn7Af8XOH1Qwcw8KTMPzMwDV65c2cChJUmTrpgeqNoyJvfiHYFrhpSZY2waOMwM4xFJ0qLVikfarmyh0XhkyYmBzLwhM28sfz8T2D4idl3qfiVJs2PCMvTXAHsOWhkROwC/A3xv2Wok4xFJ0pJMYIuBRuORJU9XGBG7A9dkZkbEQRTJho1L3a8kaTbUmjd4tFWp6kfAg/o8v0NEPAz4W+D+gKPiLyPjEY3SZ3f9Zu1tfvesJ9Uq/879bqp9jH05o/Y2df2IZ9Te5hU1z/3ze9S/vlLTOi0GqpYdA43GI0MTAxHxEeBQYNeI2AC8EdgeIDPfCxwF/GlEbAZuAo7OMRk2WpI0/urMGzwmd5czgHdGxH0z8yddz7+uXOaBt2TmR1up3ZQyHpEkjVLWaQ0wHreXRuORoYmBzHzekPUnAidWOZgkSb2ynDe4UtnxyNH/G0Xzvfmu574M/Aq4BDglM7/bRsWmmfGIJGmU5mvFI2Oh0XhkyV0JJElaiqLp3uS0GMjM64GP9zxXr92sJEkaK3VaMI6DpuMREwOSpFbV6dMnSZI0ChM45lGjTAxIktpVo0/fONyII+LxVctm5ldGWRdJktSMOi0YxyEgaToeMTEgSWpVrRvxONyJ4RwgKpZd8rTAkiRp9GoNPjgeGo1HTAxIklpVa3qgCuUi4nDgXcAK4J8z8619yjwHOKE8/Hcy85iq9S23670RB7A7cBCwP/BF4Gs19ilJklrU9HSFkxaPmBiQJLUqE7Y01JUgIlYA7waeDGwALoiIMzLz+11l9qWYxufRmXl9RNyzXn3zzUPq8CKK0fHfUGe/kiSpPXXikWERySTGIzZxlCS1bj6rLRVu1wcBl2bmTzLzVuCjwJE9Zf4n8O5yNF8y89omzyUz/xn4KkUmX5IkTYBOi4FZjUdMDEiSWtWZHqjKUuFOvBdwedfjDeVz3X4L+K2I+PeI+HrZ1K9p3wYOHsF+JUnSCGTFWGRa4xG7EkiSWpUJmyt26psv7sTHRMRRXU+flJknlb/3G4Snd+fbAfsChwJ7A1+NiNWZ+Ys69R5iV2DnBvcnSZJGaJ7q8UgCEbEGWNP19ETHIyYGJEmtWsT0QKf0G8CntAHYp+vx3sCVfcp8PTNvA34aET+guDFfULnSw70euxJInL36kFrlD7vo/BHVZPl9fo9v1yr/wA/VKw9wwMd3qb1NXd9+zjvrb7RH8/WYFHXf8xofdWclKJMAJw1YPXHxiIkBSVKrMmF+vmLZ4UUuAPaNiPsAVwBHA70j/J4OPA9YGxG7UjTl+0nlCpciYjuK/oIHAyuBjcD5wGcz8+q6+5MkSe2pFY8MD0gmLh4xMSBJalcm8w3ND5SZmyPiJcBZFNMDnZyZF0fEm4D1mXlGue4pEfF9YAvw6szcWKfKEfFQ4DTgfmWtupsM/iQinpOZ36qzT0mS1J4iMVC9xcDC+5q8eMTEgCSpVXW6EmSFNgOZeSZwZs9zx3f9nsAry6W2Mqv/eYqs/N8B5wJnAKcClwEvBb4QEftl5hWLOYYkSVpencGQq5YdWmbC4hETA5KkVmXClqqD/TSTyF+qV1L0oH1aZn4OICIAvp+ZfxkRnwbWUcxN/JK2KilJkqqrE49U6du4DBqNR0wMSJJalVTvSjAmiYGnA1/r3IR7ZeZ5EXEWcMTyVkuSJC1W1ujaOB7hSLPxyFyTNZMkqbak+rzB43Ervi9w4ZAyF7PtfMWSJGlMZa14ZCw0Go/YYkCS1Kr5TDZvrjYMcENjAi3VPPDrIWV2BW5chrpIkqQGzM9Xj0dyPJIDjcYjJgYkSe2qMwrwWNyHuYo7zk18BxGxO/BM4KvLViNJkrQkdboSjIlG4xG7EkiSWtWZlaDKUmUU4GXwHeCRfZ7fNyJeBqwH7gy8eVlrJUmSFq1WPDIW4Uiz8YiJAUlSqzKTLfPVljG5EX8SuE9EHNzz/DHAOyjmEH5mZq5f9ppJkqRFma8Rj4yJRuMRuxJIklqV1OhKMB4+BpwN3ND13AkUffguAc7OzNtaqJckSVqsGl0bxyRqaTQeGZoYiIiTKaZCuDYzV/dZH8C7gKdSDH5wXGZ+q2oFJEkzrs6NeAyaDGTmPHBtz3N2Gxgx4xFJ0ijVGmNgCuORKi0G1gInAh8csP4IYN9yeRTwnvKnJElDJdWn/mn/NqwWrcV4ZOqdvfqQ2tscdtH5I6jJZPj2cza2XYWptpj3oyZXZ4yBWTV0jIHMPBe4boEiRwIfzMLXgZ0jYo+mKihJmm5ZthiospgZmF3GI5KkUaoTj0xjONLEGAN7AZd3Pd5QPndVA/uWJE27CetKoLFlPCJJWrR6XQlGW5c2NJEYiD7P9b1UEbEGWAOw2267NXBoSdKkm8/kti3V7rDzI66LJprxiCRp0bbMUzkemcK8QCPTFW4A9ul6vDdwZb+CmXlSZh6YmQeuXLmygUNLkiadXQnUEOMRSdKidVoMVItHpi8gaSIxcAbwh1E4GNiUmTbbkyRVVrlP3xTeiNUY4xFJ0qI5xsAQEfER4FBg14jYALwR2B4gM98LnEkxNdClFNMDvXBUlZUkTZ/M6rMSaHYZj0iSRqnOLEnTaGhiIDOfN2R9Ai9urEaSpJmS1Bl8cLR10fgyHpEkjVLWGgx5xJVpQRODD0qStGiZsKXqjXgqG+9JkqS2ZWbleGQamRiQJLWrxvRA05ihlyRJ7avXYmD6AhITA5KkViXMdJ8+SZLUvlkf88jEgCSpVZnJ5s3zlcpWzeRLkiTVMT9fPR6ZxvyBiQFJUqvqNN2TJEkahTqDIU8jEwOSpFZlwvwWxxiQtDhnrz6k9jaHXXT+CGqicbaY94lmS85njXhk+gISEwOSpHZlkvPVmu6ZGZAkSSNRJx6ZQiYGJEmtqtN0z7SAJEkahVnv2mhiQJLUrhrTFdpiQJIkjULO+PTJJgYkSa2qN2/wiCsjSZJmUr0WA9MXkMy1XQFJ0mzrDD5YZamSGIiIwyPiBxFxaUS8doFyR0VERsSBTZ6PJEmaPJnVYpH5LVkpLzBp8YgtBiRJLavRlWDInTgiVgDvBp4MbAAuiIgzMvP7PeV2Al4GfKN+fSVJ0rSp1YJxyPpJjEdsMSBJalXOJ1s2b6m0VJge6CDg0sz8SWbeCnwUOLJPuTcDbwNubvZsJEnSJMr5+crxSIUmjBMXj5gYkCS1qjMrQZWlvA8fExHru5Y1XbvbC7i86/GG8rnbRcQBwD6Z+ZkRn5okSZoQnRYDleIRICLWTFM8YlcCSVKrOmMMVCsMwCmZ+dYBJWLgVkBEzAHvAI6rU0dJkjTd6sYjmXkScNKAEhMXj5gYkCS1q9b0QEPLbQD26Xq8N3Bl1+OdgNXAugEaAIUAAAzSSURBVIgA2B04IyKekZnrq1ZZkiRNl1rTFQ4vMnHxiIkBSVKrmhzsB7gA2Dci7gNcARwNHLP1WLkJ2LXzOCLWAa8yKSBJ0myrNV3h8GITF4+YGJAktSzJhm7Embk5Il4CnAWsAE7OzIsj4k3A+sw8Y2l1lSRJ0yizRjwyJCCZxHjExIAkqVW1WgwM70pAZp4JnNnz3PEDyh5a6cCSpsrZqw+pVf6wi84fUU20WHVfQ2mYhlswTlw8YmJAktSqRQw+KEmS1Kicz5mOR0wMSJJalZls3rylUtn5Ci0GJEmS6pqfrx6PVGnBOGlMDEiSWlVnFGBJkqRRmPV4ZK5KoYg4PCJ+EBGXRsRr+6w/LiJ+FhEXlsuLmq+qJGkqlX36qixTmKBXDcYjkqRRyRmPR4a2GIiIFcC7gSdTzMd4QUSckZnf7yn6scx8yQjqKEmaYpmQlfv0TeGdWJUYj0iSRiqzejwyhap0JTgIuDQzfwIQER8FjgR6b8SSJC1C9aZ75gVmmvGIJGlk6sxKMI2DD1bpSrAXcHnX4w3lc72eHRHfjYhTI2KffjuKiDURsT4i1m/atGkR1ZUkTZs6Tfc004xHJEkj0xljoFJXginMDFRJDESf53qvxKeBVZn5MOBLwAf67SgzT8rMAzPzwJUrV9arqSRpOmWS8/PVFpsMzDLjEUnS6NSIR6ZRlcTABqA74743cGV3gczcmJm3lA/fDzyimepJkqZdZ4yBKssUJuhVnfGIJGlkZj0eqZIYuADYNyLuExE7AEcDZ3QXiIg9uh4+A7ikuSpKkqZdzmelZSrvxKrKeESSNDpZLRbJKe3aOHTwwczcHBEvAc4CVgAnZ+bFEfEmYH1mngG8LCKeAWwGrgOOG2GdJUlTJOeT+duqNcvL6Wy9pwqMRyRJo5RbasQjU9i1scqsBGTmmcCZPc8d3/X764DXNVs1SdJMyIQtFf/jn8IbsaozHpEkjUyteGS0VWlDpcSAJEkjk1RvljeFN2JJ4+/s1Ye0XYW+Drvo/JEfY1zPXWpa1olHppCJAUlSu8rBfioVtcWAJEkahfmsHI9MYwtGEwOSpFYl0zuQjyRJmgyJLQYkSWpPAlXnBJ7d+7UkSRqlzJmOR0wMSJLalbPddE+SJI2B+epdG6eRiQFJUrtqDPYzu7drSZI0SpnVuzZO45hHJgYkSa3KrD5vMDPc90+SJI1OzteIR6YwHDExIElqVzLT8wZLkqQxMJ/V45EpZGJAktSuGW+6J0mSxkCNro3TOOaRiQFJUqsyawz2M333YUmSNAayzmDIU8jEgCSpXXUy9JIkSaNQZzDkKQxbTAxIktrldIWSJKllthiQJKlt8w4+KEmSWpRZIx6ZvoDExIAkqVV1MvQOPihJkkZivsaYR1Noru0KSJJmXNmnr8pSRUQcHhE/iIhLI+K1fda/MiK+HxHfjYizI+LejZ+TJEmaKJnVYpGcz0otGCctHjExIElq13ySt22ptDAkORARK4B38//bu7sYq64yjOP/B+ioUGuT1igyJGBKmjbGSEMwiilOgVoiocbUCAZjtElvrKnphYmaaPTOjxiuNE6gBiOKFWxCDKVqwAoNrZRCg8NHRVKdcUqw9ZOCHZjzenH2wGGYjz1w9l6cvZ9fMuGcmTVnv4vJzDws3r0WrATuBNZKunPUsIPAooh4L7AV+HYBszIzM7NOMpU8MkkHYyfmES8MmJlZUiPHFeZ6m3yFfjFwIiJORsQQsAW4//Lrxe6IOJs9fRbobveczMzMrLNEI2cWGY48DQMdl0e8x4CZmaU0NHzhbO7bBIYvnAUYmmDIHKC/5fkA8P4Jxj8IPJnr4mZmZlZVQ8MXzuXKIxENonF+smEdl0e8MGBmZslERL/uWMChZcfRu9458dj+QeLMNDjCakkPtXyoNyJ6s8ca61PHej1J64BFwNKrqd3MzMwqY8+rXX/itY+/gmbNnHBgHDxMzJxPlkUqk0e8MGBmZknpIz3Ezt3oc2snHBc7d6GV99DoO9YL9I4zbACY2/K8Gxi84prScuCrwNKIeOPqKjczM7MqiIjz09Y9QOzei1bdO/64RoP47R7468CciBikQnnEewyYmVlSjfW94tw5YvDUuGOifxAuDNP47vfHWoFvtR9YIGm+pC5gDbC9dYCkhcAPgdURcfoayzczM7MKiM3buug7Trx+dvxBL/bB/LlkiwIT6bg8kmthIMdRC2+S9PPs489JmtfuQs3MrLpGugbGM9ItMJmIuAA8DDwFHAUej4g+Sd+UtDob9h3gRuAXkg5J2j7Oy9l1xnnEzMyKEhHntfSDxO69Y398pFvg6X1zcrxWx+WRSW8laDlqYQXNloj9krZHxJGWYQ8C/4yI2yStAb4FfLKIgs3MrHoa63ulOxZEDJ66Yq+BGMjdLdAcH7ED2DHqfV9reby8HTVbuZxHzMysaLF5Wxfds4ei50NX7jUw0i3wl/7JugWar9VheSRPx8CkRy1kzzdlj7cCyyTlCnBmZmYwftdAPJmvW8Aqz3nEzMwKdalr4JnL3z+FboFOlWdhYKyjFkb/hVwck7VN/Bu4pR0FmplZPYy118BUuwWs0pxHzMyscM29Bo5dvtdA/r0FOlaeUwnyHLWQ6ziGUUc6vNHT0/PHHNevkluBV1MXUTLPuR485+q7vYyLjD6hwN0C1sJ5pH3q9vMLPOer1tOGQkpUt69z3eYLJeSRSycUPINWrbjsJIKir51SnoWBPEctjIwZkDQDeBvwj9EvlJ3r2Asg6fmIWHQ1RXcqz7kePOd6qNucJT1fxnVa9xqg0XC3gLVyHmkTz7kePOfqq9t8obw8cmmvgSXw0p+ntLdAp8qzMHDxqAXgbzSPWvjUqDHbgc8A+4AHgF0RccUKvZmZ2WQu7jUwPOxuAWvlPGJmZqW42DWway8cO1H5bgHIscdAzqMWNgK3SDoBPApccYSQmZlZHo31veLsOXcL2GWcR8zMrEyxeVsXBw9Xfm+BEXk6BvIctfA/4BNTvHbvFMdXgedcD55zPdRtzuXO9/iJOYxxb7jVm/NI23jO9eA5V1/d5gslzjkizku6jaf3vVbWNVOSO+zMzMzMzMzM6ivPcYVmZmZmZmZmVlFJFgYk3SfpuKQTkip//5+kxySdllSb45AkzZW0W9JRSX2SHkldU5EkvVnSHyS9mM33G6lrKouk6ZIOSvpV6lrKIOllSYclHSprZ9zUJN0saaukY9n39AdS12TWDs4j1Va3LALOI84j1eY8UqzSbyWQNB14CVhB81ih/cDaiDhSaiElknQ3cAb4cUS8J3U9ZZA0G5gdES9IeitwAPhYVb/OkgTMiogzkm4A9gKPRMSziUsrnKRHgUXATRGxKnU9RZP0MrAoImpzbrCkTcCeiNggqQuYGRH/Sl2X2bVwHql+HqlbFgHnEZxHKs15pFgpOgYWAyci4mREDAFbgPsT1FGaiPg9Y5yjXGUR8UpEvJA9/i/NHaQre8xHNJ3Jnt6QvVV+Aw9J3cBHgQ2pa7FiSLoJuJvmbu9ExJB/CVtFOI9UXN2yCDiP4DxSWc4jxUuxMDAH6G95PkDFf0jXnaR5wELgubSVFCtrYTsEnAZ+ExGVnm9mPfAloJG6kBIF8GtJByQ9lLqYErwb+Dvwo6xFc4OkWamLMmsD55EaqUsWAeeR1IWUyHnEeaStUiwMjHUmdeVXMutK0o3ANuCLEfGf1PUUKSKGI+J9QDewWFKl2zQlrQJOR8SB1LWUbElE3AWsBD6fteZW2QzgLuAHEbEQeB2fDW/V4DxSE3XKIuA8UiPOI84jbZViYWAAmNvyvBsYTFCHFSy7t20bsDkifpm6nrJkbU2/A+5LXErRlgCrs3vctgD3SPpJ2pKKFxGD2Z+ngSdotiNX2QAw0PI/Tltp/mI263TOIzVQ1ywCziNpSyqe84jzSLulWBjYDyyQND/bNGINsD1BHVagbPObjcDRiPhe6nqKJuntkm7OHr8FWA4cS1tVsSLiyxHRHRHzaH4f74qIdYnLKpSkWdkGVmTta/cCld7dOyJOAf2Sbs/etQyo7MZdVivOIxVXtywCziM4j1SW80jxZpR9wYi4IOlh4ClgOvBYRPSVXUeZJP0M+DBwq6QB4OsRsTFtVYVbAnwaOJzd5wbwlYjYkbCmIs0GNmW7XE8DHo+IWhyXUzPvAJ5oZk1mAD+NiJ1pSyrFF4DN2T+eTgKfTVyP2TVzHqlFHqlbFgHnkbpwHnEeabvSjys0MzMzMzMzs+tHilsJzMzMzMzMzOw64YUBMzMzMzMzsxrzwoCZmZmZmZlZjXlhwMzMzMzMzKzGvDBgZmZmZmZmVmNeGDAzMzMzMzOrMS8MmJmZmZmZmdWYFwbMzMzMzMzMauz/R/NXjbQegZgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#\n", "# copy the data array for safety\n", "#\n", "plot_c = np.array(c)\n", "plot_c[plot_c < 1.0e-4] = np.nan\n", "m2km = 1.0e-3\n", "time_steps = np.array([0, 1])\n", "nfig = len(time_steps)\n", "fig, grid = plt.subplots(1, 2, figsize=(18, 10))\n", "ntimesteps = len(time_steps)\n", "\n", "for time_index, the_ax in zip(time_steps, grid.flat):\n", " im = the_ax.pcolormesh(\n", " x * m2km, y * m2km, plot_c[:, :, time_index], norm=the_norm, cmap=pal\n", " )\n", " the_ax.set_aspect(1)\n", " cax = fig.colorbar(im, ax=the_ax, extend=\"both\", shrink=0.5)\n", " cax.set_label(\"ylabel here\", rotation=270, va=\"bottom\", size=20)\n", " fig.subplots_adjust(bottom=0.1, top=0.8)\n", "\n", "# cax = fig.add_axes([0.92, 0.1, 0.025, 0.55], frameon=False)\n", "# cbar = matplotlib.colorbar.Colorbar(cax, im, extend=\"both\")\n", "# cbar.ax.set_ylabel(\"Concentration ($kg/m^3$)\", rotation=270, size=20, va=\"bottom\")\n", "fig.suptitle(\n", " \"Evolution of the oil concentration through time\", y=0.7, size=25, va=\"top\"\n", ")\n", "fig.savefig(\"Oil_Concentration_Evolution.png\")" ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "all", "notebook_metadata_filter": "all,-language_info", "text_representation": { "extension": ".py", "format_name": "percent", "format_version": "1.2", "jupytext_version": "1.0.4" } }, "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.7" }, "nbsphinx": { "execute": "never" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }