The GBT Observe command line language is a very simple one whose primary purpose is to offer a shorthand way of commanding the telescope. It does not include many computer language features such as looping, conditionals, and arithmetic. Hence, new procedures must be written in glish, the underlying control language for the GBT. This note describes a template for writing a new procedure, how to access built-in parameters and existing glish functions, and how to attach the new procedure to the interactive part of GBT Observe. When written to the template model, there should be little difference between new and built-in procedures, so the latter can be easily added to the standard system.
All parameters and procedures are common to the interactive, command line, and observing table aspects of GBT Observe. Setting a parameter in one sets the same parameter in all. As long as the provided "set" routines are used to update parameters from the glish command line or a glish function, the entire system will reflect those changes. The provided "get" routines will retrieve existing parameter values regardless of whether they were set from the graphical panels or from the GBT Observe command line or table.
The procedure template is roughly as follows:
procedure name := function ( )
{
< return if a scan is already in progress >
< retrieve parameter values required >
< main body of procedure >
< set any parameters, if necessary >
< start a scan, if appropriate >
}
Not all components of the template are required. A procedure can be as simple as setting one parameter on the basis of another, or it can be as complex as running many scans, each of which moves the telescope in a complicated way.
The procedure function may have arguments so that it may be run from the glish command line or from another function without setting input parameters one at a time. The arguments are ignored by GBT Observe, and, therefore, they must be defaulted to sensible or testable values. See the section below on how to integrate arguments into your procedure function.
Here is an example that simply tracks a J2000 position for 5 minutes.
simple_track := function ( )
{
# Protect the system from trying to run a procedure while a scan
# is in progress.
if (!is_ready()) {
print 'Cannot start a procedure while a scan is running';
return F;
}
ra := get_parameter('ra');
dec := get_parameter('dec');
# make sure we're in the right coordinate system
set_parameter('coord_mode', 'J2000');
# the ra and dec parameters are stored as strings so that they may
# be interpreted as any format. The common formats are HH:MM:SS.S
# and sDD:MM:SS.S for which the conversion routines to decimal
# degrees are as follows:
ra := major_to_degrees(ra);
dec := minor_to_degrees(dec);
# The following __Track() function is a general purpose telescope
# control function that runs a scan and assumes that the coord_mode
# start_time, and scan_length have been set.
return __Track(ra, dec);
}
In most cases you can assume that input parameters to your procedure already contain appropriate values, either from observer input through the graphical panels or from GBT Observe command line input. In the example above we have chosen to explicitly set the coordinate system to J2000 so that the system is prepared to accept R.A. and Dec. coordinates. The built-in procedures use generic coordinates so that the coordinate system selected external to the procedure controls how they are interpreted.
There is a predefine list of parameters for GBT Observe. These are divided into groups by device (antenna, spectrometer, digital continuum receiver, etc.) plus a more general procedures group. For a list of available parameters in each group click on the highlighted get_xxx_parameter function name below. The procedure parameters are retrieved and set by the functions
value := get_parameter ( 'param_name' )
set_parameter ( 'param_name', value )
These are the parameters that you will most commonly use in writing procedure functions. The set_parameter() function updates the parameter's graphical entry field, if it appears on any of the active displays. Access routines for specific devices are listed below. In special cases where the same parameter name appears in more than one group, use the one at the highest level in the following hierarchy:
procedure group
scan coordinator group
device groups
Setting a higher level parameter will set its namesake at lower levels.
Use a parameter from the procedure group whenever possible because
graphical entry fields can be created for them when you attach your procedure to the interactive part of
GBT Observe.
get_sc_parameter ( 'param_name' ) Scan Coordinator
set_sc_parameter ( 'param_name', value )
get_ant_parameter ( 'param_name' ) Antenna
set_ant_parameter ( 'param_name', value )
get_sp_parameter ( 'param_name' ) Spectral Processor
set_sp_parameter ( 'param_name', value )
get_dcr_parameter ( 'param_name' ) Digital Continuum Receiver
set_dcr_parameter ( 'param_name', value )
get_gs_parameter ( 'param_name' ) GBT Spectrometer
set_gs_parameter ( 'param_name', value )
get_conv_parameter ( 'param_name' ) Converter Rack
set_conv_parameter ( 'param_name', value )
get_lo_parameter ( 'param_name' ) Local Oscillator
set_lo_parameter ( 'param_name', value )
get_fe_parameter ( 'param_name' ) Front-End
set_fe_parameter ( 'param_name', value )
get_ifr_parameter ( 'param_name' ) IF router
set_ifr_parameter ( 'param_name', value )
If you write a procedure that uses any of the parameters that are specific to particular coordinate system(s), e.g., ra, dec_rate, lat_length, etc., your procedure will work only in those systems. You can generalize your procedures by using generic coordinates and have your procedure resolve their meaning at run time according to the coordinate system selected at the time. This is illustrated in the following modification of the example above:
simple_track := function ( )
{
# Protect the system from trying to run a procedure while a scan
# is in progress.
if (!is_ready()) {
print 'Cannot start a procedure while a scan is running';
return F;
}
# The meanings of major, minor, major_rate, and minor_rate are
# resolved at run time according to the coordinate mode selected
# at the time.
major := get_parameter('major');
minor := get_parameter('minor');
major_rate := get_parameter('major_rate');
minor_rate := get_parameter('minor_rate');
# The variables major and minor will be strings, if they are
# resolved into ra and dec. Otherwise, they become decimal
# degrees of longitude and latitude. The following two
# functions will detect the difference and convert to decimal
# degrees in all cases.
major := major_to_degrees(major);
minor := minor_to_degrees(minor);
# convert from arcminutes per minute to degrees per second.
major_rate /:= 3600.0;
minor_rate /:= 3600.0;
# The following __Track() function is a general purpose telescope
# control function that runs a scan and assumes that the
# coord_ode, start_time, and scan_length have been set.
# Note that this function takes optional rate parameters in
# degrees per second.
return __Track(major, minor, major_rate, minor_rate);
}
The parameter names 'major', 'minor', 'major_rate', and 'minor_rate' are substituted for 'ra' and 'dec'. The functions get_parameter(), major_to_degrees(), minor_to_degrees(), and __Track() are written so that they are sensitive to the coordinate mode in use.
The string segment 'major' is a stand-in for 'ra', 'long', 'az', 'udlong', or 'sslong'. The segment 'minor' is a stand-in for 'dec', 'lat', 'elev', 'udlat', or 'sslat'. The same resolution of generic coordinates works for major/minor_rate, major/minor_length, major/minor_step, major/minor_points, major/minor_offset, and secant_minor.
Once your procedure is defined in glish you can execute it from the GBT Observe command line or observing table just by using its function name, e.g. simple_track in our examples.
You can also add it to the list of observing procedures on the main GBT Observe panel menu button and have a procedure parameter entry panel automatically created when you select your procedure. For this you use the create_procedure_panel() function. Our last example of simple_track above can be attached to the interactive part of GBT Observe as follows:
help := 'The Simple Track procedure starts a telescope scan at \
the specified coordinates and moves it at the given rates \
until the scan ends.';
create_procedure_panel('Simple Track',
['major', 'minor', 'major_rate', 'minor_rate'],
'simple_track', help);
The first argument of create_procedure_panel() is any name that will identify your procedure in the selection button menu. Keep it short so that it doesn't create a huge button menu. The second argument is an array of strings that identify the parameters required. Only parameter names from the procedure list are permitted here. The third argument is the name of your glish function, given as a string. The fourth argument is optional and is a help string that will appear when the user clicks the procedure name field on the parameter panel.
Make sure that you define the procedure function before executing create_procedure_panel().
If you have chosen to use any of the general purpose parameters parm1..9, you can add labels, units, initial value, and a help string to them for display on your procedure interactive panel. This has no effect on the parameters or their interpretation (they are always stored as strings), but it gives a bit of help to the observer. Annotate your parameter as follows:
help := 'Race Length is is the start to finish distance that the \ telescope will move during the scan.'; label_parameter(1, ' Race Length', 'furlongs ', '10', help);
The first argument is the parameter number (1-9), The second is the label string of exactly 12 characters, right justified. The third argument is the units string of 11 characters, left justified, and the fourth is the initial value for the parameter as a string. The last argument is the help string that will be displayed when the user clicks on the label field. The help string may be as long as you like.
Procedure functions may contain arguments to make them easier to run from the glish command line or from another glish function. However, the arguments are ignored when the procedure is run from the GBT Observe command line panel, or observing table. Hence, the arguments must be defaulted to sensible values or testable to see whether they are to be replaced by built-in parameters.
The built-in procedures default their arguments to the boolean value, F, and tests them as shown in the following listing of the beginning of the Track procedure:
Track := function ( major=F, minor=F, majorRate=F, minorRate=F )
{
# Protect the system from trying to run a procedure while a
# scan is in progress.
if (!is_ready()) {
print 'Cannot start a procedure while a scan is running';
return F;
}
# Get the values for any defaulted arguments, and transfer
# any input argument values to the system.
if (is_boolean(major)) {
major := get_parameter('major');
} else {
set_parameter('major', major);
}
if (is_boolean(minor)) {
minor := get_parameter('minor');
} else {
set_parameter('minor', minor);
}
if (is_boolean(majorRate)) {
majorRate := get_parameter('major_rate');
} else {
set_parameter('major_rate', majorRate);
}
if (is_boolean(minorRate)) {
minorRate := get_parameter('minor_rate');
} else {
set_parameter('minor_rate', minorRate);
}
:
:
}
If the Track procedure is run from GBT Observe, all of the arguments contain their default values, and the values of the GBT Observe parameters are retrieved. If an argument is used when Track() is run from glish, its value is sent to GBT Observe which updates the interactive display(s) and sends the value to the hardware, when appropriate.
Here is a complete glish script for defining a simple procedure and integrating it into GBT Observe. This example incorporates all of the features mentioned above so it may be more complex than a typical procedure definition.
# This example procedure traces a square around a specified location
# on the sky. Each side of the square is a separate scan.
# Arguments:
# major major coordinate of square center (ra, long, etc.)
# minor minor coordinate of square center (dec, lat, etc.)
# size square side length, arcminutes
# rate scan rate, arcmin/min
square := function ( major=F, minor=F, size=F, rate=F )
{
# Protect the system from trying to run a procedure while a scan
# is in progress.
if (!is_ready()) {
print 'Cannot start a procedure while a scan is running';
return F;
}
if (is_boolean(major)) {
major := get_parameter('major');
} else {
set_parameter('major', major);
}
if (is_boolean(minor)) {
minor := get_parameter('minor');
} else {
set_parameter('minor', minor);
}
# general purpose parameters are stored as strings
if (is_boolean(size)) {
size := as_double(get_parameter('parm1'));
} else {
set_parameter('parm1', as_string(size));
}
if (is_boolean(rate)) {
rate := as_double(get_parameter('parm2'));
} else {
set_parameter('parm2', as_string(rate));
}
if (abs(rate == 0.0) || abs (size / rate) > 30) {
print 'rate must be large enough for a reasonable scan \
length time';
return;
}
# The meanings of major and minor are resolved at run time
# according to the coordinate mode selected at the time.
major := get_parameter('major');
minor := get_parameter('minor');
# make the sides of equal great circle lengths
set_parameter('secant_minor', YES);
# compute and set the scan time in seconds
scan_length := 60.0 * size / rate;
set_sc_parameter('scan_length', scan_length);
# convert everything to decimal degrees and ignore any signs
major := major_to_degrees(major);
minor := minor_to_degrees(minor);
offset := abs(size / 120.0);
rate := abs(rate / 3600.0);
for (i in 1:4) {
# set the procedure scan counter on the main panel
set_procedure_scan_number(i, 4);
if (i == 1) {
major_offset := offset; # top left corner
minor_offset := offset;
major_rate := -rate; # scan left to right
minor_rate := 0.0;
}
if (i == 2) {
major_offset := -offset; # top right corner
minor_offset := offset;
major_rate := 0.0; # scan down
minor_rate := -rate;
}
if (i == 3) {
major_offset := -offset; # bottom right corner
minor_offset := -offset;
major_rate := rate; # scan right to left
minor_rate := 0.0;
}
if (i == 4) {
major_offset := offset; # bottom left corner
minor_offset := -offset;
major_rate := 0.0; # scan up
minor_rate := rate;
}
if(!__Track(major + major_offset, minor + minor_offset,
major_rate, minor_rate)) {
print 'Error running __Track';
return F;
}
}
return T;
}
help := 'Square size as the length of one side in arcminutes';
label_parameter(1, ' Side Length', 'arcminutes ', '20', help);
help := 'Scan rate along each side of the square in arcminutes \
per minute';
label_parameter(2, ' Scan Rate', 'arcmin/min ', '6', help);
help := 'The Square procedure does 4 scans, one on each side of \
a square starting at the top left corner and proceeding \
clockwise. The duration of each scan depends on the \
size of the square and the scan length. The specified \
coordinates are for the center of the square.';
create_procedure_panel('Square',
['major', 'minor', 'parm1', 'parm2'],
'square', help);
When you select this procedure from the GBT Observe interactive display its parameter entry panel will look like:

There are a number of frequently used procedures built into GBT Observe. They can be used as they are or as starting points for writing your own procedures. The source code for these procedures plus a number of useful utility functions may be found in
/hyades1/rfisher/GBTcontrol/Glish/Obs_GUI/Ver0.0.2/
Include/gbt_procedures.g
This file will be put in a public directory after current revisions are completed.
The input parameters for each procedure are listed. They may also be used as arguments when the function is called from glish. All procedures assume that the coord_mode, secant_minor, and data parameters have been set before the procedure is run. See the list of procedure parameters below for an explanation of eac input parameter.
Track
tracks a fixed point in the chosen coordinate system or moves the
telescope from that point at a constant rate in one or both
coordinates.
Input parameters: major, minor, major_rate, minor_rate, scan_length
Cross
sweeps through the specified position in the chosen coordinate
system in the four cardinal directions. The primary purpose of
Cross is to determine pointing offsets. Each sweep will be a
separate scan with the scan length automatically determined by the
coordinate lengths and rates.
Input parameters: major, minor, major_rate, minor_rate,
major_length, minor_length, startNumber
RaLongMap
does a raster scan centered on the specified position in the chosen
coordinate system. Scanning is in the R.A., longitude, or azimuth
coordinate with the direction and starting corner determined by the signs
of major_rate and minor_step.
Input parameters: major, minor, major_rate, major_length,
minor_step, num_sweeps, start_number,
back_and_forth
DecLatMap
does a raster scan centered on the specified position in the chosen
coordinate system. Scanning is in the Dec., latitude, or elevation
coordinate with the direction and starting corner determined by the signs
of minor_rate and major_step.
Input parameters: major, minor, minor_rate, minor_length,
major_step, num_sweeps, start_number,
back_and_forth
RaLongOtf
does an on-the-fly raster map centered on the specified position in
the chosen coordinate system. Scanning is in the R.A., longitude, or
azimuth coordinate with the direction and starting corner determined by the
signs of major_rate and minor_step. Successive sweeps are in opposite
directions. Data are recorded continuously during the whole map, even
while reversing sweep direction.
Input parameters: major, minor, major_rate, major_length,
minor_step, num_sweeps, start_number
DecLatOtf
does an on-the-fly raster map centered on the specified position in
the chosen coordinate system. Scanning is in the Dec., latitude, or
elevation coordinate with the direction and starting corner determined by
the signs of minor_rate and major_step. Successive sweeps are in opposite
directions. Data are recorded continuously during the whole map, even
while reversing sweep direction.
Input parameters: major, minor, minor_rate, minor_length,
major_step, num_sweeps, start_number
PointMap
constructs a map by integrating at fixed positions on a grid. The
stepping direction and starting corner are determined by the signs
of major_step and minor_step. The extent of the map is determined
by the step sizes and the number of Points in each direction. The
fastest stepping is in R.A., longitude, or azimuth. A reference off
position and frequency of occurrence may be specified.
Input parameters: major, minor, major_step, minor_step,
major_points, minor_points, major_offset,
minor_offset, point_duration, off_interval,
start_number
OnOff
does three data integrations in an off-on-off-source sequence. The
on-source position is at the specified coordinates. The off-source
positions are both at the same offset location with each integration
time being half of the "On" integration time.
Input parameters: major, minor, major_offset, minor_offset,
on_duration, separate_scans
FivePoint
steps the telescope through the sequence "off on +maj -maj +min -min
on off", where 'maj' is the R.A., longitude, or azimuth offset, and
'min' is the Dec., latitude, or elevation offset. This procedure's
primary purpose is to determine pointing offsets. If you are
observing in Azimuth/Elevation coordinates, the blank sky "off"
position will be 5 times the major_offset distance from the central
position. Otherwise, an additional az_offset parameter is
specified. point_duration is the integration time on each
position. Unless separate_scans = NO, each integration will be
recorded as a separate scan.
Input parameters: major, minor, major_offset, minor_offset,
az_offset, point_duration, separate_scans
Circle
moves the telescope in a circle with the specified radius around the
given position in the chosen coordinate system.
Input parameters: major, minor, radius, start_angle, angular_rate
Tipping
drives the telescope in elevation at a fixed azimuth to determine
atmospheric attenuation. The direction of elevation motion is
determined by start and stop elevations. Any sign on the elev_rate
will be ignored.
Input parameters: az, start_elev, stop_elev, elev_rate
FocusPrime
scans the prime focus receiver in its feed's axial direction. The
primary purpose is to determine the receiver's maximum gain focus
position.
Input parameters: start_focus, stop_focus, focus_rate
RotatePrime
rotates the prime focus receiver around its feed's axis. The
primary purpose is for polarization measurements.
Input parameters: start_rotation, stop_rotation, rotation_rate
The parameter lists below are dauntly long, but keep in mind that all parameters are either defaulted to sensible values or have been assigned values from the interactive panels or the GBT Observe command line before your procedure is run. You shouldn't have to use but a few of the parameters, mostly from the procedure and scan coordinator groups.
The parameters in the procedure group are defined as they apply to built-in observing procedures. You may use them for other purposes. If you change a parameter value, the value will be changed for all procedures that use it. At the end of this list are nine generic parameters called parm1..9. These are not used by any built-in procedures. You may assign labels and units to these parameters when you attach your procedure to the the interactive part of GBT Observe.
For most observations procedures will be executed by the GBT as soon as possible, but the start time may be explicitly specified in either UTC or LST with one of the following two parameters. If both start_utc and start_lst are specifed, all but the last one set will be ignored.
start_utc
Start UTC is a parameter that allows you to start a procedure at a
specified Universal Coordinated Time. The time is assumed to be
within the day starting 1/2 hour before and ending 23 1/2 hours
after the current time. The start time is valid for one scan only
and is cleared after a scan is initiated. Procedures that run
more than one scan will start all scans after the first one
a.s.a.p. Subsequent procedure will also start a.s.a.p. unless a
new start time is specified before each is invoked. (formatted
string HH:MM:SS.s)
start_lst
Start LST is a parameter that allows you to start a procedure at a
specified Local Apparent Sidereal Time. The time is assumed to be
within the day starting 1/2 hour before and ending 23 1/2 hours
after the current time. The start time is valid for one scan only
and is cleared after a scan is initiated. Procedures that run
more than one scan will start all scans after the first one
a.s.a.p. Subsequent procedures will also start a.s.a.p. unless a
new start time is specified before each is invoked. (formatted
string HH:MM:SS.s)
The 'track' procedure has three other timing parameters that are unique to it. A stop UTC or LST may be specified so that the scan will be started as soon as possible, but the scan is guaranteed to end at the specified time. This is useful for VLBI observations to keep schedules synchronized at different observatories. When a stop time is used the length of the scan will depend on when the telescope is able to get on position and initiate the data-taking process. If both stop_utc and stop_lst are specifed, all but the last one set will be ignored.
If a start time or no start or stop time is given, the length of a 'track' scan is set by the scan_duration parameter. All procedure start and stop times are cleared after a procedure is executed so that the next procedure will be executed as soon as possible unless a new time is specified.
stop_utc
Stop UTC is a parameter that allows you to stop the first scan of
the 'track' procedure at a specified Universal Coordinated Time.
The scan is started as soon as possible. The Stop UTC is
generally useful when one wants to start tracking an object as
soon as possible while being guaranteed that the telescope will
move to the next source at the specified time. This is often
useful for VLBI observations. The time is assumed to be within
the day starting 1/2 hour before and ending 23 1/2 hours after the
current time. The stop time is valid for one scan only and is
cleared after a scan is initiated. (formatted string HH:MM:SS.s)
stop_lst
Stop LST is a parameter that allows you to stop the 'track'
procedure at a specified Local Apparent Sidereal Time. The scan
is started as soon as possible. The Stop LST is generally useful
when one wants to start tracking an object as soon as possible
while being guaranteed that the telescope will move to the next
source at the specified time. This is often useful for VLBI
observations. The time is assumed to be within the day starting
1/2 hour before and ending 23 1/2 hours after the current time.
The stop time is valid for one scan only and is cleared after a
scan is initiated. (formatted string HH:MM:SS.s).
scan_duration
Scan Duration is the length of the 'track' procedure scan in UTC
seconds. Any data integrations completed after the end of a scan
will normally be discarded. Hence, the Scan Duration is typically
an integer number of integration times plus a second or
two. This parameter is ignored if a stop time is specified.
(floating point)
Procedures may be written to handle coordinates in any of the provided coordinate systems using generic coordinates, rather than specific coordinates such as ra, dec, az, elev, etc. See the description of these above.
coord_mode
The Coordinate Mode determines how telescope coordinates and rates
are interpreted. Five of the selections (J2000, B1950, Current
RA/Dec, Azimuth/Elevation, Galactic) are native to the antenna
control system. You may define the pole and origin of a your own
spherical coordinate system with the User Defined selection. The
Solar Sys. Object selection defines spherical coordinates whose
equator and and prime meridian track a selected object. (string
constant: J2000, B1950, CURRENT_RA_DEC, AZIMUTH_ELEVATION, GALACTIC,
USER_DEFINED, or SOLAR_SYS_OBJECT)
Right Ascension and Declination coordinates. The epoch of this
coordinate is set by the Coordinate Mode as J2000, B1950, or Current
RA/Dec.
ra
'ra' is the right ascension, usually in HH:MM:SS.SS format, at the
beginning of the Track procedure or the center of a map, Cross, or
Circle. In glish this parameter is carried as a string, which is
converted to an angle when a value is required. (formatted string)
dec
'dec' is the declination, usually in sDD:MM:SS.S format, at the
beginning of the Track procedure or the center of a map, Cross, or
Circle. In glish this parameter is carried as a string, which is
converted to an angle when a value is required. (formatted string)
ra_rate
ra_rate is the right ascension rate, in arcminutes per minute, of
the telescope motion in the Track, map, or Cross
procedure. (floating point)
dec_rate
dec_rate is the declination rate, in arcminutes per minute, of the
telescope motion in the Track, map, or Cross procedure. (floating
point)
ra_length
This parameter is the full length, in arcminutes, of a right
ascension sweep in a Cross or map procedure. The sweep is centered
on the specified R.A. coordinate. (floating point)
dec_length
This parameter is the full length, in arcminutes, of a declination
sweep in a Cross or map procedure. The sweep is centered on the
specified Dec. coordinate. (floating point)
ra_step
This parameter is the right ascension step size, in arcminutes,
between declination sweeps in a raster map or between locations in a
Point-Map procedure. The sweeps or rows of point locations are
centered on the specified R.A. coordinate. (floating point)
dec_step
This parameter is the declination step size, in arcminutes, between
right ascension sweeps in a raster map or between locations in a
Point-Map procedure. The sweeps or columns of columns of point
locations are centered on the specified Dec. coordinate. (floating
point)
ra_points
This parameter specifies the number of Point-Map procedure locations
in the right ascension coordinate. An odd number will put the
center column on the specified R.A. coordinate. (integer)
dec_points
This parameter specifies the number of Point-Map procedure locations
in the declination coordinate. An odd number will put the center
row on the specified Dec. coordinate. (integer)
ra_offset
'ra_offset' is the right ascension offset, in arcminutes, of the
"off" or reference location for the Point-Map or On-Off procedure or
for two of the locations in a Five-Point procedure. (floating point)
dec_offset
'dec_offset' is the declination offset, in arcminutes, of the "off"
or reference location for the Point-Map or On-Off procedure or for
two of the locations in a Five-Point procedure. (floating point)
secant_dec
The secant_dec parameter determines whether right ascension offsets
and sweep lengths are multiplied by the secant of the declination to
determine the actual offsets or lengths on the sky. If secant_dec
is 'no', the offsets are small circle arc lengths. If secant_dec
is 'yes', the offsets are great circle arc lengths. (string
constant: YES or NO)
Galactic Longitude and Latitude coordinates.
long
'long' is the galactic Longitude, in decimal degrees, at the
beginning of the Track procedure or the center of a map, Cross, or
Circle. (floating point)
lat
'lat' is the galactic Latitude, in decimal degrees, at the beginning
of the Track procedure or the center of a map, Cross, or
Circle. (floating point)
long_rate
This parameter is the galactic Longitude Rate, in arcminutes per
minute, of the telescope motion in the Track, map, or Cross
procedure. (floating point)
lat_rate
This parameter is the galactic Latitude Rate, in arcminutes per
minute, of the telescope motion in the Track, map, or Cross
procedure. (floating point)
long_length
This parameter is the full length, in arcminutes, of a galactic
longitude sweep in a Cross or map procedure. The sweep is centered
on the specified longitude coordinate. (floating point)
lat_length
This parameter is the full length, in arcminutes, of a galactic
latitude sweep in a Cross or map procedure. The sweep is centered
on the specified latitude coordinate. (floating point)
long_step
This parameter is the galactic longitude step size, in arcminutes,
between latitude sweeps in a raster map or between locations in a
Point-Map procedure. The sweeps or rows of point locations are
centered on the specified longitude coordinate. (floating point)
lat_step
This parameter is the galactic latitude step size, in arcminutes,
between longitude sweeps in a raster map or between locations in a
Point-Map procedure. The sweeps or columns of point locations are
centered on the specified latitude coordinate. (floating point)
long_points
This parameter specifies the number of Point-Map procedure locations
in the galactic longitude coordinate. An odd number will put the
center column on the specified longitude coordinate. (integer)
lat_points
This parameter specifies the number of Point-Map procedure locations
in the galactic latitude coordinate. An odd number will put the
center row on the specified latitude coordinate. (integer)
long_offset
This parameter is the galactic longitude offset, in arcminutes, of
the "off" or reference location for the Point-Map or On-Off
procedure or for two of the locations in a Five-Point
procedure. (floating point)
lat_offset
This parameter is the galactic latitude offset, in arcminutes, of
the "off" or reference location for the Point-Map or On-Off
procedure or for two of the locations in a Five-Point
procedure. (floating point)
secant_lat
The secant_lat parameter determines whether galactic longitude
offsets and sweep lengths are multiplied by the secant of the
latitude to determine the actual offsets or lengths on the sky. If
secant_lat is 'no', the offsets are small circle arc lengths. If
secant_lat is 'yes', the offsets are great circle arc
lengths. (string constant: YES or NO)
Azimuth, Elevation coordinates.
az
'az' is the Azimuth, in decimal degrees, at the beginning of the
Track procedure or the center of a map, Cross, or Circle. Azimuth is
0.0 degrees at north and +90.0 degrees at east. (floating point)
elev
'elev' is the Elevation, in decimal degrees, at the beginning of the
Track procedure or the center of a map, Cross, or Circle. The
minimum elevation of the GBT is 5 degrees. (floating point)
az_rate
This parameter is the Azimuth Rate, in arcminutes per minute, of the
telescope motion in the Track, map, or Cross procedure. (floating
point)
elev_rate
This parameter is the Elevation Rate, in arcminutes per minute, of
the telescope motion in the Track, map, Cross, or Tipping
procedure. (floating point)
az_length
This parameter is the full length, in arcminutes, of an azimuth
sweep in a Cross or map procedure. The sweep is centered on the
specified azimuth coordinate. (floating point)
elev_length
This parameter is the full length, in arcminutes, of an elevation
sweep in a Cross or map procedure. The sweep is centered on the
specified elevation coordinate. (floating point)
az_step
This parameter is the azimuth step size, in arcminutes, between
elevation sweeps in a raster map or between locations in a Point-Map
procedure. The sweeps or rows of point locations are centered on
the specified azimuth coordinate. (floating point)
elev_step
This parameter is the elevation step size, in arcminutes, between
azimuth sweeps in a raster map or between locations in a Point-Map
procedure. The sweeps or columns of point locations are centered on
the specified elevation coordinate. (floating point)
az_points
This parameter specifies the number of Point-Map procedure locations
in the azimuth coordinate. An odd number will put the center column
on the specified azimuth coordinate. (integer)
elev_points
This parameter specifies the number of Point-Map procedure locations
in the elevation coordinate. An odd number will put the center row
on the specified elevation coordinate. (integer)
az_offset
This parameter is the azimuth offset, in arcminutes, of the "off" or
reference location for the Point-Map or On-Off procedure or for two
of the locations in a Five-Point procedure. It is also used as an
azimuth offset in the Five-Point procedure when working in a
coordinate system other than Azimuth/Elevation. (floating point)
elev_offset
This parameter is the elevation offset, in arcminutes, of the "off"
or reference location for the Point-Map or On-Off procedure or for
two of the locations in a Five-Point procedure. (floating point)
secant_elev
The secant_elev parameter determines whether azimuth offsets and
sweep lengths are multiplied by the secant of the elevation to
determine the actual offsets or lengths on the sky. If secant_elev
is 'no', the offsets are small circle arc lengths. If secant_elev
is 'yes', the offsets are great circle arc lengths. (string constant:
YES or NO)
User-Defined coordinates. These coordinates are defined by the user by
specifying the location of a spherical coordinate pole and prime
meridian in J2000 coordinates, and, optionally, the first and second
time derivatives of these locations.
udlong
'udlong' is the Longitude in user-defined coordinates, in decimal
degrees, at the beginning of the Track procedure or the center of a
map, Cross, or Circle. (floating point)
udlat
'udlat' is the Latitude in user-defined coordinates, in decimal
degrees, at the beginning of the Track procedure or the center of a
map, Cross, or Circle. (floating point)
udlong_rate
This parameter is the Longitude Rate, in arcminutes per minute, in
user-defined spherical coordinates. This is the rate of telescope
motion in the Track, map, or Cross procedure. (floating point)
udlat_rate
This parameter is the Latitude Rate, in arcminutes per minute, in
user-defined spherical coordinates. This is the rate of telescope
motion in the Track, map, or Cross procedure. (floating point)
udlong_length
This parameter is the full length, in arcminutes, of a longitude
sweep in user-defined coordinates in a Cross or map procedure. The
sweep is centered on the specified longitude coordinate. (floating
point)
udlat_length
This parameter is the full length, in arcminutes, of a latitude
sweep in user-defined coordinates in a Cross or map procedure.
The sweep is centered on the specified latitude
coordinate. (floating point)
udlong_step
This parameter is the longitude step size, in arcminutes, in user-
defined coordinates between latitude sweeps in a raster map or
between locations in a Point-Map procedure. The sweeps or rows of
point locations are centered on the specified longitude
coordinate. (floating point)
udlat_step
This parameter is the latitude step size, in arcminutes, in user-
defined coordinates between longitude sweeps in a raster map or
between locations in a Point-Map procedure. The sweeps or columns
of point locations are centered on the specified user-defined
latitude coordinate. (floating point)
udlong_points
This parameter specifies the number of Point-Map procedure locations
in the user-defined longitude coordinate. An odd number will put
the center column on the specified longitude coordinate. (integer)
udlat_points
This parameter specifies the number of Point-Map procedure locations
in the user-defined latitude coordinate. An odd number will put
the center row on the specified latitude coordinate. (integer)
udlong_offset
This parameter is the user-defined longitude offset, in
arcminutes, of the "off" or reference location for the Point-Map or
On-Off procedure or for two of the locations in a Five-Point
procedure. (floating point)
udlat_offset
This parameter is the user-defined latitude offset, in arcminutes,
of the "off" or reference location for the Point-Map or On-Off
procedure or for two of the locations in a Five-Point
procedure. (floating point)
secant_udlat
The secant_udlat parameter determines whether user-defined
longitude offsets and sweep lengths are multiplied by the secant of
the latitude to determine the actual offsets or lengths on the sky.
If secant_udlat is 'no', the offsets are small circle arc lengths.
If secant_udlat is 'yes', the offsets are great circle arc
lengths. (string constant: YES or NO)
Solar System Object coordinates. These coordinates are in a spherical
coordinate system whose equator and prime meridian intersection track
the location of the selected solar system object (moon, planet, etc.).
sslong
'sslong' is the Longitude, in decimal degrees, in solar system
object coordinates. This longitude is at the beginning of the Track
procedure or the center of a map, Cross, or Circle. (floating point)
sslat
'sslat' is the Latitude, in decimal degrees, in solar system object
coordinates. This latitude is at the beginning of the Track
procedure or the center of a map, Cross, or Circle. (floating point)
sslong_rate
This parameter is the Longitude Rate, in arcminutes per minute, in
solar system object coordinates. This is the rate of telescope
motion in the Track, map, or Cross procedure. (floating point)
sslat_rate
This parameter is the Latitude Rate, in arcminutes per minute, in
solar system object coordinates. This is the rate of telescope
motion in the Track, map, or Cross procedure. (floating point)
sslong_length
This parameter is the full length, in arcminutes, of a longitude
sweep in solar system object coordinates. The sweep is centered on
the specified longitude coordinate in a Cross or map
procedure. (floating point)
sslat_length
This parameter is the full length, in arcminutes, of a latitude
sweep in solar system object coordinates. The sweep is centered on
the specified latitude coordinate in a Cross or map
procedure. (floating point)
sslong_step
This parameter is the longitude step size, in arcminutes, between
latitude sweeps in a raster map or between locations in a Point-Map
procedure. The sweeps or rows of point locations are centered on the
specified longitude in solar system object coordinates. (floating
point)
sslat_step
This parameter is the latitude step size, in arcminutes, between
longitude sweeps in a raster map or between locations in a Point-Map
procedure. The sweeps or columns of point locations are centered on
the specified latitude in solar system object coordinates. (floating
point)
sslong_points
This parameter specifies the number of Point-Map procedure locations
in the longitude of solar system object coordinates. An odd
number will put the center column on the specified longitude
coordinate. (integer)
sslat_points
This parameter specifies the number of Point-Map procedure locations
in the latitude of solar system object coordinates. An odd number
will put the center row on the specified latitude
coordinate. (integer)
sslong_offset
This parameter is the longitude offset, in arcminutes, of the "off"
or reference location for the Point-Map or On-Off procedure or for
two of the locations in a Five-Point procedure. In this case,
longitude is defined in solar system object coordinates. (floating
point)
sslat_offset
This parameter is the latitude offset, in arcminutes, of the "off"
or reference location for the Point-Map or On-Off procedure or for
two of the locations in a Five-Point procedure. In this case,
latitude is defined in solar system object coordinates. (floating
point)
secant_sslat
The secant_sslat parameter determines whether longitude offsets and
sweep lengths are multiplied by the secant of the latitude to
determine the actual offsets or lengths on the sky. In this case,
latitude is defined in solar system object coordinates. If
secant_sslat is 'no', the offsets are small circle arc lengths. If
secant_sslat is 'yes', the offsets are great circle arc
lengths. (string constant: YES or NO)
start_number
Start Number allows you to resume a partially completed Cross,
raster map, or Point-Map by specifying the sweep or point number to
start with. (integer)
repeat_number
Repeats specifies the number of times the procedure is to be
repeated with the same parameter values. (integer)
point_duration
Point Duration is the integration time, in seconds, spent on each
location of a map grid or a five-point pointing procedure. (floating
point)
on_duration
The On Integration is the integration time, in seconds, spent on
each location of an on-off observing procedure. (floating point)
off_interval
Off Interval specifies the number of locations in a Point-Map that
are integrated before making an "off" integration outside the map
area. (integer)
back_and_forth
Back&Forth selects whether or not alternate sweeps in a raster scan
map are traced in opposite directions. By selecting "yes" you save
time by not having the telescope retrace to the same side of the map
for each sweep. (string constant: YES or NO)
separate_scans
Separate Scans specifies whether each integration in an on-off or
five-point procedure is recorded as a separate scan with different
scan numbers. (string constant: YES or NO)
data
Data bselects whether data are recorded during a scan. The data
might be temporarily turned off to make a trial run of a procedure
to test the telescope motions. This is a spring-loaded value in the
sense that it returns to 'yes' at the end of each scan. (string
constant: YES or NO)
num_sweeps
Number of Sweeps specifies the number of sweeps in a raster map. An
odd number of sweeps will run the center sweep through the specified
map center position. An equal number of sweeps will be made on
either side of the center position. (integer)
radius
This parameter specifies the Radius, in arcminutes, of the circle
traced by the Circle procedure. (floating point)
start_angle
Start Angle specifies the parallactic angle, in degrees, for the
beginning of the trace in the Circle procedure. Zero degrees is
north; 90 degrees is east. (floating point)
angular_rate
Angular Rate specifies the rate of scan, in degrees per minute,
along the circle in the Circle procedure. (floating point)
start_elev
This parameter specifies the Start Elevation, in degrees, of a
Tipping scan. The start and stop elevations determine the direction
of scan, and the sign of the scan rate is ignored. (floating point)
stop_elev
This parameter specifies the Stop Elevation, in degrees, of a
Tipping scan. The start and stop elevations determine the direction
of scan, and the sign of the scan rate is ignored. (floating point)
start_focus
This parameter specifies the Start Focus position, in millimeters,
of a Focus scan. The start and stop positions determine the
direction of scan, and the sign of the Focus Rate is
ignored. (floating point)
stop_focus
This parameter specifies the Stop Focus position, in millimeters, of
a Focus Prime procedure. The start and stop positions determine the
direction of scan, and the sign of the Focus Rate is
ignored. (floating point)
focus_rate
This parameter is the Focus Rate, in millimeters per minute, of the
prime focus receiver in the Focus Prime procedure. The start and
stop positions determine the direction of scan, and the sign of the
Focus Rate is ignored. (floating point)
start_rotation
This parameter specifies the Start Rotation position, in degrees, of
a prime focus receiver rotation scan. (floating point)
stop_rotation
This parameter specifies the Stop Rotation position, in degrees, of
a prime focus receiver rotation scan. (floating point)
rotation_rate
This parameter is the Rotation Rate, in degrees per minute, of the
prime focus receiver. (floating point)
parm1
This parameter, parm1, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm2
This parameter, parm2, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm3
This parameter, parm3, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm4
This parameter, parm4, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm5
This parameter, parm5, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm6
This parameter, parm6, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm7
This parameter, parm7, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm8
This parameter, parm8, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
parm9
This parameter, parm9, is one of nine generic string value
parameters that may be used in writing new procedures in
glish. (string)
next_scan_number
The Scan Number normally updates at the beginning of each scan,
but it may be set to a new value by setting the next_scan_number
parameter value. (integer)
proj_id
The Project ID is the number assigned to your program on the
telescope schedule, e.g., B345. This string is used as a directory
name for your data. (string)
source_name
Any Source Name less than 32 characters. In pulsar observing this
name is used to fetch the current pulsar timing parameters and must
be in a standard 'hhmmsdd' format, e.g., 0329+54. In other
observing modes the Source Name is only an identifier
label. (string)
scan_id
The Scan I.D. is a supplement to the Source Name for labeling the
data. It has no effect on the data taking process. The string must
be less than 32 characters. (string)
scan_length
The Scan Length is the duration of the scan in seconds. Any data
integrations completed after the end of a scan will normally be
discarded. Hence, the Scan Length is typically an integer number of
integration times plus a second or two. (floating point)
start_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time.
Start times for procedures must be set with one of the procedure
keywords start_utc or start_lst. This scan coordinator start_time
is a lower level parameter for direct control of the scan
coordinator. It can be set directly with the set_sc_parameter()
function using the TimeStamp() conversion:
set_sc_parameter('start_time', TimeStamp(hh, mm, ss, MJD))
where hh:mm:ss is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the start_time using the current MJD or by specifying the Local
Sidereal Time:
set_sc_start_utc('11:45:36.343')
set_sc_start_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that they
are specified as strings. When you execute the procedure
x := get_sc_parameter('start_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
stop_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time. If
you want to specify a stop time for the 'track' procedure you must
use one of the procedure keywords stop_utc or stop_lst. This scan
coordinator stop_time is a lower level parameter for direct
control of the scan coordinator. It can be set directly with the
set_sc_parameter() function using the TimeStamp() conversion:
set_sc_parameter('stop_time', TimeStamp(hh, mm, ss.s, MJD))
where hh:mm:ss.s is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the stop_time using the current MJD or by specifying the Local
Sidereal Time:
set_sc_stop_utc('11:45:36.343')
set_sc_stop_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that it
is specified as a string. When you execute the procedure
x := get_sc_parameter('stop_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
observer_name
The Observer's Name can be any string less than 32 characters. This
is recorded with the data. (string)
log_file
Glish Log File is the name of the file that records all glish
language commands generated by 'GBT Observe', either from interactive
panel selections and entries or from command line or observing table
execution. (string)
obs_type
Observing Type selects the primary backend to be used. Along with
the Receiver parameter, it sets a number of parameter faults so make
this selection before setting parameters for specific
devices. (string constant: SPECTRAL_LINE, CONTINUUM, or
PULSAR_TIMING)
receiver
The Receiver parameter, in conjunction with the Observing Type,
determines a lot of default settings the setup up the GBT system to
use the selected receiver. Make this selection before setting
parameters for specific devices. (string constant: MHZ_390_TO_520,
MHZ_510_TO_690, MHZ_680_TO_920, GHZ_1_15_TO_1_73, GHZ_3_95_TO_5_85,
GHZ_8_TO_10, GHZ_12_TO_15_4, GHZ_18_TO_22, or GHZ_22_TO_26_5)
This section is to be completed as the device GUI is constructed
This section is to be filled in as the device GUI is constructed
This section is to be filled in as the device GUI is constructed
next_scan_number
The scan number normally updates at the beginning of each scan,
but it may be set to a new value by setting the next_scan_number
parameter value. (integer)
proj_id
The Project ID is the number assigned to your program on the
telescope schedule, e.g., B345. This string is used as a directory
name for your data. (string)
source_name
Any Source Name less than 32 characters used as an identifier label
with your data. (string)
scan_id
The Scan I.D. is a supplement to the Source Name for labeling the
data. It has no effect on the data taking process. The string must
be less than 32 characters. (string)
scan_length
The Scan Length is the duration of the scan in seconds. Any data
integrations completed after the end of a scan will normally be
discarded. Hence, the Scan Length is typically an integer number of
integration times plus a second or two. (floating point)
start_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time.
Start times for procedures must be set with one of the procedure
keywords start_utc or start_lst. This DCR start_time is a lower
level parameter for direct control of the DCR. It can be set
directly with the set_sc_parameter() function using the
TimeStamp() conversion:
set_dcr_parameter('start_time', TimeStamp(hh, mm, ss, MJD))
where hh:mm:ss is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the start_time using the current MJD or by specifying the Local
Sidereal Time:
set_dcr_start_utc('11:45:36.343')
set_dcr_start_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that they
are specified as strings. When you execute the procedure
x := get_dcr_parameter('start_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
stop_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time. If
you want to specify a stop time for the 'track' procedure you must
use one of the procedure keywords stop_utc or stop_lst. This DCR
stop_time is a lower level parameter for direct control of the
DCR. It can be set directly with the set_sc_parameter() function
using the TimeStamp() conversion:
set_dcr_parameter('stop_time', TimeStamp(hh, mm, ss.s, MJD))
where hh:mm:ss.s is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the stop_time using the current MJD or by specifying the Local
Sidereal Time:
set_dcr_stop_utc('11:45:36.343')
set_dcr_stop_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that it
is specified as a string. When you execute the procedure
x := get_dcr_parameter('stop_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
bank
The DCR has two banks of inputs identified as Bank A and Bank B.
Each bank has 16 input channels each. The Bank is normally
defaulted to the correct one for the front-end in use, but check
with the telescope operator or receiver engineer, if you are
uncertain. (string value: 'A' or 'B')
test_tone
A 5 MHz test signal is available for testing the DCR input channels.
When turned on this signal DISCONNECTS THE V/F INPUTS FROM THE
RECEIVER. Five MHz is about half of the maximum V/F frequency and
about 5 times the typical input frequency of 1 MHz. This is a
spring-loaded variable in the sense that it is reset to 'off' after
each scan. (string value constant: OFF or ON)
switch_mode
The Switching Mode is a menu of predefined switching modes plus a
user-defined mode. The Number of Phases, SigRef and Cal states,
phase Start times, and Advance Sig selections are all set when one
of the predefined modes is selected. In the user-defined mode all
of these parameters are available for user input. (string constant:
TOTAL_POWER, TOTAL_POWER_NO_CAL, SWITCHING, SWITCHING_NO_CAL,
SYMMETRIC_TOTAL_PWR, SYMMETRIC_SWITCHING, SYM_SWITCHING_NO_CAL, or
USER_DEFINED)
cal_state
The cal_state array specifies the state of the receiver calibration
control signal in each switching phase. The number of phases
depends on the selected Switching Mode or on the number of phases
selected by the user in the user-defined mode. In all but the
user-defined mode the Cal states are predetermined by the selected
mode. (10-element array of string constants: OFF or ON)
sig_ref_state
The sig_ref_state array specifies the state of the receiver
frequency/load/beam switch signal in each switching phase. The
number of phases depends on the selected Switching Mode or on the
number of phases selected by the user in the user-defined mode.
In all but the user-defined mode the sig_ref states are
predetermined by the selected mode. (10-element array of string
constants: SIG or REF)
blanking_time
Banking Time is the time in seconds at the beginning of each switch
phase when data integration is inhibited. The Blanking Time may be
set to a different value for each phase, but one value is usually
sufficient for every phase. The resolution in 100nS. (floating
point)
Sw1
The Sw1 state array specifies the state of the first optional TTL
output port in each switching phase. This port is available for
driving devices other than the receiver calibration and
frequency/load/beam switching in synchronism with these signals.
The number of phases depends on the selected Switching Mode or on
the number of phases selected by the user in the user-defined
mode. The Sw1 states may be set by the user in any selected
mode. (10-element array of string constants: HI or LOW)
Sw2
The Sw2 state array specifies the state of the second optional TTL
output port in each switching phase. This port is available for
driving devices other than the receiver calibration and
frequency/load/beam switching in synchronism with these signals.
The number of phases depends on the selected Switching Mode or on
the number of phases selected by the user in the user-defined
mode. The Sw2 states may be set by the user in any selected
mode. (10-element array of string constants: HI or LOW)
Sw3
The Sw3 state array specifies the state of the third optional TTL
output port in each switching phase. This port is available for
driving devices other than the receiver calibration and
frequency/load/beam switching in synchronism with these signals.
The number of phases depends on the selected Switching Mode or on
the number of phases selected by the user in the user-defined
mode. The Sw3 states may be set by the user in any selected
mode. (10-element array of string constants: HI or LOW)
Sw4
The Sw4 state array specifies the state of the fourth optional TTL
output port in each switching phase. This port is available for
driving devices other than the receiver calibration and
frequency/load/beam switching in synchronism with these signals.
The number of phases depends on the selected Switching Mode or on
the number of phases selected by the user in the user-defined
mode. The Sw4 states may be set by the user in any selected
mode. (10-element array of string constants: HI or LOW)
chart_recorder1
There are two F/V convertor outputs that may be connected to a paper
chart recorder. ChartRecorder1 specifies which input V/F channel
(1-16) is sent to the first output. (string constant: CHAN_1,
CHAN_2, CHAN_3, CHAN_4, CHAN_5, CHAN_6, CHAN_7, CHAN_8, CHAN_9,
CHAN_10, CHAN_11, CHAN_12, CHAN_13, CHAN_14, CHAN_15, or CHAN_16)
chart_recorder2
There are two F/V convertor outputs that may be connected to a paper
chart recorder. ChartRecorder2 specifies which input V/F channel
(1-16) is sent to the second output. (string constant: CHAN_1,
CHAN_2, CHAN_3, CHAN_4, CHAN_5, CHAN_6, CHAN_7, CHAN_8, CHAN_9,
CHAN_10, CHAN_11, CHAN_12, CHAN_13, CHAN_14, CHAN_15, or CHAN_16)
monitor1
Two input channels may be monitored for out-of-range conditions.
Monitor1 specifies the first of the channel selections
(1-16). (string constant: CHAN_1, CHAN_2, CHAN_3, CHAN_4, CHAN_5,
CHAN_6, CHAN_7, CHAN_8, CHAN_9, CHAN_10, CHAN_11, CHAN_12, CHAN_13,
CHAN_14, CHAN_15, or CHAN_16)
monitor2
Two input channels may be monitored for out-of-range conditions.
Monitor2 specifies the second of the channel selections
(1-16). (string constant: CHAN_1, CHAN_2, CHAN_3, CHAN_4, CHAN_5,
CHAN_6, CHAN_7, CHAN_8, CHAN_9, CHAN_10, CHAN_11, CHAN_12, CHAN_13,
CHAN_14, CHAN_15, or CHAN_16)
advance_time
Two of the six switching signals may be advanced in time and sent to
separate TTL output ports. These might be used to drive a
high-inertia device, such as a secondary or tertiary mirror, to
start it moving before the DCR switches phase integrators. The
Advance Time specifies the time lead, in seconds between 0 and 0.5,
of both of these signals. The advance_sig1 and advance_sig2 select
which of the six signals are advanced and connected to the output
ports. (floating point)
advance_sig1
Two of the six switching signals may be advanced in time and sent to
separate TTL output ports. These might be used to drive a
high-inertia device, such as a secondary or tertiary mirror, to
start it moving before the DCR switches phase integrators. This
parameter selects which of the six signals are advanced and
connected to the first output port. (string constant: CAL, SIG_REF,
SW1, SW2, SW3, or SW4)
advance_sig2
Two of the six switching signals may be advanced in time and sent to
separate TTL output ports. These might be used to drive a
high-inertia device, such as a secondary or tertiary mirror, to
start it moving before the DCR switches phase integrators. This
parameter selects which of the six signals are advanced and
connected to the second output port. (string constant: CAL, SIG_REF,
SW1, SW2, SW3, or SW4)
number_of_phases
The Number of Phases specifies how many phases are in the switching
cycle. This number is predetermined by the selected Switching Mode
for all but the user-defined mode. In that mode the number may be
between 1 and 10. (integer)
switch_period
The Switch Period specifies the time in seconds of a full switch
cycle. The Integration Time must be an integer number of Switch
Periods and will be changed to the nearest value when a new Switch
Period is entered. (floating point)
cycles_per_integration
Switch Periods (cycles) per Integration is for information only. It
is the Integration Time divided by the Switch Period. The
Integration Time is adjusted automatically to make this an integer.
(integer)
integration_time
Integration Time is the time of one recorded data sample. It is
automatically adjusted to be an integer number of Switch Periods.
One data sample will contain a separate data integration for each
phase in the switching cycle. (floating point)
channel
Any of 16 input channels may be activated by setting its value to 1
in this 16-element array. (array of integers: 0 or 1)
phase_start
The Phase Start times specify the beginning of each phase as a
fraction of the total switch cycle. The first start time must be
zero, they must increase monotonically, and the last phase start
time must be less than one. The effective integration time for a
phase in one switching cycle is the product of the Switch Period and
the difference between that phase's and the next phase's start times
minus the Blanking Time. The number of phases depends on the
selected Switching Mode or on the number of phases selected by the
user in the user-defined mode. In all but the user-defined mode
the phase Start times are predetermined by the selected
mode. (10-element floating point array)
save_file
The Parameter File name string specifies where the current set of
parameter values is to be stored to or recalled from. Any number of
such files may be created. They are stored in the directory where
the glish session was started. The full set of DCR parameters may
be saved to disk or recalled from disk after this parameter has been
set with
save_dcr_parameters()
load_dcr_parameters()
This file holds parametrs in internal format, so it is intended as a
temporary snapshot rather than a long term definition of default
setups. (string)
state
The State is a read-only parameter that shows the current status of
the DCR. The state between scans is normally Ready. The scan
sequence of State is Activating, Committed, Running, and Stopping in
that order. If the State shows Off or Standby, the DCR may be put
into the ready state with the 'dcr->on()' glish command. Normally
the DCR will be Ready when using this panel. Setup parameters may
be changed only in the Ready state. (string constant: OFF_STATE,
STANDBY, READY, ACTIVATING, COMMITTED, RUNNING, STOPPING, ABORTING)
This section is to be filled in as the device GUI is constructed
next_scan_number
The Scan Number normally updates at the beginning of each scan,
but it may be set to a new value by setting the next_scan_number
parameter value. (integer)
proj_id
The Project ID is the number assigned to your program on the
telescope schedule, e.g., B345. This string is used as a directory
name for your data. (string)
source_name
Any Source Name less than 32 characters used as an identifier label
with your data. (string)
scan_id
The Scan I.D. is a supplement to the Source Name for labeling the
data. It has no effect on the data taking process. The string must
be less than 32 characters. (string)
scan_length
The Scan Length is the duration of the scan in seconds. Any data
integrations completed after the end of a scan will normally be
discarded. Hence, the Scan Length is typically an integer number of
integration times plus a second or two. (floating point)
start_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time.
Start times for procedures must be set with one of the procedure
keywords start_utc or start_lst. This converter rack start_time
is a lower level parameter for direct control of the converter
rack. It can be set directly with the set_conv_parameter() function
using the TimeStamp() conversion:
set_conv_parameter('start_time', TimeStamp(hh, mm, ss, MJD))
where hh:mm:ss is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the start_time using the current MJD or by specifying the Local
Sidereal Time:
set_conv_start_utc('11:45:36.343')
set_conv_start_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that they
are specified as strings. When you execute the procedure
x := get_conv_parameter('start_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
stop_time
The default for starting a scan is to simply start as soon as
possible, in which case you should not specify a start time. If
you want to specify a stop time for the 'track' procedure you must
use one of the procedure keywords stop_utc or stop_lst. This
converter rack stop_time is a lower level parameter for direct
control of the converter rack. It can be set directly with the
set_conv_parameter() function using the TimeStamp() conversion:
set_conv_parameter('stop_time', TimeStamp(hh, mm, ss.s, MJD))
where hh:mm:ss.s is the UTC time, and MJD is the Modified Julian
Date. Two routines are provided for the convenience of setting
the stop_time using the current MJD or by specifying the Local
Sidereal Time:
set_conv_stop_utc('11:45:36.343')
set_conv_stop_lst('02:44:18')
An LST will be converted to UTC, and the time will be assumed to
be in the day between the current time minus 30 minutes and plus
23 hours 30 minutes. Note the time format and the fact that it
is specified as a string. When you execute the procedure
x := get_conv_parameter('stop_time');
the value returned is a glish record containing the Modified
Julian Date and the UTC in seconds since the beginning of the day,
e.g., [seconds=61714, MJD=51821, flags=0, refFrame=1, units=1].
module_active
The Module Active parameter sets which of the 16 converter
modules in the Converter Rack are under control of the Converter Rack
manager. (string constant: OFF and ON)
lo_active
The LO Active parameter sets which of the 8 frequency
synthesizers (LO2) in the Converter Rack are under control of the
Converter Rack manager. (string constant: OFF and ON)
input_select
The Input Select parameter selects between A and B inputs of each
IF channel in the Converter Rack. These inputs are normally
connected outputs of the optical fiber receiver modules. (string
constant: 'A' and 'B')
output_select
The Output Select parameter selects one of four output frequency
ranges from each of the 16 IF channels in the Converter Rack.
Selection 1 corresponds to the 150-2000 MHz output connector J3
(Sampler Filter); selection 2 to the 500-1000 MHz output connector
J4 (VLBA DAR); selection 3 to four 150-550 MHz parallel outputs J5
(spectral processor), J6 (Converter Filter), J7 (spare), and J8
(spare); and selection 4 to the 150-2000 MHz output J9 (spare).
attenuator
The Attenuator parameter sets the attenuator values for
each of the 16 IF channels in the Converter Rack. The attenuator
values can be between 0 and 31.875 dB in 1/8th dB steps. Values are
specified in floating point and the nearest available value is set.
When the Converter Rack is used in connection with the
autocorrelation GBT spectrometer these values may be set
automatically by the sampler level balancing routine. (floating point)
lo_frequency
The LO Frequency sets the frequency of each of 8 LO
synthesizers in the Converter Rack. The output of each synthesiser
is shared by two IF channels in this rack (often connected to two
orthogonally polarized front-end channels to be observed at the same
frequency). This is the second LO (LO2) in the GBT frequency
conversion chain. Its range is 10500 to 18000 MHz, and it is used
to cover frequencies in the 1 to 8 GHz passband of the optical
fiber transceivers to a fixed second IF passband of 8500 to 10350
MHz. (floating point)
lo_level
The LO Level parameter sets the power level, in dBm, for
each of the 8 frequency synthesizers (LO2) in the Converter Rack.
Values can range from -119.9 to +15.0 dBm. (floating point)
save_file
The Parameter File name string specifies where the current set of
parameter values is to be stored to or recalled from. Any number of
such files may be created. They are stored in the directory where
the glish session was started. The full set of Converter Rack
parameters may be saved to disk or recalled from disk after this
parameter has been set with
save_conv_parameters()
load_conv_parameters()
This file holds parametrs in internal format, so it is intended as a
temporary snapshot rather than a long term definition of default
setups. (string)
state
The State is a read-only parameter that shows the current status of
the DConverter Rack. The state between scans is normally Ready.
The scan sequence of State is Activating, Committed, Running, and
Stopping in that order. If the State shows Off or Standby, the
Converter Rack may be put into the ready state with the 'conv->on()'
glish command. Normally the Converter Rack will be Ready when using
this panel. Setup parameters may be changed only in the Ready
state. (string constant: OFF_STATE, STANDBY, READY, ACTIVATING,
COMMITTED, RUNNING, STOPPING, ABORTING)
status
The Status is a read-only parameter that tells the currently highest
warning or fault level for the Converter Rack. The possible values
are clear, Info, Notice, Warning, Error, Fault, and Fatal. One of
the last three conditions can prevent the Converter Rack
participating in the GBT scan sequence. (string constant: CLEAR,
INFO, NOTICE, WARNING, ERROR, FAULT, and FATAL)
rest_frequency
This parameter is the Rest Frequency, in MHz, of the spectral line
being observed. (floating point)
define_velocity
The Velocity Definition determines how the Source Velocity is
translated into frequency. See the L.O. documentation for the
defining equations. (string constant: RADIO, OPTICAL,
RELATIVISTIC, or Z)
reference_frame
The Reference Frame specifies the inertial rest frame in which the
Source Velocity is defined. (string constant: TOPOCENTER,
SS_BARYCENTER, or LSR)
velocity
The Velocity, in km/s (or unitless for the Z velocity
definition), determines the sky center frequency of the spectrometer
passband. The conversion from velocity to frequency uses the
equations and rest frame specified by the Velocity Definition and
Reference Frame parameters. (floating point)
center_frequency
The Center Frequency, in MHz, determines the sky center frequency of
the continuum or spectrometer passband when Doppler tracking is not
required. (floating point)
This section is to be completed as the device GUI is constructed
This section is to be filled in as the device GUI is constructed
This section is to be filled in as the device GUI is constructed
This document last updated October 13, 1997.