The CALC RPC Server

John M. Benson - Dec 2000


The GSFC CALC1 program has been used to provide the interferometer model for the VLBA Correlator since its construction. CALC supplies the station-based geocentric group delays at 120 second intervals to the correlator on-line computer. Until recently, the CALC implementation has been to run CALC in the on-line VME mv167 computer under the vxWorks operating system. A real-time computer is a somewhat inhospitable environment for a large Fortran program like CALC. It is increasingly difficult to compile Fortran code for mv167's (68040 cpu's) and CALC runs rather slowly on the mv167 (100 millisecs per call).

In order to remove the CALC program from the correlator on-line computer, I have built a CALC RPC server that runs under Solaris or Linux on either Sun Sparc workstations or Pentium PCs. For the VLBA correlator, the mv167 is the RPC client and the CALC server exists on a 600 MHz Pentium III PC named 'Kepler'. When compiled with the GNU Fortran compiler and running under RedHat Linux on the 'Kepler' PIII machine, one CALC call takes 1.5 millisecs. An RPC request and reply from the correlator mv167 adds an additional 1.5 millisecs. A total of three millisecs per CALC cycle is a speedup of greater than a factor of 30 over the on-line version.

The current version of the CALC Server uses the CALC Program Version 9.1 released by Goddard in late 1999. CALC 9.1 includes the new nutation model (IERS 1996). This makes an improvement in the nutation accuracy by some 40 milliarcsecs. The CALC Server also communicates directly with the JPL Planetary Ephemeris thereby eliminating the less accurate 'solar' table in the correlator job control scripts. This makes a difference in the group delays of a few 10's of picosecs.


1 CALC was developed by the Goddard Space Flight Center with assistance from other geodetic VLBI groups. It is maintained and distributed by Goddard as a service to the VLBI community.