Final stage of HELP data processing

This notebook collates the final output files ready for writing to csv for ingestion to a VO server. At the bottom of the notebook we also summarise the pipeline products which are processed on a given field. This are generated using the dmu32 meta_main.yml files which contain links to the XID+, CIGALE and photo-z catalogues which feed in to the final catalogues for publishing.

Summary of notebook:

  • Take DR1 masterlist suffixes from overview table
  • Find dmu32 full table names and write to a file
  • Create summary of all the data products per field using the dmu32 meta_main.yml files
In [1]:
from  herschelhelp_internal  import git_version
print("This notebook was run with herschelhelp_internal version: \n{}".format(git_version()))
import datetime
print("This notebook was executed on: \n{}".format(datetime.datetime.now()))
This notebook was run with herschelhelp_internal version: 
017bb1e (Mon Jun 18 14:58:59 2018 +0100)
This notebook was executed on: 
2019-09-26 16:02:44.026670
In [2]:
from astropy.table import Table, Column
from astropy import units as u
import numpy as np

from pymoc import MOC

from herschelhelp_internal.masterlist import find_last_ml_suffix

import yaml

import os
import time

import humanfriendly
/opt/pyenv/versions/3.7.2/lib/python3.7/site-packages/matplotlib/__init__.py:855: MatplotlibDeprecationWarning: 
examples.directory is deprecated; in the future, examples will be found relative to the 'datapath' directory.
  "found relative to the 'datapath' directory.".format(key))
/opt/pyenv/versions/3.7.2/lib/python3.7/site-packages/matplotlib/__init__.py:846: MatplotlibDeprecationWarning: 
The text.latex.unicode rcparam was deprecated in Matplotlib 2.2 and will be removed in 3.1.
  "2.2", name=key, obj_type="rcparam", addendum=addendum)
/opt/pyenv/versions/3.7.2/lib/python3.7/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.
  warnings.warn(msg, UserWarning)
In [3]:
TODAY = os.environ.get('SUFFIX', time.strftime("_%Y%m%d"))

The definition of HELP DR1

Here we take the DR1 definition from dmu1. We then propagate those suffixes through to dmu32. Note that this does not include a specification of how the masterlist made its way through the whole HELP process.

In [4]:
dr1 = Table.read("../dmu1/dr1_overview.fits")
In [5]:
dr1.show_in_notebook()
Out[5]:
Table length=23
idxfielddr1_suffixlast_suffixobjectsarea_sq_degreesfile_size_bytesfile_size_readable
0AKARI-NEP20180215201802155317469.194732358779467348848640348.85 MB
1AKARI-SEP20180221201802218441728.713306475131118538606080538.61 MB
2Bootes2018052020190201348166111.4281529909548650020444805 GB
3CDFS-SWIRE2018061320180613217105112.97124640371706857055939205.71 GB
4COSMOS201904022019040225993745.0838634784968161051717536010.52 GB
5EGS201805012018050114126133.56638327512215838084803203.81 GB
6ELAIS-N12017101620180216402629213.50748455545476352422796805.24 GB
7ELAIS-N2201802182018021817832409.16747990399111320079648002.01 GB
8ELAIS-S1201804162018041616555649.00294064688550819701561601.97 GB
9GAMA-0920180601201901231293798262.013934172849151991161152019.91 GB
10GAMA-1220180218201901281236941562.709332807721071463306688014.63 GB
11GAMA-1520180213201902011423288061.701145659808421659558528016.6 GB
12HDF-N20180427201804271306790.6717832558166041185996160186 MB
13Herschel-Stripe-82201803072019020550196455363.22747930641884127047306240127.05 GB
14Lockman-SWIRE2018021920180219436629822.41386340294921851959318405.2 GB
15NGP20180219201902046759591177.698197107716249548067204.95 GB
16SA13201805012018050197990.2741637932843118427216002.72 MB
17SGP201802212018022129790690294.56845409006424519253088045.19 GB
18SPIRE-NEP201802202018022026740.128066046937739112038401.2 MB
19SSDF201802212018022112661903111.1162494934353980783193608.08 GB
20xFLS20180501201805019771487.4404324214075410504742401.05 GB
21XMM-13hr2018050120180501386290.75702401665836331067616010.68 MB
22XMM-LSS2019032820190328870583721.754579393313742824183872028.24 GB
In [6]:
GAVO_FOLDER = '/mnt/hedam/data_vo/'
stilts_command = 'stilts tpipe {in_file} omode=out ofmt=csv out={GAVO_FOLDER}{out_file}'

final_data = open('help_to_vo.sh', 'w+')
for field in dr1:
    final_help_product = './dmu32_{}/data/{}_{}.fits'.format(field[0], field[0], field[1])
    cigale_input = './dmu32_{}/data/{}_{}_cigale.fits'.format(field[0], field[0], field[1])

    if os.path.exists(final_help_product):
        print(final_help_product)
    
        #Test with Cigale input files
        final_data.write(stilts_command.format(in_file=final_help_product, 
                                               GAVO_FOLDER=GAVO_FOLDER, 
                                               out_file='herschelhelp/main/{}_{}_all.csv \n'.format(field[0], 
                                                                                                field[1])))
    elif os.path.exists(cigale_input):
        print(cigale_input)
        final_data.write(stilts_command.format(in_file=cigale_input, 
                                               GAVO_FOLDER=GAVO_FOLDER, 
                                               out_file='herschelhelp/main/{}_{}_incomplete.csv \n'.format(field[0], 
                                                                                                       field[1])))
        
    else:
        final_data.write('# No data for {} \n'.format(field[0]))
        
    #final_data.write('./dmu32_{}/data/{}_{}.fits'.format(field[0], field[0], field[1]))
    
final_data.close()
./dmu32_AKARI-NEP/data/AKARI-NEP_20180215_cigale.fits
./dmu32_AKARI-SEP/data/AKARI-SEP_20180221_cigale.fits
./dmu32_Bootes/data/Bootes_20180520_cigale.fits
./dmu32_CDFS-SWIRE/data/CDFS-SWIRE_20180613.fits
./dmu32_COSMOS/data/COSMOS_20190402.fits
./dmu32_EGS/data/EGS_20180501_cigale.fits
./dmu32_ELAIS-N1/data/ELAIS-N1_20171016.fits
./dmu32_ELAIS-N2/data/ELAIS-N2_20180218_cigale.fits
./dmu32_ELAIS-S1/data/ELAIS-S1_20180416.fits
./dmu32_GAMA-09/data/GAMA-09_20180601.fits
./dmu32_GAMA-12/data/GAMA-12_20180218.fits
./dmu32_GAMA-15/data/GAMA-15_20180213.fits
./dmu32_HDF-N/data/HDF-N_20180427_cigale.fits
./dmu32_Herschel-Stripe-82/data/Herschel-Stripe-82_20180307_cigale.fits
./dmu32_Lockman-SWIRE/data/Lockman-SWIRE_20180219.fits
./dmu32_SA13/data/SA13_20180501_cigale.fits
./dmu32_SGP/data/SGP_20180221.fits
./dmu32_SPIRE-NEP/data/SPIRE-NEP_20180220_cigale.fits
./dmu32_SSDF/data/SSDF_20180221_cigale.fits
./dmu32_xFLS/data/xFLS_20180501_cigale.fits
./dmu32_XMM-13hr/data/XMM-13hr_20180501_cigale.fits
./dmu32_XMM-LSS/data/XMM-LSS_20190328.fits

The out put of this notebook is a shell script which will write all the fits files to csv files in the vo folder

In [7]:
depths_to_vo = open('depths_to_vo.sh', 'w+')
for field in dr1:
    final_depth_product = '../dmu1/dmu1_ml_{}/data/depths_{}_{}.fits'.format(field[0], field[0].lower(), field[1])
    

    if os.path.exists(final_depth_product):
        print(final_depth_product)
    
        #Test with Cigale input files
        depths_to_vo.write(stilts_command.format(in_file=final_depth_product, 
                                               GAVO_FOLDER=GAVO_FOLDER, 
                                               out_file='depth/{}_{}.csv \n'.format(field[0], 
                                                                                                field[1])))

        
    else:
        depths_to_vo.write('# No depths for {} \n'.format(field[0]))
        
    #final_data.write('./dmu32_{}/data/{}_{}.fits'.format(field[0], field[0], field[1]))
    
depths_to_vo.close()
../dmu1/dmu1_ml_AKARI-NEP/data/depths_akari-nep_20180215.fits
../dmu1/dmu1_ml_AKARI-SEP/data/depths_akari-sep_20180221.fits
../dmu1/dmu1_ml_Bootes/data/depths_bootes_20180520.fits
../dmu1/dmu1_ml_CDFS-SWIRE/data/depths_cdfs-swire_20180613.fits
../dmu1/dmu1_ml_COSMOS/data/depths_cosmos_20190402.fits
../dmu1/dmu1_ml_EGS/data/depths_egs_20180501.fits
../dmu1/dmu1_ml_ELAIS-N1/data/depths_elais-n1_20171016.fits
../dmu1/dmu1_ml_ELAIS-N2/data/depths_elais-n2_20180218.fits
../dmu1/dmu1_ml_ELAIS-S1/data/depths_elais-s1_20180416.fits
../dmu1/dmu1_ml_GAMA-09/data/depths_gama-09_20180601.fits
../dmu1/dmu1_ml_GAMA-12/data/depths_gama-12_20180218.fits
../dmu1/dmu1_ml_GAMA-15/data/depths_gama-15_20180213.fits
../dmu1/dmu1_ml_HDF-N/data/depths_hdf-n_20180427.fits
../dmu1/dmu1_ml_Herschel-Stripe-82/data/depths_herschel-stripe-82_20180307.fits
../dmu1/dmu1_ml_Lockman-SWIRE/data/depths_lockman-swire_20180219.fits
../dmu1/dmu1_ml_NGP/data/depths_ngp_20180219.fits
../dmu1/dmu1_ml_SA13/data/depths_sa13_20180501.fits
../dmu1/dmu1_ml_SGP/data/depths_sgp_20180221.fits
../dmu1/dmu1_ml_SPIRE-NEP/data/depths_spire-nep_20180220.fits
../dmu1/dmu1_ml_SSDF/data/depths_ssdf_20180221.fits
../dmu1/dmu1_ml_xFLS/data/depths_xfls_20180501.fits
../dmu1/dmu1_ml_XMM-13hr/data/depths_xmm-13hr_20180501.fits
../dmu1/dmu1_ml_XMM-LSS/data/depths_xmm-lss_20190328.fits

