{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# HATLAS-NGP master catalogue\n", "\n", "This notebook presents the merge of the various pristine catalogues to produce HELP mater catalogue on GAMA-12." ] }, { "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", "This notebook was executed on: \n", "2018-05-01 13:46:51.110803\n" ] } ], "source": [ "from herschelhelp_internal import git_version\n", "print(\"This notebook was run with herschelhelp_internal version: \\n{}\".format(git_version()))\n", "import datetime\n", "print(\"This notebook was executed on: \\n{}\".format(datetime.datetime.now()))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "#%config InlineBackend.figure_format = 'svg'\n", "\n", "import matplotlib.pyplot as plt\n", "plt.rc('figure', figsize=(10, 6))\n", "\n", "import os\n", "import time\n", "\n", "from astropy import units as u\n", "from astropy.coordinates import SkyCoord\n", "from astropy.table import Column, Table\n", "import numpy as np\n", "from pymoc import MOC\n", "\n", "from herschelhelp_internal.masterlist import merge_catalogues, nb_merge_dist_plot, specz_merge\n", "from herschelhelp_internal.utils import coords_to_hpidx, ebv, gen_help_id, inMoc" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "TMP_DIR = os.environ.get('TMP_DIR', \"./data_tmp\")\n", "OUT_DIR = os.environ.get('OUT_DIR', \"./data\")\n", "SUFFIX = os.environ.get('SUFFIX', time.strftime(\"_%Y%m%d\"))\n", "\n", "try:\n", " os.makedirs(OUT_DIR)\n", "except FileExistsError:\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I - Reading the prepared pristine catalogues" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "decals = Table.read(\"{}/DECaLS.fits\".format(TMP_DIR))\n", "ps1 = Table.read(\"{}/PS1.fits\".format(TMP_DIR))\n", "las = Table.read(\"{}/UKIDSS-LAS.fits\".format(TMP_DIR))\n", "legacy = Table.read(\"{}/LegacySurvey.fits\".format(TMP_DIR))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## II - Merging tables\n", "\n", "We first merge the optical catalogues and then add the infrared ones: DECaLS, HSC, KIDS, PanSTARRS, UKIDSS-LAS, and VISTA-VIKING.\n", "\n", "At every step, we look at the distribution of the distances to the nearest source in the merged catalogue to determine the best crossmatching radius." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### DECaLS" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue = decals\n", "master_catalogue['decals_ra'].name = 'ra'\n", "master_catalogue['decals_dec'].name = 'dec'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add PanSTARRS" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nMUmfSnssyA6CVWurbdcDZJqZ7ZF0haT70h3JYIinpB6U9JKkr7s733vn/Q9J/0HS6numAGtEsAJw\nGjMbk/QlSb/g7ifTHs8gcPfQ3V+vaOeKq8zs8rTHlGVmdrOkl9x9f9pjQbYQrFpra7seICvMrKgo\nVH3e3b+c9ngGjbu/LOku0WPYaddL+nEze1ZRi8dbzez/pDskZAHBqrV2tvQBMsHMTNKnJT3u7h9P\nezyDwswmzWxLfDws6W2Snkh3VNnm7r/i7ue6+x5F/13/a3f/6ZSHhQwgWLXg7oGkxpY+j0v6M3d/\nNN1RZZ+ZfVHSPZJeaWYHzexn0x7TgLhe0vsU/e39wfhxU9qDGgA7JN1lZg8p+svc192d2/+BPsTK\n6wAAAAmhYgUAAJAQghUAAEBCCFYAAAAJIVgBAAAkhGAFAACQEIIVAABAQghWAFoyszBe0+pRM/uu\nmX3UzHLxa3vN7BNn+N09Zvbe7o32tM+ej/fg6wlm9i4ze8rMWKcKyCCCFYB2zLv76939MkWrgr9d\n0q9Lkrvvc/d/e4bf3SMplWAVezreg69tZpbv1GDc/U8l/ctOvT+AdBGsAKyJu78k6RZJH7HIDY3q\ni5m9uWnF9r8zs3FJvyXpB+Nz/y6uIn3TzB6IH9fFv3uDmf2Nmf25mT1hZp+Pt9iRmb3RzP5fXC37\njpmNm1nezH7bzO43s4fM7F+3M34z+4qZ7Y+rb7c0nZ8xs98xs+9KunaVz7wsPn4w/syL49/96abz\nf9gIZmZ2Y/zP+F0z+0aC/xoA9KhC2gMA0H/c/UAcHs5a9tIvSvqwu3/bzMYkLUj6ZUm/6O43S5KZ\njUh6m7svxMHki5L2xr9/haTLJH1P0rclXW9m35H0p5Le5e73m9kmSfOSflbSCXd/o5mVJX3bzP7K\n3Z9pMfyfcfdj8Z5895vZl9z9qKRRSfe5+0fjfUGfWOEzPyjpd9398/E1eTO7VNK7JF3v7jUz+31J\nP2Vmd0j6I0lvcvdnzGzbmr9oAH2HYAUgSd+W9HEz+7ykL7v7wbjo1Kwo6VYze72kUNIlTa99x90P\nSlLcF7VH0glJh9z9fkly95Px6z8i6bVm9s74dzdLulhSq2D1b83sn8TH58W/czQey5fi869c5TPv\nkfQfzezc+J/vH8zshyS9QVFIk6RhSS9JukbS3Y2g5+7HWowLQAYQrACsmZldoCiIvCTp0sZ5d/8t\nM/tLSTcpqiD96Aq//u8kfV/S6xS1Iyw0vVZpOg515v9GmaSfc/c71zDuGyT9sKRr3X3OzP5G0lD8\n8oK7h2f6fXf/gpndJ+nHJN0eTz+apP/t7r+y7LP+UbvjApAd9FgBWBMzm5R0m6Rbfdku7mZ2obs/\n7O7/TdL9kl4laVrSeNNlmxVVg+qS3iepVaP4k5J2mNkb488YN7OCpDslfcjMivH5S8xstMV7bZZ0\nPA5Vr1JUVWr7M+NAecDdPyHp/0p6raRvSHqnmZ0VX7vNzHZLulfSm8zs/Mb5FmMDkAFUrAC0Yzie\nmitKCiR9TtLHV7juF8zsLZLqkh6VdEd8HMZN4X8s6fclfcnM3i/pa5Jmz/TB7l41s3dJ+p9xX9S8\noqrTpxRNFT4QN7kfkfSPW/xzfE3SB83scUXh6d41fuZPSnqfmdUkHZb0X+N+rV+T9FcWLUFRU9Rn\ndm/cHP/l+PxLiu6oBJBhtuwvnACQGWa2R9JfuPvlKQ/lFPGU5GJDP4DsYCoQQJaFkjZbjy0Qqqhq\ndzztsQBIHhUrAACAhFCxAgAASAjBCgAAICEEKwAAgIQQrAAAABJCsAIAAEjI/weKQ6sdY+KTKgAA\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(ps1['ps1_ra'], ps1['ps1_dec'])\n", ")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Given the graph above, we use 0.8 arc-second radius\n", "master_catalogue = merge_catalogues(master_catalogue, ps1, \"ps1_ra\", \"ps1_dec\", radius=0.8*u.arcsec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add UKIDSS LAS" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nEKwAAABC8v8Bw6o8+lp5HW8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(las['las_ra'], las['las_dec'])\n", ")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Given the graph above, we use 0.8 arc-second radius\n", "master_catalogue = merge_catalogues(master_catalogue, las, \"las_ra\", \"las_dec\", radius=0.8*u.arcsec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add Legacy Survey" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(legacy['legacy_ra'], legacy['legacy_dec'])\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Given the graph above, we use 0.8 arc-second radius\n", "master_catalogue = merge_catalogues(master_catalogue, legacy, \"legacy_ra\", \"legacy_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": { "collapsed": true }, "outputs": [], "source": [ "for col in master_catalogue.colnames:\n", " if \"m_\" in col or \"merr_\" in col or \"f_\" in col or \"ferr_\" in col or \"stellarity\" in col:\n", " master_catalogue[col].fill_value = np.nan\n", " elif \"flag\" in col:\n", " master_catalogue[col].fill_value = 0\n", " elif \"id\" in col:\n", " master_catalogue[col].fill_value = -1\n", " \n", "master_catalogue = master_catalogue.filled()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=10\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
idxdecals_idradecf_decam_zferr_decam_zf_ap_decam_zferr_ap_decam_zm_decam_zmerr_decam_zflag_decam_zm_ap_decam_zmerr_ap_decam_zdecals_stellaritydecals_flag_cleaneddecals_flag_gaiaflag_mergedps1_idm_ap_gpc1_gmerr_ap_gpc1_gm_gpc1_gmerr_gpc1_gm_ap_gpc1_rmerr_ap_gpc1_rm_gpc1_rmerr_gpc1_rm_ap_gpc1_imerr_ap_gpc1_im_gpc1_imerr_gpc1_im_ap_gpc1_zmerr_ap_gpc1_zm_gpc1_zmerr_gpc1_zm_ap_gpc1_ymerr_ap_gpc1_ym_gpc1_ymerr_gpc1_yf_ap_gpc1_gferr_ap_gpc1_gf_gpc1_gferr_gpc1_gflag_gpc1_gf_ap_gpc1_rferr_ap_gpc1_rf_gpc1_rferr_gpc1_rflag_gpc1_rf_ap_gpc1_iferr_ap_gpc1_if_gpc1_iferr_gpc1_iflag_gpc1_if_ap_gpc1_zferr_ap_gpc1_zf_gpc1_zferr_gpc1_zflag_gpc1_zf_ap_gpc1_yferr_ap_gpc1_yf_gpc1_yferr_gpc1_yflag_gpc1_yps1_flag_cleanedps1_flag_gaialas_idm_ukidss_ymerr_ukidss_ym_ap_ukidss_ymerr_ap_ukidss_ym_ukidss_jmerr_ukidss_jm_ap_ukidss_jmerr_ap_ukidss_jm_ap_ukidss_hmerr_ap_ukidss_hm_ukidss_hmerr_ukidss_hm_ap_ukidss_kmerr_ap_ukidss_km_ukidss_kmerr_ukidss_klas_stellarityf_ukidss_yferr_ukidss_yflag_ukidss_yf_ap_ukidss_yferr_ap_ukidss_yf_ukidss_jferr_ukidss_jflag_ukidss_jf_ap_ukidss_jferr_ap_ukidss_jf_ap_ukidss_hferr_ap_ukidss_hf_ukidss_hferr_ukidss_hflag_ukidss_hf_ap_ukidss_kferr_ap_ukidss_kf_ukidss_kferr_ukidss_kflag_ukidss_klas_flag_cleanedlas_flag_gaialegacy_idf_90prime_gferr_90prime_gf_ap_90prime_gferr_ap_90prime_gf_90prime_rferr_90prime_rf_ap_90prime_rferr_ap_90prime_rf_mosaic_zferr_mosaic_zf_ap_mosaic_zferr_ap_mosaic_zlegacy_stellaritym_90prime_gmerr_90prime_gflag_90prime_gm_ap_90prime_gmerr_ap_90prime_gm_90prime_rmerr_90prime_rflag_90prime_rm_ap_90prime_rmerr_ap_90prime_rm_mosaic_zmerr_mosaic_zflag_mosaic_zm_ap_mosaic_zmerr_ap_mosaic_zlegacy_flag_cleanedlegacy_flag_gaia
degdeguJyuJyuJyuJyuJyuJy
046155600853192.98027575423.22733365824.608950.651596nannan22.2410.153497Falsenan-9632.190.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
147341302715202.33022738425.62334583525.375490.677866nannan22.0740.136915Falsenan-6348.650.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
250506201460205.28219835531.82649885974.887880.863832nannan22.17720.191882Falsenan-3032.710.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
350381800734200.96633731731.47283661374.988210.603302nannan22.15510.131315Falsenan-1469.170.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
448757708051205.75416445628.30238160883.139460.520971nannan22.65790.18017Falsenan-1383.580.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
550257200190196.75420675331.14101466123.197180.566544nannan22.63810.192394Falsenan-1284.610.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
650008100254191.34034623430.65112985324.068810.629372nannan22.37630.167944Falsenan-1137.650.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
750991300470196.18943496132.69341027553.417220.597868nannan22.56580.189957Falsenan-1017.090.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
851114400616201.91556348932.97168394822.858860.539181nannan22.75950.20477Falsenan-943.00.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
947859401245200.79591606326.49859938512.431160.364385nannan22.93550.162732Falsenan-748.6580.9False0False-1nannannannannannannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannannannanFalsenannannannanFalseFalse0-1nannannannannannannannannannannannannannannanFalsenannannannanFalsenannannannanFalsenannanFalse0
\n", "\n" ], "text/plain": [ "" ] }, "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": { "collapsed": true }, "outputs": [], "source": [ "flag_cleaned_columns = [column for column in master_catalogue.colnames\n", " if 'flag_cleaned' in column]\n", "\n", "flag_column = np.zeros(len(master_catalogue), dtype=bool)\n", "for column in flag_cleaned_columns:\n", " flag_column |= master_catalogue[column]\n", " \n", "master_catalogue.add_column(Column(data=flag_column, name=\"flag_cleaned\"))\n", "master_catalogue.remove_columns(flag_cleaned_columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each pristine catalogue contains a flag indicating the probability of a source being a Gaia object (0: not a Gaia object, 1: possibly, 2: probably, 3: definitely). We merge these flags taking the highest value." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "flag_gaia_columns = [column for column in master_catalogue.colnames\n", " if 'flag_gaia' in column]\n", "\n", "master_catalogue.add_column(Column(\n", " data=np.max([master_catalogue[column] for column in flag_gaia_columns], axis=0),\n", " name=\"flag_gaia\"\n", "))\n", "master_catalogue.remove_columns(flag_gaia_columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each prisitine catalogue may contain one or several stellarity columns indicating the probability (0 to 1) of each source being a star. We merge these columns taking the highest value." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "decals_stellarity, las_stellarity, legacy_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": 17, "metadata": { "collapsed": true }, "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": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(\n", " ebv(master_catalogue['ra'], master_catalogue['dec'])\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## V - Adding HELP unique identifiers and field columns" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(Column(gen_help_id(master_catalogue['ra'], master_catalogue['dec']),\n", " name=\"help_id\"))\n", "master_catalogue.add_column(Column(np.full(len(master_catalogue), \"NGP\", dtype='" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_merge_dist_plot(\n", " SkyCoord(master_catalogue['ra'], master_catalogue['dec']),\n", " SkyCoord(specz['ra'] * u.deg, specz['dec'] * u.deg)\n", ")" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue = specz_merge(master_catalogue, specz, radius=1. * u.arcsec)" ] }, { "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 de different depths in the catalogue we are using.*" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "decals_moc = MOC(filename=\"../../dmu0/dmu0_DECaLS/data/DECaLS_GAMA-12_MOC.fits\")\n", "ps1_moc = MOC(filename=\"../../dmu0/dmu0_PanSTARRS1-3SS/data/PanSTARRS1-3SS_GAMA-12_MOC.fits\")\n", "las_moc = MOC(filename=\"../../dmu0/dmu0_UKIDSS-LAS/data/UKIDSS-LAS_GAMA-12_MOC.fits\")\n", "legacy_moc = MOC(filename=\"../../dmu0/dmu0_LegacySurvey/data/LegacySurvey-dr4_NGP_MOC.fits\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "was_observed_optical = inMoc(\n", " master_catalogue['ra'], master_catalogue['dec'],\n", " decals_moc + ps1_moc + legacy_moc) \n", "\n", "was_observed_nir = inMoc(\n", " master_catalogue['ra'], master_catalogue['dec'],\n", " las_moc \n", ")\n", "\n", "was_observed_mir = np.zeros(len(master_catalogue), dtype=bool)\n", "\n", "#was_observed_mir = inMoc(\n", "# master_catalogue['ra'], master_catalogue['dec'], \n", "#)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(\n", " Column(\n", " 1 * was_observed_optical + 2 * was_observed_nir + 4 * was_observed_mir,\n", " name=\"flag_optnir_obs\")\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## VIII.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": 28, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# SpARCS is a catalogue of sources detected in r (with fluxes measured at \n", "# this prior position in the other bands). Thus, we are only using the r\n", "# CFHT band.\n", "# Check to use catalogue flags from HSC and PanSTARRS.\n", "nb_optical_flux = (\n", " 1 * ~np.isnan(master_catalogue['f_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_90prime_g']) +\n", " 1 * ~np.isnan(master_catalogue['f_90prime_r']) +\n", " 1 * ~np.isnan(master_catalogue['f_mosaic_z']) +\n", " 1 * ~np.isnan(master_catalogue['f_decam_z']) \n", ")\n", "\n", "nb_nir_flux = (\n", " 1 * ~np.isnan(master_catalogue['f_ukidss_y']) +\n", " 1 * ~np.isnan(master_catalogue['f_ukidss_j']) +\n", " 1 * ~np.isnan(master_catalogue['f_ukidss_h']) +\n", " 1 * ~np.isnan(master_catalogue['f_ukidss_k'])\n", ")\n", "\n", "nb_mir_flux = np.zeros(len(master_catalogue), dtype=bool)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": true }, "outputs": [], "source": [ "has_optical_flux = nb_optical_flux >= 2\n", "has_nir_flux = nb_nir_flux >= 2\n", "has_mir_flux = nb_mir_flux >= 2\n", "\n", "master_catalogue.add_column(\n", " Column(\n", " 1 * has_optical_flux + 2 * has_nir_flux + 4 * has_mir_flux,\n", " name=\"flag_optnir_det\")\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IX - Cross-identification table\n", "\n", "We are producing a table associating to each HELP identifier, the identifiers of the sources in the pristine catalogue. This can be used to easily get additional information from them." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['decals_id', 'ps1_id', 'las_id', 'legacy_id', 'help_id', 'specz_id']\n" ] } ], "source": [ "id_names = []\n", "for col in master_catalogue.colnames:\n", " if '_id' in col:\n", " id_names += [col]\n", " if '_intid' in col:\n", " id_names += [col]\n", " \n", "print(id_names)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue[id_names].write(\n", " \"{}/master_list_cross_ident_ngp{}.fits\".format(OUT_DIR, SUFFIX))\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": 32, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue.add_column(Column(\n", " data=coords_to_hpidx(master_catalogue['ra'], master_catalogue['dec'], order=13),\n", " name=\"hp_idx\"\n", "))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## XI - Saving the catalogue" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "columns = [\"help_id\", \"field\", \"ra\", \"dec\", \"hp_idx\"]\n", "\n", "bands = [column[5:] for column in master_catalogue.colnames if 'f_ap' in column]\n", "for band in bands:\n", " columns += [\"f_ap_{}\".format(band), \"ferr_ap_{}\".format(band),\n", " \"m_ap_{}\".format(band), \"merr_ap_{}\".format(band),\n", " \"f_{}\".format(band), \"ferr_{}\".format(band),\n", " \"m_{}\".format(band), \"merr_{}\".format(band),\n", " \"flag_{}\".format(band)] \n", " \n", "columns += [\"stellarity\", \"stellarity_origin\",\"flag_cleaned\", \"flag_merged\", \"flag_gaia\", \n", " \"flag_optnir_obs\", \"flag_optnir_det\", \"ebv\", 'zspec_association_flag', 'zspec_qual', 'zspec' ]" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Missing columns: set()\n" ] } ], "source": [ "# We check for columns in the master catalogue that we will not save to disk.\n", "print(\"Missing columns: {}\".format(set(master_catalogue.colnames) - set(columns)))" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": true }, "outputs": [], "source": [ "master_catalogue[columns].write(\"{}/master_catalogue_ngp{}.fits\".format(OUT_DIR, SUFFIX))" ] } ], "metadata": { "kernelspec": { "display_name": "Python (herschelhelp_internal)", "language": "python", "name": "helpint" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }