User Tools

Site Tools


Input Parameters

Select Sessions to be processed

In the tab File the sessions to be processed can be selected, a screen shot of the GUI is provided below.

GUI screenshot of session selection.

By clicking the button Browse for sessions one can select sessions from the DATA/NGS directory (NGS files), or VSO files from DATA/VSO. Alternatively, the observation data can be obtained from vgosDB (netCDF) files through clicking on Browse for VGOS-DB. VieVS also provides the possibility to use predefined process lists. The selected sessions (more than one can be processed using the specified parametrization) are displayed in the list box. The use of OPT and outlier files can also be specified here.

Parameter files and process lists can be saved/loaded with File - Parameter files - save/load.

In the tab Models, variable options concerning the calculation of the theoretical delay and its partial derivatives can be chosen. When no changes are done here, the processing runs with the default options. The corresponding source code is found in VIE_MOD, with a short introduction of the processing chain given in the next section.

Overview of VIE_MOD

VIE_MOD takes care of the calculation of the theoretical delay and the partial derivatives of the delay with respect to certain parameters. Details on the theory behind is given in the theoretical delays section of the VLBI fundamentals. A flowchart of VIE_MOD is shown below.

Flowchart of VIE_MOD.

  • 0. INPUT FILES: As input, VIE_MOD uses the previously prepared files of LEVEL0, namely the structures sesname_scan, _parameter, _antenna and _sources.
  • 1. EARTH ORIENTATION: For each observation epoch, the actual Earth orientation is calculated and the transformation matrix between the terrestrial and the celestial system is prepared. The source coordinates, originally given as angles in right ascension and declination in the celestial frame, are converted to barycentric direction vectors.
  • 2. STATION COORDINATES: At this point, a loop over all scans, respectively observing epochs, is started. In a second loop over all participating antennas, the coordinates for each station are calculated for the time of observation, as described in here.
  • 3. COMPUTED DELAY: The theoretical delay is calculated for each observation, following the Consensus model (IERS Conventions 2010; Petit & Luzum, 2010) as described in the VLBI fundamentals. Since VieVS 3.0 VIE_MOD is able to compute theoretical delays for near field observations to satellites according to the observation equations by Klioner (1991). The formulism implements an iterative solution of the light-time equation in the GCRF including gravitational corrections.
  • 4. PARTIAL DERIVATIVES: The derivatives of the observable (time delay) after the target parameters is calculated in VIE_MOD. This is the main input to VIE_LSM. For a detailed formalism please have a look at the source code directly.
  • 5. STORE RESULTS: The computed values are stored in the respective structure arrays.
  • 6. SAVE: Result of VIE_MOD are the modified structures sesname_scan, _parameter, _antenna and _sources, which are stored in the LEVEL1 directory.

Reference frames

Reference frames in VieVS

Both terrestrial and celestial reference frames can be selected in Models - Reference frames. By default a 'superstation file' is loaded which contains different reference frames, such as ITRF2005, ITRF2008, VTRF2008 and a special VieVS-TRF. Those can be chosen in the popupmenu. The path and name of the selected superstation file is indicated in the GUI below the Select file button A manual TRF file can be loaded by clicking on from txt file. The text file must be put in /VieVS/TRF/ . The format is the same as for loading a manual TRF in the superstation file. If you're using completely new stations, you might need to deselect antenna corrections. However, it is recommended to use the superstation file to include a user-own TRF. The used coordinates are stored in the antenna structure in LEVEL0 and LEVEL1. However, the antenna coordinates in the antenna structure are the catalog coordinates. In order to get the precise station coordinate for the time of observation various station models are applied in VIE_MOD on the catalog coordinates.

For the CRF, a co-called “supersource file” is used. From this, the chosen catalog is taken and the source coordinates in terms of right ascension and declination are stored in the sourcesstructure. In VIE_MOD, the celestial angles are converted to a barycentric direction vector $\vec{K}$.

$$ \vec{K} = \left(\begin{array}{c} \rm{cos}\delta \, \rm{cos}\alpha \\ \rm{cos}\delta\,\rm{sin}\alpha \\ \rm{sin}\delta\end{array}\right) $$

This source vector is stored in the scan structure.



