<head>
<title>scat(1) - Plan 9 from User Space</title>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
</head>
<body bgcolor=#ffffff>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=10><td>
<tr><td width=20><td>
<tr><td width=20><td><b>SCAT(1)</b><td align=right><b>SCAT(1)</b>
<tr><td width=20><td colspan=2>
    <br>
<p><font size=+1><b>NAME     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    scat &ndash; sky catalogue and Digitized Sky Survey<br>
    
</table>
<p><font size=+1><b>SYNOPSIS     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>scat<br>
    </font></tt>
</table>
<p><font size=+1><b>DESCRIPTION     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <i>Scat</i> looks up items in catalogues of objects outside the solar
    system and implements database-like manipulations on sets of such
    objects. It also provides an interface to <a href="../man1/astro.html"><i>astro</i>(1)</a> to plot the
    locations of solar system objects. Finally, it displays images
    from the Space Telescope Science Institute&#8217;s Digitized Sky Survey,
    keyed to the catalogues. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Items are read, one per line, from the standard input and looked
    up in the catalogs. Input is case-insensitive. The result of the
    lookup becomes the set of objects available to the database commands.
    After each lookup or command, if more than two objects are in
    the set, <i>scat</i> prints how many objects are in the set;
    otherwise it prints the objects&#8217; descriptions or cross-index listings
    (suitable for input to <i>scat</i>). An item is in one of the following
    formats:<br>
    <tt><font size=+1>ngc1234<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Number 1234 in the New General Catalogue of Nonstellar Objects,
        NGC2000.0. The output identifies the type (<tt><font size=+1>Gx</font></tt>=galaxy, <tt><font size=+1>Pl</font></tt>=planetary
        nebula, <tt><font size=+1>OC</font></tt>=open cluster, <tt><font size=+1>Gb</font></tt>=globular cluster, <tt><font size=+1>Nb</font></tt>=bright nebula,
        <tt><font size=+1>C+N</font></tt>=cluster associated with nebulosity, <tt><font size=+1>Ast</font></tt>=asterism, <tt><font size=+1>Kt</font></tt>=knot
        or nebulous region in a galaxy,
        <tt><font size=+1>***</font></tt>=triple star, <tt><font size=+1>D*</font></tt>=double star, <tt><font size=+1>?</font></tt>=uncertain, <tt><font size=+1>&#8722;</font></tt>=nonexistent, <tt><font size=+1>PD</font></tt>=plate
        defect, and (blank)=unverified or unknown), its position in 2000.0
        coordinates, its size in minutes of arc, a brief description,
        and popular names.<br>
        
    </table>
    <tt><font size=+1>ic1234<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Like NGC references, but from the Index Catalog.<br>
        
    </table>
    <tt><font size=+1>sao12345<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Number 12345 in the Smithsonian Astrophysical Star Catalogue.
        Output identifies the visual and photographic magnitudes, 2000.0
        coordinates, proper motion, spectral type, multiplicity and variability
        class, and HD number.<br>
        
    </table>
    <tt><font size=+1>m4</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Catalog number 4 in Messier&#8217;s catalog. The output is the NGC
    number.<br>
    <tt><font size=+1>abell1701<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Catalog number 1701 in the Abell and Zwicky catalog of clusters
        of galaxies. Output identifies the magnitude of the tenth brightest
        member of the cluster, radius of the cluster in degrees, its distance
        in megaparsecs, 2000.0 coordinates, galactic latitude and longitude,
        magnitude range of the cluster (the
        &#8216;distance group&#8217;), number of members (the &#8216;richness group&#8217;), population
        per square degree, and popular names.<br>
        
    </table>
    <tt><font size=+1>planetarynebula<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        The set of NGC objects of the specified type. The type may be
        a compact NGC code or a full name, as above, with no blank.<br>
        
    </table>
    <tt><font size=+1>&quot;&#945; umi&quot;<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Names are provided in double quotes. Known names are the Greek
        letter designations, proper names such as Betelgeuse, bright variable
        stars, and some proper names of stars, NGC objects, and Abell
        clusters. Greek letters may be spelled out, e.g. <tt><font size=+1>alpha</font></tt>. Constellation
        names must be the three-letter
        abbreviations. The output is the SAO number. For non-Greek names,
        catalog numbers and names are listed for all objects with names
        for which the given name is a prefix.<br>
        
    </table>
    <tt><font size=+1>12h34m &#8722;16<br>
    </font></tt>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        Coordinates in the sky are translated to the nearest &#8216;patch&#8217;,
        approximately one square degree of sky. The output is the coordinates
        identifying the patch, the constellations touching the patch,
        and the Abell, NGC, and SAO objects in the patch. The program
        prints sky positions in several formats corresponding to
        different precisions; any output format is understood as input.<br>
        
    </table>
    <tt><font size=+1>umi</font></tt>&nbsp;&nbsp;&nbsp;All the patches in the named constellation.<br>
    <tt><font size=+1>mars</font></tt>The planets are identified by their names. The names <tt><font size=+1>shadow</font></tt>
    and <tt><font size=+1>comet</font></tt> refer to the earth&#8217;s penumbra at lunar distance and
    the comet installed in the current <a href="../man1/astro.html"><i>astro</i>(1)</a>. The output is the
    planet&#8217;s name, right ascension and declination, azimuth and altitude,
    and phase for the moon and sun, as shown by
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>astro</font></tt>. The positions are current at the start of <i>scat</i>&#8217;s execution;
        see the <tt><font size=+1>astro</font></tt> command in the next section for more information.
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        
        
    </table>
    The commands are:<br>
    <tt><font size=+1>add</font></tt> <i>item</i>Add the named item to the set.<br>
    <tt><font size=+1>keep</font></tt> <i>class ...<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Flatten the set and cull it, keeping only the specified classes.
            The classes may be specific NGC types, all stars (<tt><font size=+1>sao</font></tt>), all NGC
            objects (<tt><font size=+1>ngc</font></tt>), all M objects (<tt><font size=+1>m</font></tt>), all Abell clusters (<tt><font size=+1>abell</font></tt>),
            or a specified brightness range. Brightness ranges are specified
            by a leading <tt><font size=+1>&gt;</font></tt> or <tt><font size=+1>&lt;</font></tt> followed by a magnitude. Remember
            that brighter objects have lesser magnitudes.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>drop</font></tt> <i>class ...<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Complement to <tt><font size=+1>keep</font></tt>.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>flat</font></tt>&nbsp;&nbsp;&nbsp;&nbsp;Some items such as patches represents sets of items. <i>Flat</i>
    flattens the set so <i>scat</i> holds all the information available for
    the objects in the set.<br>
    <tt><font size=+1>print</font></tt>&nbsp;&nbsp;&nbsp;Print the contents of the set. If the information seems meager,
    try flattening the set.<br>
    <tt><font size=+1>expand</font></tt> <i>n<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Flatten the set, expand the area of the sky covered by the set
            to be <i>n</i> degrees wider, and collect all the objects in that area.
            If <i>n</i> is zero, <i>expand</i> collects all objects in the patches that
            cover the current set.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>astro</font></tt> <i>option<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Run <a href="../man1/astro.html"><i>astro</i>(1)</a> with the specified <i>options</i> (to which will be appended
            <tt><font size=+1>&#8722;p</font></tt>), to discover the positions of the planets. <tt><font size=+1>Astro</font></tt>&#8217;s <tt><font size=+1>&#8722;d</font></tt> and
            <tt><font size=+1>&#8722;l</font></tt> options can be used to set the time and place; by default,
            it&#8217;s right now at the coordinates in <tt><font size=+1>/lib/sky/here</font></tt>. Running <tt><font size=+1>astro</font></tt>
            does not change the positions of planets
            already in the display set, so <tt><font size=+1>astro</font></tt> may be run multiple times,
            executing e.g. <tt><font size=+1>add mars</font></tt> each time, to plot a series of planetary
            positions.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>plot</font></tt> <i>option<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Expand and plot the set in a new window on the screen. Symbols
            for NGC objects are as in Sky Atlas 2000.0, except that open clusters
            are shown as stippled disks rather than circles. Abell clusters
            are plotted as a triangle of ellipses. The planets are drawn as
            disks of representative color with the first letter
            of the name in the disk (lower case for inferior planets; upper
            case for superior); the sun, moon, and earth&#8217;s shadow are unlabeled
            disks. Objects larger than a few pixels are plotted to scale;
            however, <i>scat</i> does not have the information necessary to show
            the correct orientation for galaxies.
            The option <tt><font size=+1>nogrid</font></tt> suppresses the lines of declination and right
            ascension. By default, <i>scat</i> labels NGC objects, Abell clusters,
            and bright stars; option <tt><font size=+1>nolabel</font></tt> suppresses these while <tt><font size=+1>alllabel</font></tt>
            labels stars with their SAO number as well. The default size is
            512x512; options <tt><font size=+1>dx</font></tt> <i>n</i> and <tt><font size=+1>dy</font></tt> <i>n</i> set the <i>x</i> and
            <i>y</i> extent. The option <tt><font size=+1>zenithup</font></tt> orients the map so it appears as
            it would in the sky at the time and location used by the <tt><font size=+1>astro</font></tt>
            command (<i>q.v.</i>).<br>
            The output is designed to look best on an LCD display. CRTs have
            trouble with the thin, grey lines and dim stars. The option <tt><font size=+1>nogrey</font></tt>
            uses white instead of grey for these details, improving visibility
            at the cost of legibility when plotting on CRTs.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>plate</font></tt> [[<i>ra dec</i>] <i>rasize</i> [<i>decsize</i>]]<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Display the section of the Digitized Sky Survey (plate scale approximately
            1.7 arcseconds per pixel) centered on the given right ascension
            and declination or, if no position is specified, the current set
            of objects. The maximum area that will be displayed is one degree
            on a side. The horizontal and vertical sizes
            may be specified in the usual notation for angles. If the second
            size is omitted, a square region is displayed. If no size is specified,
            the size is sufficient to display the centers of all the objects
            in the current set. If a single object is in the set, the 500x500
            pixel block from the survey containing the center of
            the object is displayed. The survey is stored in the CD-ROM juke
            box; run <tt><font size=+1>9fs juke</font></tt> before running <i>scat</i>.<br>
            
        </table>
        
    </table>
    <tt><font size=+1>gamma</font></tt> <i>value<br>
    </i>
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        
        <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

            Set the gamma for converting plates to images. Default is &ndash;1.0.
            Negative values display white stars, positive black. The images
            look best on displays with depth 8 or greater. <i>Scat</i> does not change
            the hardware color map, which should be set externally to a grey
            scale; try the command <tt><font size=+1>getmap gamma</font></tt> (see
            <i>getmap</i>(9.1)) on an 8-bit color-mapped display.<br>
            
        </table>
        
    </table>
    
</table>
<p><font size=+1><b>EXAMPLES     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    Plot the Messier objects and naked-eye stars in Orion.<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>ori<br>
        keep m &lt;6<br>
        plot nogrid<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    Draw a finder chart for Uranus:<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>uranus<br>
        expand 5<br>
        plot<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    Show a partial lunar eclipse:<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>astro &#8722;d<br>
        2000 07 16 12 45<br>
        moon<br>
        add shadow<br>
        expand 2<br>
        plot<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    Draw a map of the Pleiades.<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>&quot;alcyone&quot;<br>
        expand 1<br>
        plot<br>
        </font></tt>
    </table>
    
</table>
<p><font size=+1><b>FILES     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>/usr/local/plan9/sky/*.scat<br>
    </font></tt>
</table>
<p><font size=+1><b>SOURCE     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <tt><font size=+1>/usr/local/plan9/src/cmd/scat<br>
    </font></tt>
</table>
<p><font size=+1><b>SEE ALSO    </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <a href="../man1/astro.html"><i>astro</i>(1)</a><br>
    <tt><font size=+1>/usr/local/plan9/sky/constelnames  </font></tt> the three-letter abbreviations
    of the constellation names. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    The data was provided by the Astronomical Data Center at the NASA
    Goddard Space Flight Center, except for NGC2000.0, which is Copyright
    &copy; 1988, Sky Publishing Corporation, used (but not distributed)
    by permission. The Digitized Sky Survey, 102 CD-ROMs, is not distributed
    with the system.
    
</table>

<td width=20>
<tr height=20><td>
</table>
<!-- TRAILER -->
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=15><td width=10><td><td width=10>
<tr><td><td>
<center>
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
</center>
</table>
<!-- TRAILER -->
</body></html>
