[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