Getting Started | Documentation | Glish | Learn More | Programming | Contact Us |
Version 1.9 Build 1488 |
|
Package | nrao | |
Module | vla | |
Tool | vlafiller |
Use this constructor to create a vlafiller tool. This is the only way to construct such a tool. As described above newly created tools cannot convert data until the the input data source is defined, using the tapeinput, diskinput or onlineinput functions, and output measurement set is defined using the output function.
The host argument specifies which machine the precompiled vlafiller process should be started on. The default value of unset starts it on the same machine as the one that glish is running on. Starting a vlafilller process on a remote machine gives you access to the tape drives and disks on that machine. Use this option if you do not have a tape drive on your local machine.
In order to run the vlafiller on a remote machine you need to satisfy all the following conditions.
rsh host 'echo \$AIPSPATH'where host is replaced by the name of the remote machine. If the value of the AIPSPATH variabl that is printed does not contain something like aips-root architecture site host and that all the values are correct for the remote machine you can be certain that starting the vlafiller, or any AIPS++ server, on the remote host will not work
Each vlafiller server process can only run one function at a time. Hence it is not possible, for example, to simultaneously read data from two tape drives to two measurement sets using one server. To solve this you start two servers. The forcenewserver argument allows you to do this by overriding the default behaviour of having each vlafiller tool share the same server.
host | The host on which the vlafiller should be run | ||
Allowed: | string | ||
Default: | unset | ||
forcenewserver | Always start a new server | ||
Allowed: | Boolean | ||
Default: | F |
include 'vlafiller.g' v := vlafiller() v.diskinput('file1.vla') v.output('file1.ms') v.selectproject(project='ab123') v.state() v.fill(async=T) v.stop() v.done()
This example creates a vlafiller tool, sets the data source as a disk file called file1.vla, and the data sink as the measurement set called file1.ms. The selectproject function filters the data so that only records that correspond to the case insensitive project-id 'ab123' will be copied. The state function prints the current state of the filler in the logger, in case you forget.
No data is actually copied until the fill function is called. If a large amount of data is involved then the fill function may take some time so it may make sense to let the filler work in the background by setting the async flag. After copying some data the user stopped the filling function using the stop function. The vlafiller tool was then shut down, memory associated with it released and the output measurement set closed using the done function.