Some relevant links
VLBI General Info | Operator's checklist | Project Summaries |
---|
When the GBT is used for VLBI observations, it uses the same VLBA data aquisition system that is used at all VLBA sites. But at the GBT, the VLBA station computer controls only the DAR, Formatter, Tape Recorders, and Mark 5 disc recorder. It does not control the antenna and IF system. The latter are controlled by the GBT M&C system driven by the ASTRID user interface.
Schedules for VLBI experiments are prepared by the user and deposited on the "aspen" server in Socorro. We have to retrieve these schedules and convert them into the right form for the GBT.
Status data from the M&C system must be passed to the VLBA station computer so that they are recorded in the VLBA log files, which are sent to Socorro.
All these programs are intended to be run by the user "gbvlbi". Log in as "gbvlbi" to run any of these VLBI-related programs.
Clicking in various parts of this diagram will link
to the explanations.
Topic | Description |
---|---|
retrieve | Retrieve Schedule Files |
keyfile | "Key" file |
schfile | "Sch" file |
crdfile | "CRD" file |
vlbprep | Handy do-all script |
webpage | Project Web Pages |
obstx | OBSERV.TX job schedule. |
convert | Convert to Astrid script. |
gbtobs | Astrid observing interface. |
M&C | GBT Monitor system. |
status | Status Demon |
display | Status Display |
remote commands | VME remote commands |
VME computer | VME station computer |
customization | custom station software |
screens | SCREENS interface package |
logdata | station log data |
logging | Sending Log Data to Socorro |
viewer | Local viewer for log data. |
To support these changes, the VLBA operators have added a new directory on the Aspen website, named [projcode]alt/ in which the alternate schedules will reside. Here at Green Bank, we have added an alt/ subdirectory in the ~gbvlbi/obs/ directory into which the alternate schedules will be put.
To support the dynamic scheduling, the following programs have been modified, and the descriptions of these programs have been appropriately amended.
vlbprep will process files both in the current directory and in the "alt" directory. Astrid scheduling blocks created in the "alt" directory will have "alt" in their names. Note that vlbprep will run in whatever directory you are in. So you must always be in either the ~gbvlbi/obs/ or the ~gbvlbi/obs/incoming/ directories.
obset will ask for input from the user and will set up the OBSERV.TX file to point to the alternate project for a project indicated by the user.
vlbastrid now has a new option ("-alt") which will put an "alt" in the names of the Astrid files that it generates. Normally one does not run vlbastrid directly: it is done as a result of running "vlbprep."
Retrieve Project Files from Socorro
to run this process : | ~gbvlbi/bin/fetchvobs |
usage: | fetchvobs [mmmyy] [projcode]
mmmyy is month and year, for example: apr06 if no arg, fetch files for current month. if projcode is given, fetch files for only that project |
source code : | ~gbvlbi/codelinux_mk5/python/fetchvobs.py |
fetchvobs retrieves files from the VLBA schedule server, "aspen", for the specified month. It finds all the projects that have "..crd.gb" files, meaning that the GBT is involved.
For each GBT project in the specified month, it downloads the following files:
Modifications for dynamic scheduling, October 2007
fetchvobs now will look for a directory on Aspen with "alt" in
its name. It will retrieve files from the "alt" directory on Aspen and put
them into the local "alt" directory here in Green Bank.
Maintenance
fetchvobs depends on the details of the directories and file names
used on "aspen", also of course the name "aspen", and the web URL.
So if any of these things change, the program has to be modified.
Future extensions
This could be extended to retrieve schedule files from the
European server in Bologna. That server is not used very often for
GBT projects, so at the moment we just retrieve those projects by hand.
Similar comments apply to geodetic projects that would be
downloaded from Goddard Space Flight Center.
The user normally submits the "key" file to the VLBA analysts or operators who use Sched to generate the "crd" and "sch" files and deposit them on "aspen".
To see an example, go to the directory ~gbvlbi/obs/ and look at any file with a ".key" extension.
To see an example, go to the directory ~gbvlbi/obs/ and look at any file of the form "[projcode]sch.gb".
To see an example, go to the directory ~gbvlbi/obs/ and look at any file named "[projcode]crd.gb" or "[projcode]cr.gb".
To Run: | ~gbvlbi/bin/vlbprep |
Source: | ~gbvlbi/codelinux_mk5/python/vlbprep.py
and ~gbvlbi/codelinux_mk5/python/vlbpreplib.py |
This is a handy python script that
vlbprep modifications, October 2007
Because of the new dynamic scheduling of VLBI experiments,
the PI/analysts will generate two sets of "[projcode].crd" files for each
experiment. The "fetchvobs" script will look for the alternate "crd" and "sch"
files and will put them in the local "alt/" directory.
vlbprep will process files both in the current directory and in the "alt/"
subdirectory. In this regard, a new script, "obset" is used for
setting the alternate schedules in the OBSERV.TX file.
Note that vlbprep will affect the files in the current directory.
So you should be in either the ~gbvlbi/obs/ or the ~gbvlbi/obs/incoming/
directory. It looks for "alt" files in an "alt/" directory in the current
directory.
vlbprep modification, Nov 2008
By default, vlbprep will run version 3 of vlbastrid, actually its
named "vlbastr3". The new vlbastrid is described below.
If for some bizzarre reason one wants to run the old version one must
say "vlbprep ver2".
Maintenance: Probably none.
Future development:
This should have the capability of adding the
scheduling blocks into the Astrid database.
At the present, one must do this by hand.
Also, this could automatically generate the summary web page
for the experiment.
To Run: | ~gbvlbi/bin/obset |
Source: | ~gbvlbi/codelinux_mk5/python/obset.py
and ~gbvlbi/codelinux_mk5/python/vlbpreplib.py |
alt/bb240acr.gba 2007oct01 17h57m 2007oct05 04h04m bb240bcr.gb 2007oct05 04h04m 2007oct06 22h20m gl030crd.gb 2007oct06 22h20m 2007oct19 17h04m gb060acr.gb 2007oct19 17h04m 2007oct24 08h35m
There are 3 types of pages:
Modifications as of October 2007:
item number 2 (page for each indivual experiment) has been discontinued
-- too much work!
Maintenance
All these are created and maintained by hand.
Future developments
The page for the individual experiment could probably be
created automatically. It has information that is drawn from the
"crd", "sch", and "key" files.
OBSERV.TX is read by the VLBA station computer ("vlbagb" in the case of Green Bank) to tell it what schedules to run when. If one changes the OBSERV.TX file it is necessary to re-boot the station computer.
An example:
bu031dcr.gb 2006aug04 17h19m 2006aug07 00h05m bk127dcr.gb 2006aug07 00h05m 2006aug13 16h35m bf088ccr.gb 2006aug13 16h35m 2006aug30 03h35m |
Modifications as of October 2007
Due to the new dynamic scheduling of VLBI experiments,
The PI or analysts will generate two schedules for the experiment,
one for the primary date, and one for the alternate date.
The PI must decide which of the two schedules will run, and makes
that decision at least several hours before the primary schedule would start.
If the decision is made to use the alternate schedule, then the
OBSERV.TX file must be modified to point to the alternate file, which
is in the "alt" directory. This re-creation of OBSERV.TX is done via
the script obset.
A typical example of such a modified OBSERV.TX file:
alt/bb240acr.gb 2007oct01 17h57m 2007oct05 04h04m bb240bcr.gb 2007oct05 04h04m 2007oct06 22h20m gl030crd.gb 2007oct06 22h20m 2007oct19 17h04m gb060acr.gb 2007oct19 17h04m 2007oct24 08h35m |
To run : | ~gbvlbi/bin/linux/vlbastrid |
to run new version: | ~gbvlbi/bin/linux/vlbastr3 |
source code : | ~gbvlbi/codelinux_mk5/vlbastrid/vlbastrid.c |
and ~gbvlbi/codelinux_mk5/vlbastrid/vastlib.c | |
new version code: | ~gbvlbi/codelinux_mk5/vlbastrid/vlbastr3.c |
to make : |
cd ~gbvlbi/codelinux_mk5/vlbastrid/
make vlbastrid cp vlbastrid ~gbvlbi/bin/linux/ |
make new version : |
cd ~gbvlbi/codelinux_mk5/vlbastrid/
make vlbastr3 cp vlbastr3 ~gbvlbi/bin/linux/ |
Usage: | vlbastrid schedcrd.gb [-mbbc] [-lump] [-alt]
in which "schedcrd.gb" is the input schedule file. |
Usage, new version: | vlbastr3 schedcrd.gb [-alt] [-d]
in which "schedcrd.gb" is the input schedule file. |
There is a fair amount of documentation in the code in vlbastrid.c.
One should note that special astrid definitions (such as "vtrack") are used that are permanently resident in "~gbvlbi/obs/vlbadefs.py".
Note Special Case for Comets and other Moving Objects This is not standardly handled by vlbastrid. Instead, you have to run "geteph" to get the ephemeris info from a "crd" file into an Astrid ephemeris catalog.
Modifications as of October 2007. To support the dynamic scheduling, vlbastrid now has an optional command line argument, "-alt". If "-alt" is specified, the astrid scheduling block files will have names that contain "alt". Thus these files can be easily identified as referring to the alternate schedules. Normally the user does not run vlbastrid directly, but instead runs "vlbprep", which takes care of making sure that when vlbastrid runs on the alternate schedules it is run with the "-alt" option.
Modifications as of Nov 2008: vlbastr3
The new version (or version 3) is now standard. In this version,
the case of moving sources such as comets are handled properly,
so you can ignore the "special case for comets...", above.
Also, in the new version, there are no separate pointing/focus
scheduling blocks for every point/focus.
These are imbedded in the script, using the new function, "vpeak",
which is given the stop time so it can skip the peak if its
time is passed.
All changes of configuration are handled in the new versions of
the python functions "vtrack" and "vpeak".
The only situation that causes new scheduling blocks to be generated
is changing of receivers.
This version uses a new set of functions in the file,
"newvlbadefs.py".
Maintenance and future development.
The "crd" files can specify a wide variety of observing modes
and scenarios. "vlbastrid" only handles those cases that so far
have been used in projects with the GBT.
Hence one must be on the lookout for observing
runs that call for something that vlbastrid does not know about,
and be ready to modify it to handle a new case.
The sampling of the monitoring data and the sending of them to the VLBA station computer are described in two sections below: "Status Demon" and "Remote Commands".
To run : | ~gbvlbi/bin/stopgvstat |
source code : | ~gbvlbi/codelinux_mk5/vlbastrid/vgstatus.c
~gbvlbi/fits/vfitsdat.c |
The programs of the Status Demon access the monitoring data in various ways and send them to the VLBA station computer. vgstatus and vfitsdat normally run on the machine "spock".
This consists of two programs that interact with each other.
vgstatus and vfitsdat send status info to the station computer. Refer to Remote Commands for details.
vgstatus and vfitsdat write status info into files ~gbvlbi/obs/logs. Also, vgstatus writes a web file giving timely status info onto the page: http://www.gb.nrao.edu/GBT/setups/vlbsetup/GBTVLBAStatus.html
The schizophrenic nature of this status demon results from
a) not all the data is available in one place: the gbtstatus
database has telescope position, temperature and wind speed, which
we need to sample once a second.
b) the clock correction, round trip phase, and weather data other
than windspeed are not all available in the gbtstatus database, and do
not need to be sampled very fast, but can be read out of the
FITS log files every minute or so.
c) Demons tend to hang up and have to be restarted.
How they interact:
"vfitsdat" checks for the existence of a file "~gbvlbi/obs/logs/.vgstatusstatus". If this file does not exist, that means that "vgstatus" is not running, and so it launches "vgstatus".
"vgstatus", when it starts up, creates the ".vgstatusstatus" file. If it notices that the file no longer exists, it terminates itself.
The operator is advised to execute a program called "stopgvstat" which simply removes the ".vgstatusstatus" file before the start of a VLBI run. That causes "vgstatus" to terminate. Then the crontab runs "vfitsdat", which starts "vgstatus" again.
Onsource status
"vgstatus" reads the "crd" file, checks the RA/DEC and compares to
the position in the "crd" file for the current time to
see if the telescope is at the correct position. The onsource/offsource
flag is sent to the VLBA station computer, as described below
under "remote commands".
wind gusts
"vgstatus" samples the wind speed once per second from the
gbtstatus database and accumulates a maximum speed over a 15 minute
period. This is written to a file: ~gbvlbi/obs/logs/wgust.dat
This file is later read by "vfitsdat".
Maintenance
The reading of the gbtstatus database depends on knowing the
database name, password, host machine, and names of the parameters in
the database. If any of those things change, the software will have
to be modified. If any of the FITS file formats change, that also
will require software changes.
Future developments
We may re-write to avoid using the gbtstatus database at all by
using Amy's "wxdemon.py" which accesses the samplers directly.
(see ~gbvlbi/codelinux_mk5/python/wxdemon.py)
We may be able to use this method for all the monitor data and
not need to look up some things in the FITS files, and other things
in the gbtstatus database.
This web status display has replaced the TCL script "gvstat", although
gvstat still exists and will run, but doesn't have as much information
as the web page.
This web page is generated by the status demon, "vgstatus.c",
as described above.
gvstat:
To run : | gvstat |
source code : | ~gbvlbi/tcl/gvstat.tcl |
This TCL script simply displays the contents of two files, ~gbvlbi/obs/logs/vgstat.txt and ~gbvlbi/obs/logs/vstat.txt, in a tcl window, providing a handy display of the GBT monitor data that is being sent to the VLBA station computer. It updates the display every ten seconds.
Maintenance and Future developments
We could use a web page display instead of TCL. -- well, I guess this has
happened!
To run : | rcmd [command] [params] |
source code : | ~gbvlbi/codelinux_mk5/rcmd.c |
Onsource Command (sent by "vgstatus") :
Other commands are sent by "vfitsdat" :
Maintenance
This program is maintained by the Socorro software people.
If we want to make any changes, we need to coordinate with them.
All, or most anyway, of the local customization is done in the
vxWorks startup file, located in ~gbvlbi/code_mk5/startup.gbt.
That file tells the VME machine the IP addresses of itself,
the host machine, and the Mark 5 computer. Also where to find the
directory for the observing files (OBSERV.TX and ...crd.gb), and where
to put the log files.
Communication :
Maintenance
This program is maintained by the Socorro software people.
If we want to make any changes, we need to coordinate with them.
Refer to station software customization, below.
They update the system maybe once or twice a year, at which time
we copy the new software to the local host computer, from which the
VME machine uses it.
Hardware maintenance: Nathan Sharp and John Ford.
To Run: | rscreen [station] |
for GB : | rscreen vlbagb |
Source Code: | ~gbvlbi/codelinux_mk5/rscreen.c |
This is the user interface to the VLBA station computer. It provides "curses" displays that allow a user to monitor and control all the things that the station computer can control.
The user runs the "rscreen" program on the host computer, which communicates with the station computer over a socket.
For instructions on rscreen, run it and click the help button.
Maintenance
This is a standard part of the VLBA software system.
It will probably never change.
Local customization does not require any code changes to the standard VLBA software. The specification of where the log file goes is done in the startup script (startup.gbt) that the station computer runs when it boots up.
On the Green Bank system, the local log files are put into the directory ~gbvlbi/mdata/MDA/
Maintenance
This is a standard part of the VLBA software system.
It will probably never change.
Maintenance
This is a standard part of the VLBA software system.
It will probably never change.
To run : | seelog 〈logfilename〉 |
source code : | /users/gbvlbi/codesun/seelog.c |
plotting : | /users/gbvlbi/glish/plog.g |
seelog.c reads a log file and dumps the information to an ascii file. This runs only on Solaris machines because the byte order on Solaris is the same as on the VME station computer.
plog.g runs a glish application with GUI interface that lets one plot the system temperatures and phase cals from the log data.
Maintenance and future developments
The VLBA operators have a suite of programs for displaying and plotting
the log data; we should just get their programs working here in Green Bank.
There are several local modifications to this code for the GBT. Since the GBT system does not control the antenna or the LO system, several programs and checks must be disabled. We use "rcmd" to send GBT status information to the station computer, so modifications to several routines are done to accomodate this.
All the GBT-specific code is installed in the standard VLBA station code, with conditional statements in the code to detect if the station is the GBT and to do GBT-specific things in that case. Any changes to the station computer code or host code needs to be coordinated with the programmers in Socorro.