{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# AKARI-SEP master catalogue\n", "\n", "This notebook presents the merge of the various pristine catalogues to produce HELP mater catalogue on AKARI-SEP." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This notebook was run with herschelhelp_internal version: \n", "0246c5d (Thu Jan 25 17:01:47 2018 +0000) [with local modifications]\n" ] } ], "source": [ "from herschelhelp_internal import git_version\n", "print(\"This notebook was run with herschelhelp_internal version: \\n{}\".format(git_version()))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "#%config InlineBackend.figure_format = 'svg'\n", "\n", "import matplotlib.pyplot as plt\n", "plt.rc('figure', figsize=(10, 6))\n", "\n", "import os\n", "import time\n", "\n", "from astropy import units as u\n", "from astropy.coordinates import SkyCoord\n", "from astropy.table import Column, Table\n", "import numpy as np\n", "from pymoc import MOC\n", "\n", "from herschelhelp_internal.masterlist import merge_catalogues, nb_merge_dist_plot, specz_merge\n", "from herschelhelp_internal.utils import coords_to_hpidx, ebv, gen_help_id, inMoc" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "TMP_DIR = os.environ.get('TMP_DIR', \"./data_tmp\")\n", "OUT_DIR = os.environ.get('OUT_DIR', \"./data\")\n", "SUFFIX = os.environ.get('SUFFIX', time.strftime(\"_%Y%m%d\"))\n", "\n", "try:\n", " os.makedirs(OUT_DIR)\n", "except FileExistsError:\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I - Reading the prepared pristine catalogues" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "vhs = Table.read(\"{}/VISTA-VHS.fits\".format(TMP_DIR))\n", "simes = Table.read(\"{}/SIMES.fits\".format(TMP_DIR))\n", "des = Table.read(\"{}/DES.fits\".format(TMP_DIR))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## II - Merging tables\n", "\n", "We first merge the optical catalogues and then add the infrared ones: WFC, DXS, SpARCS, HSC, PS1, SERVS, SWIRE.\n", "\n", "At every step, we look at the distribution of the distances separating the sources from one catalogue to the other (within a maximum radius) to determine the best cross-matching radius." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### WFC" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue = vhs\n", "master_catalogue['vhs_ra'].name = 'ra'\n", "master_catalogue['vhs_dec'].name = 'dec'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add SIMES" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n52+T3ghRZqFhoAIhy60VjXoBJxr2gk84pBrvcVNdRNFwTLWRkKKR3PO1kbBqoyHVRrzHkZDqomHV\nRUKqjYbwf8mJAAAPTElEQVRLNpLknNPodFIDY7MaHJ/VwNiMdr82qqePnFNdNKStPc26sbdFm7oa\nFSVkLYoFdTHc7du3u927dwdy7mJks073fOEJSdLffuYtCvn0H3cxc9cojnNOZybntP/0pF49M6VT\nE3PKZHPrC/p7mnXbhnbdtKZFN1zToo2dDfwGBixT2azTdDI9P+oyNZfS5Jx3P5vW5FxK4zMpTczm\nwtLYzPn7semUkpe5dFbIpFg0rPqaiGI1YdVFQ4pFw97j8HzQmQ890VwYOh+abD5MVcNUWjqb1ZGh\nuF4ZnNS+05OaTWVUGwnpDb0t2nHtKvW2xuaPXYlrrMzsOefc9oWOY8TqMv5+3xkdPBvXFz50s2+h\nCv4yM61uiWl1S0x393fr/bdco+dPjOvZY6N69tiovrnrhL76VO4f1NpISP2rm3XDNc3a0t2kjZ2N\n2tjVoJ7mOkYjAZ+lMllNzaW9NUK5tULTyfPriGa8kJSbFktrJpHJ3c9Pl2UuOGYmmVnwnGEz1dfk\nQlHuPqK1bfXa0h1RQ20uPM3f1+Tua6Mhhfj//7xIKKQtPc3a0tOs92edjgzH9fLghF4cGNfu42Na\n2xbT7deu0o29LUGXWtEYsbqEgbEZfeRPdyocMv3Dv32rr7+JMGJVPpms03A8odPjszo1Pqusk/ae\nmtDk3Pn2DQ01YW3satT6VQ3qa6/X2vaY1rbXq6+9XqtbYlXxWyiwGIl0LvxMeQup89NiU3PnF1Hn\n7yfn79Oams2NIo3PJJUucgot4u1Wq/WmzPJTZLVh794bKaqJXDxV5k2Xzd9yI0n8klQas8mM9pwY\n085j5zQST6q+JqxfuGO97r193QWjWNWu2BErgtVFDpyZ1C88+Kxmkxn9z1+6TW9c5+91AQlWwXLO\naSqR1vBUIneL5+5z6y2SF+ysCYdM3U216mmp0+rWmFY316mnpU6dTbXqbKpVV1PucXNdhH/QERjn\nnBLprLe7LPO6xdbn7zOKJ1KKJ87vRJtKpC/YiTYxmypqXVE0bN46oPBFISekOm/KLP96jbdmaH5K\nLRqeX3PELy7Li3NOR4an9czRczpwJnd915+9oUe/eMd63bahver/HWQq8Crsem1Un/jqLsVqwvr2\n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\nWo6cagAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(simes['simes_ra'], simes['simes_dec'])\n", ")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Given the graph above, we use 0.8 arc-second radius\n", "master_catalogue = merge_catalogues(master_catalogue, simes, \"simes_ra\", \"simes_dec\", radius=0.8*u.arcsec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add DES" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAF3CAYAAACfXf7mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuY3HV99//Xe4573hx2cz5DIASQgAERT2CrDdYWbW0F\nD3irSO2td3v318OtbW/tXXv9evfq9fOyVluklpvaCra9EbUVpWhRVBQSEIFAQkICIafdTbLZ8+yc\n3r8/5jvLEJLsJDvz/c7OPh/XNdfOfA8z7x0OeeXz+XzfX3N3AQAAoL5iURcAAAAwFxC6AAAAQkDo\nAgAACAGhCwAAIASELgAAgBAQugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQELoAAABCkIi6gJPp6enx\nNWvWRF0GAADAtB555JEj7t473XENGbrWrFmjbdu2RV0GAADAtMzs+WqOY3oRAAAgBIQuAACAEBC6\nAAAAQkDoAgAACAGhCwAAIASELgAAgBAQugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQELoAAABCQOgC\nAAAIAaELAAAgBImoC8D07nho37THvOtVq0KoBAAAnC1GugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQ\nELoAAABCQOgCAAAIAaELAAAgBIQuAACAEBC6AAAAQkDoAgAACAGhCwAAIASELgAAgBAQugAAAEJA\n6AIAAAgBoQsAACAEhC4AAIAQELoAAABCQOgCAAAIAaELAAAgBIQuAACAECSmO8DMbpP0Vkn97n7R\nSfb/vqR3V7zfBZJ63f2YmT0naURSQVLe3TfXqnAAAIDZpJqRrtslbTnVTnf/S3ff5O6bJH1c0vfd\n/VjFIdcE+wlcAABgzpo2dLn7A5KOTXdc4AZJd86oIgAAgCZUszVdZtam0ojYXRWbXdJ3zOwRM7u5\nVp8FAAAw20y7pusM/JKkH50wtfhadz9gZosk3WdmO4KRs5cJQtnNkrRq1aoalgUAABC9Wl69eL1O\nmFp09wPBz35Jd0u64lQnu/ut7r7Z3Tf39vbWsCwAAIDo1SR0mVm3pDdI+nrFtnYz6yw/l/RmSU/W\n4vMAAABmm2paRtwp6WpJPWa2X9InJSUlyd1vCQ57u6T/cPexilMXS7rbzMqfc4e7f7t2pTeHOx7a\nF3UJAAAgBNOGLne/oYpjbleptUTltj2SLjnbwgAAAJoJHekBAABCQOgCAAAIAaELAAAgBIQuAACA\nEBC6AAAAQkDoAgAACAGhCwAAIASELgAAgBAQugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQELoAAABC\nQOgCAAAIAaELAAAgBIQuAACAEBC6AAAAQkDoAgAACAGhCwAAIASELgAAgBAQugAAAEJA6AIAAAgB\noQsAACAEhC4AAIAQELoAAABCQOgCAAAIAaELAAAgBIQuAACAEBC6AAAAQkDoAgAACAGhCwAAIASE\nLgAAgBBMG7rM7DYz6zezJ0+x/2ozGzKzx4LHJyr2bTGznWa228w+VsvCAQAAZpNqRrpul7RlmmN+\n4O6bgsefSpKZxSV9XtK1kjZKusHMNs6kWAAAgNlq2tDl7g9IOnYW732FpN3uvsfds5K+Ium6s3gf\nAACAWa9Wa7quMrPHzexbZnZhsG25pBcqjtkfbAMAAJhzEjV4j0clrXL3UTN7i6SvSVp/pm9iZjdL\nulmSVq1aVYOyAAAAGseMR7rcfdjdR4Pn90hKmlmPpAOSVlYcuiLYdqr3udXdN7v75t7e3pmWBQAA\n0FBmHLrMbImZWfD8iuA9j0raKmm9ma01s5Sk6yV9Y6afBwAAMBtNO71oZndKulpSj5ntl/RJSUlJ\ncvdbJL1D0m+aWV7ShKTr3d0l5c3so5LulRSXdJu7b6/LbwEAANDgpg1d7n7DNPs/J+lzp9h3j6R7\nzq40AACA5kFHegAAgBAQugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQELoAAABCQOgCAAAIAaELAAAg\nBIQuAACAEBC6AAAAQkDoAgAACAGhCwAAIASELgAAgBAQugAAAEJA6AIAAAgBoQsAACAEhC4AAIAQ\nELoAAABCQOgCAAAIAaELAAAgBIQuAACAEBC6AAAAQkDoAgAACAGhCwAAIASErlnk0ecHdf/O/qjL\nAAAAZyERdQGojrvruzv6NDieU29HWhct7466JAAAcAYY6Zoljo5mNTieUyJmuvunBzQ0kYu6JAAA\ncAYIXbPEM/0jkqT3XLla+WJR//eRF1R0j7gqAABQLULXLLGrb1QL21M6b3Gn3nrxMj07MKYHdx+J\nuiwAAFAlQtcskCsUtefIqM5b3ClJ2rxmvi5Y2qV7n+rToaGJiKsDAADVIHTNAs8dHVOu4DpvcYck\nycz0K5cuV1syrn/e+oJyhWLEFQIAgOkQumaBXX2jSsRMa3s6pra1pxP61VeuUP/IpO7dfjjC6gAA\nQDWmDV1mdpuZ9ZvZk6fY/24ze9zMnjCzB83skop9zwXbHzOzbbUsfC55pm9Eaxa2K5V46T+u8xZ3\n6pWr5uuhvccY7QIAoMFVM9J1u6Qtp9m/V9Ib3P1iSZ+SdOsJ+69x903uvvnsSpzbjo9n1T8yqfWL\nO066/9zFHSoUXbv6RkOuDAAAnIlpQ5e7PyDp2Gn2P+jug8HLn0haUaPaIE2FqfIi+hMt626VJD15\ncCi0mgAAwJmr9ZquD0r6VsVrl/QdM3vEzG6u8WfNCc/0j6i7NalFnemT7l/YkVIqEdP2A4QuAAAa\nWc1uA2Rm16gUul5bsfm17n7AzBZJus/MdgQjZyc7/2ZJN0vSqlWralXWrFYounb3j+ri5d0ys5Me\nEzPT0u4WbT84HHJ1AADgTNRkpMvMXiHpi5Kuc/ej5e3ufiD42S/pbklXnOo93P1Wd9/s7pt7e3tr\nUdas98KxcU3mi6ecWixbNq9VTx0aVqFIh3oAABrVjEOXma2S9FVJ73X3Zyq2t5tZZ/m5pDdLOukV\nkDi5Z/pHFDPpnN6TL6IvW9bdqvFsQXuPjIVUGQAAOFPTTi+a2Z2SrpbUY2b7JX1SUlKS3P0WSZ+Q\ntFDS3wRTYPngSsXFku4OtiUk3eHu367D79C0dvWNauX8NrWm4qc9btm8FknS9oNDOnfR6QMaAACI\nxrShy91vmGb/TZJuOsn2PZIuefkZqMboZF4Hjk/o5y9YPO2xizpbSovpDw7ruk3LQ6gOAACcKTrS\nN6hdfSOSNHXrn9OJx0wXLOnUk1zBCABAwyJ0Nahd/aNqS8W1bF5rVcdvXNatJw8MyZ3F9AAANCJC\nV4N64di41va0K3aKVhEnumh5l4Yzee0fnKhzZQAA4GwQuhpQ0V3Hx3Pq6Th5Q9STuWhZt6TSYnoA\nANB4CF0NaHgip4K75rUlqz7n/CWdisdMTx6gSSoAAI2I0NWABsdzkqQFbamqz2lJxrV+UQf3YAQA\noEERuhrQ4HhWkjT/DEKXJF24rJuRLgAAGhShqwENjmdl0hlNL0qlxfRHRifVP5ypT2EAAOCsEboa\n0OBYTp0tCSXiZ/aP58JgMT1TjAAANB5CVwMaHM+e8dSiJG1c1iVJTDECANCACF0NaHA8q/ntZx66\nOtIJretppzM9AAANiNDVYApF19B4TvPPcD1X2YXLu7X9ICNdAAA0GkJXgxmayMl15lcull24rEsH\njk9ocCxb28IAAMCMELoazFS7iLOYXpQqO9Mz2gUAQCMhdDWY8gjVTEa6JK5gBACg0RC6GszgeFYx\nk7pbz25N1/z2lJbPa2WkCwCABkPoajCD4zl1tSYVj9lZv8eFy7q0nSsYAQBoKISuBjM4dnY9uipd\nuKxbe46MaWwyX6OqAADATBG6GszZNkattH5xhyRp75GxWpQEAABqgNDVQPKFooYzec1vP7v1XGVr\ne9olEboAAGgkhK4Gcnw8J0laMMORrjULS6HrOUIXAAANg9DVQI4FPbrmzTB0tabiWtrdwkgXAAAN\nJBF1AXhRuTHqgrNojHrHQ/te8ro1FdfW545NbX/Xq1bNvEAAAHDWGOlqIINjOcXN1Nky8yzc05HW\nwOik3L0GlQEAgJkidDWQwfGs5rUlFbOz79FV1tORViZX1Hi2UIPKAADATBG6Gkgt2kWU9XSU3ufo\n6GRN3g8AAMwMoauBDI7nZtwuoqynIy1JOjKarcn7AQCAmSF0NYhsvqixyXzNRrrmt6UUM+kII10A\nADQEQleDKF+5WKvQFY+Z5relCF0AADQIQleDmApdZ9Eu4lR6OtJMLwIA0CAIXQ1icKw80lWbNV1S\naTH90bFJFWkbAQBA5KYNXWZ2m5n1m9mTp9hvZvZZM9ttZo+b2WUV+7aY2c5g38dqWXizGRzPKRk3\ndaRr16+2pzOtXME1ksnX7D0BAMDZqWak63ZJW06z/1pJ64PHzZL+VpLMLC7p88H+jZJuMLONMym2\nmZV6dKVkNejRVfbiFYys6wIAIGrThi53f0DSsdMccp2kL3nJTyTNM7Olkq6QtNvd97h7VtJXgmNx\nEqUeXbWbWpSkhcH6MEIXAADRq8WaruWSXqh4vT/YdqrtOInBsVzNrlws62pNKhk3HRkhdAEAELWG\nWUhvZjeb2TYz2zYwMBB1OaHK5AqayBVqHrpiZlrYzhWMAAA0glqErgOSVla8XhFsO9X2k3L3W919\ns7tv7u3trUFZs0c92kWU9XTQqwsAgEZQi9D1DUk3BlcxXilpyN0PSdoqab2ZrTWzlKTrg2Nxgnq0\niyjr6UhrcDyrXKFY8/cGAADVm7Y/gZndKelqST1mtl/SJyUlJcndb5F0j6S3SNotaVzS+4N9eTP7\nqKR7JcUl3ebu2+vwO8x6g+M5SdKCGk8vSqXQVXRp/+CE1va01/z9AQBAdaYNXe5+wzT7XdJHTrHv\nHpVCGU7j2HhW6URMral4zd97YUcpyO09MkroAgAgQg2zkH4uOz6W1fwa9+gqK/fq2jMwVvP3BgAA\n1SN0NYDB8Vxd1nNJUlsqrtZkXHuPELoAAIgSoasBlLvR14OZqacjpeeOEroAAIgSoStik7mCJvNF\ndbfWZ6RLKk0x7mV6EQCASBG6IjYc3Iy6q7V2N7o+0cKOlA4OZTSRLdTtMwAAwOkRuiI2nCm1i+hs\nqe9IlySmGAEAiBChK2LDE6XQ1R1C6GIxPQAA0SF0RWwkmF7sbKnv9KJE6AIAIEqErogNZ3JKJ2JK\nJ2vfGLUsnYhrcVea0AUAQIQIXREbnsipq45Ti2Vre9oJXQAARIjQFbHhTF6ddbxysYzQBQBAtAhd\nERvO5Oq6iL5sbU+7jo1ldXw8W/fPAgAAL0foipC7a2QiX9d2EWVrezokSXsY7QIAIBKErggNjudU\ncK9rY9Sydb3tkkRnegAAIkLoitDhoYwkhbKQfuX8NsVjpj1HRuv+WQAA4OUIXRHqGymHrvqPdKUS\nMa1a0KY9jHQBABAJQleE+oKRrs463uy60jquYAQAIDKErgj1DU9Kqm83+krrekuhq1j0UD4PAAC8\niNAVob6RjNpTcSVi4fxjWNvTocl8UQeOT4TyeQAA4EWErgj1DWXUFdLUovTiFYy0jQAAIHyErgj1\njWRCuXKx7MW2EVzBCABA2AhdEeobngxtPZck9Xak1ZlOMNIFAEAECF0RyRWKOjI6Ger0oplpbW87\nbSMAAIgAoSsiR0Yn5R5OY9RKtI0AACAahK6IvNiNPrzpRUla19uhA8cnNJEthPq5AADMdYSuiJR7\ndIU5vShVLKZntAsAgFARuiLSH9wCKMyF9JK0tqfcNoIrGAEACBOhKyKHhzJKxEzt6WhC114W0wMA\nECpCV0T6hie1qDOtmFmon9uWSmhZdwttIwAACBmhKyJ9wxkt6mqJ5LPX9XZoDw1SAQAIFaErIn3D\nGS2JKHSt7Sn16nLnxtcAAISF0BWRvuGMFnelI/nsdb3tGpnM68hoNpLPBwBgLqoqdJnZFjPbaWa7\nzexjJ9n/+2b2WPB40swKZrYg2PecmT0R7NtW619gNprIFjScyUc6vSiJKUYAAEI0begys7ikz0u6\nVtJGSTeY2cbKY9z9L919k7tvkvRxSd9392MVh1wT7N9cw9pnrb7hUruIqKYX1021jWAxPQAAYalm\npOsKSbvdfY+7ZyV9RdJ1pzn+Bkl31qK4ZlUOXYsjCl3L5rUqlYgx0gUAQIiqCV3LJb1Q8Xp/sO1l\nzKxN0hZJd1VsdknfMbNHzOzmsy20mRwuj3R1R7OmKx4zrV3IPRgBAAhTrTtz/pKkH50wtfhadz9g\nZosk3WdmO9z9gRNPDALZzZK0atWqGpfVWPqDWwBFtaZLKi2m33l4JLLPBwBgrqlmpOuApJUVr1cE\n207mep0wtejuB4Kf/ZLuVmm68mXc/VZ33+zum3t7e6soa/Y6PJxRazKuzpC70Vda19uufcfGlSsU\nI6sBAIC5pJrQtVXSejNba2YplYLVN048yMy6Jb1B0tcrtrWbWWf5uaQ3S3qyFoXPZn3DGS3pbpGF\n3I2+0tqeDuWLrn3HxiOrAQCAuWTaoRZ3z5vZRyXdKyku6TZ3325mHw723xIc+nZJ/+HulQuFFku6\nOwgXCUl3uPu3a/kLzEb9wS2AorSu98V7MJ4TtJAAAAD1U9X8lrvfI+meE7bdcsLr2yXdfsK2PZIu\nmVGFTejwcEabVs6LtIZzeoJeXUdGVcrGAACgnuhIHzJ3n5pejFJ3W1IL21PaM8AVjAAAhIHQFbKh\niZwm88XIpxelF+/BCAAA6o/QFbK+oF1EVI1RK63rbacrPQAAISF0hWzqFkARTy9KpXswHhmd1HAm\nF3UpAAA0PUJXyMrd6Bd3NkDoKt+DkSlGAADqjtAVsv4gdC3qin5N17mLSlcwPtNHZ3oAAOqN0BWy\nw8MZzWtLqiUZj7oUrV7YrpZkTDsOEboAAKg3QlfI+oYnG2JqUSrd+Pr8xZ3acXg46lIAAGh6hK6Q\n9Q9ntLgBFtGXXbC0S08fGpa7R10KAABNjdAVssPDGS1ugB5dZRuWdGpwPKf+kcmoSwEAoKkRukJU\nKLoGRiYbokdX2YalXZKkpw8xxQgAQD0RukI0MDKpoquxpheXlELXjsMspgcAoJ4IXSE6ODQhSVrW\nQKGruy2pZd0tjHQBAFBnhK4QHTpe6tG1bF5rxJW81IalXbSNAACgzghdITo0NdLVWKHrgqWdenZg\nVJP5QtSlAADQtBJRFzCXHDg+obZUXF2t4X/tdzy075T7jo5mlS+6dveP6sJl3SFWBQDA3MFIV4gO\nHc9oaXeLzCzqUl6ifPNtphgBAKgfQleIDg1NNNx6Lkla2J5WImYspgcAoI4IXSE6OJRpuPVcUul2\nQIu7WmgbAQBAHRG6QjKZL2hgZFJL5zVOu4hKS7pbuAcjAAB1ROgKSd9Q6TY7jTjSJUlLulp0ZDSr\n/pFM1KUAANCUCF0hmWqM2oBruiRpKYvpAQCoK0JXSMo9uhp2ejG4HySL6QEAqA9CV0gOlrvRN+j0\nYls6oSUspgcAoG4IXSE5eHxC89qSak3Foy7llC5Y2slIFwAAdULoCsmhBm0XUWnD0i49OzCqbL4Y\ndSkAADQdQldIDh6f0LIGXc9VtmFJp3IF17MDo1GXAgBA0yF0heTQUEZLG3yka+PSLkkspgcAoB4I\nXSEYm8xraCLXsFculq3taVcqEWMxPQAAdUDoCkG5XcTyBu3RVZaIx3Te4g5GugAAqANCVwjK7SIa\nfXpRkjYs6dLTNEgFAKDmCF0hmGqM2t3Y04tSaTH9kdFJDYxMRl0KAABNparQZWZbzGynme02s4+d\nZP/VZjZkZo8Fj09Ue+5ccPB4Rmalm0o3uvJi+p2s6wIAoKamDV1mFpf0eUnXStoo6QYz23iSQ3/g\n7puCx5+e4blN7eDxCS3qTCsZb/yBxQ1B6HriwFDElQAA0FyqSQFXSNrt7nvcPSvpK5Kuq/L9Z3Ju\n05gN7SLKFrSntK6nXY88fyzqUgAAaCrVhK7lkl6oeL0/2Haiq8zscTP7lpldeIbnNrWDQ43fGLXS\n5WsWaOtzgyoWPepSAABoGrWa73pU0ip3f4Wkv5b0tTN9AzO72cy2mdm2gYGBGpUVPXfXoeOzZ6RL\nkjavma+hiZx205keAICaqSZ0HZC0suL1imDbFHcfdvfR4Pk9kpJm1lPNuRXvcau7b3b3zb29vWfw\nKzS24+M5TeQKWtbgPboqXbF2gSTp4b1MMQIAUCvVhK6tktab2VozS0m6XtI3Kg8wsyVmZsHzK4L3\nPVrNuc3uYNAuYtksuHKxbNWCNvV2prXtOUIXAAC1kpjuAHfPm9lHJd0rKS7pNnffbmYfDvbfIukd\nkn7TzPKSJiRd7+4u6aTn1ul3aUiHyo1RZ9FIl5npimBdFwAAqI1pQ5c0NWV4zwnbbql4/jlJn6v2\n3Lnk0Cwc6ZJK67q++cQhHTg+0fC3LwIAYDZo/MZRs9yB4xkl46aejnTUpZyRy9eU1nUxxQgAQG0Q\nuurs0NCElnS3KBazqEs5Ixcs7VJHOqGthC4AAGqC0FVns61dRFk8Zrps9XxtY10XAAA1Qeiqs4ND\nE7NuPVfZ5avna2ffiIbGc1GXAgDArEfoqqNC0dU3nJlVPboqbV6zQO7SI/uYYgQAYKYIXXV0ZHRS\nuYLPqnYRlTatnKdk3PTwXqYYAQCYKUJXHR08PjvbRZS1puK6aHk3VzACAFADhK46OjQUNEadhQvp\ny65Ys0CP7x9SJleIuhQAAGY1QlcdlUe6ZnNz0c1rFihbKOrx/UNRlwIAwKxG6Kqjg8czakvF1dVa\nVeP/hrR59XxJol8XAAAzROiqo0NDE1ra3aLgXuCz0vz2lNYv6iB0AQAwQ4SuOjo4NHvbRVS6fO0C\nPfLcoApFj7oUAABmLUJXHR06Xhrpmu0uXzNfI5N57Tw8EnUpAADMWoSuOsnmixoYnWyOka7g5tdM\nMQIAcPYIXXXSN5yRu7RsFreLKFs+r1UrF7Tqezv7oy4FAIBZi9BVJ88fHZckrVgw+0OXmWnLhUv0\nw91HNJzhPowAAJwNQled7O4vrX86d1FHxJXUxpaLlihXcN2/g9EuAADOxuxtINXgdvWPqrs1qd6O\ndNSlVO2Oh/adcl/RXV0tCX3ricO6btPyEKsCAKA5MNJVJ7v7R3Xuoo5Z3aOrUsxMG5d16XvP9Gs8\nm4+6HAAAZh1CV53s7h/V+iaZWiy7cFm3Mrmivr9zIOpSAACYdQhddXBsLKujY9mmWc9VtmZhu+a3\nJfXt7YejLgUAgFmH0FUHu/tHJTXPIvqyeMz05o1L9J9P92syX4i6HAAAZhVCVx00a+iSpC0XL9HI\nZF4/2n0k6lIAAJhVCF11sKt/RG2peFM0Rj3RVecsVGe6dBUjAACoHqGrDnb3j+qc3g7FYs1x5WKl\ndCKun7tgke57uk/5QjHqcgAAmDUIXXXQjFcuVtpy0VIdH8/pob3cixEAgGoRumpsJJPToaGMzmni\n0PWG83rVmozrW08eiroUAABmDUJXjT07MCZJTT3S1ZqK6+rze3Xv9j4Vix51OQAAzAqErhpr5isX\nK225aIkGRib16L7BqEsBAGBWIHTV2K7+EaXiMa1a0BZ1KXX1xg2LlIrH9M0nmGIEAKAahK4ae7Z/\nVGt72pWIN/dX29mS1Js2LtZdj+zX6CT3YgQAYDrNnQwisKt/VOcubu6pxbKbXrdWw5m8/mXrC1GX\nAgBAw6sqdJnZFjPbaWa7zexjJ9n/bjN73MyeMLMHzeySin3PBdsfM7NttSy+0WRyBe07Nq5ze+dG\n6Lp01XxdsWaB/v6He+nZBQDANKYNXWYWl/R5SddK2ijpBjPbeMJheyW9wd0vlvQpSbeesP8ad9/k\n7ptrUHPD2jMwJndp/RwZ6ZKkD71+nQ4cn9C3nqRDPQAAp1PNSNcVkna7+x53z0r6iqTrKg9w9wfd\nvXwZ208krahtmbPDrv4RSc1/5WKln9uwSOt62nXrA3vkTvsIAABOpZrQtVxS5aKd/cG2U/mgpG9V\nvHZJ3zGzR8zs5jMvcfZ4tn9UMZPW9rRHXUpoYjHTTa9bpycODNGhHgCA06jpQnozu0al0PU/Kja/\n1t03qTQ9+REze/0pzr3ZzLaZ2baBgYFalhWaXf2jWr2wXelEPOpSQvUrly3XwvaU/u6BPVGXAgBA\nw6omdB2QtLLi9Ypg20uY2SskfVHSde5+tLzd3Q8EP/sl3a3SdOXLuPut7r7Z3Tf39vZW/xs0kN39\no3NqarGsJRnXja9eo+/u6NfuYIoVAAC8VDWha6uk9Wa21sxSkq6X9I3KA8xslaSvSnqvuz9Tsb3d\nzDrLzyW9WdKTtSq+keQKRe09MjYnQ5ckvffVq5VOxPTFH+yNuhQAABrStKHL3fOSPirpXklPS/oX\nd99uZh82sw8Hh31C0kJJf3NCa4jFkn5oZj+T9LCkb7r7t2v+WzSA54+OK1/0pr7n4uksaE/p1zav\n0FcfPaD+kUzU5QAA0HAS1Rzk7vdIuueEbbdUPL9J0k0nOW+PpEtO3N6Mds+RKxfveGjfKfct6mxR\nrlDUPzz4nH7/FzaEWBUAAI2PjvQ1Ur7R9TlzpDHqyfR0pHXhsi7d9sPn9MKx8ajLAQCgoRC6amRX\n/6iWz2tVe7qqwcOm9ZaLlypm0h/e/QR9uwAAqEDoqpG5euXiiea1pfQHWzboB7uO6K5HX3aRKwAA\ncxahqwaKRdezA4SusvdeuVqvXD1fn/r3pzQwMhl1OQAANARCVw0cOD6hTK44Z69cPFEsZvqLX71Y\nE9mC/uTftkddDgAADYHQVQM7Ds+NKxfPxLmLOvXf3niuvvn4Id33VF/U5QAAEDlCVw38cNeAWpIx\nXbS8O+pSGspvvOEcbVjSqT/+2hMazuSiLgcAgEgRumbI3XX/zgG95pwetSTn1j0Xp5NKxPQXv/oK\nDYxM6s/veTrqcgAAiNTc7m9QA3uPjGnfsXF96HVroy6lIV2ycp4+9Pp1+sL39+ic3g7d9Lp1UZcE\nAHNCrlDU2GReI5m8RifzcpfiMVM8JsXMlIjF1NOZUlvqpVHgdE2wq/WuV62a8Xs0I0LXDN2/c0CS\ndPX5iyKZTL7OAAAWFklEQVSupHH9wS9s0P5jE/qzbz6trtakfn3zyulPAgC8RDZf1JHRSQ2MBI/R\nSR0ZmdTRsayOjE7q2FhWx8ayOjqW1Ugmp0yuWNX7drcmtbAjpZ6OtHo60lq9oE0r5rfKzOr8G809\nhK4Z+t7Ofp27qEMrF7RFXUrDisdMn37nJRrO5PSxux5XV0tSWy5aEnVZABC5QtE1OF4KTUdGshoY\nzQQ/S8GqfySjgZFJvXBsQhO5wknfoyUZU3sqofZ0Qh3phFYvaFNrMq50Mq6WZEzpRFzpRExmUtGl\norvcXcWiNJzJaWBkUkdGJ/XE/qGpz+jpSOuyVfN06ar56m5NhvmVNDVC1wyMZ/N6aM8xve+q1VGX\n0vDSibhuec8r9Z6/f0i/dedPdfv7L9dV5/ZEXRYA1EyuUNTQRE7Hx3MamshqcCynwfGshiZKPwfH\ncxoMRqLKo1LHx7MqnuTmHYmYqbOlFKI6W5J6xYpudbQk1JVOqqMlMbWvI51QIl675dmjk3ntODSs\nR/cN6j+e6tN9T/XpnN4OXblugS5Y2sXo1wwRumbgwd1HlS0UmVo8wenWA/zixUs1PlnQh760TXd8\n6EpdsnJeiJUBQPUmsoXSdF4wjTcwOqmjo6WwNDheDk05HRsrBavRyfwp3ytmUmsyrrZ0IhiViuvc\nRR1qTyXUkY6royU5FaI6WxLByFT4AacjndDmNQu0ec0CHR2d1E9fOK6f7hvUPz20TxuWdOq6TcsZ\n+ZoBQtcM3L+zX+2puDavmR91KbNGWyqhL33wCr3jlgd1420P6zPXb9I1hFYAIXJ3HRvL6tBQRoeH\nMjo0nNHhoQn1DU+qb7i07fBwRiOZk4eolmRMbamE2lJxtacSWtSZ1pqFbWpNxdWaSqgtGVdrKq62\nVHzquKhC1Ews7Ejr5y9YrGvOX6QHnz2i7zzdp8985xltuWiJLl+zQLFZ9vs0AkLXWXJ3fW/ngF5z\nbo/SCVpFnInFXS368gev1M3/uE3v/z9b9ZtXn6PffdN5NR0iBzD3uLtGJvPqH37peqhyiOobLv+c\nVDb/0kXmMZM6W5LqailN5124rEtd5dGnloQ6g2m99nRcidjc+n9VPGZ63fpebVzapa89dkBff+yg\nfvbCkN5+6XL1dqajLm9WIXSdpd39ozpwfEIffeO5UZcyK61a2KavfeQ1+l//9pT+9nvPauveY/rr\nd12qpd2tUZcGoEG4u8azhan1T5WPo2NZHR0tXblXfj4wMqnJ/Muv2GtJxrSkq0WLu1p02ar5WtLV\nogPHJ9TdmlR3a1JdraVwxcjN6S3sSOsDr1mrR/cN6ptPHNLn7t+lGy5fpQ1Lu6IubdYgdJ2l+3f2\nS5KuPr834kpmr5ZkXH/+KxfrynUL9IdffUJv+asf6NO/vknXbGC6EWhG7q7RybyOjJZC0pHRcogK\nwtNoaa3U1M+x7MtGpMriMVNHujTy1J5KqLcjrbUL20sLzFuS6mxJqDNYhN6SfPnU3uqF7WH8yk3H\nzPTK1Qu0flGn/vEnz+sff/K8fnnTMr1q7cKoS5sVCF1n6f4dA9qwpJORmRq4btNyXby8Wx+546d6\n/+1b9eaNi/V7v3C+zlvcGXVpAKowkS28ZDpvoLKXVNCO4MhoVn3DGeVPdqmepHQipvZ0Qu2puNrT\nCS3tbp1aaN6eLq2Nqtw/G9dINZOu1qRuet1afeXhF/T1xw5qcCynN1+4mNHCaRC6zsJIJqdtzx/T\nB19Ld/WzcaqrG6+/fKV+sGtA339mQPc93ae3b1qu33nTefRAAyLg7jo+nntJv6j+4Un1j5QeAyOZ\n0s/hSY2c5Ko9k6bWQ3WkS4vN1/W2T12h155+sa9UWyquJGs6Z510Iq73XLla//b4QT2wa0DHJ7J6\nx2UrWJ97GoSus/Cj3UeVK7iuYWqxppLxmN64YbGuXLtQA6OTuv3B5/Rvjx/UDVes0n+5ao3W9XZE\nXSIwq+ULRR0Lpu+OjmZ1dKwUqI6OZXWkYkSq9HNSucLLR6WScVNnefquJamLVrRMTeN1Bv2jOluS\nakvFGfWYA+Ix03WXLNP8tpTu3X5YwxN53fhqeleeCqHrLHxvZ7860wldtppWEfXQlk7o469fp/e/\nZq0++5+7dMdD+/SlHz+vzavn69c2r9AvvmKZOtL8qwu4u8ayhYrANKmBYL1UOVSV100dHZ3U4Hju\npO8TN1N7Oj41KrW0u1XnLe6c6hlVvnovyv5RaFxmpjec16t5rUn96yMv6O9/uFdvv3S55renoi6t\n4Zj7yefXo7R582bftm1b1GWclLvr1X/+n7ps9Tz9zbtfOeP3q8WNRZtR5c1S+4cz+upPD+hft72g\nZwfG1JqM69qLl+jai5bqqnMWqp0AhiZTbsrZH4SpyrVRUz9HS60QTjYaJZUacXZMTeHFp6by2l8y\nvRdXZ/rkC82Bs7Hj8LDueGifzunt0D/d9Ko501LCzB5x983THcefVmdox+ERHR7O0IW+zk4Mo10t\nSX3gNWv1wuCEHnn+mL75+CF99dEDSsZNl69ZoDec16urz1+k8xZ38IcHGk4mV5jqYD44ltPRsclg\n9OnFdgdHRl+c5hvLvvweeyapNRUPrspLamF7WqsXtL9k3VTleql4jP8OEL4NS7p046vX6M6H9+md\nX/ixvvyhV3HBWQVGus7Q//zak/qnh57XQx//OS3qapnx+zHSdXbyxaLO7e3Q958Z0Pd2Dmhn34gk\naUF7SpeunKfLVs/Xpavm6ZIV8xgJQ02UG28Ojec0NPHSx/Gpbdmp16VHVsfGs8rkTt72wKRSV/OK\n4NRZDk8tCXUEU3oEKcw26xd36AP/Z6u625K646YrtWphc18QxUhXHTy6b1D/9NDzet+r19QkcOHs\nJWIxPXd0XKsXtut9V7Xr+HhWu/pHte/ouB7fP6Tv7ij1UYuZdE5vhzYs7dKGJZ26YGmnzl/SpWXd\nLYyIzVHZfPFlAWkqKE3kNDSe1fGK18MTpfA0nMmrcIp2B1JpXVRbKq6WVHzqNjBLulu0rrfjJbeD\nqWx70MpiczSpy9cs0Jc/9CrdeNvD+vUv/Fi3f+BybVhCE1VGuqqUKxT11s/+UMOZnO77f95Qs4Xc\njHTVx3g2r/2DE+pqTeqpg8PacXhY+wcnpva3p+Ja29uutT0dWtvTrnN627V6YbuWz2tVT0eKQNaA\ncoWixicLGsvmNZ7Na3SyoLHJvEYyeY1N5jWWLT0vPUo3Hx7J5DU8kdNwphSsjo1lT7kGSiqNPLVU\n3DevNXhe/tlW8boUrhJTr5Nx498bIFBel7vj8LDed9vDGpss6HPvurRpl+Yw0lVjtz6wRzv7RvR3\nN27myrlZoC2VmGquuqSrRW/csEiZXEF9wxkdGspMLUb+0e4j+ubjB1U5gNGSjGnZvFatmN+m5fNK\ntw4pPdJa3NWiRZ0tWtCeYqqngrtrMl/URLagTL6giWxBE7mCMrmiMrmCMrnS64ls5fOixnN5TWQL\nGs++uH88m9d4eVu2FLJGM/lTNtU8UdxM6WRMLcm4WpIxtSRKQWnF/DatX9RZClXBDYvLgamtIkgx\n8gTUzoYlXfr6R16rD/7DVn3g9q36k1++UDe+ek3UZUWG9FCFvUfG9Fff3aVrL1qiN21cHHU5OEst\nybhWL2x/2e0/8oXi1L3cjo9nNTie0+B4Vs/2j+qR546dfFGzSfNak1rYkdaC9pQWtqdech+38vPy\nWpy2VOlKsrZ06Q/3dCK8kRF3V67gyhZKAWgiW9BkvhR6JnKlkFMOPuO5giaC0FMOPOXnJwajymA1\nkXv5d1SNRMyUjMeUSsRKP+OmVKL0uiURU1dLUqmEKRWPK52MKRWPKZ2IKZko/Uwn4sHP4JxkXIkY\nI05AI1nS3aJ/+Y1X67e/8pg+8fXt2jMwpv/51o1z8i+uhK5puLv+6O4nlI7H9Ce/fGHU5aAOEvGY\nFnW1nHKdXr5Y1Ggmr+GKqaqxYJprbDKv/uHSlWjlRdWnulfciWJW6uicTpYCRzJmisdNyVhMibgp\nZqXwELNSyDOZzKSiu9wl9xef54tFFYqlcFUouvLFoibzRWXzRWULRZ3NKoJE7MUAlHpJMIqpNZVQ\nd2ty6nUiCEzJREzJWEzJRClMvfiwqWOTiRdfM6oEzA3t6YS+8N5X6s/veVpf/OFePX90TJ9556Xq\nbktGXVqoCF3TuOvRA3rw2aP6s7ddpMUsnp+TErGY5rWlNK+tukZ/uUJxakQomy+Hn4Img+f5QlH5\noitXKCpfcOWCwFQsSgUvhaaie2nK012FIGBJLpdPhS+TpkJZKpFQzKSYmWIxU9xKAS4RCx7x2NTP\nVLz8sxTuyoGq8mcyQSACUFvxmOmP37pRa3ra9clvbNfPffp7+qNfvEBv27R8zoxOE7pO4+jopP7s\nm0/plavn611XrJr+BECaGt3paplbf4MDgGq858rVunTVPP3h3U/qd/75Z/rXbfv1qbddpHPmwK3e\nuCvlKTzwzIB+7Qs/1thkXn/+KxcrNgfnngEAqIcLl3Xrq795lf7sbRfpiQNDuvYzP9Cn73tGYye5\neXozqSp0mdkWM9tpZrvN7GMn2W9m9tlg/+Nmdlm15zaafUfH9aEvbdONtz2sYtH19++7fOoqOAAA\nUBvxmOk9V67Wf/7u1XrLxUv02e/u0uY/+45+558f0wPPDJy2L95sNe30opnFJX1e0psk7Ze01cy+\n4e5PVRx2raT1weNVkv5W0quqPLchDE3k9HcP7NGtP9ijRMz0P7Zs0Adeu0bpRDzq0gAAaFq9nWl9\n5vpL9b6r1uhfH9mvf//ZQd390wNa3JXWdZuW6/Xre3X+ks6muI9jNWu6rpC02933SJKZfUXSdZIq\ng9N1kr7kpU6rPzGzeWa2VNKaKs4N3e7+ET11aEQ7Dw9r5+ERPX1oRAeOlxpnvm3TMn3s2gu0pJtF\n8wAAhOXSVfN16ar5+sRbN+r+Hf2669EDuu2He3XrA3skST0dKZ2/pFPnL+7SygWtmteW1LzWlLrb\nSi16OtMJJU64WrrRlgZVE7qWS3qh4vV+lUazpjtmeZXnhu6/fvlRPdM3qkTMtK63XZetnq93vWqV\nXntujy5ZOS/q8gAAmLNaknFde/FSXXvxUg2N5/TkwSHtOPziQMmdD++rujdgWyqup/50S50rrl7D\nXL1oZjdLujl4OWpmO8P43Gcl3RfGB51aj6Qj0ZbQ1Ph+64vvt374buuL77eO3h11ARXsU6F8zOpq\nDqomdB2QtLLi9YpgWzXHJKs4V5Lk7rdKurWKepqKmW2r5n5NODt8v/XF91s/fLf1xfeLKFRz9eJW\nSevNbK2ZpSRdL+kbJxzzDUk3BlcxXilpyN0PVXkuAABA05t2pMvd82b2UUn3SopLus3dt5vZh4P9\nt0i6R9JbJO2WNC7p/ac7ty6/CQAAQAOrak2Xu9+jUrCq3HZLxXOX9JFqz8VLzLkp1ZDx/dYX32/9\n8N3WF98vQmd+NnfCBQAAwBnhNkAAAAAhIHRFZLbdHmm2MbPbzKzfzJ6MupZmY2Yrzex+M3vKzLab\n2W9HXVMzMbMWM3vYzH4WfL//K+qampGZxc3sp2b271HXgrmD0BWBitsjXStpo6QbzGxjtFU1ndsl\nNU5HvOaSl/S77r5R0pWSPsK/vzU1KemN7n6JpE2StgRXhaO2flvS01EXgbmF0BWNqVsruXtWUvn2\nSKgRd39A0rGo62hG7n7I3R8Nno+o9AfX8mirah5eMhq8TAYPFt/WkJmtkPSLkr4YdS2YWwhd0TjV\nbZOAWcXM1ki6VNJD0VbSXIKpr8ck9Uu6z935fmvrM5L+QFIx6kIwtxC6AJwVM+uQdJek/+7uw1HX\n00zcveDum1S6i8cVZnZR1DU1CzN7q6R+d38k6low9xC6olHNrZWAhmVmSZUC15fd/atR19Os3P24\npPvF+sRaeo2kXzaz51Ra2vFGM/unaEvCXEHoiga3R8KsZWYm6e8lPe3un466nmZjZr1mNi943irp\nTZJ2RFtV83D3j7v7Cndfo9L/e//T3d8TcVmYIwhdEXD3vKTy7ZGelvQv3B6ptszsTkk/lnS+me03\nsw9GXVMTeY2k96o0QvBY8HhL1EU1kaWS7jezx1X6C9p97k5bA6AJ0JEeAAAgBIx0AQAAhIDQBQAA\nEAJCFwAAQAgIXQAAACEgdAEAAISA0AUAABACQheAGTGzQtCra7uZ/czMftfMYsG+zWb22dOcu8bM\n3hVetS/77IngHocNwczeaWa7zYy+XEATInQBmKkJd9/k7heq1D39WkmflCR33+buv3Wac9dIiiR0\nBZ4N7nFYNTOL16sYd/9nSTfV6/0BRIvQBaBm3L1f0s2SPmolV5dHbczsDRUd7H9qZp2S/rek1wXb\nficYffqBmT0aPK4Kzr3azL5nZv/XzHaY2ZeD2xHJzC43sweDUbaHzazTzOJm9pdmttXMHjez36im\nfjP7mpk9Eoza3VyxfdTM/j8z+5mkV5/iMy8Mnj8WfOb64Nz3VGz/Qjm0mdmW4Hf8mZl9t4b/GAA0\nqETUBQBoLu6+JwgWi07Y9XuSPuLuPzKzDkkZSR+T9Hvu/lZJMrM2SW9y90wQWu6UtDk4/1JJF0o6\nKOlHkl5jZg9L+mdJ73T3rWbWJWlC0gclDbn75WaWlvQjM/sPd987TfkfcPdjwT0Pt5rZXe5+VFK7\npIfc/XeD+6XuOMlnfljSX7n7l4Nj4mZ2gaR3SnqNu+fM7G8kvdvMviXp7yS93t33mtmCM/6iAcw6\nhC4AYfmRpE+b2ZclfdXd9weDVZWSkj5nZpskFSSdV7HvYXffL0nBOqw1koYkHXL3rZLk7sPB/jdL\neoWZvSM4t1vSeknTha7fMrO3B89XBuccDWq5K9h+/ik+88eS/sjMVgS/3y4z+zlJr1QpwElSq6R+\nSVdKeqAcAt392DR1AWgChC4ANWVm61QKKf2SLihvd/f/bWbflPQWlUaefuEkp/+OpD5Jl6i0/CFT\nsW+y4nlBp///l0n6b+5+7xnUfbWkn5f0ancfN7PvSWoJdmfcvXC68939DjN7SNIvSronmNI0Sf/g\n7h8/4bN+qdq6ADQP1nQBqBkz65V0i6TPubufsO8cd3/C3f9C0lZJGySNSOqsOKxbpVGkoqT3Sppu\n0fpOSUvN7PLgMzrNLCHpXkm/aWbJYPt5ZtY+zXt1SxoMAtcGlUajqv7MIGzucffPSvq6pFdI+q6k\nd5jZouDYBWa2WtJPJL3ezNaWt09TG4AmwEgXgJlqDab7kpLykv5R0qdPctx/N7NrJBUlbZf0reB5\nIVigfrukv5F0l5ndKOnbksZO98HunjWzd0r662Ad1oRKo1VfVGn68dFgwf2ApLdN83t8W9KHzexp\nlYLVT87wM39d0nvNLCfpsKT/N1gf9seS/sNKbTRyKq1r+0mwUP+rwfZ+la78BNDE7IS/jALAnGBm\nayT9u7tfFHEpLxFMc05dXACgeTC9CGCuKkjqtgZrjqrSaN9g1LUAqD1GugAAAELASBcAAEAICF0A\nAAAhIHQBAACEgNAFAAAQAkIXAABACP5/tv9GF++uli8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(des['des_ra'], des['des_dec'])\n", ")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Given the graph above, we use 0.8 arc-second radius\n", "master_catalogue = merge_catalogues(master_catalogue, des, \"des_ra\", \"des_dec\", radius=0.8*u.arcsec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cleaning\n", "\n", "When we merge the catalogues, astropy masks the non-existent values (e.g. when a row comes only from a catalogue and has no counterparts in the other, the columns from the latest are masked for that row). We indicate to use NaN for masked values for floats columns, False for flag columns and -1 for ID columns." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "for col in master_catalogue.colnames:\n", " if \"m_\" in col or \"merr_\" in col or \"f_\" in col or \"ferr_\" in col or \"stellarity\" in col:\n", " master_catalogue[col].fill_value = np.nan\n", " elif \"flag\" in col:\n", " master_catalogue[col].fill_value = 0\n", " elif \"id\" in col:\n", " master_catalogue[col].fill_value = -1\n", " \n", "master_catalogue = master_catalogue.filled()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<Table length=10>\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
idxvhs_idradecvhs_stellaritym_vista_jmerr_vista_jm_ap_vista_jmerr_ap_vista_jm_vista_hmerr_vista_hm_ap_vista_hmerr_ap_vista_hm_vista_ksmerr_vista_ksm_ap_vista_ksmerr_ap_vista_ksf_vista_jferr_vista_jflag_vista_jf_ap_vista_jferr_ap_vista_jf_vista_hferr_vista_hflag_vista_hf_ap_vista_hferr_ap_vista_hf_vista_ksferr_vista_ksflag_vista_ksf_ap_vista_ksferr_ap_vista_ksvhs_flag_cleanedvhs_flag_gaiaflag_mergedsimes_idf_irac_i1ferr_irac_i1f_ap_irac_i1ferr_ap_irac_i1simes_stellarityf_irac_i2ferr_irac_i2f_ap_irac_i2ferr_ap_irac_i2m_irac_i1merr_irac_i1flag_irac_i1m_ap_irac_i1merr_ap_irac_i1m_irac_i2merr_irac_i2flag_irac_i2m_ap_irac_i2merr_ap_irac_i2servs_flag_cleanedservs_flag_gaiades_iddes_stellaritym_decam_gmerr_decam_gm_ap_decam_gmerr_ap_decam_gm_decam_rmerr_decam_rm_ap_decam_rmerr_ap_decam_rm_decam_imerr_decam_im_ap_decam_imerr_ap_decam_im_decam_zmerr_decam_zm_ap_decam_zmerr_ap_decam_zm_decam_ymerr_decam_ym_ap_decam_ymerr_ap_decam_yf_decam_gferr_decam_gflag_decam_gf_ap_decam_gferr_ap_decam_gf_decam_rferr_decam_rflag_decam_rf_ap_decam_rferr_ap_decam_rf_decam_iferr_decam_iflag_decam_if_ap_decam_iferr_ap_decam_if_decam_zferr_decam_zflag_decam_zf_ap_decam_zferr_ap_decam_zf_decam_yferr_decam_yflag_decam_yf_ap_decam_yferr_ap_decam_ydes_flag_cleaneddes_flag_gaia
degdeg
047324026806874.0205586698-52.54682677370.9nannannannan10.52280.00033477212.08460.000542435nannannannannannanFalsenannan224332.069.1696False53230.426.594nannanFalsenannanFalse0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
147324107315572.5319041476-54.19919244010.993865nannannannan12.42340.00078128412.27970.00054654710.71570.00028347412.11130.000581437nannanFalsenannan38960.228.0353False44477.022.3892187819.049.0375False51937.127.8135False0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
247324026807574.0224515147-52.54760322090.993865nannannannan11.25010.00045223212.14020.00055731712.06470.00069449611.97620.00057904nannanFalsenannan114801.047.8169False50571.625.958854215.634.6793False58817.631.3684False0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
347324026807474.0222147308-52.54675144490.9nannannannan10.68360.00031099212.15970.00056267nannannannannannanFalsenannan193452.055.4113False49671.125.7414nannanFalsenannanFalse0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
447324107315672.5325882644-54.19966538060.993865nannannannan14.32910.0032427812.36840.0005702211.50110.00042104912.23850.000617738nannanFalsenannan6735.1920.1161False40986.821.525991112.035.3332False46193.926.2824False0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
547326160659369.8075179383-54.17589064080.993865nannannannan12.50020.0013082412.02440.00057471912.00120.0005851611.93610.000579327nannanFalsenannan36300.243.7394False56263.829.782457480.430.9792False61033.932.5665False0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
647319363110374.0790931604-52.37970588280.9nannannannan11.96290.0005574812.180.000584537nannannannannannanFalsenannan59542.130.5724False48753.426.2478nannanFalsenannanFalse2False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
747319362681372.5373778649-52.4134958390.99386511.23080.00031751811.930.00052669810.61990.00026546512.17890.000585264nannannannan116862.034.1757False61376.429.7741205136.050.1564False48802.426.3069nannanFalsenannanFalse0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
847326160660169.8080872881-54.17648649780.9nannannannan11.05840.00031887812.0670.00058775nannannannannannanFalsenannan136980.040.2308False54098.129.2853nannanFalsenannanFalse0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
947326160659869.8096965887-54.17591484970.9nannannannan11.52380.00063982912.09720.000596377nannannannannannanFalsenannan89221.352.5785False52616.228.9012nannanFalsenannanFalse0False-1nannannannannannannannannannannanFalsenannannannanFalsenannanFalse0-1nannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "master_catalogue[:10].show_in_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## III - Merging flags and stellarity\n", "\n", "Each pristine catalogue contains a flag indicating if the source was associated to a another nearby source that was removed during the cleaning process. We merge these flags in a single one." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "flag_cleaned_columns = [column for column in master_catalogue.colnames\n", " if 'flag_cleaned' in column]\n", "\n", "flag_column = np.zeros(len(master_catalogue), dtype=bool)\n", "for column in flag_cleaned_columns:\n", " flag_column |= master_catalogue[column]\n", " \n", "master_catalogue.add_column(Column(data=flag_column, name=\"flag_cleaned\"))\n", "master_catalogue.remove_columns(flag_cleaned_columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each pristine catalogue contains a flag indicating the probability of a source being a Gaia object (0: not a Gaia object, 1: possibly, 2: probably, 3: definitely). We merge these flags taking the highest value." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "flag_gaia_columns = [column for column in master_catalogue.colnames\n", " if 'flag_gaia' in column]\n", "\n", "master_catalogue.add_column(Column(\n", " data=np.max([master_catalogue[column] for column in flag_gaia_columns], axis=0),\n", " name=\"flag_gaia\"\n", "))\n", "master_catalogue.remove_columns(flag_gaia_columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each prisitine catalogue may contain one or several stellarity columns indicating the probability (0 to 1) of each source being a star. We merge these columns taking the highest value. We keep trace of the origin of the stellarity." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "vhs_stellarity, simes_stellarity, des_stellarity\n" ] } ], "source": [ "stellarity_columns = [column for column in master_catalogue.colnames\n", " if 'stellarity' in column]\n", "\n", "print(\", \".join(stellarity_columns))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# We create an masked array with all the stellarities and get the maximum value, as well as its\n", "# origin. Some sources may not have an associated stellarity.\n", "stellarity_array = np.array([master_catalogue[column] for column in stellarity_columns])\n", "stellarity_array = np.ma.masked_array(stellarity_array, np.isnan(stellarity_array))\n", "\n", "max_stellarity = np.max(stellarity_array, axis=0)\n", "max_stellarity.fill_value = np.nan\n", "\n", "no_stellarity_mask = max_stellarity.mask\n", "\n", "master_catalogue.add_column(Column(data=max_stellarity.filled(), name=\"stellarity\"))\n", "\n", "stellarity_origin = np.full(len(master_catalogue), \"NO_INFORMATION\", dtype=\"S20\")\n", "stellarity_origin[~no_stellarity_mask] = np.array(stellarity_columns)[np.argmax(stellarity_array, axis=0)[~no_stellarity_mask]]\n", "\n", "master_catalogue.add_column(Column(data=stellarity_origin, name=\"stellarity_origin\"))\n", "\n", "master_catalogue.remove_columns(stellarity_columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IV - Adding E(B-V) column" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(\n", " ebv(master_catalogue['ra'], master_catalogue['dec'])\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## V - Adding HELP unique identifiers and field columns" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(Column(gen_help_id(master_catalogue['ra'], master_catalogue['dec']),\n", " name=\"help_id\"))\n", "master_catalogue.add_column(Column(np.full(len(master_catalogue), \"AKARI-SEP\", dtype='" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(specz['ra'] * u.deg, specz['dec'] * u.deg)\n", ")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue = specz_merge(master_catalogue, specz, radius=1. * u.arcsec)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## VII Wavelength domain coverage\n", "\n", "We add a binary `flag_optnir_obs` indicating that a source was observed in a given wavelength domain:\n", "\n", "- 1 for observation in optical;\n", "- 2 for observation in near-infrared;\n", "- 4 for observation in mid-infrared (IRAC).\n", "\n", "It's an integer binary flag, so a source observed both in optical and near-infrared by not in mid-infrared would have this flag at 1 + 2 = 3.\n", "\n", "*Note 1: The observation flag is based on the creation of multi-order coverage maps from the catalogues, this may not be accurate, especially on the edges of the coverage.*\n", "\n", "*Note 2: Being on the observation coverage does not mean having fluxes in that wavelength domain. For sources observed in one domain but having no flux in it, one must take into consideration de different depths in the catalogue we are using.*" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "simes_moc = MOC(filename=\"../../dmu0/dmu0_SIMES/data/SEP_catalog7.2_mJy_HELP-coverage_MOC.fits\")\n", "vhs_moc = MOC(filename=\"../../dmu0/dmu0_VISTA-VHS/data/VHS_AKARI-SEP_MOC.fits\")\n", "des_moc = MOC(filename=\"../../dmu0/dmu0_DES/data/DES-DR1_AKARI-SEP_MOC.fits\")" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "was_observed_optical =inMoc(\n", " master_catalogue['ra'], master_catalogue['dec'],\n", " des_moc\n", ")\n", "\n", "was_observed_nir = inMoc(\n", " master_catalogue['ra'], master_catalogue['dec'],\n", " vhs_moc\n", ")\n", "\n", "was_observed_mir = inMoc(\n", " master_catalogue['ra'], master_catalogue['dec'],\n", " simes_moc\n", ")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(\n", " Column(\n", " 1 * was_observed_optical + 2 * was_observed_nir + 4 * was_observed_mir,\n", " name=\"flag_optnir_obs\")\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## VIII Wavelength domain detection\n", "\n", "We add a binary `flag_optnir_det` indicating that a source was detected in a given wavelength domain:\n", "\n", "- 1 for detection in optical;\n", "- 2 for detection in near-infrared;\n", "- 4 for detection in mid-infrared (IRAC).\n", "\n", "It's an integer binary flag, so a source detected both in optical and near-infrared by not in mid-infrared would have this flag at 1 + 2 = 3.\n", "\n", "*Note 1: We use the total flux columns to know if the source has flux, in some catalogues, we may have aperture flux and no total flux.*\n", "\n", "To get rid of artefacts (chip edges, star flares, etc.) we consider that a source is detected in one wavelength domain when it has a flux value in **at least two bands**. That means that good sources will be excluded from this flag when they are on the coverage of only one band." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# SpARCS is a catalogue of sources detected in r (with fluxes measured at \n", "# this prior position in the other bands). Thus, we are only using the r\n", "# CFHT band.\n", "# Check to use catalogue flags from HSC and PanSTARRS.\n", "nb_optical_flux = (\n", " 1 * ~np.isnan(master_catalogue['f_decam_g']) +\n", " 1 * ~np.isnan(master_catalogue['f_decam_r']) + \n", " 1 * ~np.isnan(master_catalogue['f_decam_i']) +\n", " 1 * ~np.isnan(master_catalogue['f_decam_z']) +\n", " 1 * ~np.isnan(master_catalogue['f_decam_y']) \n", ")\n", "\n", "nb_nir_flux = (\n", " 1 * ~np.isnan(master_catalogue['f_vista_j']) +\n", " 1 * ~np.isnan(master_catalogue['f_vista_h']) +\n", " 1 * ~np.isnan(master_catalogue['f_vista_ks'])\n", ")\n", "\n", "nb_mir_flux = (\n", " 1 * ~np.isnan(master_catalogue['f_irac_i1']) +\n", " 1 * ~np.isnan(master_catalogue['f_irac_i2']) \n", ")" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "has_optical_flux = nb_optical_flux >= 2\n", "has_nir_flux = nb_nir_flux >= 2\n", "has_mir_flux = nb_mir_flux >= 2\n", "\n", "master_catalogue.add_column(\n", " Column(\n", " 1 * has_optical_flux + 2 * has_nir_flux + 4 * has_mir_flux,\n", " name=\"flag_optnir_det\")\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IX - Cross-identification table\n", "\n", "We are producing a table associating to each HELP identifier, the identifiers of the sources in the pristine catalogues. This can be used to easily get additional information from them.\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['vhs_id', 'simes_id', 'des_id', 'help_id', 'specz_id']\n" ] } ], "source": [ "id_names = []\n", "for col in master_catalogue.colnames:\n", " if '_id' in col:\n", " id_names += [col]\n", " if '_intid' in col:\n", " id_names += [col]\n", " \n", "print(id_names)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue[id_names].write(\n", " \"{}/master_list_cross_ident_akari-sep{}.fits\".format(OUT_DIR, SUFFIX), overwrite=True)\n", "id_names.remove('help_id')\n", "master_catalogue.remove_columns(id_names)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## X - Adding HEALPix index\n", "\n", "We are adding a column with a HEALPix index at order 13 associated with each source." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(Column(\n", " data=coords_to_hpidx(master_catalogue['ra'], master_catalogue['dec'], order=13),\n", " name=\"hp_idx\"\n", "))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## XI - Saving the catalogue" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": true }, "outputs": [], "source": [ "columns = [\"help_id\", \"field\", \"ra\", \"dec\", \"hp_idx\"]\n", "\n", "bands = [column[5:] for column in master_catalogue.colnames if 'f_ap' in column]\n", "for band in bands:\n", " columns += [\"f_ap_{}\".format(band), \"ferr_ap_{}\".format(band),\n", " \"m_ap_{}\".format(band), \"merr_ap_{}\".format(band),\n", " \"f_{}\".format(band), \"ferr_{}\".format(band),\n", " \"m_{}\".format(band), \"merr_{}\".format(band),\n", " \"flag_{}\".format(band)] \n", " \n", "columns += [\"stellarity\", \"stellarity_origin\", \"flag_cleaned\", \"flag_merged\", \"flag_gaia\", \"flag_optnir_obs\", \n", " \"flag_optnir_det\", \"ebv\", 'zspec_association_flag', 'zspec_qual', 'zspec']" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Missing columns: set()\n" ] } ], "source": [ "# We check for columns in the master catalogue that we will not save to disk.\n", "print(\"Missing columns: {}\".format(set(master_catalogue.colnames) - set(columns)))" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue[columns].write(\"{}/master_catalogue_akari-sep{}.fits\".format(OUT_DIR, SUFFIX), overwrite=True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python (herschelhelp_internal)", "language": "python", "name": "helpint" }, "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }