Description of Astrobrowse GLU records
Example glud.conf file
HTML forms initiate CGI scripts using a simple, well-defined protocol. This protocol can be invoked by CLI processes
as well as interactive Web browsers. The Astrobrowse system uses a CLI browser to explode a simple cone search to
multiple sites. Each site is described by a file which tells the Astrobrowse Exploder how to create an appropriate query at
the site and also indicates general site information.
The resource description file is a simple ASCII file located in the configuration directory. The description file uses a simple
line-delimited, key=value format set by the GLU system. This system is a standard which allows all the sites in the
Astrobrowse network to exchange description files. A line may be continued onto multiple lines if the last character of the
line is a backslash. A line beginning with a # is treated as a comment. White space at the beginning or end of the line is
ignored (except after a backslash). (More documentation on GLU fields)
This document describes only how GLU is used within the HEASARC Astrobrowse.
A complete description of GLU is available from the CDS.
The example below includes all of the
GLU field types that are currently used within the HEASARC Astrobrowse.
%Description Guide Star Catalog
%Param.DataType $1= Coo(J2000,DE)
%Param.DataType $2= Coo(J2000,RA)
%Param.DataType $3= Angle(MIN)
%Param.Value $3= 20
%VerboseDescr An all-sky astrometric and photometric catalog to support the operation of the Hubble Space Telescope.
%Email example @ eso.org
%ApplicationField Astrobrowse\nInstitute = ESO\nLocation = Garching, Germany\nDEFAULT = No\nDataSource = Survey\nDataSource = Derived\nDataAvailable = Catalog\nBandpass = Optical
Note that each GLU field begins with a % as the first character in the line.
The meaning of each type of field is discussed below.
Other GLU fields may be included, but will be ignored by Astrobrowse.
- A tag for the given resource. Currently the HEASARC maps each
Astrobrowse resource to a separate file and the owner, service, and action name is used as the base for the file name. Note that this means that the ActionName may contain a directory delimiter (/). In the above example, the actual file name in the HEASARC would be "our glu dir/HEASARC/external/eso_gsc.cfg"
ActionName should not contain spaces or any other character which is invalid in filenames.
- A short description (a title) of the resource. This is what the user sees when searching for a resource.
- The GLU service. It is convenient to divide resources into groups, for example, the HEASARC divides its (~350) resources into five different services:
w3browse, skyview, external, CADC, and Astrobrowse. See GLU service below for the description of these five services.
- The distribution domain is where the owners anticipate sending this record.
There is one main domain (SSDS) and three subdomains (SSDS.astronomy, SSDS.planetary, SSDS.spacephysics) in the Astrobrowse GLU network. Any Astrobrowse GLU network member who 'subscribes' to the SSDS and/or the SSDS.astronomy domains would receive the above GLU record.
- The institution at which the resource is located.
- %Email (optional, but recommended)
- The maintainer of the GLU record, or of the data service described by the GLU record.
- %Doc.User (optional, but recommended)
- A URL giving user documentation for the service. There is also a field
%Doc.Technical for a URL with more technical information on the site.
- A field which is used by Astrobrowse to store metadata
information. A resource can have more than one %ApplicationField, but
for each Astrobrowse entry there
should be one %ApplicationField with the string "Astrobrowse" on the first
line. There are usually multiple lines in the %ApplicationField.
Each line is a key=value pair. If the metadata pairs are not on separate lines, they should be divided by the string '\n'.
- A description of the type of the given parameter. It should have
a value of the form
where N is the index of the parameter.
The possible type values are described below.
- A default value for the parameter.
- %VerboseDesc (optional but recommended)
- A longer description of the data service. Can be continued on separate lines by the continuation character, '\'. Since this text can be used for searching for data services, use keywords describing the service or catalog.
- Describes the HttP method for the URL, either GET or POST.
- The URL of the service. Note how the data parameters are represented
by the variables $N. In the example the URL fields have
been broken onto separate lines but this is not required. GLU allows
users to break lines by prepending the newline with a backslash.
Initial white-space on the following line is ignored.
The following metadata is recognized in the %ApplicationField entry for
HEASARC Astrobrowse items.
- The institution sponsoring the resource. Redundant with %Institute.
- The geographic location of the server hosting the resource.
- This is the general wavelength regime used in the resource. It may
be repeated: e.g. "Bandpass = Optical\n Bandpass = Infrared".
- Values used are:
Radio, Microwave, Infrared, Optical, Ultraviolet,
EUV, X-ray, Gamma-ray
- This is intended to give a sense of whether these are data from some well-defined
sample, more or less random observations, or relatively highly processed
data that is not directly related to identifiable observations. The
keywords used are:
Survey, Observations, Derived
- This tries to give a sense of what kinds of data will be returned or will
be readily available
through the returned page. The values currently used are:
Catalog, Images, Spectra, Time-series
The HEASARC Astrobrowse currently supports only a region search around a
specified point. Typically a service will have two positional parameters and
one size parameter. The meaning of the parameter is given in the
Positional parameters are specified using the GLU Coo function. Possible
DataTypes for positional parameters are of the form Coo(System,format),
where the System gives the coordinate system, and the format field
indicates what format of the coordinates is used. Possible values for
|J2000||Standard Julian coordinates.
|B1950||Standard Besselian coordinates.
|FK4[:equinox]||Besselian coordinates with an optional equinox (defaults to 1950).
|F54[:equinox]||Julian coordinates with an optional equinox (defaults to 2000)
Only J2000, B1950, and GAL are currently used within the HEASARC Astrobrowse.
The values for format are:
|COOd||The entire coordinate string in decimal degrees
||The entire coordinate string in sexigesimal format
||10 30 0.0 +10 30 00.00
||The RA in standard sexigesimal form
||10 30 0.0
||The RA in degrees
||The hours of right ascension
||The RA in decimal hours
||The minutes of right ascension
||The minutes of right ascension including any fractional minutes
||The seconds of right ascension.
||The seconds of right ascension including fractional seconds
||The declination in standard sexigesimal form
||+10 30 00.00
||The declination in degrees (including leading sign)
||The degrees of declination
||The minutes of declination
||The minutes of declination including fractional minutes.
||The seconds of declination
||The seconds of declination including fractional seconds
||The longitudinal coordinate in degrees
||The latitudinal coordinate in degrees
Note the distinction between the RAmd and RAm fields. The first
is used when only the hours and minutes will be specified,
while the second is used when a form has separate fields for hours,
minutes and seconds.
The size of the field to be searched is specified using the Angle function.
The Angle function is not explicitly supported by GLU, but is used analogously.
Size fields are specified as Angle(format) where format is one of:
||The size in sexigesimal degrees
||00 30 00.0
||The degrees from DMS format
||The minutes from DMS format
||The seconds from DMS format
||The size in decimal degrees
||The size in decimal minutes
||The size in decimal seconds
NOTE: The CDS is the originator of the GLU software. If any of these definitions conflict with their explanation, the CDS is correct. This is meant to explain what the HEASARC's Astrobrowse documentation means when using these terms.
- data service/service/resource
- A web-accessible, form-based tool that allows users to query for astronomical data.
- GLU record/GLU entry/GLU resource
- A unit describing one data service, consisting of a full set of the above GLU fields.
- GLU network
- The network of all GLU hosts, including servers (hosts supplying GLU records) and clients (hosts subscribing to GLU domains). The network is not hierarchical, so that if one host goes down, all others should be unaffected. When one server host makes a change to a GLU record it is providing to the network, the change is sent out to all the GLU clients subscribing to that GLU domain (as soon as the serving host restarts their glud daemon or within one day).
- GLU domain
- Each GLU record is assigned to one or more GLU domains (%DistribDomain above). Any GLU client subscribing to that domain will get a copy of the record in their GLU global dictionary.
- GLU service
- Each GLU record belongs to a GLU service, which is set in the local glud.conf file. It is simply a sub-group of records that are served by a host. For example, the HEASARC has five services: w3browse (containing catalogs that are accessed through the W3Browse tool), skyview (containing records that access images viewable through the SkyView tool), external (containing records giving access to data services not associated with HEASARC), CADC (the external service had so many entries from CADC that we gave them their own service - now CADC has their own GLU server, so this service will go away), and Astrobrowse (miscellaneous).
- GLU local dictionary
- A set of GLU records in one or more files, with each GLU record separated from the next by at least one blank line. These local dictionaries are mapped into
domains in your glud.conf file.
- GLU global dictionary
- A single file containing all the GLU records from all the domains to which you 'subscribe'. The list of subscribed domains is set in your glud.conf file.
- config file/resource description file
- This term is unique to HEASARC's Astrobrowse software. Instead of leaving the (at this writing) ~1400 Astrobrowse GLU records in the global dictionary and accessing them there, we split the global dictionary into separate files for each GLU record. They used to be called config files (because they specified a configuration for querying a data service), so that term may sometimes be heard. In the code, the directory where these files are stored is called cfgDir or the configuration directory.
An example glud.conf
Here is the HEASARC's glud.conf file:
# If you have a glud manager, you can't modify the GluHook parameter,
# else wire, you can specify any other glud manager
# Specify all client domains from which you want to get the GLU records
# (one by line). To know the existing domain names, see the URL
# If you have a glud manager or server, you can specify your own
# local GLU dictionaries you want distributed.
# For each of them, specify its pathname and the domain in which
# these records will be subscribed (one by line)
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/ssds.dic SSDS
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/astrobrowse.dic HEASARC
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/w3browse.dic HEASARC
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/skyview.dic HEASARC
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/CADC.dic HEASARC
LocalDic /wwwroot/mnt/FTP/retrieve/astrobrowse/glu2/external.dic HEASARC
# if you have a glud manager, you can specify the domains you manage
# (one by line)
# If you have a glud manager, you can modify the default rights for
# the creation of new domains you manage.
# By default, the automatic subscribe is allow only for glud clients
# and you must manually append the server and service glud subscribers
# (you "gluhelp W" to have some help about this)
# If you keep this parameter, your glud checks only the records used
# localyfrom 15 days
# If you allow to copy your current view of dictionary
# (mirror functionality), specify the masks for it (wildcard words
# or /reg.expr/)