- See "Atmospheric Refractive Signal Bending and Propagation Delay" (last update 2008/08/19) for background and specific recommendations for calculating signal bending and delay due to the atmosphere.
- CALC calculates the total delay between two "stations". This delay is composed of two components:
- Geometric Delay
- Instrumental Delay
- Atmospheric Delay

- The uncertainty in the geometric delay calculation is dominated by uncertainties in the antenna location (baseline) determination. See ALMA Memo 503 (Conway 2004) for a discussion.
- The calculation that CALC makes does not have to be perfect, only good enough such that residual phase rate in frequency and time will produce less than 1% coherence loss in the data. One only needs to make sure that the residual delay is not so large as to cause some stations to be significantly out-of-phase with respect to others in the array for sources which are not too far apart.
- Subsequent to bandpass calibration, residual delays need to be removed. To estimate "how good is good enough", assume that we don't want the delay to change by more than P degrees over the 8 GHz of bandwidth. In other words, the correction must be good enough such that phase gradients in frequency and in time over the bandpass are not introduced to the residual visibility data. Since one turn = 1 ns over 1 GHz, one turn = 125 ps of delay over 8 GHz. If we want P < 6 degrees (1/60th of a turn), then the residual delay should be less than 125/60 = 2 ps over 8 GHz at the zenith. Note that this corresponds to about 0.01 arcsec of refraction (delay*c/H0 =~ refraction, where H0 = height of troposphere).
- The delay correction made by CALC must be placed in the archival data base with sufficient accuracy and frequency so that the delay corrections applied can be interpolated for any visibility sample to an accuracy of less than 0.1 psec. For astrometric work, the total delay = calc model delay + residual delay + residual (phase/frequency) is the main observational parameter.
- Since CALC contains a rather general model for the atmospheric delay, it is not appropriate to use CALC to calculate the atmospheric delay. This can be done elsewhere (with the part of the code that calculates refraction, see "Atmospheric Refractive Signal Bending and Propagation Delay").
- Refraction calculations (as opposed to refractivity) are done elsewhere, not in CALC.
- The Lanyi (1984) model for the atmospheric delay is the most rigorous of the "mapping function" techniques for modeling delay.
- The input zenith atmospheric dry and wet delays should ultimately be calculated using ATM.
- Since the physical mechanisms which produce atmospheric delay are the same ones that produce atmospheric refraction, the same general formalism can be used for both. Note that the atmospheric refraction model proposed by Mangum (2001; ALMA Memo 366) is a variation on the continued fraction mapping function used in many of the geodesy calculations of atmospheric path delay.

/* @(#)CALCServer.h version 1.00 created 99/07/26 10:00:00 %% include for the CALC Server RPC interface LANGUAGE: C (include file) ENVIRONMENT: vxWorks, Solaris, Linux */ #ifndef _CALC_H_RPCGEN #define _CALC_H_RPCGEN #include <rpc/rpc.h> #define MAX_STR 32 /* Client makes a CALC request through getCALC_arg arguments */ /* CALC Server Version 5 */ struct getCALC_arg { long request_id; /* RPC request id number, user's choice */ long date; /* CALC model date (MJD) */ long ref_frame; /* CALC reference frame: 0 = geocentric */ long dummy; short int kflags[64]; /* CALC model component control flags */ double time; /* CALC model time UTC (fraction of day) */ double a_x; /* geocentric right-hand x coord (meters) */ double a_y; /* geocentric right-hand y coord (meters) */ double a_z; /* geocentric right-hand z coord (meters) */ double axis_off_a; /* non-intersecting axis offset (meters) */ double b_x; /* geocentric right-hand x coord (meters) */ double b_y; /* geocentric right-hand y coord (meters) */ double b_z; /* geocentric right-hand z coord (meters) */ double axis_off_b; /* non-intersecting axis offset (meters) */ double ra; /* J2000.0 coordinates (radians) */ double dec; /* J2000.0 coordinates (radians) */ double dra; /* J2000.0 arcsecs/year */ double ddec; /* J2000.0 arcsecs/year */ double depoch; /* reference date for which proper motion * corrections are zero, mjd.fract_day */ double parallax; /* source distance in arcsecs of annual * parallax, = 206265.0 / distance (au) */ /* Earth Orientation Parameters */ double EOP_time[5]; /* EOP epoch date.time (MJD) */ double tai_utc[5]; /* TAI - UTC (secs) */ double ut1_utc[5]; /* UT1 - UTC (secs) */ double xpole[5]; /* earth pole offset, x (arcsec) */ double ypole[5]; /* earth pole offset, y (arcsecs) */ double pressure_a; /* surface pressure stna (millibars) * enter 0.0 for none availiable */ double pressure_b; /* surface pressure stnb (millibars) * enter 0.0 for none availiable */ char *station_a; /* station A name */ char *axis_type_a; /* station A mount type, 'altz', 'equa', ,xyns', 'xyew' */ char *station_b; /* station B name */ char *axis_type_b; /* station B mount type, 'altz', 'equa', 'xyns', 'xyew' */ char *source; /* source name */ }; typedef struct getCALC_arg getCALC_arg; /* CALC server reply */ struct CALCRecord { long request_id; /* RPC request id number, returned by Server */ long date; /* CALC model date (MJD) */ double time; /* CALC model time UTC (fraction of day) */ double delay[2]; /* total group delay, rate (secs, sec/sec) */ double dry_atmos[4]; /* dry atmosphere delay, rate (secs, sec/sec) */ double wet_atmos[4]; /* wet atmosphere delay, rate (secs, sec/sec) */ double az[4]; /* stations azimuth angle, rate (rad, rad/sec) */ double el[4]; /* station elevation angle, rate (rad, rad/sec) */ double UV[3]; /* u, v, w coordinates in J2000.0 frame (meters) */ double riseset[2]; /* estimated rise, set times for stnb VLBA Correlator */ }; typedef struct CALCRecord CALCRecord; struct getCALC_res { int error; union { struct CALCRecord record; char *errmsg; } getCALC_res_u; }; typedef struct getCALC_res getCALC_res; #define CALCPROG ((unsigned long)(0x20000340)) #define CALCVERS ((unsigned long)(1)) #define GETCALC ((unsigned long)(1)) extern getCALC_res * getcalc_1(); extern int calcprog_1_freeresult(); /* the xdr functions */ extern bool_t xdr_getCALC_arg(); extern bool_t xdr_CALCRecord(); extern bool_t xdr_getCALC_res(); #endif /* !_CALC_H_RPCGEN */

