{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# HDF-N master catalogue\n", "## Preparation of Ultradeep-Ks-GOODS-N data\n", "\n", "The catalogue comes from `dmu0_Ultradeep-Ks-GOODS-N`.\n", "\n", "In the catalogue, we keep:\n", "\n", "- The identifier (it's unique in the catalogue);\n", "- The position;\n", "- The total flux.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This notebook was run with herschelhelp_internal version: \n", "0246c5d (Thu Jan 25 17:01:47 2018 +0000) [with local modifications]\n" ] } ], "source": [ "from herschelhelp_internal import git_version\n", "print(\"This notebook was run with herschelhelp_internal version: \\n{}\".format(git_version()))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "#%config InlineBackend.figure_format = 'svg'\n", "\n", "import matplotlib.pyplot as plt\n", "plt.rc('figure', figsize=(10, 6))\n", "\n", "from collections import OrderedDict\n", "import os\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", "\n", "from herschelhelp_internal.flagging import gaia_flag_column\n", "from herschelhelp_internal.masterlist import nb_astcor_diag_plot, remove_duplicates\n", "from herschelhelp_internal.utils import astrometric_correction, flux_to_mag" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "OUT_DIR = os.environ.get('TMP_DIR', \"./data_tmp\")\n", "try:\n", " os.makedirs(OUT_DIR)\n", "except FileExistsError:\n", " pass\n", "\n", "RA_COL = \"ultradeep_ra\"\n", "DEC_COL = \"ultradeep_dec\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I - Column selection" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "imported_columns = OrderedDict({\n", " 'Num': \"ultradeep_id\",\n", " 'RAdeg': \"ultradeep_ra\",\n", " 'DEdeg': \"ultradeep_dec\",\n", " 'F_Ks': \"f_ultradeep-wircam_k\", #WIRCAM Ks prior\n", " 'e_F_Ks': \"ferr_ultradeep-wircam_k\",\n", " 'F_3.6': \"f_ultradeep-irac_i1\",\n", " 'e_F3.6': \"ferr_ultradeep-irac_i1\",\n", " 'F_4.5': \"f_ultradeep-irac_i2\",\n", " 'e_F_4.5': \"ferr_ultradeep-irac_i2\",\n", " 'F_5.8': \"f_ultradeep-irac_i3\",\n", " 'e_F_5.8': \"ferr_ultradeep-irac_i3\",\n", " 'F_8.0': \"f_ultradeep-irac_i4\",\n", " 'e_F_8.0': \"ferr_ultradeep-irac_i4\",\n", " })\n", "\n", "\n", "catalogue = Table.read(\"../../dmu0/dmu0_Ultradeep-Ks-GOODS-N/data/Ultradeep_Ks_GOODS-N_HELP-coverage.fits\")[list(imported_columns)]\n", "for column in imported_columns:\n", " catalogue[column].name = imported_columns[column]\n", "\n", "epoch = 2010 #Year of publication\n", "\n", "# Clean table metadata\n", "catalogue.meta = None" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Adding flux and band-flag columns\n", "for col in catalogue.colnames:\n", " if col.startswith('f_'):\n", " \n", " errcol = \"ferr{}\".format(col[1:])\n", " \n", " #Replace 0.0 with nan\n", " catalogue[col][np.isclose(catalogue[col], 0.0)] = np.nan\n", " catalogue[errcol][np.isclose(catalogue[errcol], 0.0)] = np.nan\n", " \n", " #Calculate mags, errors \n", " mag, error = flux_to_mag(np.array(catalogue[col])*1.e-6, np.array(catalogue[errcol] )*1.e-6)\n", " \n", " # magnitudes are added\n", " catalogue.add_column(Column(mag, name=\"m{}\".format(col[1:])))\n", " catalogue.add_column(Column(error, name=\"m{}\".format(errcol[1:])))\n", "\n", " #Add nan aperture columns\n", " #catalogue.add_column(Column(np.full(len(catalogue), np.nan, dtype=float), name=\"f_ap{}\".format(col[1:])))\n", " #catalogue.add_column(Column(np.full(len(catalogue), np.nan, dtype=float), name=\"ferr_ap{}\".format(col[1:])))\n", " #catalogue.add_column(Column(np.full(len(catalogue), np.nan, dtype=float), name=\"m_ap{}\".format(col[1:])))\n", " #catalogue.add_column(Column(np.full(len(catalogue), np.nan, dtype=float), name=\"merr_ap{}\".format(col[1:])))\n", " \n", " \n", " # Band-flag column\n", " if \"ap\" not in col:\n", " catalogue.add_column(Column(np.zeros(len(catalogue), dtype=bool), name=\"flag{}\".format(col[1:])))\n", " \n", "# TODO: Set to True the flag columns for fluxes that should not be used for SED fitting." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<Table length=10>\n", "
idx | ultradeep_id | ultradeep_ra | ultradeep_dec | f_ultradeep-wircam_k | ferr_ultradeep-wircam_k | f_ultradeep-irac_i1 | ferr_ultradeep-irac_i1 | f_ultradeep-irac_i2 | ferr_ultradeep-irac_i2 | f_ultradeep-irac_i3 | ferr_ultradeep-irac_i3 | f_ultradeep-irac_i4 | ferr_ultradeep-irac_i4 | m_ultradeep-wircam_k | merr_ultradeep-wircam_k | flag_ultradeep-wircam_k | m_ultradeep-irac_i1 | merr_ultradeep-irac_i1 | flag_ultradeep-irac_i1 | m_ultradeep-irac_i2 | merr_ultradeep-irac_i2 | flag_ultradeep-irac_i2 | m_ultradeep-irac_i3 | merr_ultradeep-irac_i3 | flag_ultradeep-irac_i3 | m_ultradeep-irac_i4 | merr_ultradeep-irac_i4 | flag_ultradeep-irac_i4 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 188.953274 | 61.928625 | nan | 1.705 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
1 | 2 | 189.307965 | 61.928952 | nan | 1.865 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
2 | 3 | 189.348525 | 61.929005 | nan | 1.946 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
3 | 4 | 189.334236 | 61.929213 | nan | 1.829 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
4 | 5 | 189.290732 | 61.929309 | 3.883 | 1.643 | nan | nan | nan | nan | nan | nan | nan | nan | 22.4270815236 | 0.45940370446 | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
5 | 6 | 189.144188 | 61.929338 | 1.542 | 0.723 | nan | nan | nan | nan | nan | nan | nan | nan | 23.4297890657 | 0.509070866433 | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
6 | 7 | 188.896435 | 61.928964 | nan | 1.73 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
7 | 8 | 189.155729 | 61.92937 | 4.782 | 1.616 | nan | nan | nan | nan | nan | nan | nan | nan | 22.2009760706 | 0.366907090525 | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
8 | 9 | 189.079731 | 61.929367 | nan | 0.668 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |
9 | 10 | 189.220343 | 61.929417 | 11.037 | 1.823 | nan | nan | nan | nan | nan | nan | nan | nan | 21.2928723936 | 0.179332889488 | False | nan | nan | False | nan | nan | False | nan | nan | False | nan | nan | False |