Summarise completeness of HELP data sets

Here we get information about what is available on each field to summarise the data products available per field. We take the cigale, xid+ and photo-z filenames from the per field meta_main.yml files here and check they are there and how large they are. This then given a summary of all the data present.

In [8]:
dr1_data_products = dr1.copy()

fields_info = yaml.load(open("../dmu2/meta_main.yml", 'r'))
In [9]:
dr1_data_products.add_column(Column(data =np.full(len(dr1_data_products), 0, dtype=int), name = 'xid_objects'))
dr1_data_products.add_column(Column(data =np.full(len(dr1_data_products), 0, dtype=int), name = 'photoz_objects'))
dr1_data_products.add_column(Column(data =np.full(len(dr1_data_products), 0, dtype=int), name = 'cigale_objects'))
In [10]:
for field in fields_info['fields']:
    print(field['name'] + ':')
    xid_objects = 0
    photoz_objects = 0
    cigale_objects = 0
    dmu32_info = yaml.load(open('./dmu32_{}/meta_main.yml'.format(field['name'].replace("HATLAS-", "")), 'r'))

        
    try: 
        for n, xid_file in enumerate(dmu32_info['xid']):
            print(n,xid_file,xid_file.replace('dmu_products', '..'))
            xid_objects = len(Table.read(xid_file.replace('dmu_products', '..')))
            print("  - xid: {}".format(dmu32_info['xid'][n]))
    except FileNotFoundError:
        print("  - xid not done.")
        
    try: 
        #print(dmu32_info['photoz'].replace('dmu_products', '..'))
        photoz_objects = len(Table.read(dmu32_info['photoz'].replace('dmu_products', '..')))
        print("  - photoz: {}".format(dmu32_info['photoz']))
    except FileNotFoundError:
        print("  - photoz not done.")
        
    try: 
        cigale_objects = len(Table.read(dmu32_info['cigale'].replace('dmu_products', '..')))
        print("  - cigale: {}".format(dmu32_info['cigale']))
    except FileNotFoundError:
        print("  - cigale not done.")
 
                   
    dr1_data_products['xid_objects'][dr1_data_products['field'] == field['name'].replace("HATLAS-", "")] = xid_objects
    dr1_data_products['photoz_objects'][dr1_data_products['field'] == field['name'].replace("HATLAS-", "")] = photoz_objects
    dr1_data_products['cigale_objects'][dr1_data_products['field'] == field['name'].replace("HATLAS-", "")] = cigale_objects
AKARI-NEP:
0 dmu_products/dmu26/dmu26_XID+MIPS_AKARI-NEP/data/dmu26_XID+MIPS_AKARI-NEP_cat_20190227.fits ../dmu26/dmu26_XID+MIPS_AKARI-NEP/data/dmu26_XID+MIPS_AKARI-NEP_cat_20190227.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_AKARI-NEP/data/dmu26_XID+MIPS_AKARI-NEP_cat_20190227.fits
1 dmu_products/dmu26/dmu26_XID+PACS_AKARI-NEP/data/dmu26_XID+PACS_AKARI-NEP_cat.fits ../dmu26/dmu26_XID+PACS_AKARI-NEP/data/dmu26_XID+PACS_AKARI-NEP_cat.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_AKARI-NEP/data/dmu26_XID+PACS_AKARI-NEP_cat.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_AKARI-NEP/data/dmu26_XID+SPIRE_AKARI-NEP_cat_20190312.fits ../dmu26/dmu26_XID+SPIRE_AKARI-NEP/data/dmu26_XID+SPIRE_AKARI-NEP_cat_20190312.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_AKARI-NEP/data/dmu26_XID+SPIRE_AKARI-NEP_cat_20190312.fits
  - photoz not done.
  - cigale not done.
AKARI-SEP:
0 dmu_products/dmu26/dmu26_XID+MIPS_AKARI-SEP/data/dmu26_XID+MIPS_AKARI-SEP_cat_20190909.fits ../dmu26/dmu26_XID+MIPS_AKARI-SEP/data/dmu26_XID+MIPS_AKARI-SEP_cat_20190909.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_AKARI-SEP/data/dmu26_XID+MIPS_AKARI-SEP_cat_20190909.fits
1 dmu_products/dmu26/dmu26_XID+SPIRE_AKARI-SEP/dmu26_XID+SPIRE_AKARI-SEP_cat_20190916.fits ../dmu26/dmu26_XID+SPIRE_AKARI-SEP/dmu26_XID+SPIRE_AKARI-SEP_cat_20190916.fits
  - xid not done.
  - photoz not done.
  - cigale not done.
Bootes:
0 dmu_products/dmu26/dmu26_XID+MIPS_Bootes/data/dmu26_XID+MIPS_Bootes_cat_20190320.fits ../dmu26/dmu26_XID+MIPS_Bootes/data/dmu26_XID+MIPS_Bootes_cat_20190320.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_Bootes/data/dmu26_XID+MIPS_Bootes_cat_20190320.fits
1 dmu_products/dmu26/dmu26_XID+PACS_Bootes/data/dmu26_XID+PACS_Bootes_cat_20190425.fits ../dmu26/dmu26_XID+PACS_Bootes/data/dmu26_XID+PACS_Bootes_cat_20190425.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_Bootes/data/dmu26_XID+PACS_Bootes_cat_20190425.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_Bootes/data/dmu26_XID+SPIRE_Bootes_cat_20190325.fits ../dmu26/dmu26_XID+SPIRE_Bootes/data/dmu26_XID+SPIRE_Bootes_cat_20190325.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_Bootes/data/dmu26_XID+SPIRE_Bootes_cat_20190325.fits
  - photoz: dmu_products/dmu24/dmu24_Bootes/data/Bootes_opt_spitzer_merged_vac_opt3as_irac4as_all_public_with_help_id.fits
  - cigale: dmu_products/dmu28/dmu28_Bootes/data/zphot/HELP_final_results.fits
CDFS-SWIRE:
0 dmu_products/dmu26/dmu26_XID+SPIRE_CDFS-SWIRE/data/dmu26_XID+SPIRE_CDFS-SWIRE_cat_20170919.fits ../dmu26/dmu26_XID+SPIRE_CDFS-SWIRE/data/dmu26_XID+SPIRE_CDFS-SWIRE_cat_20170919.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_CDFS-SWIRE/data/dmu26_XID+SPIRE_CDFS-SWIRE_cat_20170919.fits
1 dmu_products/dmu26/dmu26_XID+MIPS_CDFS-SWIRE/data/dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits ../dmu26/dmu26_XID+MIPS_CDFS-SWIRE/data/dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_CDFS-SWIRE/data/dmu26_XID+MIPS_CDFS-SWIRE_cat_20170901.fits
2 dmu_products/dmu26/dmu26_XID+PACS_CDFS-SWIRE/data/dmu26_XID+PACS_CDFS-SWIRE_cat_20171019.fits ../dmu26/dmu26_XID+PACS_CDFS-SWIRE/data/dmu26_XID+PACS_CDFS-SWIRE_cat_20171019.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_CDFS-SWIRE/data/dmu26_XID+PACS_CDFS-SWIRE_cat_20171019.fits
  - photoz: dmu_products/dmu24/dmu24_CDFS-SWIRE/data/master_catalogue_cdfs-swire_20171103_photoz_20180210.fits
  - cigale: dmu_products/dmu28/dmu28_CDFS-SWIRE/data/zphot/HELP_final_results.fits
COSMOS:
0 dmu_products/dmu26/dmu26_XID+MIPS_COSMOS/data/dmu26_XID+MIPS_COSMOS_20170213.fits ../dmu26/dmu26_XID+MIPS_COSMOS/data/dmu26_XID+MIPS_COSMOS_20170213.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_COSMOS/data/dmu26_XID+MIPS_COSMOS_20170213.fits
1 dmu_products/dmu26/dmu26_XID+PACS_COSMOS/data/dmu26_XID+PACS_COSMOS_20170303.fits ../dmu26/dmu26_XID+PACS_COSMOS/data/dmu26_XID+PACS_COSMOS_20170303.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_COSMOS/data/dmu26_XID+PACS_COSMOS_20170303.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_COSMOS/data/dmu26_XID+SPIRE_COSMOS_20161129.fits ../dmu26/dmu26_XID+SPIRE_COSMOS/data/dmu26_XID+SPIRE_COSMOS_20161129.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_COSMOS/data/dmu26_XID+SPIRE_COSMOS_20161129.fits
  - photoz: dmu_products/dmu24/dmu24_COSMOS/data/COSMOS2015-HELP_selected_20160613_photoz_v1.0.fits
  - cigale: dmu_products/dmu28/dmu28_COSMOS/data/zphot/final_results.fits
EGS:
0 N N
  - xid not done.
  - photoz: dmu_products/dmu24/dmu24_EGS/data/master_catalogue_egs_20180501_photoz_20180608.fits
  - cigale not done.
ELAIS-N1:
0 dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-N1/data/dmu26_XID+MIPS_ELAIS-N1_SERVS_cat_20170725.fits ../dmu26/dmu26_XID+MIPS_ELAIS-N1/data/dmu26_XID+MIPS_ELAIS-N1_SERVS_cat_20170725.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-N1/data/dmu26_XID+MIPS_ELAIS-N1_SERVS_cat_20170725.fits
1 dmu_products/dmu26/dmu26_XID+PACS_ELAIS-N1/data/dmu26_XID+PACS_ELAIS-N1_SWIRE_cat_20170808.fits ../dmu26/dmu26_XID+PACS_ELAIS-N1/data/dmu26_XID+PACS_ELAIS-N1_SWIRE_cat_20170808.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_ELAIS-N1/data/dmu26_XID+PACS_ELAIS-N1_SWIRE_cat_20170808.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-N1/data/dmu26_XID+SPIRE_ELAIS-N1_SERVS_cat_20170725.fits ../dmu26/dmu26_XID+SPIRE_ELAIS-N1/data/dmu26_XID+SPIRE_ELAIS-N1_SERVS_cat_20170725.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-N1/data/dmu26_XID+SPIRE_ELAIS-N1_SERVS_cat_20170725.fits
  - photoz: dmu_products/dmu24/dmu24_ELAIS-N1/data/master_catalogue_elais-n1_20170706_photoz_20170725_irac1_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_ELAIS-N1/data/zphot/HELP_final_results.fits
ELAIS-N2:
0 dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-N2/data/dmu26_XID+MIPS_ELAIS-N2_SWIRE_cat_20181108.fits ../dmu26/dmu26_XID+MIPS_ELAIS-N2/data/dmu26_XID+MIPS_ELAIS-N2_SWIRE_cat_20181108.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-N2/data/dmu26_XID+MIPS_ELAIS-N2_SWIRE_cat_20181108.fits
1 dmu_products/dmu26/dmu26_XID+PACS_ELAIS-N2/data/dmu26_XID+PACS_ELAIS-N2_cat_20190206.fits ../dmu26/dmu26_XID+PACS_ELAIS-N2/data/dmu26_XID+PACS_ELAIS-N2_cat_20190206.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_ELAIS-N2/data/dmu26_XID+PACS_ELAIS-N2_cat_20190206.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-N2/data/dmu26_XID+SPIRE_ELAIS-N2_cat_20181112.fits ../dmu26/dmu26_XID+SPIRE_ELAIS-N2/data/dmu26_XID+SPIRE_ELAIS-N2_cat_20181112.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-N2/data/dmu26_XID+SPIRE_ELAIS-N2_cat_20181112.fits
  - photoz: dmu_products/dmu24/dmu24_ELAIS-N2/data/ELAIS-N2_DESI-DR7_Zou_et_al_2019_photo_z_withhelp_id.fits
  - cigale: dmu_products/dmu28/dmu28_ELAIS-N2/data/zphot/HELP_final_results.fits
ELAIS-S1:
0 dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-S1/data/dmu26_XID+MIPS_ELAIS-S1_20180215.fits ../dmu26/dmu26_XID+MIPS_ELAIS-S1/data/dmu26_XID+MIPS_ELAIS-S1_20180215.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_ELAIS-S1/data/dmu26_XID+MIPS_ELAIS-S1_20180215.fits
1 dmu_products/dmu26/dmu26_XID+PACS_ELAIS-S1/data/dmu26_XID+PACS_ELAIS-S1_cat_20180416.fits ../dmu26/dmu26_XID+PACS_ELAIS-S1/data/dmu26_XID+PACS_ELAIS-S1_cat_20180416.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_ELAIS-S1/data/dmu26_XID+PACS_ELAIS-S1_cat_20180416.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-S1/data/dmu26_XID+SPIRE_ELAIS-S1_20180327.fits ../dmu26/dmu26_XID+SPIRE_ELAIS-S1/data/dmu26_XID+SPIRE_ELAIS-S1_20180327.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_ELAIS-S1/data/dmu26_XID+SPIRE_ELAIS-S1_20180327.fits
  - photoz: dmu_products/dmu24/dmu24_ELAIS-S1/data/master_catalogue_elais-s1_20180221_photoz_20180412.fits
  - cigale: dmu_products/dmu28/dmu28_ELAIS-S1/data/zphot/HELP_final_results.fits
GAMA-09:
0 dmu_products/dmu26/dmu26_XID+PACS_GAMA-09/data/dmu26_XID+PACS_GAMA-09_cat_20190918.fits ../dmu26/dmu26_XID+PACS_GAMA-09/data/dmu26_XID+PACS_GAMA-09_cat_20190918.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_GAMA-09/data/dmu26_XID+PACS_GAMA-09_cat_20190918.fits
1 dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-09/data/dmu26_XID+SPIRE_GAMA-09_20180508.fits ../dmu26/dmu26_XID+SPIRE_GAMA-09/data/dmu26_XID+SPIRE_GAMA-09_20180508.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-09/data/dmu26_XID+SPIRE_GAMA-09_20180508.fits
  - photoz: dmu_products/dmu24/dmu24_GAMA-09/data/master_catalogue_gama-09_20171206_photoz_20180213_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_GAMA-09/data/zphot/HELP_final_results.fits
GAMA-12:
0 dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-12/data/dmu26_XID+SPIRE_GAMA_12_20180508.fits ../dmu26/dmu26_XID+SPIRE_GAMA-12/data/dmu26_XID+SPIRE_GAMA_12_20180508.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-12/data/dmu26_XID+SPIRE_GAMA_12_20180508.fits
  - photoz: dmu_products/dmu24/dmu24_GAMA-12/data/master_catalogue_gama-12_20171210_photoz_20180410_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_GAMA-12/data/zphot/HELP_final_results.fits
GAMA-15:
0 dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-15/data/dmu26_XID+SPIRE_GAMA-15_cat_20180416.fits ../dmu26/dmu26_XID+SPIRE_GAMA-15/data/dmu26_XID+SPIRE_GAMA-15_cat_20180416.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_GAMA-15/data/dmu26_XID+SPIRE_GAMA-15_cat_20180416.fits
  - photoz: dmu_products/dmu24/dmu24_GAMA-15/data/master_catalogue_gama-15_20180119_photoz_20180210_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_GAMA-15/data/zphot/HELP_final_results.fits
HDF-N:
0 N N
  - xid not done.
  - photoz: dmu_products/dmu24/dmu24_HDF-N/data/HDF-N_DESI-DR7_Zou_et_al_2019_photo_z_withhelp_id.fits
  - cigale not done.
Herschel-Stripe-82:
0 dmu_products/dmu26/dmu26_XID+MIPS_Herschel-Stripe-82/data/dmu26_XID+MIPS_Herschel-Stripe-82_cat_20190917.fits ../dmu26/dmu26_XID+MIPS_Herschel-Stripe-82/data/dmu26_XID+MIPS_Herschel-Stripe-82_cat_20190917.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_Herschel-Stripe-82/data/dmu26_XID+MIPS_Herschel-Stripe-82_cat_20190917.fits
  - photoz: dmu_products/dmu24/dmu24_Herschel-Stripe-82/data/master_catalogue_herschel-stripe-82_20180307_photoz_20180509.fits
  - cigale not done.
Lockman-SWIRE:
0 dmu_products/dmu26/dmu26_XID+MIPS_Lockman-SWIRE/data/dmu26_XID+MIPS_Lockman-SWIRE_cat_20171214.fits ../dmu26/dmu26_XID+MIPS_Lockman-SWIRE/data/dmu26_XID+MIPS_Lockman-SWIRE_cat_20171214.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_Lockman-SWIRE/data/dmu26_XID+MIPS_Lockman-SWIRE_cat_20171214.fits
1 dmu_products/dmu26/dmu26_XID+PACS_Lockman-SWIRE/data/dmu26_XID+PACS_Lockman-SWIRE_cat_20180220.fits ../dmu26/dmu26_XID+PACS_Lockman-SWIRE/data/dmu26_XID+PACS_Lockman-SWIRE_cat_20180220.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_Lockman-SWIRE/data/dmu26_XID+PACS_Lockman-SWIRE_cat_20180220.fits
2 dmu_products/dmu26/dmu26_XID+SPIRE_Lockman-SWIRE/data/dmu26_XID+SPIRE_Lockman-SWIRE_20180220.fits ../dmu26/dmu26_XID+SPIRE_Lockman-SWIRE/data/dmu26_XID+SPIRE_Lockman-SWIRE_20180220.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_Lockman-SWIRE/data/dmu26_XID+SPIRE_Lockman-SWIRE_20180220.fits
  - photoz: dmu_products/dmu24/dmu24_Lockman-SWIRE/data/master_catalogue_Lockman-SWIRE_20170710_photoz_20170802_r_and_irac1_optimised_UPDATED_IDs_20180219.fits
  - cigale: dmu_products/dmu28/dmu28_Lockman-SWIRE/data/zphot/best_extcor/HELP_final_results.fits
HATLAS-NGP:
0 dmu_products/dmu26/dmu26_XID+SPIRE_NGP/data/dmu26_XID+SPIRE_NGP_20190310.fits ../dmu26/dmu26_XID+SPIRE_NGP/data/dmu26_XID+SPIRE_NGP_20190310.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_NGP/data/dmu26_XID+SPIRE_NGP_20190310.fits
  - photoz: dmu_products/dmu24/dmu24_NGP/data/master_catalogue_ngp_20180501_photoz_20180601_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_NGP/data/zphot/HELP_final_results.fits
SA13:
0 N N
  - xid not done.
  - photoz: dmu_products/dmu24/dmu24_SA13/data/SA13_DESI-DR7_Zou_et_al_2019_photo_z_withhelp_id.fits
  - cigale not done.
HATLAS-SGP:
0 dmu_products/dmu26/dmu26_XID+SPIRE_SGP/data/dmu26_XID+SPIRE_SGP_20180625.fits ../dmu26/dmu26_XID+SPIRE_SGP/data/dmu26_XID+SPIRE_SGP_20180625.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_SGP/data/dmu26_XID+SPIRE_SGP_20180625.fits
  - photoz: dmu_products/dmu24/dmu24_SGP/data/master_catalogue_sgp_20180221_photoz_20180502_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_SGP/data/zphot/HELP_final_results.fits
SPIRE-NEP:
0 N N
  - xid not done.
  - photoz not done.
  - cigale not done.
SSDF:
0 N N
  - xid not done.
  - photoz: dmu_products/dmu24/dmu24_SSDF/data/master_catalogue_ssdf_20180221_photoz_20180612_r_optimised.fits
  - cigale not done.
xFLS:
0 dmu_products/dmu26/dmu26_XID+MIPS_xFLS/data/dmu26_XID+MIPS_xFLS_cat_20190122.fits ../dmu26/dmu26_XID+MIPS_xFLS/data/dmu26_XID+MIPS_xFLS_cat_20190122.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_xFLS/data/dmu26_XID+MIPS_xFLS_cat_20190122.fits
1 dmu_products/dmu26/dmu26_XID+SPIRE_xFLS/data/dmu26_XID+SPIRE_xFLS_cat_20190123.fits ../dmu26/dmu26_XID+SPIRE_xFLS/data/dmu26_XID+SPIRE_xFLS_cat_20190123.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_xFLS/data/dmu26_XID+SPIRE_xFLS_cat_20190123.fits
  - photoz: dmu_products/dmu24/dmu24_xFLS/data/xFLS_DESI-DR7_Zou_et_al_2019_photo_z_withhelp_id.fits
  - cigale not done.
XMM-13hr:
0 N N
  - xid not done.
  - photoz: dmu_products/dmu24/dmu24_XMM-13hr/data/XMM-13hr_DESI-DR7_Zou_et_al_2019_photo_z_withhelp_id.fits
  - cigale not done.
XMM-LSS:
0 dmu_products/dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SPUDS_cat_20181210.fits ../dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SPUDS_cat_20181210.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SPUDS_cat_20181210.fits
1 dmu_products/dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SWIREnSPUDS_cat_20190106.fits ../dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SWIREnSPUDS_cat_20190106.fits
  - xid: dmu_products/dmu26/dmu26_XID+MIPS_XMM-LSS/data/dmu26_XID+MIPS_XMM-LSS_SWIREnSPUDS_cat_20190106.fits
2 dmu_products/dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SPUDS_cat20190215.fits ../dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SPUDS_cat20190215.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SPUDS_cat20190215.fits
3 dmu_products/dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SWIREnSPUDS_cat20190215.fits ../dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SWIREnSPUDS_cat20190215.fits
  - xid: dmu_products/dmu26/dmu26_XID+PACS_XMM-LSS/data/dmu26_XID+PACS_XMM-LSS_SWIREnSPUDS_cat20190215.fits
4 dmu_products/dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SPUDS_cat_20190107.fits ../dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SPUDS_cat_20190107.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SPUDS_cat_20190107.fits
5 dmu_products/dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SWIREnSPUDS_cat_20190107.fits ../dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SWIREnSPUDS_cat_20190107.fits
  - xid: dmu_products/dmu26/dmu26_XID+SPIRE_XMM-LSS/data/dmu26_XID+SPIRE_XMM-LSS_SWIREnSPUDS_cat_20190107.fits
  - photoz: dmu_products/dmu24/dmu24_XMM-LSS/data/master_catalogue_xmm-lss_20180221_photoz_20180518_r_optimised.fits
  - cigale: dmu_products/dmu28/dmu28_XMM-LSS/data/zphot/HELP_final_results.fits
