This tutorial demonstrates how to access the CosmoDC2 Mock V1 catalogs. More information about these catalogs can be found here: https://irsa.ipac.caltech.edu/Missions/cosmodc2.html

Use IRSA's Virtual Observatory Table Access Protocol (TAP) Service to access these catalogs.

This catalog can be accessed through IRSA's Table Access Protocol (TAP) service. See https://www.ivoa.net/documents/TAP/ for details on the protocol. This service can be accessed through Python using the pvyo library.

In [1]:
import pyvo as vo
In [2]:
service = vo.dal.TAPService("https://irsa.ipac.caltech.edu/TAP")

List the available DC2 tables

In [3]:
tables = service.tables
for tablename in tables.keys():
    if not "tap_schema" in tablename:
        if "dc2" in tablename:
            tables[tablename].describe()
cosmodc2mockv1
    CosmoDC2MockV1 Catalog - unabridged, spatially partitioned

cosmodc2mockv1_heavy
    CosmoDC2MockV1 Catalog - stellar mass > 10^7 Msun

cosmodc2mockv1_new
    CosmoDC2MockV1 Catalog - unabridged

Choose the DC2 catalog you want to work with.

IRSA currently offers 3 versions of the DC2 catalog.

cosmodc2mockv1_new has been optimized to make searches with constraints on stellar mass and redshift fast.

cosmodc2mockv1 has been optimized to make searches with spatial constraints fast.

cosmodc2mockv1_heavy is the same as cosmodc2mockv1_new, except that it does not contain galaxies with stellar masses <= 10^7 solar masses.

If you are new to the DC2 catalog, we recommend that you start with cosmodc2mockv1_heavy

In [4]:
#Choose the abridged table to start with.
#Queries should be faster on smaller tables.

tablename = 'cosmodc2mockv1_heavy'

How many rows are in the chosen table?