- Niell, A. E. (1996), Journal of Geophysical Research, Vol. 101, No. B2, Pages 3227-3246:
*"Global Mapping Functions for the Atmospheric Delay at Radio Wavelengths"*. The standard reference for the derivation of a global mapping function for atmospheric delay. This derivation of the mapping function is really somewhat unique in that it attempts to analytically represent the global weather variations as a function of location (latitude) and time of year, and contains to adjustable parameters (i.e. does not require input pressure and temperature for each station). Note that Equation 4 in this paper has a typo whereby the terms which are printed as "1/term" in both the numerator and denominator should really be just "term" in both the numerator and denominator. - Davis, J. L., Herring, T. A., Shapiro, I. I., Rogers, A. E. E., Elgered, G. (1985), Radio Science, Vol. 20, No. 6, Pages 1593-1607:
*"Geodesy by Radio Interferometry: Effects of Atmospheric Modeling Errors on Estimates of Baseline Length"*. An application of a modified Smith-Weintraub refractivity and the Niell mapping functions. - Sovers, O. J., Fanselow, J. L., and Jacobs, C. S. (1998), Reviews of Modern Physics, Vol. 70, No. 4, Pages 1393-1454:
*"Astrometry and Geodesy with Radio Interferometry: Experiments, Models, Results"*. An excellent overview paper describing the details involved in calculating geometric and atmospheric delay. Uses the Lanyi (1984) model for the mapping function, which is a significant departure from the standard (i.e. Niell) mapping functions which derive from the Marini (1972) reduced fraction functional form. - Lanyi, G. (1984), TDA Progress Report 42-78, Page 152-159:
*"Tropospheric Delay Effects in Radio Interferometry"*. Derivation of a new "tropospheric" (really atmospheric) mapping function which, unlike previous mapping functions, takes account of second and third order effects in the refractivity which are due to refractive bending. This derivation of the mapping function is really quite unique in that it does not fully separate the dry and wet contributions to the delay, making it a physically more exact representation. It is claimed to be more accurate than previous (i.e. Niell) mapping functions for E > 4 degrees, and the error due to the derived analytic form for the mapping function is estimated to be less than 0.02% for E > 6 degrees. - Conway, J. (2004), ALMA Memo 503:
*"Antenna Position Determination: Observational Methods and Atmospheric Limits"*. Connection between baseline determination and delay calculations/models. - Yan, H. and Ping, J. (1995), AJ, 110, 934:
*"The Generator Function Method of the Tropospheric Refraction Corrections"*. Another derivation of a new "tropospheric" (really atmospheric) mapping function. A cousin to existing reduced-fraction expansions of the mapping function. - Yan, H. (1996), AJ, 112, 1312:
*"A New Expression for Astronomical Refraction"*. Related to the Yan and Ping (1995) reference above, but applied to the refraction calculation problem. Using the Yan and Ping (1995) and Yan (1996) references one can apply a unified formalism to both the atmosphere-induced refractive delay and bending problems.

- Differences between the various mapping functions only show up at low elevation (< 10 degrees). Since geodesists do observe at very low elevations, these differences can be significant. This is not the case for astronomers.
- The Yan and Ping (1995) form has a "cousin" used for refractive bending ("refraction correction") calculations, making it a convenient choice for both refractive delay and bending calculations.

Zooming in a bit on the vertical (baseline length) axis of this plot, I have produced two zoomed versions of the above figure. One for baselines up to 1 km (contour levels: 0.25, 0.50, 0.75, 1.0, 2.5, 5.0, 7.5, 10, 25, 50, 75, 250, 500, 750, 1000 micron; right to left),

and a second plot for baselines up to 100 m (contour levels: 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10, 25, 50 micron; right to left).

This topic: Main > TWikiUsers > JeffMangum > RefBendDelayCalc

Topic revision: 2009-08-16, JeffMangum

Topic revision: 2009-08-16, JeffMangum

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Ideas, requests, problems regarding NRAO Public Wiki? Send feedback

Ideas, requests, problems regarding NRAO Public Wiki? Send feedback