NRAO Home  >  Green Bank  |  Wiki Topic:    GB > Data > TWikiUsers > FrankGhigo > SourceCatalogUserDoc
   Changes | Index | Contents | Search | Statistics | Jump to Topic

Users Guide for Astrid Source Catalogs

[F. Ghigo, August 2005; revised October 2005]

One may refer to the Specification for the gory details.

Summary

The Source Catalog system in Astrid provides a convenient way for the user to specify a list of sources to be observed, as well as a way to refer to standard catalogs of objects. At a minimum for each source there must be a name and a location (ra/dec or Glat/Glon, etc). Other parameters may be given, such as radial velocity.

There are four formats of catalogs:

And in addition, major solar system bodies may be referred to by name ("Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"). These names are case-insensitive. These names may be given to any Scan Type function ("Track", "RaLongMap", etc etc). No catalog needs to be invoked for the system to understand the planet names.

To use the catalog system, the user invokes one or more catalogs in her Astrid script, and passes the name of the desired object to any of the scan functions, such as "Track", "RALongMap", etc. All sources named in all the catalogs that have been invoked are available within an Astrid script. If the same name appears in two or more catalogs, the name from the most recently invoked catalog will prevail. Name comparisons are case-insensitive, hence "b2322+16" will override "B2322+16".


Catalog Format

Catalog Keywords :

Additional keywords used by Ephemeris format:

Additional keywords used by NNTLE and CONIC formats:

(see the sections on NNTLE and CONIC formats below for explanation)


Catalog Examples : SPHERICAL format.

1. A simple catalog.

 # My source list
 format=spherical
 coordmode=J2000
 HEAD = NAME   RA        DEC
 Object1  09:56:16.98  +49:16:25.5
 Object2  10:56:16.98  +50:16:25.5
 Object3  11:56:16.98  +51:16:25.5
 Object4  12:56:16.98  +52:16:25.5
  ... 

Because all the keyword values are the defaults, the following is equivalent:

 # My source list
 Object1  09:56:16.98  +49:16:25.5
 Object2  10:56:16.98  +50:16:25.5
 Object3  11:56:16.98  +51:16:25.5
 Object4  12:56:16.98  +52:16:25.5
  ... 

2. Another simple catalog.

 # My source list with radial velocities
 format=spherical
 coordmode = B1950
 head = name   ra        dec        velocity
 Object1  09:56:16.98  +49:16:25.5  27.23
 Object2  08:56:16.98  +48:16:25.5  28.24
 Object3  07:56:16.98  +47:16:25.5  29.25
 Object4  06:56:16.98  +45:16:25.5  30.26
  ... 

Here one may omit the "format=" and "head=" lines, but not the "coordmode=" !

3. A slightly less simple example.

 # A list of HII regions 
 coordmode=Galactic
 head= NAME  GLON       GLAT       vel     restfreq   
 G350+.07   350.107    +0.079    42.2235   9816.867
 G351+.17   351.613     0.172   -15.553    9487.824
 G352-.17   352.393    -0.176   -52.227    9173.323
 G352-.36   353.4219   -0.3690   22.335    9487.824
 ... 

Warning: setting the velocity or rest frequency in a catalog only changes the values in the LO1 manager. If either are changed by a large amount, the receiver selection or bandpass filters or the frequency spacing between spectral windows may change. Thus one should run the configuration tool. The user should be wary of how much the velocity or rest frequency can change for a particular configuration.

4. An example with user-defined keywords.

The user may make up arbitrary keywords (or equivalently column headings). These are available within an Astrid script, but are otherwise ignored.
 # a list of pointing references
 format=spherical
 coordmode=j2000
 head= name    ra           dec        BMIN BMAX  S20     S6  
  0011-1434 00:11:40.40   -14:34:04.7    15  45   0.17   0.20
  0012-3321 00:12:17.96   -33:21:57.8    15 180   0.85   0.18
  0012+6551 00:12:37.80   +65:51:10.5    15 360   1.20   0.55
  0012+2702 00:12:38.14   +27:02:40.7    15 180   0.60   0.21
  0012+3353 00:12:47.3826 +33:53:38.459   0  45   0.08   0.08
  0012-3954 00:12:59.9080 -39:54:25.836   0  45   0.49   1.5 
  ... 


Usage of Catalogs within Astrid.

A catalog is invoked in Astrid with the "Catalog(...)" command.

Catalog() : reference the default pointing catalog
Catalog(std_catalog) : reference one of the standard catalogs.
Catalog("/path/to/my/catalog") : give the full path to a user's catalog.
Note: The full pathname must be given, and the file must have world read permission.
Catalog(None) : create an empty catalog.
Catalog("""
   --catalog contents--
""")
: create catalog "in-line".

The user may invoke as many catalogs as he or she likes. All sources from all catalogs are available and referenced by name within the scope of the Astrid script, with the exception that for a duplicate name only the most recent will be recognized.

If Sourcename is the name of a source that has been defined in a catalog, then any scan function may be run by giving it the source name, for example:

   * Track ( "sourcename", 60)
   * Nod ("sourcename", 120)
   * RALongMap("3c273", 
          Offset("J2000", 2.0, 0.0, cosv=False),
          Offset("J2000", 0.0, 0.5, cosv=False),
          Offset("J2000", 0.0, 0.1, cosv=False),
          10.0)
   and so forth. 

Several "standard" catalogs are available. They are all ascii files in the directory: /home/astro-util/astridcats/

The following are available at present, and more will probably be added:

For the pointing catalogs, users should be warned that the flux densities at higher frequencies are extrapolated from measurements at 8 GHz and below. Good flux calibrators may be found in:

There are also pulsar catalogs:

Catalog functions

Several useful catalog functions become available if one assigns the Catalog to a variable.
c = Catalog( ... ) Assign to variable
c.keys() A list of all names in catalog order.
c["sourcename"]["keyword"] get value of the keyword for the named source.
c.update(newobs) Add new source(s) to the catalog.

Some Examples

   * One may loop over the list of sources from a catalog:

     c = Catalog( "HI_strong")
     sourcenames = c.keys()
     for s in sourcenames :
       Nod(s, 120)

    * One may load an existing catalog and append additional sources to it:

      c = Catalog(qband_pointing)
      newobj = """FORMAT=SPHERICAL
              COORDMODE=J2000
              0234+456  02:34:15.5 +45:37:33
              1254+422  12:54:33.0 +42:12:33
               0835+123  08:35:15.5 +12:20:33
              1913+234  19:13:15.5 +23:24:33
           """
      c.update(newobj)

      [this updated catalog only exists within the scope of the Astrid script.]

   * One may create a catalog entirely within Astrid by creating an empty catalog
      and adding entries to it.

       c = Catalog(None)             (creates a new empty catalog) 
       obj = """FORMAT=SPHERICAL
               COORDMODE=J2000
               0234+456  02:34:15.5 +45:37:33
               1254+422  12:54:33.0 +42:12:33
             """
       c.update(obj)

   * Printing the source coordinates in Astrid:

      print c["sourcename"]["Location"]   -- will appear in the Astrid monitor window.


   * If there is a keyword "S20" in the catalog, one can observe sources with
      S20 > 10, for example : 

       c = Catalog( "lband_pointing")
       sourcenames = c.keys()
       for s in sourcenames :
          if c[s]["s20"] > 10 :
            Nod(s, 120)

   * One can get source coordinates as follows: 

        c["sourcename"]["ra"]  or c["sourcename"]["dec"],  etc , 

      for example:

      c = Catalog( "lband_pointing")
       sourcenames = c.keys()
       for s in sourcenames :
          if c[s]["dec"] > 22 :        [coordinates always returned in degrees]
            Nod(s, 120)


An Example of a complete Astrid script to observe HI in a few galaxies.

#  Astrid test: Extragalactic HI
#
c = Catalog(HI_strong)

