[evla-sw-discuss] 'interim' antsol
Ken Sowinski
ksowinsk at aoc.nrao.edu
Wed Apr 27 19:05:55 EDT 2005
Below is a struct which defines what antsol will produce for
a single subarray. It will be cast into xml and multicast
out to the world as well as written to a file on igloo in the
same directory as the real time visibility data. The same mechanism
used for the visibility data can be used to mirror the antsol file
to socorro and retain it in the archive. The visibility data resides
in files named in the form vla2005-04-27.dat; I suggest
vla2005-04-27.antsol for the antsol results. Such records will be
produced for independently for each subarray while it observes a
calibrator. I welcome comments on the proposed mechanisms and the
data to be recorded.
The flux calibrator database can be maintained by a program which
reads the antsol file once a day. Programs to display antsol results
in real time can be written to 'tail' the file or to subscribe to the
multicast results. Once this exists people will not need to connect
to the Modcomps to examined realtime antsol results or D10.
The program which solves for pointing offsets will have a private
connection to antsol since it requires access to the visibility data
record in order to obtain information not available in the antsol
result. It will be provided with a pointer to the archive record
and a pointer to the antsol result for each integration. As the
pointing program is being developed the necessity for a private
connection will be reassessed. It would be nice if its needs could
be meet by the multicast records.
Pointing solutions will be multicast in the same way as antsol solutions;
the format will be defined over the next few weeks.
/* This record represents the results of antsol for the subarray given
in subid for one integration. There will be one record for each
subarray and they will all be contained in an array of records of
length 5 pointed to by a global pointer.
*/
struct antsol_record {
int subid; /* subarray ID (1-5) */
char mod[2]; /* observing mode */
char cal; /* cal code */
int submd; /* submode for this integration */
char pid[6]; /* program code */
char sou[12]; /* source name */
int qua; /* qualifier */
int epy; /* epoch for coordinates */
char crm[4]; /* correlator mode */
int mjd; /* mjad */
float zsp[2]; /* zero spacing flux, AC and BD */
double sky[4]; /* sky frequency for each IF */
double iat; /* IAT in radians */
float ha; /* HA in radians */
float el; /* elevation in radians */
int goodif[4]; /* flag for each IF with a valid solution */
int iters[4]; /* number of iterations to convergence */
float sta; /* LST start time in radians */
int nant; /* number of antennas in subarray */
int alist[27]; /* ID of antennas; nant valid entries */
float x[4][27*2]; /* antsol gains; nant valid entried for each IF */
float resid[4][27*2] /* residuals at final iteration; " " */
}
More information about the evla-sw-discuss
mailing list