Last modified: 2 July 2019


Is my source in Release 2.0 of the Chandra Source Catalog?

Until the full CSC 2.0 release, the results from any search of the Current Database should be considered provisional, since not all the data is available and final statistical checks have not yet been made. The processing status page is regularly updated to indicate the current status.

There are two approaches for searching CSC 2.0 described below: using the CSCview application or by writing an ADQL query. The catalog coverage section describes ways of approximating the sky current sky coverage of CSC 2.0.


The CSCview application provides a quick way to search the catalog by location. A brief run-through of the steps required is provided here, and the CSCview help pages can be read for more information. The following requires that CSCview has been downloaded, Java is installed, and that cscview.jar is in the current working directory (Mac OS users can download a DMG which provides a CSCview application).

  1. Start CSCview with:

    unix% java -jar cscview.jar

    or, for Java 9 users:

    unix% java --add-modules -jar cscview.jar
  2. Select the "Current Database" on the Catalog tab, and then select the Search icon just below the File menu.

    The Query should be selected, a number of "windows" have appeared, and the title changed to "Chandra Source Catalog: Current Database".

  3. A position search can be started by selecting the "Cone" radio button which appears below the label "Position Search:" in the middle of the window. When selected, the area to the right will change to allow a search by name or coordinates. Select the "By Coordinates" button and change from Equatorial to Galactic if necessary. Insert the location - Equatorial coordinates can be given as decimal degrees or in sexagesimal notation - and change the search radius as desired.

  4. Once the locaiton has been entered, selecting the Search icon will start the query. The tab will change to the "Results" tab, with a status message displayed at the bottom of the window. The message "Search completed" indicates that the query has finished, and the results will appear in the main area of the GUI. An empty result does not mean that the source is not part of CSC 2.0, as discussed in the coverage section below.

  5. If one or more matches were found then basic properties will be reported for these sources (since the default query was used, which returns the name, location, and a basic aperture flux in the broad and wide bands (depending on whether the detection was on ACIS or HRC).

    The source list can be downloaded, or data products for one or more sources can be selected at this stage. The CSCview help documentation can be read for more information on these capabilities.

An ADQL query

The ADQL interface to the catalog can be used. In the following example the curl command-line tool will be used, but any method that can make a HTTP request with parameters can be used. The ADQL command-line interface pages provide more information on the capabilities and syntax of this interface.

The ADQL query used in this example uses a 5 arcsecond search radius (0.083 arcminutes) in the WHERE clause to limit the search around a Right Ascension of 138.9683 degrees and Declination of 29.557 degrees. The columns returned are limited to the angular separation from this position, master-source name, and master-source significance. When broken into multiple lines the query looks like:

SELECT DISTINCT top 10 dbo.separation(m.ra, m.dec, 138.9683, 29.557)
as separation,, m.significance
FROM master_source m
WHERE (dbo.cone_distance(m.ra, m.dec, 138.9683, 29.557) <= 0.083)
ORDER BY separation ASC

However, it must all be one one line otherwise the following call will fail. An example is the file location.adql, which is "evaluated" using the following call:

unix% curl --form version=cur --form query=@location.adql
#Column	separation	(E9.6)		(.separation)	[""]	[]
#Column	name	(A22)	Source name in the format '2CXO Jhhmmss.s{+|-}ddmmss[X]'(	[""]	[]
#Column	significance	(F9.2)	Highest flux significance (S/N) across all stacked observations and energy bands	(master_source.significance)	[""]	[]
separation	name	significance
1.361043e+00	 2CXO J091552.3+293323	    54.79

The results are - by default - written out in as an ASCII column format, where the columns are tab separated. If written to a file - e.g. results.tsv - rather than displayed on screen, the CIAO Data Model can be used to process the output. For example:

unix% dmlist "results.tsv[opt kernel=text/tsv]" cols
Columns for Table Block results.tsv
ColNo  Name                 Unit        Type             Range
   1   separation                        Real4          -Inf:+Inf            
   2   name                              String[22]                          Source name in the format '2CXO Jhhmmss.s{+|-}ddmmss[X]'
   3   significance                      Real4          -Inf:+Inf            Highest flux significance (S/N) across all stacked observations and energy bands

These queries can also be made from Python; for example (using the six module included with CIAO to support both Python 2.7 and 3.5 users). In this example the ADQL query is read from an extrnal file but it can also be created directly in Python.

>>> from six.moves.urllib import parse, request
>>> qry = open('location.adql', 'r').read().strip()
>>> data = parse.urlencode({'version': 'cur', 'query': qry})
>>> req = request.urlopen("", data)
>>> answer =
>>> print(answer)
#Column	separation	(E9.6)		(.separation)	[""]	[]
#Column	name	(A22)	Source name in the format '2CXO Jhhmmss.s{+|-}ddmmss[X]'(	[""]	[]
#Column	significance	(F9.2)	Highest flux significance (S/N) across all stacked observations and energy bands	(master_source.significance)	[""]	[]
separation	name	significance
1.361043e+00	 2CXO J091552.3+293323	    54.79
Changing the ADQL query

The command-line interface page describes in more detail the functionality available (e.g. how to change output format) and more information on ADQL. One easy way to create a new query is to use CSCview to set up the query but to then use the Query sub-menu from the View menu, which displays the ADQL form of the query. This can be copied, or saved to a file, for use with the command-line interface.

Catalog coverage

[A view of the WWT web page, showing the stacks covering the Hubble Deep Field North and its neighbors. Several features of the WWT interface - showing the source locations in the area, information on a selected stack, and a handly list of commonly-visited locations - are shown.

As the processing of source properties from CSC 2.0 has not been completed, the failure to find a source using one of the preceeding methods does not mean that the source will never be found in CSC 2.0. There are currently no automated methods to determine whether a source location has been covered by the catalog, since this requires completion of the limiting-sensitivity maps which will be included in the full catalog release. There are manual steps that can be used to see whether a source may be in the full catalog, using the data tables from the pre-release and pd2 releases.

An approximate view of the catalog coverage can be found using the World Wide Telescope visualization, which lets you move around the sky and view the outlines of the stacks from CSC 2.0 - along with an indication of whether the stack has been processed or not. The background data can be changed between long (CMB) and short (Gamma ray) wavelengths, and the location of the sources from the pre-release list can be added to the local view.

Manual cross match

The prerelease_srclist.fits FITS table, included as part of the CSC pre-release, contains positions and errors for all the master sources in CSC 2.0. This data can be used to look for a match using the point_separation Python routine provided with the CIAO contributed package, or packages such as astropy.coordinates.

Looking for matching Chandra observations

The stacks.pd2.txt ASCII file, included as part of the CSC pd2 release, contains stack names, nominal locations, and the list of Chandra observations used to form the stack (a combination of ObsId and OBI value).

There are several approaches to determining whether a particular location has been observed by Chandra, including: ChaSeR, the Chandra Footprint Service, and the CIAO contributed script find_chandra_obsid. These can be used to find one or more ObsId values, which can then be searched for in the stacks.pd2.txt file. The completion status of a stack can be found from the stacks.txt, which is regularly updated as part of the processing status page.


These matches are only approximate, since none of them include the masking steps used in release 2.0 of the CSC to determine whether to include or exclude a particular region of sky. It is therefore possible to have a source that lies within the coverage of a Chandra observation included in CSC 2.0 but which is not included in the catalog. The limiting-sensitivity maps, which will be included in the full CSC 2.0 release, will provide the definitive answer to whether a source could have been detected in the catalog.