Configure("""
receiver  = 'Rcvr1_2'
obstype   = 'Spectroscopy'
backend   = 'Spectrometer'
nwin      = 1
restfreq  = 1420.405
deltafreq = 0
bandwidth = 50.0
swmode    = "tp"
swtype    = "none"
swper     = 1.0
swfreq    = 0,0
tint      = 10
vlow      = 0
vhigh     = 0
vframe    = "bary"
vdef      = "Optical"
noisecal  =  "lo"
pol       = "Linear"
nchan     = "medium"
spect.levels = 9
""")

slist = ["U8493", "N4713", "N4519"]
hoff = Offset("J2000", "00:04:00", 0, cosv=False)

for ss in slist :
  print ss, c[ss]["location"], c[ss]["velocity"]
  Slew(ss)
  Balance()
  OnOff( ss, hoff, 120)


Ephemeris Tables for moving objects.

The first non-comment line must contain:

FORMAT = EPHEMERIS

This may be followed by one or more ephemeris tables, with the format:

  NAME = SOURCE_NAME
   --Optional addition header lines
  Data table

          COORDMODE (default J2000)
          VELDEF    (if none given, then do not change previously set values)
          HEAD      (default is "DATE UTC RA DEC VEL").  

   a) 'CCYY-MM-DD hh:mm:ss'     [ month number]
   b) 'CCYY-Mon-DD hh:mm:ss'    [month name such as Jan, Feb, etc]

      #--------------------------------------------------------------------
      # Richard's sample ephemeris catalog created on 2005/06/03
      #--------------------------------------------------------------------
      #
      FORMAT = EPHEMERIS
      #
      NAME   = MyMovingObject
      COORDMODE = J2000
      VELDEF = VRAD-LSR
      2004-07-16 00:10:00  09:56:16.98  +49:16:25.5  27.234234
      2004-07-16 00:20:00  09:56:17.76  +49:16:36.2  27.456345
      2004-07-16 00:30:00  09:56:18.55  +49:16:46.9  27.568233
      2004-07-16 00:40:00  09:56:19.32  +49:16:57.6  27.623423
      2004-07-16 00:50:00  09:56:20.10  +49:17:08.3  27.723456
        .......
      #--------------------------------------------------------------------
The HEAD= line has been omitted because the default is "DATE UTC RA DEC VEL".

      FORMAT=EPHEMERIS
      NAME=C2002T7
      COORDMODE=GAPPT
      VELDEF=VRAD-TOP
      HEAD= date utc ra dec dra ddec vel
      2004-Jun-13 16:15:00 09:46:23.35 -09:15:41.80 26.73 8.02  63.757540
      2004-Jun-13 16:20:00 09:46:23.89 -09:15:39.40 26.71 8.01  63.758070
      2004-Jun-13 16:25:00 09:46:24.44 -09:15:36.90 26.69 8.01  63.758760
      2004-Jun-13 16:30:00 09:46:24.98 -09:15:34.50 26.68 8.01  63.759620
      2004-Jun-13 16:35:00 09:46:25.52 -09:15:32.10 26.66 8.01  63.760650
      2004-Jun-13 16:40:00 09:46:26.06 -09:15:29.70 26.64 8.01  63.761850
      2004-Jun-13 16:45:00 09:46:26.60 -09:15:27.30 26.62 8.01  63.763220
      2004-Jun-13 16:50:00 09:46:27.14 -09:15:24.90 26.61 8.00  63.764740

      # PRN14 tracking table (angles in degrees)
      # visible 01:30 to 3:00 UT
      format=ephemeris
      name=PRN14
      coordmode=azel
      head=date     utc      az         el
      2004-05-16 01:30:06  103.1822   43.0174
      2004-05-16 01:30:14  103.2464   42.9721
      2004-05-16 01:30:22  103.3105   42.9268
      2004-05-16 01:30:30  103.3745   42.8814
      name=PRN15
      head=date     utc      az        el
      2004-05-16 01:30:06  103.1822   43.0174
      2004-05-16 01:30:14  103.2464   42.9721
      2004-05-16 01:30:22  103.3105   42.9268
      2004-05-16 01:30:30  103.3745   42.8814


NNTLE: using 2-line elements for tracking Earth satellites.

