The reference_frame command

reference_frame use classification_name

reference_frame code IERS_ETSR epoch_date Tx Ty Tz S Rx Ry Rz dTx dTy dTz dS dRx dRy dRz

reference_frame code IERS_TSR Tx Ty Tz S Rx Ry Rz

reference_frame code [epoch epoch_date] [origin origin] [calculate] [parameter [value [?]]]

Defines the reference frame parameters for GPS vector and point coordinate observations.

Each point or vector observation used in SNAP has an associated reference frame defining the scale, location, and orientation of the coordinate system in which it is expressed. By default this is assumed to be aligned with the coordinate system of the network. However this is often not the case. For example GNSS observations are often in terms of ITRF2008, whereas New Zealand networks are typically defined in terms of NZGD2000 (and so calculated in terms of the ITRF96 reference frame).

The reference frame of the data is defined in the data file. In a SNAP format data file this is typically using the #reference_frame data specification. However any classification attribute of the data can be used instead.

The relationship between the data and network reference frames is defined in terms of the translation, rotation, and scale change that is applied to the station coordinates to transform them to the reference frame of the observations. So for example the translation is added to the station XYZ coordinates (however see the comment below on the NGS convention for rotations).

Each of the reference frame parameters may change over time, being defined in terms of a constant component that applies at a reference epoch, and a rate of change per year. So in total there are 14 parameters in the relationship, translation components in the X, Y, and Z directions, scale change, rotation about the X, Y, and Z axes, and rates of change per year of the translation, scale, and rotation values. The reference epoch could be considered a 15th parameter.

Generally these parameters are expressed in terms of a geocentric X,Y,Z orientated set of axes. However for some local applications it may be useful to express the translations and rotations in terms of topocentric axes (east, north, and up axes). This can be useful for estimating the relationship or changes between local reference frames in terms of local horizontal and vertical changes.

SNAP has two formats for expressing geocentric components. The format used originally in SNAP follows the US National Geodetic Survey (NGS) convention, in which the translation and scale are applied to the coordinates to calculate the observed point coordinate or vector, but the sign of the rotation is reversed.

SNAP now also supports the International Earth Rotation Service (IERS) convention, in which the translation, scale, and rotation are all defined as they are applied to coordinates to transform them to the observation reference frame.

In the reference frame command the convention used to define the parameters also defines the units used to express them. For NGS convention parameters the units are metres, part per million, and arc seconds for translation, scale, and rotation respectively. The IERS convention parameters are expressed in terms of millimetres, parts per billion (ppb), and milli-arc seconds (mas).

The second and third command formats above, which include the text "IERS_TSR" or "IERS_ETSR", use the IERS convention. The fourth command format uses the NGS convention.

The reference frame command is used to define the 14 parameters (plus epoch date) of each reference frame. SNAP can recalculate some or all of these during the adjustment. One subtlety of this is that for a small scale network and calculating scales and rotations the adjustment can be ill conditioned. Where possible SNAP will calculate the components in terms of a local origin rather than as rotations and scale changes relative to the centre of the earth. However this can be overridden by using the origin option of the reference frame command. This only applies if the data includes point positions - if there are only baseline vectors then a local origin will not be used. Also it will not be used if scale or rotation components are calculated but translations are not.

The reference_frame command has the following forms...

reference_frame use classification_name

Specifies a data classification that defines the reference frame of the data.

reference_frame code

Defines the parameters of a particular reference frame. The following items can be included in the definitions.

geocentric or topocentric

defines the way in which reference frame parameters are defined, either in terms of XYZ or ENU axes. The default is geocentric.

origin value

Defines the origin used for calculating scale and rotation parameters. Options are "default" to use the default method, or "zero" to force SNAP to use the origin of the network datum (ie centre of the earth).

epoch epoch_date

defines the reference epoch of the datum. The epoch may be formatted as a decimal year (2005.0) or a date (2005-01-01).

calculate

Specifies that all parameters defined following this are to be calculated.

parameter values

defines the parameters of the reference frame. The parameter may be one of "translation", "rotation", "scale", "translation_rate", "rotation_rate", "scale_rate". The parameter section can be repeated for each parameter to be specified. Any parameters not specified are set to zero. If the parameter is preceded by "calculate" then the parameters will be recalculated in the adjustment. Also if "calculate" is specified then the values may be omitted. The values are the values that apply for the parameter. For translations these are the three components (XYZ or ENU) in metres, for scale the scale change in ppm, and for rotations the rotation around the three axes (XYZ or ENU) in arc seconds. The translation, rotation, and scale rates are expressed in metres/year, ppm/year, and arc seconds/year. Each value can be followed by a ? to indicate that the individual value is to be calculated.

IERS_TSR Tx Ty Tz S Rx Ry Rz

IERS_ETSR epoch_date Tx Ty Tz S Rx Ry Rz dTx dTy dTz dS dRx dRy dRz

Two shorthands for defining all the parameters of a reference frame. These defines the parameters in terms of IERS conventions, so translations are in millimetres, scale change in ppb (part per billion), and rotations in mas (milli arc seconds). Correspondingly the rates are in terms of mm/year, ppb/year, and mas/year. If this follows "calculate" then all parameters will be calculated. Individual parameters can be calculated by following them with a "?". These options can only be used for geocentric axes.

Note that the reference frame type (topocentric or geocentric) is set the first time the reference frame is referred to in the command file. Subsequent commands cannot change the type. IERS reference frames are geocentric.

The following are some examples of the reference frame command. The first defines the scale and rotations that apply for the default reference frame (GPS). This is a geocentric reference frame.

reference_frame GPS scale -4.6 rotation -0.47 0.10 -1.024

The second example calculates a scale and a rotation about the vertical axis, but restrains the tilts (rotations about horizontal axes) to be 0. To do this the reference frame type is topocentric, and a ? is placed after the third rotation component (which is rotation about the vertical axis).

reference_frame GPS topocentric scale 0 ? rotation 0 0 0 ?

The third example defines an ITRF2008 reference frame in terms of ITRF96. This could be used to incorporate ITRF2008 SINEX files into an NZGD2000 adjustment, for example.

reference_frame ITRF2008 IERS_ETSR 2000.0 -4.8 -2.09 17.67 -1.40901 0.16508 -0.26897 -0.11984 -0.79 0.6 1.34 0.10201 0.01347 -0.01514 -0.01973

See also:

The topocentre command

Command file syntax

Alphabetical list of commands

Summary of commands by function