{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# HDF-N master catalogue\n",
    "\n",
    "This notebook presents the merge of the various pristine catalogues to produce the HELP master catalogue on HDF-N."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This notebook was run with herschelhelp_internal version: \n",
      "1407877 (Mon Feb 4 12:56:29 2019 +0000)\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": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/_collections_abc.py:841: MatplotlibDeprecationWarning: \n",
      "The examples.directory rcparam was deprecated in Matplotlib 3.0 and will be removed in 3.2. In the future, examples will be found relative to the 'datapath' directory.\n",
      "  self[key] = other[key]\n",
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/_collections_abc.py:841: MatplotlibDeprecationWarning: \n",
      "The savefig.frameon rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n",
      "  self[key] = other[key]\n",
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/_collections_abc.py:841: MatplotlibDeprecationWarning: \n",
      "The text.latex.unicode rcparam was deprecated in Matplotlib 3.0 and will be removed in 3.2.\n",
      "  self[key] = other[key]\n",
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/_collections_abc.py:841: MatplotlibDeprecationWarning: \n",
      "The verbose.fileo rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n",
      "  self[key] = other[key]\n",
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/_collections_abc.py:841: MatplotlibDeprecationWarning: \n",
      "The verbose.level rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3.\n",
      "  self[key] = other[key]\n",
      "/Users/rs548/miniconda3/envs/herschelhelp_internal/lib/python3.6/site-packages/seaborn/apionly.py:9: UserWarning: As seaborn no longer sets a default style on import, the seaborn.apionly module is deprecated. It will be removed in a future version.\n",
      "  warnings.warn(msg, UserWarning)\n"
     ]
    }
   ],
   "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": {},
   "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": {},
   "outputs": [],
   "source": [
    "#threed = Table.read(\"{}/CANDELS-3D-HST.fits\".format(TMP_DIR))       # 1.1\n",
    "#acs =   Table.read(\"{}/ACS.fits\".format(TMP_DIR))                   # 1.2 GOODS-ACS\n",
    "hawaii =  Table.read(\"{}/Hawaii.fits\".format(TMP_DIR))              # 1.3 Hawaii-HDFN\n",
    "ultra =  Table.read(\"{}/Ultradeep.fits\".format(TMP_DIR))            # 1.4 Ultradeep_Ks_GOODS-N\n",
    "ps1 = Table.read(\"{}/PS1.fits\".format(TMP_DIR))                     # 1.5 PanSTARRS\n",
    "candels_gn =  Table.read(\"{}/CANDELS-GOODS-N.fits\".format(TMP_DIR)) # 1.6 CANDELS-GOODS-N"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## II - Merging tables\n",
    "\n",
    "We first merge the optical catalogues and then add the infrared ones. We start with PanSTARRS because it coevrs the whole field.\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": [
    "### PanSTARRS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "master_catalogue = ps1\n",
    "master_catalogue['ps1_ra'].name = 'ra'\n",
    "master_catalogue['ps1_dec'].name = 'dec'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### CANDELS-GOODS-N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nb_merge_dist_plot(\n",
    "    SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n",
    "    SkyCoord(candels_gn['candels-gn_ra'], candels_gn['candels-gn_dec'])\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Given the graph above, we use 0.8 arc-second radius\n",
    "master_catalogue = merge_catalogues(master_catalogue, candels_gn, \"candels-gn_ra\", \"candels-gn_dec\", radius=0.8*u.arcsec)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Ultradeep"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAAFzCAYAAAAaBYxDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeXzU133v/9eZ0b5LaN8FCIRYDQLb8b5jO97qLI6TNM1S6jZO0va2ventfbS3v6b3pr/29ja5cULdxE2b2nEWxzZ2cGIbvNssAiQWSSAQaN/3BS2jOfcPCarI2AzMjL4j6f18PPSwZr5fzXwYw+g95/s55xhrLSIiIiJyeVxOFyAiIiIynylMiYiIiPhBYUpERETEDwpTIiIiIn5QmBIRERHxg8KUiIiIiB/CnHri1NRUW1hY6NTTi4iIiPjswIEDXdbatAsdcyxMFRYWUl5e7tTTi4iIiPjMGFP/Qcd0mU9ERETEDwpTIiIiIn5QmBIRERHxg8KUiIiIiB8UpkRERET8oDAlIiIi4geFKRERERE/KEyJiIiI+MGnMGWM2WqMOW6MOWmM+foFjicaY14wxlQaY44ZYz4f+FJFREREQs9Fw5Qxxg08BtwJlAKfMsaUzjrty0CVtXY9cCPwv40xEQGuVURERCTk+DIytQU4aa2ts9aOA08D9806xwLxxhgDxAE9gCeglYqIiIiEIF/CVA7QOON20/R9M30HWAW0AEeAr1lrvbMfyBizzRhTbowp7+zsvMySRUREREKHL2HKXOA+O+v2HUAFkA1sAL5jjEl43w9Z+7i1tsxaW5aWdsGNl0VERETmlTAfzmkC8mbczmVqBGqmzwPftNZa4KQx5jRQAuwLSJWLxFN7G3w67+Er84NciYiIiPjKl5Gp/UCxMaZouqn8IWDHrHMagFsAjDEZwEqgLpCFioiIiISii45MWWs9xphHgV8DbuAJa+0xY8wj08e3A38D/NAYc4Spy4L/1VrbFcS6RUREREKCL5f5sNbuBHbOum/7jO9bgNsDW5qIiIhI6NMK6CIiIiJ+UJgSERER8YPClIiIiIgfFKZERERE/KAwJSIiIuIHhSkRERERPyhMiYiIiPhBYUpERETEDwpTIiIiIn5QmBIRERHxg8KUiIiIiB8UpkRERET8oDAlIiIi4geFKRERERE/KEyJiIiI+EFhSkRERMQPClMiIiIiflCYEhEREfGDwpSIiIiIHxSmRERERPygMCUiIiLiB4UpERERET8oTImIiIj4QWFKRERExA8KUyIiIiJ+UJgSERER8YPClIiIiIgfFKZERERE/KAwJSIiIuIHhSkRERERP/gUpowxW40xx40xJ40xX7/A8T81xlRMfx01xkwaY1ICX66IiIhIaLlomDLGuIHHgDuBUuBTxpjSmedYa//eWrvBWrsB+HPgDWttTzAKFhEREQklvoxMbQFOWmvrrLXjwNPAfR9y/qeAHweiOBEREZFQ50uYygEaZ9xumr7vfYwxMcBW4JkPOL7NGFNujCnv7Oy81FpFREREQo4vYcpc4D77AefeA7zzQZf4rLWPW2vLrLVlaWlpvtYoIiIiErJ8CVNNQN6M27lAywec+xC6xCciIiKLiC9haj9QbIwpMsZEMBWYdsw+yRiTCNwAPB/YEkVERERCV9jFTrDWeowxjwK/BtzAE9baY8aYR6aPb58+9QHgZWvtcNCqFREREQkxFw1TANbancDOWfdtn3X7h8APA1WYiIiIyHygFdBFRERE/KAwJSIiIuIHhSkRERERPyhMiYiIiPhBYUpERETEDwpTIiIiIn5QmBIRERHxg8KUiIiIiB8UpkRERET8oDAlIiIi4geFKRERERE/KEyJiIiI+EFhSkRERMQPClMiIiIiflCYEhEREfGDwpSIiIiIHxSmRERERPygMCUiIiLiB4UpERERET8oTImIiIj4QWFKRERExA8KUyIiIiJ+UJgSERER8YPClIiIiIgfFKZERERE/KAwJSIiIuIHhSkRERERPyhMiYiIiPghzOkC5NI9tbfhouc8fGX+HFQiIiIiGpkSERER8YNPYcoYs9UYc9wYc9IY8/UPOOdGY0yFMeaYMeaNwJYpIiIiEpouepnPGOMGHgNuA5qA/caYHdbaqhnnJAHfBbZaaxuMMenBKlhEREQklPgyMrUFOGmtrbPWjgNPA/fNOudh4BfW2gYAa21HYMsUERERCU2+hKkcoHHG7abp+2ZaASQbY143xhwwxvx2oAoUERERCWW+zOYzF7jPXuBxNgG3ANHAe8aYPdbaE7/xQMZsA7YB5OdrtpmIiIjMf76MTDUBeTNu5wItFzjnV9baYWttF/AmsH72A1lrH7fWlllry9LS0i63ZhER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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nb_merge_dist_plot(\n",
    "    SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n",
    "    SkyCoord(ultra['ultradeep_ra'], ultra['ultradeep_dec'])\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Given the graph above, we use 0.8 arc-second radius\n",
    "master_catalogue = merge_catalogues(master_catalogue, ultra, \"ultradeep_ra\", \"ultradeep_dec\", radius=0.8*u.arcsec)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Hawaii"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Zx9/yFp7zBjzHHAI8AHftdYeWcrCRUREREKBPz1TWGu3A9vPuO+hM25/Hfh68EoTERERCX3aAV1EREQkAApTIiIiIgFQmBIREREJgMKUiIiISAAUpkREREQCoDAlIiIiEgCFKREREZEAKEyJiIiIBEBhSkRERCQAClMiIiIiAVCYEhEREQmAwpSIiIhIABSmRERERAKgMCUiIiISAIUpERERkQAoTImIiIgEQGFKREREJAAKUyIiIiIBUJgSERERCYDClIiIiEgAFKZEREREAqAwJSIiIhIAhSkRERGRAChMiYiIiARAYUpEREQkAApTIiIiIgFQmBIREREJgMKUiIiISAAUpkREREQCoDAlIiIiEgCFKREREZEA+BWmjDG3GWOqjTG1xpgvnuXx640xA8aYA7N/vhz8UkVERERCT9SFLjDGuIEHgZuBZmCvMeYpa+3RMy591Vp75xLUKCIiIhKy/BmZuhyotdbWW2sngceAu5a2LBEREZHw4E+YKgCa5t1unr3vTFcaYw4aY541xmwMSnUiIiIiIe6C03yAOct99ozbbwEl1tphY8ztwJNA2TueyJj7gPsAiouLF1iqiIiISOjxZ2SqGSiad7sQaJ1/gbV20Fo7PPv1diDaGJN15hNZax+21lZaays9Hk8AZYuIiIiEBn/C1F6gzBizyhgTA3wMeGr+BcaYXGOMmf368tnn7Ql2sSIiIiKh5oLTfNZarzHmAWAH4AYesdZWGWPun338IeB3gD8yxniBMeBj1tozpwJFREREIo4/PVNzU3fbz7jvoXlf/xvwb8EtTURERCT0aQd0ERERkQD4NTIl4evR3Y1+X3vPNq2wFBERWSiNTImIiIgEQCNTEWJq2seek73ERbtJS4gmLT6alPhoot3KyyIiIktJYSpCvFnfw7NH2n/rvrhoF/ddu4bc1DiHqhIREYl8ClMRYNpn2VXXw6qsRD54SQH9Y1P0j07x9MFWXj3RxYcriy78JCIiIrIomgOKAIdb+hkYm+Lasiwyk2JZ40nispJ0Li1J51DzAIPjU06XKCIiErEUpsKctZbXTnTjSYplXU7ybz121ZpMfNayu77XoepEREQin8JUmKvvHqF1YJxryrJwmd8+kzorKZb1ucnsPtnD1LTPoQpFREQim8JUmHvtRDeJsVFcXJR21sevXpvF6OQ0B5v6l7kyERGR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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nb_merge_dist_plot(\n",
    "    SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n",
    "    SkyCoord(hawaii['hawaii_ra'], hawaii['hawaii_dec'])\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Given the graph above, we use 0.8 arc-second radius\n",
    "master_catalogue = merge_catalogues(master_catalogue, hawaii, \"hawaii_ra\", \"hawaii_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": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "for col in master_catalogue.colnames:\n",
    "    if col.startswith('m_'):\n",
    "        if col.startswith('m_ap_'):\n",
    "            sn5 = master_catalogue['f_{}'.format(col[5:])] / master_catalogue['ferr_{}'.format(col[5:])] > 5\n",
    "            m = (~sn5 \n",
    "                 | (master_catalogue['merr_{}'.format(col[5:])]<0)\n",
    "                 | (master_catalogue[col]>40)\n",
    "                 | (master_catalogue[col]==np.inf)\n",
    "                )\n",
    "            master_catalogue[col][m] = np.nan\n",
    "            master_catalogue['merr_{}'.format(col[5:])][m] = np.nan\n",
    "            master_catalogue['f_{}'.format(col[5:])][m] = np.nan\n",
    "            master_catalogue['ferr_{}'.format(col[5:])][m] = np.nan\n",
    "        else:\n",
    "            sn5 = master_catalogue['f_{}'.format(col[2:])] / master_catalogue['ferr_{}'.format(col[2:])] > 5\n",
    "            m = (~sn5 \n",
    "                 | (master_catalogue['merr_{}'.format(col[2:])]<0)\n",
    "                 | (master_catalogue[col]>40)\n",
    "                 | (master_catalogue[col]==np.inf)\n",
    "                )\n",
    "            master_catalogue[col][m] = np.nan\n",
    "            master_catalogue['merr_{}'.format(col[2:])][m] = np.nan\n",
    "            master_catalogue['f_{}'.format(col[2:])][m] = np.nan\n",
    "            master_catalogue['ferr_{}'.format(col[2:])][m] = np.nan\n",
    "            \n",
    "    \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] = master_catalogue[col].astype(float)\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": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<i>Table length=10</i>\n",
       "<table id=\"table4871721928-890520\" class=\"table-striped table-bordered table-condensed\">\n",
       "<thead><tr><th>idx</th><th>ps1_id</th><th>ra</th><th>dec</th><th>m_ap_gpc1_g</th><th>merr_ap_gpc1_g</th><th>m_gpc1_g</th><th>merr_gpc1_g</th><th>m_ap_gpc1_r</th><th>merr_ap_gpc1_r</th><th>m_gpc1_r</th><th>merr_gpc1_r</th><th>m_ap_gpc1_i</th><th>merr_ap_gpc1_i</th><th>m_gpc1_i</th><th>merr_gpc1_i</th><th>m_ap_gpc1_z</th><th>merr_ap_gpc1_z</th><th>m_gpc1_z</th><th>merr_gpc1_z</th><th>m_ap_gpc1_y</th><th>merr_ap_gpc1_y</th><th>m_gpc1_y</th><th>merr_gpc1_y</th><th>f_ap_gpc1_g</th><th>ferr_ap_gpc1_g</th><th>f_gpc1_g</th><th>ferr_gpc1_g</th><th>flag_gpc1_g</th><th>f_ap_gpc1_r</th><th>ferr_ap_gpc1_r</th><th>f_gpc1_r</th><th>ferr_gpc1_r</th><th>flag_gpc1_r</th><th>f_ap_gpc1_i</th><th>ferr_ap_gpc1_i</th><th>f_gpc1_i</th><th>ferr_gpc1_i</th><th>flag_gpc1_i</th><th>f_ap_gpc1_z</th><th>ferr_ap_gpc1_z</th><th>f_gpc1_z</th><th>ferr_gpc1_z</th><th>flag_gpc1_z</th><th>f_ap_gpc1_y</th><th>ferr_ap_gpc1_y</th><th>f_gpc1_y</th><th>ferr_gpc1_y</th><th>flag_gpc1_y</th><th>ps1_flag_cleaned</th><th>ps1_flag_gaia</th><th>flag_merged</th><th>candels-gn_id</th><th>candels-gn_stellarity</th><th>f_acs_f435w</th><th>ferr_acs_f435w</th><th>f_acs_f606w</th><th>ferr_acs_f606w</th><th>f_acs_f775w</th><th>ferr_acs_f775w</th><th>f_acs_f814w</th><th>ferr_acs_f814w</th><th>f_acs_f850lp</th><th>ferr_acs_f850lp</th><th>f_wfc3_f105w</th><th>ferr_wfc3_f105w</th><th>f_wfc3_f125w</th><th>ferr_wfc3_f125w</th><th>f_wfc3_f140w</th><th>ferr_wfc3_f140w</th><th>f_wfc3_f160w</th><th>ferr_wfc3_f160w</th><th>f_moircs_k</th><th>ferr_moircs_k</th><th>f_candels-wircam_k</th><th>ferr_candels-wircam_k</th><th>f_candels-irac_i1</th><th>ferr_candels-irac_i1</th><th>f_candels-irac_i2</th><th>ferr_candels-irac_i2</th><th>f_candels-irac_i3</th><th>ferr_candels-irac_i3</th><th>f_candels-irac_i4</th><th>ferr_candels-irac_i4</th><th>m_acs_f435w</th><th>merr_acs_f435w</th><th>flag_acs_f435w</th><th>m_acs_f606w</th><th>merr_acs_f606w</th><th>flag_acs_f606w</th><th>m_acs_f775w</th><th>merr_acs_f775w</th><th>flag_acs_f775w</th><th>m_acs_f814w</th><th>merr_acs_f814w</th><th>flag_acs_f814w</th><th>m_acs_f850lp</th><th>merr_acs_f850lp</th><th>flag_acs_f850lp</th><th>m_wfc3_f105w</th><th>merr_wfc3_f105w</th><th>flag_wfc3_f105w</th><th>m_wfc3_f125w</th><th>merr_wfc3_f125w</th><th>flag_wfc3_f125w</th><th>m_wfc3_f140w</th><th>merr_wfc3_f140w</th><th>flag_wfc3_f140w</th><th>m_wfc3_f160w</th><th>merr_wfc3_f160w</th><th>flag_wfc3_f160w</th><th>m_moircs_k</th><th>merr_moircs_k</th><th>flag_moircs_k</th><th>m_candels-wircam_k</th><th>merr_candels-wircam_k</th><th>flag_candels-wircam_k</th><th>m_candels-irac_i1</th><th>merr_candels-irac_i1</th><th>flag_candels-irac_i1</th><th>m_candels-irac_i2</th><th>merr_candels-irac_i2</th><th>flag_candels-irac_i2</th><th>m_candels-irac_i3</th><th>merr_candels-irac_i3</th><th>flag_candels-irac_i3</th><th>m_candels-irac_i4</th><th>merr_candels-irac_i4</th><th>flag_candels-irac_i4</th><th>candels-gn_flag_cleaned</th><th>candels-gn_flag_gaia</th><th>ultradeep_id</th><th>f_ultradeep-wircam_k</th><th>ferr_ultradeep-wircam_k</th><th>f_ultradeep-irac_i1</th><th>ferr_ultradeep-irac_i1</th><th>f_ultradeep-irac_i2</th><th>ferr_ultradeep-irac_i2</th><th>f_ultradeep-irac_i3</th><th>ferr_ultradeep-irac_i3</th><th>f_ultradeep-irac_i4</th><th>ferr_ultradeep-irac_i4</th><th>m_ultradeep-wircam_k</th><th>merr_ultradeep-wircam_k</th><th>flag_ultradeep-wircam_k</th><th>m_ultradeep-irac_i1</th><th>merr_ultradeep-irac_i1</th><th>flag_ultradeep-irac_i1</th><th>m_ultradeep-irac_i2</th><th>merr_ultradeep-irac_i2</th><th>flag_ultradeep-irac_i2</th><th>m_ultradeep-irac_i3</th><th>merr_ultradeep-irac_i3</th><th>flag_ultradeep-irac_i3</th><th>m_ultradeep-irac_i4</th><th>merr_ultradeep-irac_i4</th><th>flag_ultradeep-irac_i4</th><th>ultradeep_flag_cleaned</th><th>ultradeep_flag_gaia</th><th>hawaii_id</th><th>m_ap_mosaic_u</th><th>merr_ap_mosaic_u</th><th>m_mosaic_u</th><th>merr_mosaic_u</th><th>m_ap_suprime_b</th><th>merr_ap_suprime_b</th><th>m_suprime_b</th><th>merr_suprime_b</th><th>m_ap_suprime_v</th><th>merr_ap_suprime_v</th><th>m_suprime_v</th><th>merr_suprime_v</th><th>m_ap_suprime_r</th><th>merr_ap_suprime_r</th><th>m_suprime_r</th><th>merr_suprime_r</th><th>m_ap_suprime_ip</th><th>merr_ap_suprime_ip</th><th>m_suprime_ip</th><th>merr_suprime_ip</th><th>m_ap_suprime_zp</th><th>merr_ap_suprime_zp</th><th>m_suprime_zp</th><th>merr_suprime_zp</th><th>m_ap_quirc_hk</th><th>merr_ap_quirc_hk</th><th>m_quirc_hk</th><th>merr_quirc_hk</th><th>f_ap_mosaic_u</th><th>ferr_ap_mosaic_u</th><th>f_mosaic_u</th><th>ferr_mosaic_u</th><th>flag_mosaic_u</th><th>f_ap_suprime_b</th><th>ferr_ap_suprime_b</th><th>f_suprime_b</th><th>ferr_suprime_b</th><th>flag_suprime_b</th><th>f_ap_suprime_v</th><th>ferr_ap_suprime_v</th><th>f_suprime_v</th><th>ferr_suprime_v</th><th>flag_suprime_v</th><th>f_ap_suprime_r</th><th>ferr_ap_suprime_r</th><th>f_suprime_r</th><th>ferr_suprime_r</th><th>flag_suprime_r</th><th>f_ap_suprime_ip</th><th>ferr_ap_suprime_ip</th><th>f_suprime_ip</th><th>ferr_suprime_ip</th><th>flag_suprime_ip</th><th>f_ap_suprime_zp</th><th>ferr_ap_suprime_zp</th><th>f_suprime_zp</th><th>ferr_suprime_zp</th><th>flag_suprime_zp</th><th>f_ap_quirc_hk</th><th>ferr_ap_quirc_hk</th><th>f_quirc_hk</th><th>ferr_quirc_hk</th><th>flag_quirc_hk</th><th>hawaii_flag_cleaned</th><th>hawaii_flag_gaia</th></tr></thead>\n",
       "<thead><tr><th></th><th></th><th>deg</th><th>deg</th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th>0 galaxy, 1 star</th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead>\n",
       "<tr><td>0</td><td>182231893921992736</td><td>189.392114086992</td><td>61.86001443314525</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>11.1943998336792</td><td>0.0</td><td>12.952199935913086</td><td>0.0</td><td>10.463500022888184</td><td>0.0</td><td>12.468600273132324</td><td>0.0</td><td>12.652299880981445</td><td>0.06655099987983704</td><td>12.456000328063965</td><td>0.13014699518680573</td><td>nan</td><td>0.26212599873542786</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>120848.1667282937</td><td>0.0</td><td>23939.77286664912</td><td>0.0</td><td>False</td><td>236919.05453332164</td><td>0.0</td><td>37373.166074813445</td><td>0.0</td><td>False</td><td>31555.86196150866</td><td>1934.2397871648323</td><td>37809.407243910115</td><td>4532.206553511177</td><td>False</td><td>250726.26381485313</td><td>60532.08138740447</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>1</td><td>183141887446216712</td><td>188.744562566992</td><td>62.62164939314525</td><td>13.724499702453613</td><td>0.0006689999718219042</td><td>13.773099899291992</td><td>0.0015109999803826213</td><td>13.422100067138672</td><td>0.0002119999990100041</td><td>13.469499588012695</td><td>0.0032820000778883696</td><td>13.330499649047852</td><td>0.0010860000038519502</td><td>13.334199905395508</td><td>0.0010860000038519502</td><td>13.335200309753418</td><td>0.0015670000575482845</td><td>13.410400390625</td><td>0.003396000014618039</td><td>13.315400123596191</td><td>0.002007999923080206</td><td>13.37909984588623</td><td>0.0028979999478906393</td><td>11754.390619910007</td><td>7.242723378884883</td><td>11239.837702364997</td><td>15.6422844456594</td><td>False</td><td>15529.58939802375</td><td>3.032295434727838</td><td>14866.206626331421</td><td>44.93807159759724</td><td>False</td><td>16896.631802134416</td><td>16.900737142030508</td><td>16839.145047497703</td><td>16.84323641995519</td><td>False</td><td>16823.63649632953</td><td>24.2808881590097</td><td>15697.838030793926</td><td>49.10019390384396</td><td>False</td><td>17133.25783564564</td><td>31.686868564684083</td><td>16156.975322134032</td><td>43.12549718469189</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>2</td><td>183141894117361384</td><td>189.411629346992</td><td>62.617179493145244</td><td>14.776300430297852</td><td>0.0016659999964758754</td><td>14.845399856567383</td><td>0.0020910000894218683</td><td>13.960100173950195</td><td>0.0007350000087171793</td><td>14.010100364685059</td><td>0.0021150000393390656</td><td>13.648900032043457</td><td>0.0019259999971836805</td><td>13.708000183105469</td><td>0.0023900000378489494</td><td>13.53499984741211</td><td>0.0022430000826716423</td><td>13.585700035095215</td><td>0.0024470000062137842</td><td>13.440600395202637</td><td>0.002065999899059534</td><td>13.518400192260742</td><td>0.003488000016659498</td><td>4461.489013662292</td><td>6.845899260303617</td><td>4186.393595892483</td><td>8.062501135178042</td><td>False</td><td>9461.498621293505</td><td>6.405056346700255</td><td>9035.65944866307</td><td>17.601347367461177</td><td>False</td><td>12602.014854003668</td><td>22.35485974120827</td><td>11934.381779417632</td><td>26.270813093928364</td><td>False</td><td>13995.875192687326</td><td>28.913790547541936</td><td>13357.340161258779</td><td>30.104376472258494</td><td>False</td><td>15267.215715268363</td><td>29.051316506196112</td><td>14211.500120894432</td><td>45.65539257252542</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>3</td><td>183151896152897299</td><td>189.615264896992</td><td>62.63044883314525</td><td>15.19909954071045</td><td>0.0031159999780356884</td><td>15.246299743652344</td><td>0.00533499987795949</td><td>14.64739990234375</td><td>0.0007489999989047647</td><td>14.702500343322754</td><td>0.0020230000372976065</td><td>14.428999900817871</td><td>0.0019039999460801482</td><td>14.488699913024902</td><td>0.001221999991685152</td><td>14.329999923706055</td><td>0.0015059999423101544</td><td>14.395500183105469</td><td>0.003415999934077263</td><td>14.26830005645752</td><td>0.0036299999337643385</td><td>14.364299774169922</td><td>0.0019039999460801482</td><td>3022.4573672886936</td><td>8.67427746151601</td><td>2893.877229315028</td><td>14.21969222133911</td><td>False</td><td>5023.889043027089</td><td>3.465752427923514</td><td>4775.291226572557</td><td>8.897570410867228</td><td>False</td><td>6143.2761738941845</td><td>10.773148627253978</td><td>5814.602555031228</td><td>6.544356025673393</td><td>False</td><td>6729.767035739317</td><td>9.33470646292207</td><td>6335.777638206565</td><td>19.933954398493377</td><td>False</td><td>7123.279370241109</td><td>23.815640971390845</td><td>6520.48785496427</td><td>11.434645422949615</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>4</td><td>182771899391593788</td><td>189.939111596992</td><td>62.31082639314525</td><td>16.085800170898438</td><td>0.0038499999791383743</td><td>16.14150047302246</td><td>0.008004999719560146</td><td>15.588800430297852</td><td>0.0008459999808110297</td><td>15.639699935913086</td><td>0.0007510000141337514</td><td>15.413100242614746</td><td>0.0014260000316426158</td><td>15.475899696350098</td><td>0.0032480000518262386</td><td>15.342300415039062</td><td>0.0018139999592676759</td><td>15.409199714660645</td><td>0.0032029999420046806</td><td>15.295700073242188</td><td>0.003415999934077263</td><td>15.390399932861328</td><td>0.005320999771356583</td><td>1335.6108290844957</td><td>4.736050655377938</td><td>1268.8194014292128</td><td>9.354849647733708</td><td>False</td><td>2110.959143657128</td><td>1.6448483408772745</td><td>2014.2808582088023</td><td>1.393271170616574</td><td>False</td><td>2481.7606997561243</td><td>3.259531017637952</td><td>2342.287072482584</td><td>7.0069953451631894</td><td>False</td><td>2648.987042683648</td><td>4.42581021657946</td><td>2490.6925064816346</td><td>7.347722143602428</td><td>False</td><td>2765.1581206160067</td><td>8.699884848955307</td><td>2534.1949833255712</td><td>12.419638276548316</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>5</td><td>183251894072041815</td><td>189.40711272699198</td><td>62.70918702314525</td><td>15.549799919128418</td><td>0.005472999997437</td><td>15.602399826049805</td><td>0.0012969999806955457</td><td>15.197999954223633</td><td>0.0008609999786131084</td><td>15.262900352478027</td><td>0.001234999974258244</td><td>15.081299781799316</td><td>0.003092000028118491</td><td>15.142900466918945</td><td>0.0023590000346302986</td><td>15.054400444030762</td><td>0.001867000013589859</td><td>15.1072998046875</td><td>0.0029529999010264874</td><td>15.01550006866455</td><td>0.004273000173270702</td><td>15.101799964904785</td><td>0.002862999914214015</td><td>2188.164824640245</td><td>11.030143442914534</td><td>2084.6832146398397</td><td>2.490323227037028</td><td>False</td><td>3025.519931433044</td><td>2.3992684271201</td><td>2849.9671817908434</td><td>3.2417721548970735</td><td>False</td><td>3368.837690200968</td><td>9.593901527073518</td><td>3183.023267219594</td><td>6.915816166665272</td><td>False</td><td>3453.3438429561634</td><td>5.938268405782696</td><td>3289.122723325377</td><td>8.945800125185595</td><td>False</td><td>3579.315429285928</td><td>14.08667720805757</td><td>3305.826175139495</td><td>8.71720037920192</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>6</td><td>183071896006252444</td><td>189.600564026992</td><td>62.55973677314525</td><td>14.093700408935547</td><td>0.0017630000365898013</td><td>14.13640022277832</td><td>0.001104000024497509</td><td>13.550700187683105</td><td>0.0009330000029876828</td><td>13.590999603271484</td><td>0.0010740000288933516</td><td>13.397899627685547</td><td>0.003246000036597252</td><td>13.441399574279785</td><td>0.009352999739348888</td><td>13.340200424194336</td><td>0.0036329999566078186</td><td>13.389200210571289</td><td>0.0056940000504255295</td><td>13.287699699401855</td><td>0.00177800003439188</td><td>13.358400344848633</td><td>0.0019180000526830554</td><td>8366.038068108097</td><td>13.584630737695596</td><td>8043.404520729908</td><td>8.178707451233405</td><td>False</td><td>13794.943463452046</td><td>11.854336473455712</td><td>13292.300740168841</td><td>13.14861871275695</td><td>False</td><td>15879.62158674906</td><td>47.47493177978784</td><td>15255.982093395907</td><td>131.42160675652354</td><td>False</td><td>16746.337142868593</td><td>56.03519699053856</td><td>16007.367503916768</td><td>83.94852356865702</td><td>False</td><td>17576.003088964015</td><td>28.782437170004314</td><td>16467.96222270311</td><td>29.09136885396898</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>7</td><td>182241891931461754</td><td>189.193256176992</td><td>61.86750170314525</td><td>14.885100364685059</td><td>0.0023719999007880688</td><td>14.924699783325195</td><td>0.000910000002477318</td><td>14.346199989318848</td><td>0.0009759999811649323</td><td>14.399800300598145</td><td>0.0037410000804811716</td><td>14.163599967956543</td><td>0.004650000017136335</td><td>14.224300384521484</td><td>0.006175000220537186</td><td>14.086999893188477</td><td>0.0017529999604448676</td><td>14.157899856567383</td><td>0.004387000110000372</td><td>14.024299621582031</td><td>0.002982999896630645</td><td>14.085200309753418</td><td>0.002266000024974346</td><td>4036.0808199816106</td><td>8.817596081454909</td><td>3891.527346542994</td><td>3.2616485288740757</td><td>False</td><td>6630.098862234426</td><td>5.959989485755413</td><td>6310.734071040607</td><td>21.744192156618244</td><td>False</td><td>7844.40509005491</td><td>33.59608314001613</td><td>7417.880730690969</td><td>42.18834643921577</td><td>False</td><td>8417.827904729153</td><td>13.591194545556501</td><td>7885.696485148806</td><td>31.862759292883688</td><td>False</td><td>8918.260449542391</td><td>24.502425066534954</td><td>8431.791835146218</td><td>17.59768203849864</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>8</td><td>182711883352854935</td><td>188.335312906992</td><td>62.26186241314525</td><td>13.262399673461914</td><td>0.0010860000038519502</td><td>13.31779956817627</td><td>0.0010860000038519502</td><td>12.860300064086914</td><td>0.0010860000038519502</td><td>13.39900016784668</td><td>0.0010860000038519502</td><td>12.871899604797363</td><td>0.00595800019800663</td><td>12.920000076293945</td><td>0.0035250000655651093</td><td>13.84570026397705</td><td>0.0015200000489130616</td><td>13.44480037689209</td><td>0.0014009999576956034</td><td>12.700499534606934</td><td>0.001927000004798174</td><td>12.769200325012207</td><td>0.0030519999563694</td><td>17990.371459582857</td><td>17.99474254315522</td><td>17095.435655960067</td><td>17.099589298819858</td><td>False</td><td>26054.33388849544</td><td>26.0606642564428</td><td>15863.533602401438</td><td>15.867387932551587</td><td>False</td><td>25777.46216438129</td><td>141.4543643349406</td><td>24660.39163947438</td><td>80.06353823797694</td><td>False</td><td>10512.836119254189</td><td>14.717673911446234</td><td>15208.271228123293</td><td>19.62427637012485</td><td>False</td><td>30185.62595304812</td><td>53.574432814753266</td><td>28334.781631163314</td><td>79.6489533305299</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "<tr><td>9</td><td>183161895594883740</td><td>189.559520156992</td><td>62.63580525314525</td><td>13.067000389099121</td><td>0.0011889999732375145</td><td>13.120699882507324</td><td>0.00215999991632998</td><td>12.9576997756958</td><td>0.0010860000038519502</td><td>12.99530029296875</td><td>0.0010860000038519502</td><td>12.685500144958496</td><td>0.0021430000197142363</td><td>12.751500129699707</td><td>0.005413999781012535</td><td>12.669300079345703</td><td>0.0010860000038519502</td><td>12.73840045928955</td><td>0.0010860000038519502</td><td>12.683099746704102</td><td>0.001686000032350421</td><td>12.741399765014648</td><td>0.0040790000930428505</td><td>21537.72583806945</td><td>23.586167001556607</td><td>20498.403937312414</td><td>40.78021032683208</td><td>False</td><td>23818.811623881367</td><td>23.824598831579454</td><td>23008.053725443115</td><td>23.013643944961217</td><td>False</td><td>30605.532634339404</td><td>60.40846455273643</td><td>28800.49473398334</td><td>143.61303556011953</td><td>False</td><td>31065.61590009346</td><td>31.07316384892994</td><td>29150.084383104557</td><td>29.157166919185936</td><td>False</td><td>30673.271682901857</td><td>47.63140146108181</td><td>29069.669486151353</td><td>109.2117809271649</td><td>False</td><td>False</td><td>3</td><td>False</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>0.0</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td><td>-1</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>0</td></tr>\n",
       "</table><style>table.dataTable {clear: both; width: auto !important; margin: 0 !important;}\n",
       ".dataTables_info, .dataTables_length, .dataTables_filter, .dataTables_paginate{\n",
       "display: inline-block; margin-right: 1em; }\n",
       ".paginate_button { margin-right: 5px; }\n",
       "</style>\n",
       "<script>\n",
       "\n",
       "var astropy_sort_num = function(a, b) {\n",
       "    var a_num = parseFloat(a);\n",
       "    var b_num = parseFloat(b);\n",
       "\n",
       "    if (isNaN(a_num) && isNaN(b_num))\n",
       "        return ((a < b) ? -1 : ((a > b) ? 1 : 0));\n",
       "    else if (!isNaN(a_num) && !isNaN(b_num))\n",
       "        return ((a_num < b_num) ? -1 : ((a_num > b_num) ? 1 : 0));\n",
       "    else\n",
       "        return isNaN(a_num) ? -1 : 1;\n",
       "}\n",
       "\n",
       "require.config({paths: {\n",
       "    datatables: 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min'\n",
       "}});\n",
       "require([\"datatables\"], function(){\n",
       "    console.log(\"$('#table4871721928-890520').dataTable()\");\n",
       "    \n",
       "jQuery.extend( jQuery.fn.dataTableExt.oSort, {\n",
       "    \"optionalnum-asc\": astropy_sort_num,\n",
       "    \"optionalnum-desc\": function (a,b) { return -astropy_sort_num(a, b); }\n",
       "});\n",
       "\n",
       "    $('#table4871721928-890520').dataTable({\n",
       "        order: [],\n",
       "        pageLength: 50,\n",
       "        lengthMenu: [[10, 25, 50, 100, 500, 1000, -1], [10, 25, 50, 100, 500, 1000, 'All']],\n",
       "        pagingType: \"full_numbers\",\n",
       "        columnDefs: [{targets: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 93, 94, 96, 97, 99, 100, 102, 103, 105, 106, 108, 109, 111, 112, 114, 115, 116, 117, 118, 120, 121, 123, 124, 126, 127, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 148, 149, 151, 152, 154, 155, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 198, 199, 200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 213, 214, 215, 216, 218, 219, 220, 221, 224], type: \"optionalnum\"}]\n",
       "    });\n",
       "});\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 13,
     "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": 14,
   "metadata": {},
   "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": [
    "combining the flag_merged column which contains information regarding multiple associations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "master_catalogue['flag_merged'].name = 'flag_merged_tmp'\n",
    "flag_merged_columns = [column for column in master_catalogue.colnames\n",
    "                        if 'flag_merged' in column]\n",
    "\n",
    "flag_merged_column = np.zeros(len(master_catalogue), dtype=bool)\n",
    "for column in flag_merged_columns:\n",
    "    flag_merged_column |= master_catalogue[column]\n",
    "    \n",
    "master_catalogue.add_column(Column(data=flag_merged_column, name=\"flag_merged\"))\n",
    "master_catalogue.remove_columns(flag_merged_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": 16,
   "metadata": {},
   "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": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "candels-gn_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": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "# 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": 19,
   "metadata": {},
   "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": 20,
   "metadata": {},
   "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), \"HDF-N\", dtype='<U18'),\n",
    "                                   name=\"field\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "OK!\n"
     ]
    }
   ],
   "source": [
    "# Check that the HELP Ids are unique\n",
    "if len(master_catalogue) != len(np.unique(master_catalogue['help_id'])):\n",
    "    print(\"The HELP IDs are not unique!!!\")\n",
    "else:\n",
    "    print(\"OK!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    print(\n",
    "        set(master_catalogue['help_id']) \n",
    "        == set(Table.read('./data/master_catalogue_hdf-n_20180427.fits')['help_id'])\n",
    "    )\n",
    "except:\n",
    "    print('Previous catalogue not present')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VI - Cross-matching with spec-z catalogue"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "specz =  Table.read(\"../../dmu23/dmu23_HDF-N/data/HDF-N-specz-v2.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "specz.rename_column('RA', 'ra')\n",
    "specz.rename_column('DEC', 'dec')\n",
    "specz.rename_column('OBJID', 'specz_id')\n",
    "specz.rename_column('Z_SPEC', 'z_spec')\n",
    "specz.rename_column('Z_SOURCE', 'z_source')\n",
    "specz.rename_column('Z_QUAL', 'z_qual')\n",
    "specz.rename_column('REL', 'rel')\n",
    "specz.rename_column('AGN', 'agn')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "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": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "master_catalogue = specz_merge(master_catalogue, specz, radius=1. * u.arcsec)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VII - Choosing between multiple values for the same filter\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "We have to choose between the various HST catalogues which may contains different objects depending on the prior catalogue. The CANDELS-GOODS-N catalogue is taken as a base and any missing wircam or IRAC fluxes are taken from the Ultradeep Ks selected catalogues"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "bands = [\n",
    "    ['candels-wircam_k', 'ultradeep-wircam_k', 'wircam_ks'],\n",
    "    ['candels-irac_i1',  'ultradeep-irac_i1',  'irac_i1'],\n",
    "    ['candels-irac_i2',  'ultradeep-irac_i2',  'irac_i2'],\n",
    "    ['candels-irac_i3',  'ultradeep-irac_i3',  'irac_i3'],\n",
    "    ['candels-irac_i4',  'ultradeep-irac_i4',  'irac_i4'],\n",
    "    \n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "ir_origin = Table()\n",
    "ir_origin.add_column(master_catalogue['help_id'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "ir_stats = Table()\n",
    "ir_stats.add_column(Column(data=np.array(bands)[:,2], name=\"Band\"))\n",
    "for col in [\"CANDELS-GOODS-N\", \"Ultradeep\"]:\n",
    "    ir_stats.add_column(Column(data=np.full(5, 0), name=\"{}\".format(col), dtype=str))\n",
    "    ir_stats.add_column(Column(data=np.full(5, 0), name=\"use {}\".format(col), dtype=str))\n",
    "  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<i>Table length=5</i>\n",
       "<table id=\"table4847687272-597015\" class=\"table-striped table-bordered table-condensed\">\n",
       "<thead><tr><th>idx</th><th>Band</th><th>CANDELS-GOODS-N</th><th>use CANDELS-GOODS-N</th><th>Ultradeep</th><th>use Ultradeep</th></tr></thead>\n",
       "<tr><td>0</td><td>wircam_ks</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>1</td><td>irac_i1</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>2</td><td>irac_i2</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>3</td><td>irac_i3</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>4</td><td>irac_i4</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "</table><style>table.dataTable {clear: both; width: auto !important; margin: 0 !important;}\n",
       ".dataTables_info, .dataTables_length, .dataTables_filter, .dataTables_paginate{\n",
       "display: inline-block; margin-right: 1em; }\n",
       ".paginate_button { margin-right: 5px; }\n",
       "</style>\n",
       "<script>\n",
       "\n",
       "var astropy_sort_num = function(a, b) {\n",
       "    var a_num = parseFloat(a);\n",
       "    var b_num = parseFloat(b);\n",
       "\n",
       "    if (isNaN(a_num) && isNaN(b_num))\n",
       "        return ((a < b) ? -1 : ((a > b) ? 1 : 0));\n",
       "    else if (!isNaN(a_num) && !isNaN(b_num))\n",
       "        return ((a_num < b_num) ? -1 : ((a_num > b_num) ? 1 : 0));\n",
       "    else\n",
       "        return isNaN(a_num) ? -1 : 1;\n",
       "}\n",
       "\n",
       "require.config({paths: {\n",
       "    datatables: 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min'\n",
       "}});\n",
       "require([\"datatables\"], function(){\n",
       "    console.log(\"$('#table4847687272-597015').dataTable()\");\n",
       "    \n",
       "jQuery.extend( jQuery.fn.dataTableExt.oSort, {\n",
       "    \"optionalnum-asc\": astropy_sort_num,\n",
       "    \"optionalnum-desc\": function (a,b) { return -astropy_sort_num(a, b); }\n",
       "});\n",
       "\n",
       "    $('#table4847687272-597015').dataTable({\n",
       "        order: [],\n",
       "        pageLength: 50,\n",
       "        lengthMenu: [[10, 25, 50, 100, 500, 1000, -1], [10, 25, 50, 100, 500, 1000, 'All']],\n",
       "        pagingType: \"full_numbers\",\n",
       "        columnDefs: [{targets: [0], type: \"optionalnum\"}]\n",
       "    });\n",
       "});\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ir_stats.show_in_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "for band in bands:\n",
    "\n",
    "    # total flux \n",
    "    has_candels = ~np.isnan(master_catalogue['f_' + band[0]])\n",
    "    has_ultradeep = ~np.isnan(master_catalogue['f_' + band[1]])\n",
    "    \n",
    "\n",
    "    use_candels = has_candels\n",
    "    use_ultradeep = has_ultradeep & ~has_candels\n",
    "\n",
    "    f_ir = np.full(len(master_catalogue), np.nan)\n",
    "    f_ir[use_candels] = master_catalogue['f_' + band[0]][use_candels]\n",
    "    f_ir[use_ultradeep] = master_catalogue['f_' + band[1]][use_ultradeep]\n",
    "\n",
    "    ferr_ir = np.full(len(master_catalogue), np.nan)\n",
    "    ferr_ir[use_candels] = master_catalogue['ferr_' + band[0]][use_candels]\n",
    "    ferr_ir[use_ultradeep] = master_catalogue['ferr_' + band[1]][use_ultradeep]\n",
    "\n",
    "    m_ir = np.full(len(master_catalogue), np.nan)\n",
    "    m_ir[use_candels] = master_catalogue['m_' + band[0]][use_candels]\n",
    "    m_ir[use_ultradeep] = master_catalogue['m_' + band[1]][use_ultradeep]\n",
    "    \n",
    "    merr_ir = np.full(len(master_catalogue), np.nan)\n",
    "    merr_ir[use_candels] = master_catalogue['merr_' + band[0]][use_candels]\n",
    "    merr_ir[use_ultradeep] = master_catalogue['merr_' + band[1]][use_ultradeep]\n",
    "    \n",
    "    flag_ir = np.full(len(master_catalogue), False, dtype=bool)\n",
    "    flag_ir[use_candels] = master_catalogue['flag_' + band[0]][use_candels]\n",
    "    flag_ir[use_ultradeep] = master_catalogue['flag_' + band[1]][use_ultradeep]\n",
    "\n",
    "    master_catalogue.add_column(Column(data=f_ir, name=\"f_\" + band[2]))\n",
    "    master_catalogue.add_column(Column(data=ferr_ir, name=\"ferr_\" + band[2]))\n",
    "    master_catalogue.add_column(Column(data=m_ir, name=\"m_\" + band[2]))\n",
    "    master_catalogue.add_column(Column(data=merr_ir, name=\"merr_\" + band[2]))\n",
    "    master_catalogue.add_column(Column(data=flag_ir, name=\"flag_\" + band[2]))\n",
    " \n",
    "    master_catalogue.remove_columns(['f_' + band[0], 'f_' + band[1],\n",
    "                                    'ferr_' + band[0], 'ferr_' + band[1],\n",
    "                                    'm_' + band[0], 'm_' + band[1],\n",
    "                                    'merr_' + band[0], 'merr_' + band[1],\n",
    "                                    'flag_' + band[0], 'flag_' + band[1],])\n",
    "\n",
    "    origin = np.full(len(master_catalogue), '     ', dtype='<U5')\n",
    "    origin[use_candels] = \"CANDELS-GOODS-N\"\n",
    "    origin[use_ultradeep] = \"Ultradeep\"\n",
    "   \n",
    "    \n",
    "    ir_origin.add_column(Column(data=origin, name= 'f_' + band[2] ))\n",
    "    \n",
    "    #Aperture fluxes\n",
    "\n",
    "    #has_ap_candels = ~np.isnan(master_catalogue['f_ap_' + band[0]])\n",
    "    #has_ap_ultradeep = ~np.isnan(master_catalogue['f_ap_' + band[1]])\n",
    "    \n",
    "\n",
    "    #use_ap_candels = has_ap_candels\n",
    "    #use_ap_ultradeep = has_ap_ultradeep & ~has_ap_candels\n",
    "\n",
    "    #f_ap_ir = np.full(len(master_catalogue), np.nan)\n",
    "    #f_ap_ir[use_ap_candels] = master_catalogue['f_ap_' + band[0]][use_ap_candels]\n",
    "    #f_ap_ir[use_ap_ultradeep] = master_catalogue['f_ap_' + band[1]][use_ap_ultradeep]\n",
    "\n",
    "    #ferr_ap_ir = np.full(len(master_catalogue), np.nan)\n",
    "    #ferr_ap_ir[use_ap_candels] = master_catalogue['ferr_ap_' + band[0]][use_ap_candels]\n",
    "    #ferr_ap_ir[use_ap_ultradeep] = master_catalogue['ferr_ap_' + band[1]][use_ap_ultradeep]\n",
    "\n",
    "    #m_ap_ir = np.full(len(master_catalogue), np.nan)\n",
    "    #m_ap_ir[use_ap_candels] = master_catalogue['m_ap_' + band[0]][use_ap_candels]\n",
    "    #m_ap_ir[use_ap_ultradeep] = master_catalogue['m_ap_' + band[1]][use_ap_ultradeep]\n",
    "    \n",
    "    #merr_ap_ir = np.full(len(master_catalogue), np.nan)\n",
    "    #merr_ap_ir[use_ap_candels] = master_catalogue['merr_ap_' + band[0]][use_ap_candels]\n",
    "    #merr_ap_ir[use_ap_ultradeep] = master_catalogue['merr_ap_' + band[1]][use_ap_ultradeep]\n",
    "    \n",
    "\n",
    "\n",
    "    #master_catalogue.add_column(Column(data=f_ap_ir, name=\"f_ap_\" + band[2]))\n",
    "    #master_catalogue.add_column(Column(data=ferr_ap_ir, name=\"ferr_ap_\" + band[2]))\n",
    "    #master_catalogue.add_column(Column(data=m_ap_ir, name=\"m_ap_\" + band[2]))\n",
    "    #master_catalogue.add_column(Column(data=merr_ap_ir, name=\"merr_ap_\" + band[2]))\n",
    "\n",
    " \n",
    "    #master_catalogue.remove_columns(['f_ap_' + band[0], 'f_ap_' + band[1],\n",
    "    #                                'ferr_ap_' + band[0], 'ferr_ap_' + band[1],\n",
    "    #                                'm_ap_' + band[0], 'm_ap_' + band[1],\n",
    "     #                               'merr_ap_' + band[0], 'merr_ap_' + band[1],\n",
    "     #                               'flag_ap_' + band[0], 'flag_ap_' + band[1],])\n",
    "\n",
    "    #origin_ap = np.full(len(master_catalogue), '     ', dtype='<U5')\n",
    "    #origin_ap[use_ap_candels] = \"CANDELS-GOODS-N\"\n",
    "    #origin_ap[use_ap_ultradeep] = \"Ultradeep\"\n",
    "   \n",
    "    \n",
    "    #ir_origin.add_column(Column(data=origin_ap, name= 'f_ap_' + band[2] ))\n",
    "    \n",
    "\n",
    "    \n",
    "\n",
    "   \n",
    "    ir_stats['CANDELS-GOODS-N'][ir_stats['Band'] == band[0]] = np.sum(has_candels)\n",
    "    ir_stats['Ultradeep'][ir_stats['Band'] == band[0]] = np.sum(has_ultradeep)\n",
    " \n",
    "    ir_stats['use CANDELS-GOODS-N'][ir_stats['Band'] == band[0]] = np.sum(use_candels)\n",
    "    ir_stats['use Ultradeep'][ir_stats['Band'] == band[0]] = np.sum(use_ultradeep)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<i>Table length=5</i>\n",
       "<table id=\"table4847687272-927581\" class=\"table-striped table-bordered table-condensed\">\n",
       "<thead><tr><th>idx</th><th>Band</th><th>CANDELS-GOODS-N</th><th>use CANDELS-GOODS-N</th><th>Ultradeep</th><th>use Ultradeep</th></tr></thead>\n",
       "<tr><td>0</td><td>wircam_ks</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>1</td><td>irac_i1</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>2</td><td>irac_i2</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>3</td><td>irac_i3</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "<tr><td>4</td><td>irac_i4</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>\n",
       "</table><style>table.dataTable {clear: both; width: auto !important; margin: 0 !important;}\n",
       ".dataTables_info, .dataTables_length, .dataTables_filter, .dataTables_paginate{\n",
       "display: inline-block; margin-right: 1em; }\n",
       ".paginate_button { margin-right: 5px; }\n",
       "</style>\n",
       "<script>\n",
       "\n",
       "var astropy_sort_num = function(a, b) {\n",
       "    var a_num = parseFloat(a);\n",
       "    var b_num = parseFloat(b);\n",
       "\n",
       "    if (isNaN(a_num) && isNaN(b_num))\n",
       "        return ((a < b) ? -1 : ((a > b) ? 1 : 0));\n",
       "    else if (!isNaN(a_num) && !isNaN(b_num))\n",
       "        return ((a_num < b_num) ? -1 : ((a_num > b_num) ? 1 : 0));\n",
       "    else\n",
       "        return isNaN(a_num) ? -1 : 1;\n",
       "}\n",
       "\n",
       "require.config({paths: {\n",
       "    datatables: 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min'\n",
       "}});\n",
       "require([\"datatables\"], function(){\n",
       "    console.log(\"$('#table4847687272-927581').dataTable()\");\n",
       "    \n",
       "jQuery.extend( jQuery.fn.dataTableExt.oSort, {\n",
       "    \"optionalnum-asc\": astropy_sort_num,\n",
       "    \"optionalnum-desc\": function (a,b) { return -astropy_sort_num(a, b); }\n",
       "});\n",
       "\n",
       "    $('#table4847687272-927581').dataTable({\n",
       "        order: [],\n",
       "        pageLength: 50,\n",
       "        lengthMenu: [[10, 25, 50, 100, 500, 1000, -1], [10, 25, 50, 100, 500, 1000, 'All']],\n",
       "        pagingType: \"full_numbers\",\n",
       "        columnDefs: [{targets: [0], type: \"optionalnum\"}]\n",
       "    });\n",
       "});\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ir_stats.show_in_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "ir_origin.write(\"{}/hdf-n_wircam_irac_fluxes_origins{}.fits\".format(OUT_DIR, SUFFIX), overwrite=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VIII.a 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 the different depths in the catalogue we are using.*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "candels_gn_moc =   MOC(filename=\"../../dmu0/dmu0_CANDELS-3D-HST/data/CANDELS-3D-HST_HDF-N_MOC.fits\")\n",
    "ultra_moc = MOC(filename=\"../../dmu0/dmu0_Ultradeep-Ks-GOODS-N/data/Ultradeep_Ks_GOODS-N_HELP-coverage_MOC.fits\")\n",
    "ps1_moc = MOC(filename=\"../../dmu0/dmu0_PanSTARRS1-3SS/data/PanSTARRS1-3SS_HDF-N_v2_MOC.fits\")       \n",
    "hawaii_moc = MOC(filename=\"../../dmu0/dmu0_Hawaii-HDFN/data/R_MOC.fits\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "was_observed_optical = inMoc(\n",
    "    master_catalogue['ra'], master_catalogue['dec'],\n",
    "      ps1_moc + hawaii_moc)\n",
    "\n",
    "was_observed_nir = inMoc(\n",
    "    master_catalogue['ra'], master_catalogue['dec'],\n",
    "    candels_gn_moc + ultra_moc\n",
    ")\n",
    "\n",
    "was_observed_mir = inMoc(\n",
    "    master_catalogue['ra'], master_catalogue['dec'],\n",
    "    candels_gn_moc + ultra_moc\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "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.b 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": 37,
   "metadata": {},
   "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",
    "    # PanSTARRS\n",
    "    1 * ~np.isnan(master_catalogue['f_gpc1_g']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_gpc1_r']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_gpc1_i']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_gpc1_z']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_gpc1_y']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_suprime_r']) + \n",
    "    1 * ~np.isnan(master_catalogue['f_suprime_ip']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_suprime_zp']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_mosaic_u']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_acs_f435w']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_acs_f606w']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_acs_f775w']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_wfc3_f140w']) \n",
    ")\n",
    "\n",
    "nb_nir_flux = (\n",
    "    1 * ~np.isnan(master_catalogue['f_wircam_ks'])+\n",
    "    1 * ~np.isnan(master_catalogue['f_quirc_hk'])+\n",
    "    1 * ~np.isnan(master_catalogue['f_moircs_k'])\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",
    "    1 * ~np.isnan(master_catalogue['f_irac_i3']) +\n",
    "    1 * ~np.isnan(master_catalogue['f_irac_i4'])\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "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": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "130679 60893 10669 14886 8559\n"
     ]
    }
   ],
   "source": [
    "print(\n",
    "    len(master_catalogue),\n",
    "    np.sum(has_optical_flux),\n",
    "    np.sum(has_nir_flux),\n",
    "    np.sum(has_mir_flux),\n",
    "    np.sum(master_catalogue['flag_optnir_det']>5)\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13500\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    print(np.sum(Table.read('./data/master_catalogue_hdf-n_20180427.fits')['flag_optnir_det']>=5))\n",
    "except:\n",
    "    print('Old catalogue not present')"
   ]
  },
  {
   "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",
    "\n",
    "For convenience, we also cross-match the master list with the SDSS catalogue and add the objID associated with each source, if any. **TODO: should we correct the astrometry with respect to Gaia positions?**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8 master list rows had multiple associations.\n"
     ]
    }
   ],
   "source": [
    "#\n",
    "# Addind SDSS ids\n",
    "#\n",
    "sdss = Table.read(\"../../dmu0/dmu0_SDSS/data/SDSS-DR13_HDF-N.fits\")['objID', 'ra', 'dec']\n",
    "sdss_coords = SkyCoord(sdss['ra'] * u.deg, sdss['dec'] * u.deg)\n",
    "idx_ml, d2d, _ = sdss_coords.match_to_catalog_sky(SkyCoord(master_catalogue['ra'], master_catalogue['dec']))\n",
    "idx_sdss = np.arange(len(sdss))\n",
    "\n",
    "# Limit the cross-match to 1 arcsec\n",
    "mask = d2d <= 1. * u.arcsec\n",
    "idx_ml = idx_ml[mask]\n",
    "idx_sdss = idx_sdss[mask]\n",
    "d2d = d2d[mask]\n",
    "nb_orig_matches = len(idx_ml)\n",
    "\n",
    "# In case of multiple associations of one master list object to an SDSS object, we keep only the\n",
    "# association to the nearest one.\n",
    "sort_idx = np.argsort(d2d)\n",
    "idx_ml = idx_ml[sort_idx]\n",
    "idx_sdss = idx_sdss[sort_idx]\n",
    "_, unique_idx = np.unique(idx_ml, return_index=True)\n",
    "idx_ml = idx_ml[unique_idx]\n",
    "idx_sdss = idx_sdss[unique_idx]\n",
    "print(\"{} master list rows had multiple associations.\".format(nb_orig_matches - len(idx_ml)))\n",
    "\n",
    "# Adding the ObjID to the master list\n",
    "master_catalogue.add_column(Column(data=np.full(len(master_catalogue), -1, dtype='>i8'), name=\"sdss_id\"))\n",
    "master_catalogue['sdss_id'][idx_ml] = sdss['objID'][idx_sdss]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['ps1_id', 'candels-gn_id', 'ultradeep_id', 'hawaii_id', 'help_id', 'specz_id', 'sdss_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)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "master_catalogue[id_names].write(\n",
    "    \"{}/master_list_cross_ident_hdf-n{}.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": 44,
   "metadata": {},
   "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": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<i>Table length=10</i>\n",
       "<table id=\"table4975914904-858226\" class=\"table-striped table-bordered table-condensed\">\n",
       "<thead><tr><th>idx</th><th>ra</th><th>dec</th><th>m_ap_gpc1_g</th><th>merr_ap_gpc1_g</th><th>m_gpc1_g</th><th>merr_gpc1_g</th><th>m_ap_gpc1_r</th><th>merr_ap_gpc1_r</th><th>m_gpc1_r</th><th>merr_gpc1_r</th><th>m_ap_gpc1_i</th><th>merr_ap_gpc1_i</th><th>m_gpc1_i</th><th>merr_gpc1_i</th><th>m_ap_gpc1_z</th><th>merr_ap_gpc1_z</th><th>m_gpc1_z</th><th>merr_gpc1_z</th><th>m_ap_gpc1_y</th><th>merr_ap_gpc1_y</th><th>m_gpc1_y</th><th>merr_gpc1_y</th><th>f_ap_gpc1_g</th><th>ferr_ap_gpc1_g</th><th>f_gpc1_g</th><th>ferr_gpc1_g</th><th>flag_gpc1_g</th><th>f_ap_gpc1_r</th><th>ferr_ap_gpc1_r</th><th>f_gpc1_r</th><th>ferr_gpc1_r</th><th>flag_gpc1_r</th><th>f_ap_gpc1_i</th><th>ferr_ap_gpc1_i</th><th>f_gpc1_i</th><th>ferr_gpc1_i</th><th>flag_gpc1_i</th><th>f_ap_gpc1_z</th><th>ferr_ap_gpc1_z</th><th>f_gpc1_z</th><th>ferr_gpc1_z</th><th>flag_gpc1_z</th><th>f_ap_gpc1_y</th><th>ferr_ap_gpc1_y</th><th>f_gpc1_y</th><th>ferr_gpc1_y</th><th>flag_gpc1_y</th><th>f_acs_f435w</th><th>ferr_acs_f435w</th><th>f_acs_f606w</th><th>ferr_acs_f606w</th><th>f_acs_f775w</th><th>ferr_acs_f775w</th><th>f_acs_f814w</th><th>ferr_acs_f814w</th><th>f_acs_f850lp</th><th>ferr_acs_f850lp</th><th>f_wfc3_f105w</th><th>ferr_wfc3_f105w</th><th>f_wfc3_f125w</th><th>ferr_wfc3_f125w</th><th>f_wfc3_f140w</th><th>ferr_wfc3_f140w</th><th>f_wfc3_f160w</th><th>ferr_wfc3_f160w</th><th>f_moircs_k</th><th>ferr_moircs_k</th><th>m_acs_f435w</th><th>merr_acs_f435w</th><th>flag_acs_f435w</th><th>m_acs_f606w</th><th>merr_acs_f606w</th><th>flag_acs_f606w</th><th>m_acs_f775w</th><th>merr_acs_f775w</th><th>flag_acs_f775w</th><th>m_acs_f814w</th><th>merr_acs_f814w</th><th>flag_acs_f814w</th><th>m_acs_f850lp</th><th>merr_acs_f850lp</th><th>flag_acs_f850lp</th><th>m_wfc3_f105w</th><th>merr_wfc3_f105w</th><th>flag_wfc3_f105w</th><th>m_wfc3_f125w</th><th>merr_wfc3_f125w</th><th>flag_wfc3_f125w</th><th>m_wfc3_f140w</th><th>merr_wfc3_f140w</th><th>flag_wfc3_f140w</th><th>m_wfc3_f160w</th><th>merr_wfc3_f160w</th><th>flag_wfc3_f160w</th><th>m_moircs_k</th><th>merr_moircs_k</th><th>flag_moircs_k</th><th>m_ap_mosaic_u</th><th>merr_ap_mosaic_u</th><th>m_mosaic_u</th><th>merr_mosaic_u</th><th>m_ap_suprime_b</th><th>merr_ap_suprime_b</th><th>m_suprime_b</th><th>merr_suprime_b</th><th>m_ap_suprime_v</th><th>merr_ap_suprime_v</th><th>m_suprime_v</th><th>merr_suprime_v</th><th>m_ap_suprime_r</th><th>merr_ap_suprime_r</th><th>m_suprime_r</th><th>merr_suprime_r</th><th>m_ap_suprime_ip</th><th>merr_ap_suprime_ip</th><th>m_suprime_ip</th><th>merr_suprime_ip</th><th>m_ap_suprime_zp</th><th>merr_ap_suprime_zp</th><th>m_suprime_zp</th><th>merr_suprime_zp</th><th>m_ap_quirc_hk</th><th>merr_ap_quirc_hk</th><th>m_quirc_hk</th><th>merr_quirc_hk</th><th>f_ap_mosaic_u</th><th>ferr_ap_mosaic_u</th><th>f_mosaic_u</th><th>ferr_mosaic_u</th><th>flag_mosaic_u</th><th>f_ap_suprime_b</th><th>ferr_ap_suprime_b</th><th>f_suprime_b</th><th>ferr_suprime_b</th><th>flag_suprime_b</th><th>f_ap_suprime_v</th><th>ferr_ap_suprime_v</th><th>f_suprime_v</th><th>ferr_suprime_v</th><th>flag_suprime_v</th><th>f_ap_suprime_r</th><th>ferr_ap_suprime_r</th><th>f_suprime_r</th><th>ferr_suprime_r</th><th>flag_suprime_r</th><th>f_ap_suprime_ip</th><th>ferr_ap_suprime_ip</th><th>f_suprime_ip</th><th>ferr_suprime_ip</th><th>flag_suprime_ip</th><th>f_ap_suprime_zp</th><th>ferr_ap_suprime_zp</th><th>f_suprime_zp</th><th>ferr_suprime_zp</th><th>flag_suprime_zp</th><th>f_ap_quirc_hk</th><th>ferr_ap_quirc_hk</th><th>f_quirc_hk</th><th>ferr_quirc_hk</th><th>flag_quirc_hk</th><th>flag_cleaned</th><th>flag_merged</th><th>flag_gaia</th><th>stellarity</th><th>stellarity_origin</th><th>ebv</th><th>help_id</th><th>field</th><th>zspec</th><th>zspec_qual</th><th>zspec_association_flag</th><th>f_wircam_ks</th><th>ferr_wircam_ks</th><th>m_wircam_ks</th><th>merr_wircam_ks</th><th>flag_wircam_ks</th><th>f_irac_i1</th><th>ferr_irac_i1</th><th>m_irac_i1</th><th>merr_irac_i1</th><th>flag_irac_i1</th><th>f_irac_i2</th><th>ferr_irac_i2</th><th>m_irac_i2</th><th>merr_irac_i2</th><th>flag_irac_i2</th><th>f_irac_i3</th><th>ferr_irac_i3</th><th>m_irac_i3</th><th>merr_irac_i3</th><th>flag_irac_i3</th><th>f_irac_i4</th><th>ferr_irac_i4</th><th>m_irac_i4</th><th>merr_irac_i4</th><th>flag_irac_i4</th><th>flag_optnir_obs</th><th>flag_optnir_det</th><th>hp_idx</th></tr></thead>\n",
       "<thead><tr><th></th><th>deg</th><th>deg</th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead>\n",
       "<tr><td>0</td><td>189.392114086992</td><td>61.86001443314525</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>11.1943998336792</td><td>0.0</td><td>12.952199935913086</td><td>0.0</td><td>10.463500022888184</td><td>0.0</td><td>12.468600273132324</td><td>0.0</td><td>12.652299880981445</td><td>0.06655099987983704</td><td>12.456000328063965</td><td>0.13014699518680573</td><td>nan</td><td>0.26212599873542786</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>120848.1667282937</td><td>0.0</td><td>23939.77286664912</td><td>0.0</td><td>False</td><td>236919.05453332164</td><td>0.0</td><td>37373.166074813445</td><td>0.0</td><td>False</td><td>31555.86196150866</td><td>1934.2397871648323</td><td>37809.407243910115</td><td>4532.206553511177</td><td>False</td><td>250726.26381485313</td><td>60532.08138740447</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.00892060480490826</td><td>HELP_J123734.107+615136.052</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184308828</td></tr>\n",
       "<tr><td>1</td><td>188.744562566992</td><td>62.62164939314525</td><td>13.724499702453613</td><td>0.0006689999718219042</td><td>13.773099899291992</td><td>0.0015109999803826213</td><td>13.422100067138672</td><td>0.0002119999990100041</td><td>13.469499588012695</td><td>0.0032820000778883696</td><td>13.330499649047852</td><td>0.0010860000038519502</td><td>13.334199905395508</td><td>0.0010860000038519502</td><td>13.335200309753418</td><td>0.0015670000575482845</td><td>13.410400390625</td><td>0.003396000014618039</td><td>13.315400123596191</td><td>0.002007999923080206</td><td>13.37909984588623</td><td>0.0028979999478906393</td><td>11754.390619910007</td><td>7.242723378884883</td><td>11239.837702364997</td><td>15.6422844456594</td><td>False</td><td>15529.58939802375</td><td>3.032295434727838</td><td>14866.206626331421</td><td>44.93807159759724</td><td>False</td><td>16896.631802134416</td><td>16.900737142030508</td><td>16839.145047497703</td><td>16.84323641995519</td><td>False</td><td>16823.63649632953</td><td>24.2808881590097</td><td>15697.838030793926</td><td>49.10019390384396</td><td>False</td><td>17133.25783564564</td><td>31.686868564684083</td><td>16156.975322134032</td><td>43.12549718469189</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.010016679480973926</td><td>HELP_J123458.695+623717.938</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184359432</td></tr>\n",
       "<tr><td>2</td><td>189.411629346992</td><td>62.617179493145244</td><td>14.776300430297852</td><td>0.0016659999964758754</td><td>14.845399856567383</td><td>0.0020910000894218683</td><td>13.960100173950195</td><td>0.0007350000087171793</td><td>14.010100364685059</td><td>0.0021150000393390656</td><td>13.648900032043457</td><td>0.0019259999971836805</td><td>13.708000183105469</td><td>0.0023900000378489494</td><td>13.53499984741211</td><td>0.0022430000826716423</td><td>13.585700035095215</td><td>0.0024470000062137842</td><td>13.440600395202637</td><td>0.002065999899059534</td><td>13.518400192260742</td><td>0.003488000016659498</td><td>4461.489013662292</td><td>6.845899260303617</td><td>4186.393595892483</td><td>8.062501135178042</td><td>False</td><td>9461.498621293505</td><td>6.405056346700255</td><td>9035.65944866307</td><td>17.601347367461177</td><td>False</td><td>12602.014854003668</td><td>22.35485974120827</td><td>11934.381779417632</td><td>26.270813093928364</td><td>False</td><td>13995.875192687326</td><td>28.913790547541936</td><td>13357.340161258779</td><td>30.104376472258494</td><td>False</td><td>15267.215715268363</td><td>29.051316506196112</td><td>14211.500120894432</td><td>45.65539257252542</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.009391061279668227</td><td>HELP_J123738.791+623701.846</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184358063</td></tr>\n",
       "<tr><td>3</td><td>189.615264896992</td><td>62.63044883314525</td><td>15.19909954071045</td><td>0.0031159999780356884</td><td>15.246299743652344</td><td>0.00533499987795949</td><td>14.64739990234375</td><td>0.0007489999989047647</td><td>14.702500343322754</td><td>0.0020230000372976065</td><td>14.428999900817871</td><td>0.0019039999460801482</td><td>14.488699913024902</td><td>0.001221999991685152</td><td>14.329999923706055</td><td>0.0015059999423101544</td><td>14.395500183105469</td><td>0.003415999934077263</td><td>14.26830005645752</td><td>0.0036299999337643385</td><td>14.364299774169922</td><td>0.0019039999460801482</td><td>3022.4573672886936</td><td>8.67427746151601</td><td>2893.877229315028</td><td>14.21969222133911</td><td>False</td><td>5023.889043027089</td><td>3.465752427923514</td><td>4775.291226572557</td><td>8.897570410867228</td><td>False</td><td>6143.2761738941845</td><td>10.773148627253978</td><td>5814.602555031228</td><td>6.544356025673393</td><td>False</td><td>6729.767035739317</td><td>9.33470646292207</td><td>6335.777638206565</td><td>19.933954398493377</td><td>False</td><td>7123.279370241109</td><td>23.815640971390845</td><td>6520.48785496427</td><td>11.434645422949615</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.009617077668294387</td><td>HELP_J123827.664+623749.616</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184358005</td></tr>\n",
       "<tr><td>4</td><td>189.939111596992</td><td>62.31082639314525</td><td>16.085800170898438</td><td>0.0038499999791383743</td><td>16.14150047302246</td><td>0.008004999719560146</td><td>15.588800430297852</td><td>0.0008459999808110297</td><td>15.639699935913086</td><td>0.0007510000141337514</td><td>15.413100242614746</td><td>0.0014260000316426158</td><td>15.475899696350098</td><td>0.0032480000518262386</td><td>15.342300415039062</td><td>0.0018139999592676759</td><td>15.409199714660645</td><td>0.0032029999420046806</td><td>15.295700073242188</td><td>0.003415999934077263</td><td>15.390399932861328</td><td>0.005320999771356583</td><td>1335.6108290844957</td><td>4.736050655377938</td><td>1268.8194014292128</td><td>9.354849647733708</td><td>False</td><td>2110.959143657128</td><td>1.6448483408772745</td><td>2014.2808582088023</td><td>1.393271170616574</td><td>False</td><td>2481.7606997561243</td><td>3.259531017637952</td><td>2342.287072482584</td><td>7.0069953451631894</td><td>False</td><td>2648.987042683648</td><td>4.42581021657946</td><td>2490.6925064816346</td><td>7.347722143602428</td><td>False</td><td>2765.1581206160067</td><td>8.699884848955307</td><td>2534.1949833255712</td><td>12.419638276548316</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.010904169296597516</td><td>HELP_J123945.387+621838.975</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184007074</td></tr>\n",
       "<tr><td>5</td><td>189.40711272699198</td><td>62.70918702314525</td><td>15.549799919128418</td><td>0.005472999997437</td><td>15.602399826049805</td><td>0.0012969999806955457</td><td>15.197999954223633</td><td>0.0008609999786131084</td><td>15.262900352478027</td><td>0.001234999974258244</td><td>15.081299781799316</td><td>0.003092000028118491</td><td>15.142900466918945</td><td>0.0023590000346302986</td><td>15.054400444030762</td><td>0.001867000013589859</td><td>15.1072998046875</td><td>0.0029529999010264874</td><td>15.01550006866455</td><td>0.004273000173270702</td><td>15.101799964904785</td><td>0.002862999914214015</td><td>2188.164824640245</td><td>11.030143442914534</td><td>2084.6832146398397</td><td>2.490323227037028</td><td>False</td><td>3025.519931433044</td><td>2.3992684271201</td><td>2849.9671817908434</td><td>3.2417721548970735</td><td>False</td><td>3368.837690200968</td><td>9.593901527073518</td><td>3183.023267219594</td><td>6.915816166665272</td><td>False</td><td>3453.3438429561634</td><td>5.938268405782696</td><td>3289.122723325377</td><td>8.945800125185595</td><td>False</td><td>3579.315429285928</td><td>14.08667720805757</td><td>3305.826175139495</td><td>8.71720037920192</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.009634363826787982</td><td>HELP_J123737.707+624233.073</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184358658</td></tr>\n",
       "<tr><td>6</td><td>189.600564026992</td><td>62.55973677314525</td><td>14.093700408935547</td><td>0.0017630000365898013</td><td>14.13640022277832</td><td>0.001104000024497509</td><td>13.550700187683105</td><td>0.0009330000029876828</td><td>13.590999603271484</td><td>0.0010740000288933516</td><td>13.397899627685547</td><td>0.003246000036597252</td><td>13.441399574279785</td><td>0.009352999739348888</td><td>13.340200424194336</td><td>0.0036329999566078186</td><td>13.389200210571289</td><td>0.0056940000504255295</td><td>13.287699699401855</td><td>0.00177800003439188</td><td>13.358400344848633</td><td>0.0019180000526830554</td><td>8366.038068108097</td><td>13.584630737695596</td><td>8043.404520729908</td><td>8.178707451233405</td><td>False</td><td>13794.943463452046</td><td>11.854336473455712</td><td>13292.300740168841</td><td>13.14861871275695</td><td>False</td><td>15879.62158674906</td><td>47.47493177978784</td><td>15255.982093395907</td><td>131.42160675652354</td><td>False</td><td>16746.337142868593</td><td>56.03519699053856</td><td>16007.367503916768</td><td>83.94852356865702</td><td>False</td><td>17576.003088964015</td><td>28.782437170004314</td><td>16467.96222270311</td><td>29.09136885396898</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.010199954198312967</td><td>HELP_J123824.135+623335.052</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184357936</td></tr>\n",
       "<tr><td>7</td><td>189.193256176992</td><td>61.86750170314525</td><td>14.885100364685059</td><td>0.0023719999007880688</td><td>14.924699783325195</td><td>0.000910000002477318</td><td>14.346199989318848</td><td>0.0009759999811649323</td><td>14.399800300598145</td><td>0.0037410000804811716</td><td>14.163599967956543</td><td>0.004650000017136335</td><td>14.224300384521484</td><td>0.006175000220537186</td><td>14.086999893188477</td><td>0.0017529999604448676</td><td>14.157899856567383</td><td>0.004387000110000372</td><td>14.024299621582031</td><td>0.002982999896630645</td><td>14.085200309753418</td><td>0.002266000024974346</td><td>4036.0808199816106</td><td>8.817596081454909</td><td>3891.527346542994</td><td>3.2616485288740757</td><td>False</td><td>6630.098862234426</td><td>5.959989485755413</td><td>6310.734071040607</td><td>21.744192156618244</td><td>False</td><td>7844.40509005491</td><td>33.59608314001613</td><td>7417.880730690969</td><td>42.18834643921577</td><td>False</td><td>8417.827904729153</td><td>13.591194545556501</td><td>7885.696485148806</td><td>31.862759292883688</td><td>False</td><td>8918.260449542391</td><td>24.502425066534954</td><td>8431.791835146218</td><td>17.59768203849864</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.009642874326763935</td><td>HELP_J123646.381+615203.006</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184308915</td></tr>\n",
       "<tr><td>8</td><td>188.335312906992</td><td>62.26186241314525</td><td>13.262399673461914</td><td>0.0010860000038519502</td><td>13.31779956817627</td><td>0.0010860000038519502</td><td>12.860300064086914</td><td>0.0010860000038519502</td><td>13.39900016784668</td><td>0.0010860000038519502</td><td>12.871899604797363</td><td>0.00595800019800663</td><td>12.920000076293945</td><td>0.0035250000655651093</td><td>13.84570026397705</td><td>0.0015200000489130616</td><td>13.44480037689209</td><td>0.0014009999576956034</td><td>12.700499534606934</td><td>0.001927000004798174</td><td>12.769200325012207</td><td>0.0030519999563694</td><td>17990.371459582857</td><td>17.99474254315522</td><td>17095.435655960067</td><td>17.099589298819858</td><td>False</td><td>26054.33388849544</td><td>26.0606642564428</td><td>15863.533602401438</td><td>15.867387932551587</td><td>False</td><td>25777.46216438129</td><td>141.4543643349406</td><td>24660.39163947438</td><td>80.06353823797694</td><td>False</td><td>10512.836119254189</td><td>14.717673911446234</td><td>15208.271228123293</td><td>19.62427637012485</td><td>False</td><td>30185.62595304812</td><td>53.574432814753266</td><td>28334.781631163314</td><td>79.6489533305299</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.01023661699006456</td><td>HELP_J123320.475+621542.705</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184317197</td></tr>\n",
       "<tr><td>9</td><td>189.559520156992</td><td>62.63580525314525</td><td>13.067000389099121</td><td>0.0011889999732375145</td><td>13.120699882507324</td><td>0.00215999991632998</td><td>12.9576997756958</td><td>0.0010860000038519502</td><td>12.99530029296875</td><td>0.0010860000038519502</td><td>12.685500144958496</td><td>0.0021430000197142363</td><td>12.751500129699707</td><td>0.005413999781012535</td><td>12.669300079345703</td><td>0.0010860000038519502</td><td>12.73840045928955</td><td>0.0010860000038519502</td><td>12.683099746704102</td><td>0.001686000032350421</td><td>12.741399765014648</td><td>0.0040790000930428505</td><td>21537.72583806945</td><td>23.586167001556607</td><td>20498.403937312414</td><td>40.78021032683208</td><td>False</td><td>23818.811623881367</td><td>23.824598831579454</td><td>23008.053725443115</td><td>23.013643944961217</td><td>False</td><td>30605.532634339404</td><td>60.40846455273643</td><td>28800.49473398334</td><td>143.61303556011953</td><td>False</td><td>31065.61590009346</td><td>31.07316384892994</td><td>29150.084383104557</td><td>29.157166919185936</td><td>False</td><td>30673.271682901857</td><td>47.63140146108181</td><td>29069.669486151353</td><td>109.2117809271649</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>False</td><td>False</td><td>3</td><td>nan</td><td>NO_INFORMATION</td><td>0.00954951214948982</td><td>HELP_J123814.285+623808.899</td><td>HDF-N</td><td>nan</td><td>-99</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>nan</td><td>nan</td><td>nan</td><td>nan</td><td>False</td><td>1</td><td>1</td><td>184358011</td></tr>\n",
       "</table><style>table.dataTable {clear: both; width: auto !important; margin: 0 !important;}\n",
       ".dataTables_info, .dataTables_length, .dataTables_filter, .dataTables_paginate{\n",
       "display: inline-block; margin-right: 1em; }\n",
       ".paginate_button { margin-right: 5px; }\n",
       "</style>\n",
       "<script>\n",
       "\n",
       "var astropy_sort_num = function(a, b) {\n",
       "    var a_num = parseFloat(a);\n",
       "    var b_num = parseFloat(b);\n",
       "\n",
       "    if (isNaN(a_num) && isNaN(b_num))\n",
       "        return ((a < b) ? -1 : ((a > b) ? 1 : 0));\n",
       "    else if (!isNaN(a_num) && !isNaN(b_num))\n",
       "        return ((a_num < b_num) ? -1 : ((a_num > b_num) ? 1 : 0));\n",
       "    else\n",
       "        return isNaN(a_num) ? -1 : 1;\n",
       "}\n",
       "\n",
       "require.config({paths: {\n",
       "    datatables: 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min'\n",
       "}});\n",
       "require([\"datatables\"], function(){\n",
       "    console.log(\"$('#table4975914904-858226').dataTable()\");\n",
       "    \n",
       "jQuery.extend( jQuery.fn.dataTableExt.oSort, {\n",
       "    \"optionalnum-asc\": astropy_sort_num,\n",
       "    \"optionalnum-desc\": function (a,b) { return -astropy_sort_num(a, b); }\n",
       "});\n",
       "\n",
       "    $('#table4975914904-858226').dataTable({\n",
       "        order: [],\n",
       "        pageLength: 50,\n",
       "        lengthMenu: [[10, 25, 50, 100, 500, 1000, -1], [10, 25, 50, 100, 500, 1000, 'All']],\n",
       "        pagingType: \"full_numbers\",\n",
       "        columnDefs: [{targets: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 74, 75, 77, 78, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143, 144, 146, 147, 148, 149, 151, 152, 153, 154, 156, 157, 158, 159, 163, 164, 166, 169, 170, 172, 173, 174, 175, 177, 178, 179, 180, 182, 183, 184, 185, 187, 188, 189, 190, 192, 193, 194, 195, 197, 198, 199], type: \"optionalnum\"}]\n",
       "    });\n",
       "});\n",
       "</script>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "master_catalogue[:10].show_in_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "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",
    "\n",
    "\n",
    "bands_no_ap = (set([column[5:] for column in master_catalogue.colnames if 'flag' in column]) \n",
    "               - set(bands) \n",
    "               - set(['cleaned', 'gaia', 'merged', 'optnir_det', 'optnir_obs'])\n",
    "              )\n",
    "\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",
    "\n",
    "for band in bands_no_ap:\n",
    "    columns += [\"f_{}\".format(band), \"ferr_{}\".format(band),\n",
    "                \"m_{}\".format(band), \"merr_{}\".format(band),\n",
    "                #\"flag_{}\".format(band)\n",
    "               ] \n",
    "\n",
    "columns += [\"stellarity\", \"stellarity_origin\", \"flag_cleaned\", \"flag_merged\", \"flag_gaia\", \n",
    "            \"flag_optnir_obs\", \"flag_optnir_det\", \n",
    "            \"zspec\", \"zspec_qual\", \"zspec_association_flag\", \"ebv\"] # "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Missing columns: {'flag_suprime_ip', 'flag_gpc1_y', 'flag_wfc3_f105w', 'flag_acs_f814w', 'flag_gpc1_g', 'flag_acs_f850lp', 'flag_irac_i3', 'flag_quirc_hk', 'flag_gpc1_z', 'flag_acs_f606w', 'flag_irac_i2', 'flag_suprime_r', 'flag_wfc3_f160w', 'flag_wfc3_f125w', 'flag_mosaic_u', 'flag_irac_i1', 'flag_suprime_v', 'flag_suprime_zp', 'flag_gpc1_i', 'flag_wfc3_f140w', 'flag_wircam_ks', 'flag_suprime_b', 'flag_irac_i4', 'flag_acs_f435w', 'flag_acs_f775w', 'flag_gpc1_r', 'flag_moircs_k'}\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": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "#master_catalogue[columns].write(\"{}/master_catalogue_hdf-n{}.fits\".format(OUT_DIR, SUFFIX), overwrite=True)\n",
    "master_catalogue.write(\"{}/master_catalogue_hdf-n{}.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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