"NNTLE" stands for NASA/NORAD two-line elements. This refers to a standard NASA format for orbital elements for Earth satellites( see e.g. http://ghrc.msfc.nasa.gov/orbit/tleformat.html or http://www.amsat.org/amsat/keps/formats.html)

The first non-comment line of the catalog must contain:

FORMAT = NNTLE
Other keywords: Note that the full path name of the file must be given, and the file must have world read permission.

The remainder of the non-comment lines contain the names and data for one or more satellites in the Nasa/Norad Two-Line Element format.

An example of a valid file is as follows (data taken from the AMSAT url):

# Richard's sample nntle catalog created on 2005/06/03
#------------------------------------------------------
FORMAT = NNTLE
USERADVEL = 1     # optional keyword
#
OSCAR10
1 14129U          88230.56274695 0.00000042           10000-3 0  3478
2 14129  27.2218 308.9614 6028281 329.3891   6.4794  2.05877164 10960
GPS-0008
1 14189U          88230.24001475 0.00000013                   0  5423
2 14189  63.0801 108.8864 0128028 212.9347 146.3600  2.00555575 37348
#--------------------------------------------------------------------

When implementing a NNTLE catalog, the scantype function will pass the 3 lines to a program that will calculate the primary segments for the antenna, given the scan start time and duration.
The source name is the string that appears on the first of the three lines, and that is what one would pass to the scan function.

Because it may be convenient to download a TLE file from NASA (**), we also provide an option to use such a TLE file "as is" by using a keyword "FILE" to refer to the file or to the URL containing the file, and specifying the NAME of the object.

Example of this format:


# NNLTE catalog referring to an unedited TLE file 
#------------------------------------------------
FORMAT=NNTLE
USERADVEL=0
#
FILE= /users/fghigo/tlecatalogs/goes.txt
Name = "GOES 6"
Name = "GOES 10"
Name = "GOES 11"

The first set of elements whose name matches the name listed in the file will be selected.

(**)Note: one might load a TLE catalog through the web site: http://www.celestrak.com/NORAD/elements/

(Another note: the generation of tracks for satellites is based on "pyephem", an implementation of xephem in Python)


CONIC: using orbital elements for tracking Solar System objects.

The CONIC format is used for solar system objects whose elements are given in "xephem" format. For examples, see:
http://cfa-www.harvard.edu/iau/Ephemerides/Soft03.html

The first non-comment line of the catalog must contain:

FORMAT = CONIC
The FILE keyword is similar to that for NNTLE : Note that the full path name of the file must be given, and the file must have world read permission.

Example 1 : The orbital elements are given in the catalog.

#-------------------------------------------------------------------------
FORMAT=CONIC
# From MPC 44030
P/2000 Y3 (Scotti),e,2.2515,354.8961,87.4248,5.012984,0.0878132,0.19478302,154.8010,08/18.0/2005,2000,g  9.0,4.0
# From MPC 44182
C/2001 B2 (NEAT),e,150.6578,145.1577,305.0143,3436,0.0000049,0.99844957,0.0000,08/31.7355/2000,2000,g  4.0,4.0
# From MPC 45961
C/2001 C1 (LINEAR),h,03/29.1087/2002,68.9555,33.6590,220.0235,1.001431,5.107184,2000,6.0,4.0
# From MPC 45334
C/2001 G1 (LONEOS),h,10/11.7349/2001,45.3242,203.8746,343.4583,1.004918,8.245451,2000,3.5,4.0
#--------------------------------------------------------------------------

Example 2: The orbital elements are found in a file retrieved from the web.

FORMAT=CONIC
FILE=http://cfa-www.harvard.edu/iau/Ephemerides/Comets/Soft03Cmt.txt
name="8P/Tuttle"
NAME = "P/2000 Y3"
NAME= "C/2001 B2"
name = "C/2001 C1"

-- FrankGhigo - 06 Oct 2005

Topic SourceCatalogUserDoc . { Edit | Attach | Ref-By | Printable | Diffs | r1.16 | > | r1.15 | > | r1.14 | More }
Revision r1.16 - 15 Nov 2007 - 22:00 GMT - FrankGhigo
Parents: TWikiUsers > FrankGhigo
Content copyright © 1999-2007 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.