The ephemerides contain the positions of the Earth, the Sun, the Earth's Moon the the solar system's planets. In VieVS, the planetary and lunar ephemerides DE405, DE421 and DE430 (Folkner et al., 2008) can be used. Therefore, the files jpl_405.mat, jpl_421.mat and jpl_430.mat must be available in the VieVS/EPHEM/ directory. These files contain the Chebychev series coefficients that are distributed by the Jet Propulsion Laboratory (JPL) via plain-text (ASCII) files ( The GUI can be found in Parameter - Ephemerides with the default use of JPL 421.

Ephemerides options in VieVS

However, the effect of using the different ephemerides is marginal in normal geodetic VLBI. In the processing, the function load_eph.m calculates the JPL ephemerides for VieVS, following the JPL guidelines and the idea of OCCAM 6.2 by O. Titov. The respective note on the Command Window is “reading_jpl_421_ephemerides”. Output is the structure array VieVS/EPHEM/jpl_421_sesname.mat, containing the barycentric coordinates and velocities for each observation epoch. Units are $m$ and $m/s$. In addition, the GM for the planets is given in $m^3 / s^2$. As the calculation for each observing epoch can be time consuming, the software searches for an available ephem-file by looking up the name of the session. If a file is found and the time epochs agree (if, in a second run, some observations are left out, e.g. because they were marked as outliers, the time epochs changed and the ephem-file is newly created), the old file is loaded and a repeated calculation of the planetary positions is omitted. This is documented with “load existing ephemerides …” in the Command Window.


In Models - Troposphere the user can select either between several models used for calculating the a priori tropospheric delay for the VLBI observations, or deduce the information directly from ray-traced delays.

A priori troposphere parameters

Zenith hydrostatic delay $zhd$:

  1. p (in situ) + Saastamoinen: measuring $p$ at the site and inserting it into the formula by Saastamoinen (1972) (default setting)
  2. VMF3: using ray-traced $zhd$ from the Vienna Mapping Function 3 (Landskron and Böhm, 2018)
  3. VMF1: using ray-traced $zhd$ from the Vienna Mapping Function 1 (Böhm et al., 2006)
  4. p (GPT3) + Saastamoinen: inserting $p$ from the empirical troposphere model Global Pressure and Temperature 3 (Landskron and Böhm, 2018) into the formula by Saastamoinen (1972)

The formula by Saastamoinen (1972) reads $$ zhd [m] = \frac{a1}{f1}=\frac{0.0022768\cdot p}{1-0.00266\cdot{\rm cos}(2\phi_{stat})-0.28\cdot 10^{-6}\cdot h_{ell}} $$

Zenith wet delay $zwd$:

  1. no: no a priori zenith wet delay (default setting)
  2. e (in situ) + Askne: measuring $e$ at the site and inserting it into the formula by Askne and Nordius (1987)
  3. VMF3: using ray-traced $zwd$ from the Vienna Mapping Function 3 (Landskron and Böhm, 2018)
  4. VMF1: using ray-traced $zwd$ from the Vienna Mapping Function 1 (Böhm et al., 2006)
  5. e (GPT3) + Askne: inserting $e$ from the empirical troposphere model Global Pressure and Temperature 3 (Landskron and Böhm, 2018) into the formula by Askne and Nordius (1987)

Hydrostatic mapping function $mf_h$ and wet mapping function $mf_w$::

  1. VMF3: applying the discrete Vienna Mapping Function 3 (Landskron and Böhm, 2018) (default setting)
  2. VMF1: applying the discrete Vienna Mapping Function 1 (Böhm et al., 2006)
  3. GPT3: applying the empirical troposphere model Global Pressure and Temperature 3 (Landskron and Böhm, 2018)

Hydrostatic gradients $G_h$ and wet gradients $G_w$ for consideration of azimuthal asymmetry the following models are available:

  1. no: not applying of a priori gradients (default setting)
  2. GRAD: applying the discrete a priori gradients GRAD (Landskron and Böhm., 2018)
  3. GPT3: applying empirical a priori gradients from Global Pressure and Temperature 3 (Landskron and Böhm, 2018)
  4. DAO: applying empirical a priori gradients from GSFC (MacMillan, 1995), which are only available for the hydrostatic part

The resulting a priori tropospheric delay $\Delta L(\alpha,\epsilon)$ at a certain elevation $\epsilon$ and azimuth $\alpha$ is finally calculated through

$$ \Delta L (\alpha,\epsilon) [sec] = \frac{zhd \cdot mf_h(\epsilon) + zwd \cdot mf_w(\epsilon) + \Delta L_{asym}}{\rm c} $$ where $$ \Delta L_{asym}(\alpha,\epsilon) = mf_g(\epsilon) \cdot \Big( (G_{n_h}+G{n_w}) \cdot cos(\alpha) + (G_{e_h}+G{e_w}) \cdot sin(\alpha) \Big) $$

The corresponding values for each station are stored in the LEVEL1 scan structure.

scan(isc).stat(stnum).zdry [m]
scan(isc).stat(stnum).aprgrd [m]
scan(isc).stat(stnum).trop [sec]

Following the Consensus model (Petit & Luzum, 2010) the theoretical delay is corrected for the influence of the troposphere by adding the geometric part of the troposphere ($t_{g2} - t_{g1}$) and by adding the troposphere propagation delay for each station.

$$ \tau = \tau + (t_{g2}-t_{g1})+(\Delta L_2-\Delta L_1)=\tau+\Delta L_1\cdot\frac{\vec{K}\cdot(v_2-v_1)}{\rm c}+(\Delta L_2 -\Delta L_1) $$

Alternatively, tropospheric delays can directly be introduced from ray-tracing by hitting the radio button from ray-tracing. For this purpose, ray-traced delays for the full history of geodetic VLBI are stored in TRP/RAYTRACING_DATA.


In VieVS the information about the ionospheric delay contained in the observation file (NGS, VSO, or vgosDB) is used by default, but there is also the possibility of using external corrections, in this case, derived from GNSS Total Electron Content (TEC) maps.

To use the external corrections you should go to Models - Ionosphere and select external file. You should also select, in the adjacent box, the folder where your external ionospheric corrections file is (see screen shot below). Please notice that this file has to be created previously.

A priori ionosphere settings

In order to get more information about the external ionospheric file (how it looks like, how it is created…) we refer to the according wiki page.

Please note that it is only recommended to use the GNSS corrections in case of not having observations in both S- and X-band, since the X/S ionosphere values are instantaneous direct measurements while the GNSS values suffer from low spatial and temporal resolution (Gordon, 2010).

By default, in VieVS the ionospheric correction delion as given in the observation file is applied on the observed delay already in LEVEL0, when the data is read in. Alternatively, when an external file is used, delion = 0 and the observed delay is corrected in LEVEL1. Then, the ionospheric correction is also saved for each station.

$$ \tau_{observed}=\tau_{observed}-iono $$

The data can be found in the scan structure.

scan(isc).obs(iobs).delion - ionosphere from the observation file, LEVEL0; =0, if no iono. delays provided in the observation file
scan(isc).obs(iobs).ionDelext (optional) - LEVEL1
scan(isc).stat(stnum).iono (optional) - LEVEL1

Station models

The provision of ITRF happens via tables of station coordinates, modeled linearly, which means there are coordinates $\vec{X}_{0}$ calculated for a certain reference epoch $t_{0}$ and the corresponding velocity $\dot{\vec{X}}$ for each station. These coordinates are calculated for regularized positions, in order to remove high frequency variations. The variations $\Delta\vec{X}_{i}$, predominantly of geophysical origin, are accounted for with conventional models, as described in chapter 7 of the IERS Conventions (Petit & Luzum, 2010). The instantaneous station position $\vec{X}$ at epoch $t$ composes to:

$$ \vec{X}(t)=\vec{X}_{0}+\dot{\vec{X}}\cdot(t-t_{0})+\sum_{i}\Delta\vec{X}_{i}. $$

All models that can be selected in the GUI (see screenchot below), except the correction for antenna thermal deformation, are calculated for each observation epoch and are applied directly to the antenna coordinates prior to the delay calculation. Additionally, antenna eccentricities are applied. The purpose of this approach is to get the most accurate coordinates of the observing antennas at the epochs of observation! The corrected station position in the TRF as well as in the GCRF is stored in the scan structure.

scan(isc).stat(ist).x     - corrected station position in TRS [x,y,z], [m]
scan(isc).stat(ist).xcrs  - corrected station position in GCRS [x,y,z], [m]

A priori station models

In general, all required input data for the different station corrections which are select-able in the GUI are stored in the superstation file.


The Earth orientation must be calculated in order to relate the terrestrial co-rotating system where the stations are given in with the space-fixed celestial system of the radio sources. In VieVS, the procedure described in chapter 5 of the IERS Conventions (Petit & Luzum, 2010) is implemented to calculate the transformation matrix for each observation epoch. Hereby, the “CIO-based” transformation concept following the Non-Rotating Origin (NRO) is chosen. Consequently, the Precession/Nutation is accounted for with the coordinates of the CIP in the GCRS, represented by the parameters $X$ and $Y$.

A priori EOP settings

For the processing, an up-to-date time series of the Earth orientation parameters (EOP) is necessary in the directory VIEVS/EOP/ . As default, the C04 14 series (in accordance with ITRF2014 station coordinates) provided by the IERS is used. However, as this series is updated with some latency, for recent sessions one might need to use the slightly less accurate finals EOP series. In this case, the program will crash with the error:

time of observation is out of your EOP time limits
please update ../EOP/C04_14_1962_now.txt !!!

appearing in the command window. When calculating the Earth orientation, leap seconds must be taken into account. The agreed time epochs when a new leap second was inserted are saved in the routine tai_utc.m (part of VIE_MOD). In order to be sure that you do not forget to update this file when a new leap second is inserted, there is an automatic warning when you process a session after the given date. What to do if the warning

+++ please check for new leap second TAI-UTC tai_utc.m +++

appears, is written in the problems section (Check for new leap second).

EOP values are interpolated between the data points of the selected (IERS) a priori time series (usually providing daily values) for the actual observation epochs. There is the option to select between lagrange (polynomial) and linear interpolation and the option to consider tidal UT variation with different constituents in the interpolation approach. Basically modeled UT variations are subtracted before, and re-added after the actual interpolation, to smooth the time series used for the interpolation.

Various high frequency models can be selected to add the according a priori correction on top of the selected a priori EOP time series.

Observation restrictions

Quality code, minimum elevation angle settings and source structure exclusion

By default all observation above horizon ($0^\circ$ elevation) and a quality code of 0 (best) are used in the analysis. However, the user can modify these two settings in Models - Observation restrictions. If all observations (not only those of best quality) should be used, type a number $\ge 9$ into the textfield Quality code limit. The input cut-off elevation angle is in unit of degree. Additionally the user can decide to exclude observations with certain jet angles. If no observations should be exculded, type none into the corresponding checkbox.

Please note: The quality code and the jet angle can only be used to restrict observation data, if these parameters are provided by the input files! E.g. there is no option (currently) to specify quality code flags when using VSO formatted input files.

Antenna deformation

The computed delay is corrected for errors due to antenna thermal deformation. The corresponding code can be found in the subroutine /VIE_MOD/thermdef.m, follwoing (Skurikhina, 2001; Haas, 1999; Nothnagel, 2009). The parameters for each station are stored in the superstation file, as read in from the antenna-info.txt file.

Axis o ffsets

The additional delay due to the axis offset is calculated in the subroutine /VIE_MOD_Vxx/axis_ stat.m. The axis offset parameter for each antenna needs to be stored in the superstation file.

Source Structure

Settings for source structure correction

First select the source structure catalog you would like to use. Catalogs are saved in VieVS/- CRF/SOURCE_STRUCTURE_CAT/ . Then you can decide if you want to apply the correction and/or calculate and write the jet angles to VieVS/DATA/JETANG/ .

Space Crafts

For processing satellite observation data a priori orbit information is required. The orbit information is used in VIE_MOD to calculate computed delays for observations of satellites.

Two different orbit file formats are supported for modelling delays (TLE files are used for scheduling only due to the limited accuracy):

The orbit files can be selected in the GUI shown below (Select file by clicking on the Browse for orbit file button). VieVS automatically distinguishes between the file formats.

Space craft orbit data selection

| <= Previous section | Overview | Next section ⇒ |

public/vievs_manual/input_parameters.txt · Last modified: 2019/01/21 08:17 by dlandskr