With TAP, you can query catalogs with constraints specified in IVOA Astronomical Data Query Language (ADQL; https://www.ivoa.net/documents/latest/ADQL.html), which is based on SQL.

In [5]:
#For example, this snippet of ADQL counts the number of elements in 
#the redshift column of the table we chose.
adql = "SELECT count(redshift) FROM "+tablename
adql
Out[5]:
'SELECT count(redshift) FROM cosmodc2mockv1_heavy'
In [6]:
#In order to use TAP with this ADQL string using pyvo, you can do the following:
result = service.search(adql)
result
Out[6]:
<Table length=1>
count(redshift)
    float64    
---------------
    597488849.0
In [7]:
#The above query shows that there are 597,488,849 redshifts 
#in this table.

What is the default maximum number of rows returned by the service?

This service will return a maximum of 2 billion rows by default.

In [8]:
service.maxrec
WARNING: UnknownElementWarning: None:27:6: UnknownElementWarning: Unknown element queryType [pyvo.utils.xml.elements]
WARNING: UnknownElementWarning: None:28:6: UnknownElementWarning: Unknown element resultType [pyvo.utils.xml.elements]
WARNING: UnknownElementWarning: None:36:6: UnknownElementWarning: Unknown element queryType [pyvo.utils.xml.elements]
WARNING: UnknownElementWarning: None:37:6: UnknownElementWarning: Unknown element resultType [pyvo.utils.xml.elements]
Out[8]:
2000000000

This default maximum can be changed, and there is no hard upper limit to what it can be changed to.

In [9]:
print(service.hardlimit)
None

List the columns in the chosen table

This table contains 301 columns.

In [10]:
columns = tables[tablename].columns
print(len(columns))
301

Let's learn a bit more about them.

In [11]:
for c in columns:
    print(f'{f"{c.name}":30s}  {c.description}')
ra                              Right ascension, lensed
dec                             Declination, lensed
ra_true                         Right ascension, not lensed
dec_true                        Declination, not lensed
redshift                        Cosmological redshift with line-of-sight motion
redshift_true                   Cosmological redshift
mag_u_lsst                      Apparent magnitude, lensed, in 'u' with LSST
mag_g_lsst                      Apparent magnitude, lensed, in 'g' with LSST
mag_r_lsst                      Apparent magnitude, lensed, in 'r' with LSST
mag_i_lsst                      Apparent magnitude, lensed, in 'i' with LSST
mag_z_lsst                      Apparent magnitude, lensed, in 'z' with LSST
mag_y_lsst                      Apparent magnitude, lensed, in 'y' with LSST
mag_u_sdss                      Apparent magnitude, lensed, in 'u' with SDSS
mag_g_sdss                      Apparent magnitude, lensed, in 'g' with SDSS
mag_r_sdss                      Apparent magnitude, lensed, in 'r' with SDSS
mag_i_sdss                      Apparent magnitude, lensed, in 'i' with SDSS
mag_z_sdss                      Apparent magnitude, lensed, in 'z' with SDSS
mag_true_u_lsst                 Apparent magnitude, not lensed, in 'u' with LSST
mag_true_g_lsst                 Apparent magnitude, not lensed, in 'g' with LSST
mag_true_r_lsst                 Apparent magnitude, not lensed, in 'r' with LSST
mag_true_i_lsst                 Apparent magnitude, not lensed, in 'i' with LSST
mag_true_z_lsst                 Apparent magnitude, not lensed, in 'z' with LSST
mag_true_y_lsst                 Apparent magnitude, not lensed, in 'y' with LSST
mag_true_u_sdss                 Apparent magnitude, not lensed, in 'u' with SDSS
mag_true_g_sdss                 Apparent magnitude, not lensed, in 'g' with SDSS
mag_true_r_sdss                 Apparent magnitude, not lensed, in 'r' with SDSS
mag_true_i_sdss                 Apparent magnitude, not lensed, in 'i' with SDSS
mag_true_z_sdss                 Apparent magnitude, not lensed, in 'z' with SDSS
mag_true_u_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'u' with LSST
mag_true_g_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'g' with LSST
mag_true_r_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'r' with LSST
mag_true_i_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'i' with LSST
mag_true_z_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'z' with LSST
mag_true_y_lsst_z0              Rest-frame absolute magnitude, not lensed, in 'y' with LSST
mag_true_u_sdss_z0              Rest-frame absolute magnitude, not lensed, in 'u' with SDSS
mag_true_g_sdss_z0              Rest-frame absolute magnitude, not lensed, in 'g' with SDSS
mag_true_r_sdss_z0              Rest-frame absolute magnitude, not lensed, in 'r' with SDSS
mag_true_i_sdss_z0              Rest-frame absolute magnitude, not lensed, in 'i' with SDSS
mag_true_z_sdss_z0              Rest-frame absolute magnitude, not lensed, in 'z' with SDSS
mag_u_lsst_no_ext               Apparent magnitude, lensed, in 'u' with LSST without dust extinction in the host galaxy
mag_g_lsst_no_ext               Apparent magnitude, lensed, in 'g' with LSST without dust extinction in the host galaxy
mag_r_lsst_no_ext               Apparent magnitude, lensed, in 'r' with LSST without dust extinction in the host galaxy
mag_i_lsst_no_ext               Apparent magnitude, lensed, in 'i' with LSST without dust extinction in the host galaxy
mag_z_lsst_no_ext               Apparent magnitude, lensed, in 'z' with LSST without dust extinction in the host galaxy
mag_y_lsst_no_ext               Apparent magnitude, lensed, in 'y' with LSST without dust extinction in the host galaxy
mag_u_sdss_no_ext               Apparent magnitude, lensed, in 'u' with SDSS without dust extinction in the host galaxy
mag_g_sdss_no_ext               Apparent magnitude, lensed, in 'g' with SDSS without dust extinction in the host galaxy
mag_r_sdss_no_ext               Apparent magnitude, lensed, in 'r' with SDSS without dust extinction in the host galaxy
mag_i_sdss_no_ext               Apparent magnitude, lensed, in 'i' with SDSS without dust extinction in the host galaxy
mag_z_sdss_no_ext               Apparent magnitude, lensed, in 'z' with SDSS without dust extinction in the host galaxy
mag_true_u_lsst_no_ext          Apparent magnitude, not lensed, in 'u' with LSST without dust extinction in the host galaxy
mag_true_g_lsst_no_ext          Apparent magnitude, not lensed, in 'g' with LSST without dust extinction in the host galaxy
mag_true_r_lsst_no_ext          Apparent magnitude, not lensed, in 'r' with LSST without dust extinction in the host galaxy
mag_true_i_lsst_no_ext          Apparent magnitude, not lensed, in 'i' with LSST without dust extinction in the host galaxy
mag_true_z_lsst_no_ext          Apparent magnitude, not lensed, in 'z' with LSST without dust extinction in the host galaxy
mag_true_y_lsst_no_ext          Apparent magnitude, not lensed, in 'y' with LSST without dust extinction in the host galaxy
mag_true_u_sdss_no_ext          Apparent magnitude, not lensed, in 'u' with SDSS without dust extinction in the host galaxy
mag_true_g_sdss_no_ext          Apparent magnitude, not lensed, in 'g' with SDSS without dust extinction in the host galaxy
mag_true_r_sdss_no_ext          Apparent magnitude, not lensed, in 'r' with SDSS without dust extinction in the host galaxy
mag_true_i_sdss_no_ext          Apparent magnitude, not lensed, in 'i' with SDSS without dust extinction in the host galaxy
mag_true_z_sdss_no_ext          Apparent magnitude, not lensed, in 'z' with SDSS without dust extinction in the host galaxy
mag_true_u_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'u' with LSST without dust extinction in the host galaxy
mag_true_g_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'g' with LSST without dust extinction in the host galaxy
mag_true_r_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'r' with LSST without dust extinction in the host galaxy
mag_true_i_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'i' with LSST without dust extinction in the host galaxy
mag_true_z_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'z' with LSST without dust extinction in the host galaxy
mag_true_y_lsst_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'y' with LSST without dust extinction in the host galaxy
mag_true_u_sdss_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'u' with SDSS without dust extinction in the host galaxy
mag_true_g_sdss_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'g' with SDSS without dust extinction in the host galaxy
mag_true_r_sdss_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'r' with SDSS without dust extinction in the host galaxy
mag_true_i_sdss_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'i' with SDSS without dust extinction in the host galaxy
mag_true_z_sdss_z0_no_ext       Rest-frame absolute magnitude, not lensed, in 'z' with SDSS without dust extinction in the host galaxy
sersic_disk                     Sersic index of disk light profile
sersic_bulge                    Sersic index of bulge light profile
a_v                             Extinction in V-band, for galaxy light profile
a_v_disk                        Extinction in V-band, for disk light profile
a_v_bulge                       Extinction in V-band, for bulge light profile
r_v                             Ratio of total to selective extinction in B and V bands, for galaxy light profile
r_v_disk                        Ratio of total to selective extinction in B and V bands, for disk light profile
r_v_bulge                       Ratio of total to selective extinction in B and V bands, for bulge light profile
size_true                       Galaxy half-light radius (of major axis), not lensed
size_minor_true                 Galaxy half-light radius (of minor axis), not lensed
size_disk_true                  Disk half-light radius (of major axis), not lensed
size_minor_disk_true            Disk half-light radius (of minor axis), not lensed
size_bulge_true                 Bulge half-light radius (of major axis), not lensed
size_minor_bulge_true           Bulge half-light radius (of minor axis), not lensed
position_angle_true             Position angle (arctan(E2/E1)), for galaxy, not lensed
ellipticity_true                Ellipticity (= sqrt(E1^2+E2^2) = (1-q)/(1+q)), for galaxy, not lensed, where q = size_minor_true/size_true
ellipticity_1_true              Ellipticity component 1, for galaxy, not lensed
ellipticity_2_true              Ellipticity component 2, for galaxy, not lensed
ellipticity_disk_true           Ellipticity (= sqrt(E1^2+E2^2) = (1-q)/(1+q)), for disk, not lensed, where q = size_minor_disk_true/size_disk_true
ellipticity_1_disk_true         Ellipticity component 1, for disk, not lensed
ellipticity_2_disk_true         Ellipticity component 2, for disk, not lensed
ellipticity_bulge_true          Ellipticity (= sqrt(E1^2+E2^2) = (1-q)/(1+q)), for bulge, not lensed, where q = size_minor_bulge_true/size_bulge_true
ellipticity_1_bulge_true        Ellipticity component 1, for bulge, not lensed
ellipticity_2_bulge_true        Ellipticity component 2, for bulge, not lensed
shear_1                         Shear (gamma) component 1 in treecorr/GalSim convention
shear_2                         Shear (gamma) component 2 in treecorr/GalSim convention
shear_2_phosim                  Shear (gamma) component 2 in PhoSim convention ( = -shear_2 )
shear_2_treecorr                Shear (gamma) component 2 in treecorr/GalSim convention ( = shear_2 )
convergence                     Convergence (kappa)
magnification                   Magnification
galaxy_id                       Unique integer identifier
halo_id                         Unique ID of the main halo that contains the galaxy
halo_mass                       Halo mass of the main halo that contains the galaxy
stellar_mass                    Total stellar mass of the galaxy
stellar_mass_disk               Stellar mass of the disk component
stellar_mass_bulge              Stellar mass of the bulge component
bulge_to_total_ratio_i          bulge-to-total luminosity ratio in 'i'
is_central                      1 if the galaxy is the central galaxy of the main halo, 0 otherwise.
position_x                      3D position (x coordinate)
position_y                      3D position (y coordinate)
position_z                      3D position (z coordinate)
velocity_x                      3D velocity (x component)
velocity_y                      3D velocity (y component)
velocity_z                      3D velocity (z component)
sed_1000_246                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 1000 to 1246 in Angstroms
sed_1246_306                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 1246 to 1552 in Angstroms
sed_1552_381                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 1552 to 1933 in Angstroms
sed_1933_474                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 1933 to 2407 in Angstroms
sed_2407_591                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 2407 to 2998 in Angstroms
sed_2998_186                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 2998 to 3184 in Angstroms
sed_3184_197                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 3184 to 3381 in Angstroms
sed_3381_209                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 3381 to 3590 in Angstroms
sed_3590_222                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 3590 to 3812 in Angstroms
sed_3812_236                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 3812 to 4048 in Angstroms
sed_4048_251                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 4048 to 4299 in Angstroms
sed_4299_266                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 4299 to 4565 in Angstroms
sed_4565_283                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 4565 to 4848 in Angstroms
sed_4848_300                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 4848 to 5148 in Angstroms
sed_5148_319                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 5148 to 5467 in Angstroms
sed_5467_339                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 5467 to 5806 in Angstroms
sed_5806_360                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 5806 to 6166 in Angstroms
sed_6166_382                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 6166 to 6548 in Angstroms
sed_6548_406                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 6548 to 6954 in Angstroms
sed_6954_431                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 6954 to 7385 in Angstroms
sed_7385_458                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 7385 to 7843 in Angstroms
sed_7843_486                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 7843 to 8329 in Angstroms
sed_8329_517                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 8329 to 8846 in Angstroms
sed_8846_549                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 8846 to 9395 in Angstroms
sed_9395_583                    Integrated, rest-frame, AB luminosity for a narrow tophat filter from 9395 to 9978 in Angstroms
sed_9978_1489                   Integrated, rest-frame, AB luminosity for a narrow tophat filter from 9978 to 11467 in Angstroms
sed_11467_1710                  Integrated, rest-frame, AB luminosity for a narrow tophat filter from 11467 to 13177 in Angstroms
sed_13177_1966                  Integrated, rest-frame, AB luminosity for a narrow tophat filter from 13177 to 15143 in Angstroms
sed_15143_2259                  Integrated, rest-frame, AB luminosity for a narrow tophat filter from 15143 to 17402 in Angstroms
sed_17402_2596                  Integrated, rest-frame, AB luminosity for a narrow tophat filter from 17402 to 19998 in Angstroms
sed_1000_246_disk               Same as sed_1000_246 but for disk
sed_1246_306_disk               Same as sed_1246_306 but for disk
sed_1552_381_disk               Same as sed_1552_381 but for disk
sed_1933_474_disk               Same as sed_1933_474 but for disk
sed_2407_591_disk               Same as sed_2407_591 but for disk
sed_2998_186_disk               Same as sed_2998_186 but for disk
sed_3184_197_disk               Same as sed_3184_197 but for disk
sed_3381_209_disk               Same as sed_3381_209 but for disk
sed_3590_222_disk               Same as sed_3590_222 but for disk
sed_3812_236_disk               Same as sed_3812_236 but for disk
sed_4048_251_disk               Same as sed_4048_251 but for disk
sed_4299_266_disk               Same as sed_4299_266 but for disk
sed_4565_283_disk               Same as sed_4565_283 but for disk
sed_4848_300_disk               Same as sed_4848_300 but for disk
sed_5148_319_disk               Same as sed_5148_319 but for disk
sed_5467_339_disk               Same as sed_5467_339 but for disk
sed_5806_360_disk               Same as sed_5806_360 but for disk
sed_6166_382_disk               Same as sed_6166_382 but for disk
sed_6548_406_disk               Same as sed_6548_406 but for disk
sed_6954_431_disk               Same as sed_6954_431 but for disk
sed_7385_458_disk               Same as sed_7385_458 but for disk
sed_7843_486_disk               Same as sed_7843_486 but for disk
sed_8329_517_disk               Same as sed_8329_517 but for disk
sed_8846_549_disk               Same as sed_8846_549 but for disk
sed_9395_583_disk               Same as sed_9395_583 but for disk
sed_9978_1489_disk              Same as sed_9978_1489 but for disk
sed_11467_1710_disk             Same as sed_11467_1710 but for disk
sed_13177_1966_disk             Same as sed_13177_1966 but for disk
sed_15143_2259_disk             Same as sed_15143_2259 but for disk
sed_17402_2596_disk             Same as sed_17402_2596 but for disk
sed_1000_246_bulge              Same as sed_1000_246 but for bulge
sed_1246_306_bulge              Same as sed_1246_306 but for bulge
sed_1552_381_bulge              Same as sed_1552_381 but for bulge
sed_1933_474_bulge              Same as sed_1933_474 but for bulge
sed_2407_591_bulge              Same as sed_2407_591 but for bulge
sed_2998_186_bulge              Same as sed_2998_186 but for bulge
sed_3184_197_bulge              Same as sed_3184_197 but for bulge
sed_3381_209_bulge              Same as sed_3381_209 but for bulge
sed_3590_222_bulge              Same as sed_3590_222 but for bulge
sed_3812_236_bulge              Same as sed_3812_236 but for bulge
sed_4048_251_bulge              Same as sed_4048_251 but for bulge
sed_4299_266_bulge              Same as sed_4299_266 but for bulge
sed_4565_283_bulge              Same as sed_4565_283 but for bulge
sed_4848_300_bulge              Same as sed_4848_300 but for bulge
sed_5148_319_bulge              Same as sed_5148_319 but for bulge
sed_5467_339_bulge              Same as sed_5467_339 but for bulge
sed_5806_360_bulge              Same as sed_5806_360 but for bulge
sed_6166_382_bulge              Same as sed_6166_382 but for bulge
sed_6548_406_bulge              Same as sed_6548_406 but for bulge
sed_6954_431_bulge              Same as sed_6954_431 but for bulge
sed_7385_458_bulge              Same as sed_7385_458 but for bulge
sed_7843_486_bulge              Same as sed_7843_486 but for bulge
sed_8329_517_bulge              Same as sed_8329_517 but for bulge
sed_8846_549_bulge              Same as sed_8846_549 but for bulge
sed_9395_583_bulge              Same as sed_9395_583 but for bulge
sed_9978_1489_bulge             Same as sed_9978_1489 but for bulge
sed_11467_1710_bulge            Same as sed_11467_1710 but for bulge
sed_13177_1966_bulge            Same as sed_13177_1966 but for bulge
sed_15143_2259_bulge            Same as sed_15143_2259 but for bulge
sed_17402_2596_bulge            Same as sed_17402_2596 but for bulge
sed_1000_246_no_ext             Same as sed_1000_246 but without dust extinction in the host galaxy
sed_1246_306_no_ext             Same as sed_1246_306 but without dust extinction in the host galaxy
sed_1552_381_no_ext             Same as sed_1552_381 but without dust extinction in the host galaxy
sed_1933_474_no_ext             Same as sed_1933_474 but without dust extinction in the host galaxy
sed_2407_591_no_ext             Same as sed_2407_591 but without dust extinction in the host galaxy
sed_2998_186_no_ext             Same as sed_2998_186 but without dust extinction in the host galaxy
sed_3184_197_no_ext             Same as sed_3184_197 but without dust extinction in the host galaxy
sed_3381_209_no_ext             Same as sed_3381_209 but without dust extinction in the host galaxy
sed_3590_222_no_ext             Same as sed_3590_222 but without dust extinction in the host galaxy
sed_3812_236_no_ext             Same as sed_3812_236 but without dust extinction in the host galaxy
sed_4048_251_no_ext             Same as sed_4048_251 but without dust extinction in the host galaxy
sed_4299_266_no_ext             Same as sed_4299_266 but without dust extinction in the host galaxy
sed_4565_283_no_ext             Same as sed_4565_283 but without dust extinction in the host galaxy
sed_4848_300_no_ext             Same as sed_4848_300 but without dust extinction in the host galaxy
sed_5148_319_no_ext             Same as sed_5148_319 but without dust extinction in the host galaxy
sed_5467_339_no_ext             Same as sed_5467_339 but without dust extinction in the host galaxy
sed_5806_360_no_ext             Same as sed_5806_360 but without dust extinction in the host galaxy
sed_6166_382_no_ext             Same as sed_6166_382 but without dust extinction in the host galaxy
sed_6548_406_no_ext             Same as sed_6548_406 but without dust extinction in the host galaxy
sed_6954_431_no_ext             Same as sed_6954_431 but without dust extinction in the host galaxy
sed_7385_458_no_ext             Same as sed_7385_458 but without dust extinction in the host galaxy
sed_7843_486_no_ext             Same as sed_7843_486 but without dust extinction in the host galaxy
sed_8329_517_no_ext             Same as sed_8329_517 but without dust extinction in the host galaxy
sed_8846_549_no_ext             Same as sed_8846_549 but without dust extinction in the host galaxy
sed_9395_583_no_ext             Same as sed_9395_583 but without dust extinction in the host galaxy
sed_9978_1489_no_ext            Same as sed_9978_1489 but without dust extinction in the host galaxy
sed_11467_1710_no_ext           Same as sed_11467_1710 but without dust extinction in the host galaxy
sed_13177_1966_no_ext           Same as sed_13177_1966 but without dust extinction in the host galaxy
sed_15143_2259_no_ext           Same as sed_15143_2259 but without dust extinction in the host galaxy
sed_17402_2596_no_ext           Same as sed_17402_2596 but without dust extinction in the host galaxy
sed_1000_246_disk_no_ext        Same as sed_1000_246_no_ext but for disk
sed_1246_306_disk_no_ext        Same as sed_1246_306_no_ext but for disk
sed_1552_381_disk_no_ext        Same as sed_1552_381_no_ext but for disk
sed_1933_474_disk_no_ext        Same as sed_1933_474_no_ext but for disk
sed_2407_591_disk_no_ext        Same as sed_2407_591_no_ext but for disk
sed_2998_186_disk_no_ext        Same as sed_2998_186_no_ext but for disk
sed_3184_197_disk_no_ext        Same as sed_3184_197_no_ext but for disk
sed_3381_209_disk_no_ext        Same as sed_3381_209_no_ext but for disk
sed_3590_222_disk_no_ext        Same as sed_3590_222_no_ext but for disk
sed_3812_236_disk_no_ext        Same as sed_3812_236_no_ext but for disk
sed_4048_251_disk_no_ext        Same as sed_4048_251_no_ext but for disk
sed_4299_266_disk_no_ext        Same as sed_4299_266_no_ext but for disk
sed_4565_283_disk_no_ext        Same as sed_4565_283_no_ext but for disk
sed_4848_300_disk_no_ext        Same as sed_4848_300_no_ext but for disk
sed_5148_319_disk_no_ext        Same as sed_5148_319_no_ext but for disk
sed_5467_339_disk_no_ext        Same as sed_5467_339_no_ext but for disk
sed_5806_360_disk_no_ext        Same as sed_5806_360_no_ext but for disk
sed_6166_382_disk_no_ext        Same as sed_6166_382_no_ext but for disk
sed_6548_406_disk_no_ext        Same as sed_6548_406_no_ext but for disk
sed_6954_431_disk_no_ext        Same as sed_6954_431_no_ext but for disk
sed_7385_458_disk_no_ext        Same as sed_7385_458_no_ext but for disk
sed_7843_486_disk_no_ext        Same as sed_7843_486_no_ext but for disk
sed_8329_517_disk_no_ext        Same as sed_8329_517_no_ext but for disk
sed_8846_549_disk_no_ext        Same as sed_8846_549_no_ext but for disk
sed_9395_583_disk_no_ext        Same as sed_9395_583_no_ext but for disk
sed_1000_246_bulge_no_ext       Same as sed_1000_246_no_ext but for bulge
sed_1246_306_bulge_no_ext       Same as sed_1246_306_no_ext but for bulge
sed_1552_381_bulge_no_ext       Same as sed_1552_381_no_ext but for bulge
sed_1933_474_bulge_no_ext       Same as sed_1933_474_no_ext but for bulge
sed_2407_591_bulge_no_ext       Same as sed_2407_591_no_ext but for bulge
sed_2998_186_bulge_no_ext       Same as sed_2998_186_no_ext but for bulge
sed_3184_197_bulge_no_ext       Same as sed_3184_197_no_ext but for bulge
sed_3381_209_bulge_no_ext       Same as sed_3381_209_no_ext but for bulge
sed_3590_222_bulge_no_ext       Same as sed_3590_222_no_ext but for bulge
sed_3812_236_bulge_no_ext       Same as sed_3812_236_no_ext but for bulge
sed_4048_251_bulge_no_ext       Same as sed_4048_251_no_ext but for bulge
sed_4299_266_bulge_no_ext       Same as sed_4299_266_no_ext but for bulge
sed_4565_283_bulge_no_ext       Same as sed_4565_283_no_ext but for bulge
sed_4848_300_bulge_no_ext       Same as sed_4848_300_no_ext but for bulge
sed_5148_319_bulge_no_ext       Same as sed_5148_319_no_ext but for bulge
sed_5467_339_bulge_no_ext       Same as sed_5467_339_no_ext but for bulge
sed_5806_360_bulge_no_ext       Same as sed_5806_360_no_ext but for bulge
sed_6166_382_bulge_no_ext       Same as sed_6166_382_no_ext but for bulge
sed_6548_406_bulge_no_ext       Same as sed_6548_406_no_ext but for bulge
sed_6954_431_bulge_no_ext       Same as sed_6954_431_no_ext but for bulge
sed_7385_458_bulge_no_ext       Same as sed_7385_458_no_ext but for bulge
sed_7843_486_bulge_no_ext       Same as sed_7843_486_no_ext but for bulge
sed_8329_517_bulge_no_ext       Same as sed_8329_517_no_ext but for bulge
sed_8846_549_bulge_no_ext       Same as sed_8846_549_no_ext but for bulge
sed_9395_583_bulge_no_ext       Same as sed_9395_583_no_ext but for bulge
sed_9978_1489_disk_no_ext       Same as sed_9978_1489_no_ext but for disk
sed_11467_1710_disk_no_ext      Same as sed_11467_1710_no_ext but for disk
sed_13177_1966_disk_no_ext      Same as sed_13177_1966_no_ext but for disk
sed_15143_2259_disk_no_ext      Same as sed_15143_2259_no_ext but for disk
sed_17402_2596_disk_no_ext      Same as sed_17402_2596_no_ext but for disk
sed_9978_1489_bulge_no_ext      Same as sed_9978_1489_no_ext but for bulge
sed_11467_1710_bulge_no_ext     Same as sed_11467_1710_no_ext but for bulge
sed_13177_1966_bulge_no_ext     Same as sed_13177_1966_no_ext but for bulge
sed_15143_2259_bulge_no_ext     Same as sed_15143_2259_no_ext but for bulge
sed_17402_2596_bulge_no_ext     Same as sed_17402_2596_no_ext but for bulge
cntr                            None
x                               None
y                               None
z                               None
htm20                           None

Create a histogram of redshifts

Let's figure out what redshift range these galaxies cover. Since we found out above that it's a large catalog, we can start with a spatial search over a small area of 0.1 deg. The ADQL that is needed for the spatial constraint is:

In [12]:
adql = "SELECT redshift FROM "+tablename+" WHERE CONTAINS(POINT('ICRS', RAMean, DecMean), CIRCLE('ICRS',54.218205903,-37.497959343,.1))=1"
adql
Out[12]:
"SELECT redshift FROM cosmodc2mockv1_heavy WHERE CONTAINS(POINT('ICRS', RAMean, DecMean), CIRCLE('ICRS',54.218205903,-37.497959343,.1))=1"

Now we can use the previously-defined service to execute the query with the spatial contraint.

In [13]:
cone_results = service.search(adql)
In [14]:
#Plot a histogram
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

num_bins = 20
# the histogram of the data
n, bins, patches = plt.hist(cone_results['redshift'], num_bins, 
                           facecolor='blue', alpha = 0.5)
plt.xlabel('Redshift')
plt.ylabel('Number')
plt.title('Redshift Histogram CosmoDC2 Mock Catalog V1 abridged')
Out[14]:
Text(0.5, 1.0, 'Redshift Histogram CosmoDC2 Mock Catalog V1 abridged')

We can easily see form this plot that the simulated galaxies go out to z = 3.

Visualize galaxy colors at z ~ 0.5

Now let's visualize the galaxy main sequence at z = 2.0. First we'll do a narrow redshift cut with no spatial constraint.

In [15]:
#Let's do an asynchronous search since this might take awhile.
service = vo.dal.TAPService("https://irsa.ipac.caltech.edu/TAP")
adql = "SELECT Mag_true_r_sdss_z0, Mag_true_g_sdss_z0, redshift FROM "+tablename+" WHERE redshift > 0.5 and redshift < 0.54"
results = service.run_async(adql)
In [19]:
len(results['mag_true_r_sdss_z0'])
Out[19]:
3833489
In [24]:
# Since this results in almost 4 million galaxies, 
# we will construct a 2D histogram rather than a scatter plot.
plt.hist2d(x, y, bins=200, cmap='plasma', cmax = 500)

# Plot a colorbar with label.
cb = plt.colorbar()
cb.set_label('Number')

# Add title and labels to plot.
#plt.title('Heatmap of 2D normally distributed data points')
plt.xlabel('SDSS Mag r')
plt.ylabel('SDSS rest-frame g-r color')

# Show the plot.
plt.show()
In [ ]: