NOMAD at Berkeley

David Monet and Stephen Levine of USNO have kindly provided the Berkeley Astronomy Department with a copy of the ~100 GB NOMAD catalog, containing positions, proper motions, and BVRJHK photometry of over 1 billion stars. This catalog is the combination of:

  • the USNO B1.0 star catalog (R photometry, positions, and proper motions for over 1 billion stars)
  • the 2MASS PSC (JHK photometry)
  • HIPPARCOS, Tycho-2, and UCAC2 (BV photometry, positions, and proper motions for 2.5 million bright (V < 12) stars)
  • YB6, an unpublished USNO catalog of BV photometry of faint stars (limiting magnitude ~18)

Jason Wright has written some scripts for efficient querying and parsing of the catalog, as well as some README files which describe the catalog in more detail.


More detail can be found in the README files there than on this page.

Thanks to work by Kelley and Bill, the raw NOMAD data live on the Berkeley system at at /nomad.

Querying the NOMAD catalog

Casual users of this catalog will find the query forms at the CDS Vizier and USNO websites more user-friendly than the do-it-yourself catalog here. You are strongly encouraged to start there:

The chief disadvantage to the navy site is it has limited output fields. Both sites have undocumented file size return limits, and the Vizier site may not reliably return all stars requested (according to unconfirmed reports).

The chief advantage to querying the catalog directly from the Berkeley system is that you can construct complex queries (combining fields to make, for instance, color cuts) and generate large output files containing all of the catalog information about each entry.

To query the catalog, use the script, which is an executalble perl script. You do not need to know perl to use it. First, copy the contents of /o/jtwright/NOMAD/ into a local directory. You should have the script as well as two packages, and, and the IDL save file nomadtemplate. You will need to modify the package as discussed below and in that file (OK, you need to figure out a LITTLE bit of perl to use this).

The package should contain an appropriate IS_GOOD condition. For instance, the default example in specifies the range of proper motions for the stars to extract. This condition should be the last line(s) of code in the file (aside from a closing curly brace) and looks like this:

        $entry->{pmDec} < -15 && 
        $entry->{pmDec} > -40 && 
        $entry->{pmRA}  > -10 && 
        $entry->{pmRA}  < 10;

While a condition to return all stars appearing in the Tycho catalog (a small subset of NOMAD) would look like this:

        $entry->{Tycho2ID} != '0';

The perl syntax here is pretty self-explanatory. The && symbols are C-style “AND” operators, the semicolon ends the line, and the whitespace (including the carriage returns) is ignored. Any legal field name (enumerated below) can go within the curly braces, and normal arithmetic and logic using parentheses is permitted.

Entries satisfying this condition will be printed to standard output, where they can be sent to a file for parsing by your favorite software. The available fieldnames are given below and described in the module and in the other README files. Note that the catalog contains over 1 billion entries – an insufficiently restrictive condition on an all-sky survey will probably fill your disk drive with an absurdly large ASCII file. You have been warned.

Executing your query

Once you have specified your query (for instance, to return all TYCHO stars) in, save that file and call as follows: 288.3425 288.453 -15.12342 -15.00234 > outputfile

The arguments are in decimal degrees and represent the edges of the star field requested. A useful addition to this package would be the ability to search around the poles and around RA=0 without multiple calls or to specify a center and radius, but at present that is unsupported. Note that an all-sky query will take a very long time (over 2 days on an older Linux box, as I can attest). You do not need to be on a Linux machine to query the catalog.

Parsing output

The output file (whose name you specify on the command line) can be parsed in IDL by the function read_ascii() using the template provided in the file “nomadtemplate”. The syntax is:

entries = structflat(read_ascii('outputfile',template=nomadtemplate))

The structflat() component is optional: it translates the output of read_ascii into an array of structures (from a structure of arrays), which is a more useful format for the output. and its supporting program are in /o/jtwright/NOMAD.

Details on parsing the files in other languages are in README.nomadquery .


The errors in the NOMAD photometry are not well documented, especially for the fainter targets. For JHK photometry, the source is usually 2MASS, from which photometric errors can be queried directly. For BV photometry where V <12, the source is TYCHO, so the photometry is pretty good until you get to V=11.5 or so. Fainter than that, most of the R band photometry comes from USNO B1.0, and the BV photometry from an unpublished catalog.

The various README files in /o/jtwright/nomad/ have more details.


These are the fields:

NOMAD1ID ( 0)    A zone number (0 to 1799
                 in 1/10 degree steps of declination, starting from the
                 south celestial pole), and a running star number within that
                 zone (increasing along RA).The ids are given in the form
                 ZZZZ-NNNNNNN, where ZZZZ is the zone number, and NNNNNNN is
                 the record number.

RA       ( 1)   RA at 2000.0 in decimal degrees
Dec      ( 2)   Dec at 2000.0 in decimal degrees
eRA      ( 3)   std. dev. of RA*COS(dec) in arcsecs
eDec     ( 4)   std. dev. of Dec in arcsecs
pmRA     ( 5)   proper motion of RA*COS(dec) in mas/year
pmDec    ( 6)   proper motion of SPD in mas/year
epmRA    ( 7)   std. dev. of (5) in mas/year
epmDec   ( 8)   std. dev. of (6) in mas/year
RAEpoch  ( 9)   central epoch of RA in year
DecEpoch (10)   central epoch of SPD in year
B        (11)   B magnitude in mag (30 = no data) (but see OMAGBIT, and BSrc)) 
V        (12)   V magnitude in mag (30 = no data)
R        (13)   R magnitude in mag (30 = no data) (but see EMAGBIT, and RSrc))
J        (14)   J magnitude in mag (30 = no data)
H        (15)   H magnitude in mag (30 = no data)
K        (16)   K magnitude in mag (30 = no data)
UNSOID   (17)   USNO-B1.0 ID integer:
                This is NOT the "Designation" usually seen, say, in SIMBAD
                It's a running integer of the 1.1 billion stars in the catalog
                It's not obvious how to use this number for anything

2MASSID  (18)   2MASS ID integer
                Called "Cntr" in Vizier copy of the 2MASS PSC
                The 2MASS PSC contains nearly 500 million sources

YB6ID    (19)   YB6 ID integer
                Unpublished USNO catalog of B & V magnitudes to 18th mag
                (see below for some info on it)
                It's not obvious how to use this number for anything

UCAC2ID  (20)   UCAC-2 ID integer
                Called 2UCAC in Vizier copy of UCAC2 Catalog

Tycho2ID (21)   Tycho2 ID integer
                Sometimes corresponds to "Recno" in Vizier copy of Tycho-2
                If AstromSrc = "HIPPARCOS", corresponds to HIPPARCOS number
                (If > 1000000, is Hipparcos number + 10000000)
                Tycho2 contains over 2.5 million entries

AstromSrc(22)   Source of astrometric info (but see flags)
                one of: [USNOB|2MASS|YB6|UCAC2|TYCHO2|HIPPARCOS]

BSrc     (23)   Source of B (11) (same format as (22))
VSrc     (24)   Source of V (12) (same format as (22))
                Note that Tycho V and B colors are not from Johnson filters
                and are usually denoted V_T and B_T.  Most faint stars have
                B and V photometry from YB6 -- see below for more info.

RSrc     (25)   Source of R (13) (same format as (22))
                Note that UCAC2 "R" is nonstandard, and is actually 
                between "V" and "R".

UBBIT    (26)   Fails Blaise's test for USNO-B1.0 star [0,1]
TMBIT    (27)   Fails Roc's test for clean 2MASS star [0,1]
TYBIT    (28)   Astrometry comes from Tycho2  [0,1]
                (maybe equivalent to (AstromSrc eq "HIPPARCOS") ?) [0,1]

XRBIT    (29)   Alt correlations for same (RA,Dec) [0,1]
IUCBIT   (30)   Alt correlations for same UCAC-2 ID [0,1]
ITYBIT   (31)   Alt correlations for same Tycho2 ID [0,1]
OMAGBIT  (32)   Blue magnitude from O (not J) plate [0,1]
EMAGBIT  (33)   Red magnitude from E (not F) plate [0,1]
TMONLY   (34)   Object found only in 2MASS cat [0,1]
                (equivalent to (B = V = R = 30)) [0,1]

HIPAST   (35)   Ast from Hipparcos (not Tycho2) cat [0,1]
SPIKE    (36)   USNO-B1.0 diffraction spike bit set [0,1]
TYCONF   (37)   Tycho2 confusion flag [0,1]
BSCONF   (38)   Bright star has nearby faint source [0,1]
BSART    (39)   Faint source is bright star artifact [0,1]
USEME    (40)   Recommended astrometric standard [0,1]