In [11]:
dr1_data_products.show_in_notebook()
Out[11]:
Table length=23
idxfielddr1_suffixlast_suffixobjectsarea_sq_degreesfile_size_bytesfile_size_readablexid_objectsphotoz_objectscigale_objects
0AKARI-NEP20180215201802155317469.194732358779467348848640348.85 MB3531900
1AKARI-SEP20180221201802218441728.713306475131118538606080538.61 MB21145300
2Bootes2018052020190201348166111.4281529909548650020444805 GB495159165747038660
3CDFS-SWIRE2018061320180613217105112.97124640371706857055939205.71 GB2404891395329308
4COSMOS201904022019040225993745.0838634784968161051717536010.52 GB4431069447815747
5EGS201805012018050114126133.56638327512215838084803203.81 GB011834900
6ELAIS-N12017101620180216402629213.50748455545476352422796805.24 GB120282288511649986
7ELAIS-N2201802182018021817832409.16747990399111320079648002.01 GB865911209616798
8ELAIS-S1201804162018041616555649.00294064688550819701561601.97 GB194276110231925393
9GAMA-0920180601201901231293798262.013934172849151991161152019.91 GB13866598834023130293
10GAMA-1220180218201901281236941562.709332807721071463306688014.63 GB10994778591676108139
11GAMA-1520180213201902011423288061.701145659808421659558528016.6 GB123639510109159117234
12HDF-N20180427201804271306790.6717832558166041185996160186 MB074510
13Herschel-Stripe-82201803072019020550196455363.22747930641884127047306240127.05 GB76084216138210
14Lockman-SWIRE2018021920180219436629822.41386340294921851959318405.2 GB242065138243846719
15NGP20180219201902046759591177.698197107716249548067204.95 GB12335473175339185290
16SA13201805012018050197990.2741637932843118427216002.72 MB028910
17SGP201802212018022129790690294.56845409006424519253088045.19 GB351159417057212352804
18SPIRE-NEP201802202018022026740.128066046937739112038401.2 MB000
19SSDF201802212018022112661903111.1162494934353980783193608.08 GB092687830
20xFLS20180501201805019771487.4404324214075410504742401.05 GB521871012820
21XMM-13hr2018050120180501386290.75702401665836331067616010.68 MB0107770
22XMM-LSS2019032820190328870583721.754579393313742824183872028.24 GB287599615292061892
In [12]:
has_xid = dr1_data_products['xid_objects'] != 0
has_photoz = dr1_data_products['photoz_objects'] != 0
has_cigale = dr1_data_products['cigale_objects'] != 0

print("XID+: There are {} fields with XID+ fluxes computed totalling {area:.2f} square degrees.".format(
    np.sum(has_xid),
    area=np.sum(dr1_data_products['area_sq_degrees'][has_xid])))
print("      This is a total of {} objects with an average of {perc:.0f}% of objects on processed areas.".format(
    np.sum(dr1_data_products['xid_objects'][has_xid]),
    perc=100 * np.sum(dr1_data_products['xid_objects'][has_xid])/np.sum(dr1_data_products['objects'][has_xid])))

print("Photo-zs: There are {} fields with photozs computed totalling {area:.2f} square degrees.".format(
    np.sum(has_photoz),
    area=np.sum(dr1_data_products['area_sq_degrees'][has_photoz])))
print("      This is a total of {} objects with an average of {perc:.0f}% of objects on processed areas.".format(
    np.sum(dr1_data_products['photoz_objects'][has_photoz]),
    perc=100 * np.sum(dr1_data_products['photoz_objects'][has_photoz])/np.sum(dr1_data_products['objects'][has_photoz])))

print("CIGALE SEDs: There are {} fields with SEDs computed totalling {area:.2f} square degrees.".format(
    np.sum(has_cigale),
    area=np.sum(dr1_data_products['area_sq_degrees'][has_cigale])))
print("      This is a total of {} objects with an average of {perc:.0f}% of objects on processed areas.".format(
    np.sum(dr1_data_products['cigale_objects'][has_cigale]),
    perc=100 * np.sum(dr1_data_products['cigale_objects'][has_cigale])/np.sum(dr1_data_products['objects'][has_cigale])))
XID+: There are 17 fields with XID+ fluxes computed totalling 1152.60 square degrees.
      This is a total of 10553486 objects with an average of 7% of objects on processed areas.
Photo-zs: There are 20 fields with photozs computed totalling 1251.07 square degrees.
      This is a total of 94091138 objects with an average of 55% of objects on processed areas.
CIGALE SEDs: There are 13 fields with SEDs computed totalling 764.02 square degrees.
      This is a total of 1148263 objects with an average of 1% of objects on processed areas.
In [13]:
dr1_data_products.write('dr1_data_products_overview{}.csv'.format(TODAY), overwrite=True)