A guide for using position variation models in Calc/Solve

Leonid Petrov

Abstract:

Table of contents:

1   Overview

2   Harmonic site position variations model

3   Time series of site position variations

3.1   How Solve applies site position variations model
3.2   Locking method

1   Overview

It was predicted in the 1970-s and 1980-s that various mass loadings cause site displacements at the level of 1-20 mm. In 90-s analysis of space geodetic data confirmed this prediction. In the 21-st century it became an imperative to apply contribution to the observables caused by mass loading. Computation of site displacements caused by mass loading is a tedious task which requires significant computer resources. It is impractical to compute mass loading during analysis of observations. The practical way of organizing computations is to calculate site displacements due to mass loading by using a stand-alone program and then to pass the results of this computation to the analysis software. Solve allows to apply up to 8 position variations models on the fly during running of the batch solution. It supports two form of representation of the site position variations: harmonic model and time series.

2   Harmonic site position variations model

Harmonic model specifies displacements of each individual site in this form: / \ | sum_i Up_cos_i * cos( arg_i(t) ) + Up_sin_i * ( arg_i(t) ) | D_uen = | sum_i East_cos_i * cos( arg_i(t) ) + East_sin_i * ( arg_i(t) ) | | sum_i North_cos_i * cos( arg_i(t) ) + North_sin_i * ( arg_i(t) ) | \ / where arg_i(t) = H0_i + H1_i * (t - J2000.0) + H2_i/2 * (t - J2000.0)**2 H0_i is the phase of the i -th harmonic H1_i is the frequency of the i -th harmonic H2_i is the acceleration of the i -th harmonic t is time in TDB scale J2000.0 is the fundamental epoch J2000 ( 2001.01.01_12:00:00 in TDB scale ) Traditional form of representation of tidal constituents (Doodson, Cartwright & Taylor, Hartmann & Wenzell, etc. ) can be easily transformed to this form. Moreover, non-tidal harmonic site displacements, f.e. annual of diurnal site position variations can be represented in this form as well. Solve reads the model of harmonic site position variations from the external file in HARPOS format. Specifications of HARPOS format can be found in $MK5_ROOT/help/harpos_format.txt The external file specifies displacements of sites which are not necessarily exactly coincides with VLBI stations. Although each harmonic site position variations file contains names of each site, Solve ignores these names. It reads all sits and during processing of each VLBI station finds the site which is the closest to that station. If the distance between the VLBI station and the closest site exceeds the limit defined in the constant NEA__PSV from $MK5_ROOT/include/solve.i file, Solve considers that no matching site in harmonic site position displacement file was found. Otherwise, it applies position variations for the station which is the closest to the site from the harmonic position variations file.

3   Time series of site position variations

The anharmonic site position variations can be presented as time series. Solve supports the models of site position variations in the form of time series with equal spacing. The set of site position variations in BINDISP format and the summary file of this model should be located in the special directory. No other files can be in that directory. The format of BINDISP files can be found in $MK5_ROOT/help/bindisp_format.txt . The format of the BINDISP_SUMMARY file can be found in $MK5_ROOT/help/bindisp_summary_format.txt Each site position variations file contains the site name, site coordinates, the range of time epochs, duration of the sampling interval, specifiers of the format of internal representation of binary data as well as the series of site position displacements for X, Y and Z coordinates in a crust-fixed reference frame. The files consist of record of fixed length, so Solve reads information from these files using direct access method. The summary file does not contain any new information. It keeps in ASCII format information extracted from the headers of all site position variation files in BINDISP format found in that directory. This file can be inspected by an analyst. Solve parses this file in order to reduce overheads related with reading a bunch of site position variation files. Similarly to the external file in HARPOS file, the files of site position variations in BINDISP form specifiy displacements for sites, which are not necessarily coincide with VLBI stations. Solve matches site and VLBI stations using the same technique as it does in parsing of site position variations in HARPOS format.

3.1   How Solve applies site position variations model

External site position variations models can be applied only in batch mode. In the beginning of the run Solve parses the keyword, checks syntax, checks whether the files exist and then loads all external model files. In the case of harmonic site position variations it parses the input file and saves in memory arrays of site names, site coordinates, harmonic names, phases, frequencies and acceleration of all harmonics, as well as sine and cosine amplitudes of site displacements. It transforms the displacements from the topocentric UEN reference system to the crust-fixed XYZ reference system on the fly. If Solve restarts it re-does this operation. In the case of time series of site position variations Solve parses the summary files and puts results of parsing in the internal arrays kept in memory. Solve uses this information in processing each session. First, it computes site position variations at the grid of equidistant nodes around the time interval of the session. The number of nodes is defined by the M__PSV constant from $MK5_ROOT/include/solve.i . The first node has the time epoch OVH__PSV seconds less than the nominal start of the session. The last node has the time epoch OVH__PSV seconds more that the nominal end of the session. The constant OVH__PSV is defined in $MK5_ROOT/include/solve.i . In the case of harmonic model Solve computes displacement for each node of the grid before processing the first observation. If displacements are defined by time series, Solve computes site displacements for each point of the grid using interpolation, linear or spline, as it was specified for that model in the batch control file. By another words, Solve re-grids time series. Initial grid -x--------x--------X--------X--------X--------X--------x--------x- Secondary --------------------o--o--o--o--o--o--o--o--o--------------------- grid ---------------------***********************---------------------- Session interval The nodes of the initial grid, on which the time series of apriori site position variations is defined, are selected in such a manner that the time epoch of the first node of the grid just precedes the time epoch of the first node of the secondary grid. The time epoch of the last node of the initial grid just follows the time epoch of the secondary series. In the case of spline interpolation two nodes before the first node and two nodes after the last node of the initial grid are added if data are available. Site position displacements in the time epochs of the secondary grid are computed by using linear or spline interpolation on the basis of the values in the nodes of the initial grid. First, Solve computes site position displacements at the nodes of the secondary grid for all models with linear interpolation and sums them together. Then Solve does the same with all models which require spline interpolation. As a result two arrays of site displacements with the time epoch at the nodes of the secondary grid for each station, each components are created: one for all models which require linear interpolation, another for all models which requere spline interpolation. In addition to that, Solve computes coefficients of cubic interpolating spline for the displacements models which require spline interpolation. Of course, one of these arrays of displacements can be zero if all models require linear interpolation or all models require spline interpolation. During processing of observation Solve uses these arrays of site position displacements. If linear interpolation is requested then it interpolates between the nodes of the secondary grid. If spline interpolation is requested, it uses coefficients of spline interpolation over the nodes of the secondary grid which were computed earlier.

3.2   Locking method

Solve takes into account the fact that the time series of site position variations can be updated asynchronously, i.e. during Solve execution time. After parsing batch control file Solve saves the date of the last modification of the BINDISP summary file. Before processing each session it checks the date. If the last modification date was changed, Solve re-reads the summary file. In addition to that Solve, checks whether the directory with the binary site position displacements time files contains the read lock file. If the read lock file exists, it checks how old the read lock file is. If the read lock file is not stale, Solve sleeps and checks either whether the read lock file is gone or it becomes too old. If the read lock file becomes too old, Solve removes it. Then it creates the write lock file, reads necessary files with time series of site displacements and deletes the write lock file which it has created. The names of the lock files and duration of waiting time are defined in the file $MK5_ROOT/include/bindisp.i . From the other side Solve expects "courtesy" from the asynchronous process which creates the time series of site displacements. Solve expects that such a process does not write into the BINDISP or the summary file directly, since this operation maybe too lengthly. Instead of that, that process should write into the temporary files, then wait for disappearing (or becoming too old) the write lock files, then it should set read lock, wait for a while, and then very quickly rename files. After that the process should, of course, not forget to remove the read lock file. Surely, Solve assumes, that the files of site position variations are changed onlu by adding several new points at the end of the files, and the previously defined points are not changed. Otherwise, statistics computation may be incorrect. No locking mechanism is implemented for changes of harmonic site position variations files, since these files are read only once at the beginning of the run.



Questions and comments about this guide should be sent to:

Leonid Petrov ( Leonid.Petrov@lpetrov.net )

Last update: 2004.07.25