SlrProcessingStep

Processing step in SlrProcessing.

Processing steps enable a dynamic definition of the consecutive steps performed during any kind of SLR processing. The most common steps are estimate, which performs an iterative least squares adjustment, and writeResults, which writes all output files defined in SlrProcessing and is usually the last step. Some steps such as selectParametrizations and selectStations affect all subsequent steps. In case these steps are used within a group step, they only affect the steps within this level.

Estimate

Iterative non-linear least squares adjustment. In every iteration it accumulates the system of normal equations, solves the system and updates the estimated parameters. The estimated parameters serve as a priori values in the next iteration and the following processing steps. Iterates until either every single parameter update (converted to an influence in meter) is below a convergenceThreshold or maxIterationCount is reached.

With computeResiduals the observation equations are computed again after each update to compute the observation residuals.

The overall standard deviation of a single observation used for the weighting is composed of several factors \[ \hat{\sigma}_i = \hat{\sigma}_i^{huber} \hat{\sigma}^{stat} \sigma_{apriori}^{stat}, \]where the $\sigma_{apriori}^{stat}$ is given by station:accuracy. The other factors are estimated iteratively from the residuals.

With computeWeights a standardized variance $\hat{s}_i^2$ for each residual $\hat{\epsilon}_i$ is computed \[ \hat{s}_i^2 = \frac{1}{\hat{\sigma}^{stat} \sigma_{apriori}^{stat}}\frac{\hat{\epsilon}_i^2}{r_i} \qquad\text{with}\qquad r_i = \left(\M A\left(\M A^T\M A\right)^{-1}\M A^T\right)_{ii} \]taking the redundancy $r_i$ into account. If $\hat{s}_i$ is above a threshold huber the observation gets a higher standard deviation used for weighting according to \[ \hat{\sigma}_i^{huber} = \left\{ \begin{array}{ll} 1 & s < huber,\\ (\hat{s}_i/huber)^{huberPower} & s \ge huber \end{array} \right., \]similar to robust least squares adjustment.

With adjustSigma0 an individual variance factor can be computed for each station separately \[ \hat{\sigma}^{stat} = \sqrt{\frac{\hat{\M\epsilon}^T\M P\hat{\M\epsilon}}{r}}. \]

NameTypeAnnotation
computeResiduals
boolean
adjustSigma0
booleanadjust sigma0 by scale factor (per station)
computeWeights
booleandownweight outliers
huber
doubleresiduals > huber*sigma0 are downweighted
huberPower
doubleresiduals > huber: sigma=(e/huber)^huberPower*sigma0
convergenceThreshold
double[m] stop iteration once full convergence is reached
maxIterationCount
uintmaximum number of iterations

WriteResults

In this step all outputfiles defined in parametrizations are written. It considers the settings of processingStep:selectParametrizations and processingStep:selectStations.

It is usually the last processing step, but can also be used at other points in the processing in combination with suffix to write intermediate results.

NameTypeAnnotation
suffix
stringappended to every output file name (e.g. orbit.G01.suffix.dat)

WriteNormalEquations

Accumulates the normal equations matrix and writes it. If remainingParameters is set only the selected parameters are written to the normal equations and all other parameters are eliminated beforehand (implicitly solved).

The solution of the normals would results in $\Delta\M x$ (see parametrizations). To write the appropriate apriori vector $\M x_0$ use processingStep:writeAprioriSolution.

NameTypeAnnotation
outputfileNormalEquations
filenamenormals
remainingParameters
parameterSelectorparameter order/selection of output normal equations
constraintsOnly
booleanwrite only normals of constraints without observations
defaultNormalsBlockSize
uintblock size for distributing the normal equations, 0: one block, empty: original block size

WriteAprioriSolution

Writes the current apriori vector $\M x_0$ (see parametrizations). If remainingParameters is set only the selected parameters are written.

NameTypeAnnotation
outputfileAprioriSolution
filenamea priori parameters
outputfileParameterNames
filenameparameter names
remainingParameters
parameterSelectorparameter order/selection of output normal equations

WriteResiduals

Writes the observation residuals for all selectStations. For for each station-satellite pair a file is written. The file name is interpreted as a template with the variables {station} and {satellite} being replaced by the station name.

NameTypeAnnotation
selectStations
platformSelectorsubset of used stations
selectSatellites
platformSelectorsubset of used satellites
outputfileResiduals
filenamevariable {station} available

WriteUsedStationList

Writes a list of stations (stations) which are used in the last step and selected by selectStations.

NameTypeAnnotation
selectStations
platformSelectorsubset of used stations
outputfileUsedStationList
filenameascii file with names of used stations

WriteUsedSatelliteList

Writes a list of satellites which are used in the last step and selected by selectSatellites.

NameTypeAnnotation
selectSatellites
platformSelectorsubset of used satellites
outputfileUsedSatelliteList
filenameascii file with names

PrintResidualStatistics

Print residual statistics.

  station   sigma redundancy obsCount outlier
  ----------------------------------------------
  1874       0.52   0.86      22      1 (4.55 
  1889       1.20   0.98     186      5 (2.69 
  1890       0.63   0.77      14      1 (7.14 
  1891       0.49   0.50       6      0 (0.00 
  7237       1.08   0.95     236     14 (5.93 
  7394       0.36   0.88      26      0 (0.00 
  7811       0.38   0.41       5      0 (0.00 
  7819       1.21   0.94     120      1 (0.83 
  7821       0.69   0.95     202      3 (1.49 
  7827       0.40   0.85      29      1 (3.45 
  7839       0.52   0.93     143     10 (6.99 
  7840       0.15   0.80      16      0 (0.00 
  7841       0.26   0.90      56      1 (1.79 
  7941       0.55   0.92     277      5 (1.81 
  8834       0.66   0.88     101      1 (0.99 
  ----------------------------------------------
  satellite sigma redundancy obsCount outlier
  ----------------------------------------------
  lageos1    1.04   0.94     722     24 (3.32 
  lageos2    0.91   0.95     590     11 (1.86 
  etalon1    1.19   0.78      57      2 (3.51 
  etalon2    1.10   0.81      70      6 (8.57 
  ----------------------------------------------

SelectParametrizations

Enable/disable parameter groups and constraint groups for subsequent steps, e.g. processingStep:estimate or processingStep:writeResults. The name and nameConstraint of these groups are defined in parametrizations. Prior models or previously estimated parameters used as new apriori $\M x_0$ values are unaffected and they are always reduced from the observations. This means all unselected parameters are kept fixed to their last result.

NameTypeAnnotation
parametrization
choice
enable
sequence
name
stringwildcards: * and ?
disable
sequence
name
stringwildcards: * and ?

SelectSatellites

This step can be used to process only a subset of satellites in subsequent processing steps.

NameTypeAnnotation
selectSatellites
platformSelector

SelectStations

This step can be used to process only a subset of stations in subsequent processing steps.

NameTypeAnnotation
selectStations
platformSelector

Group

Perform these processing steps. This step can be used to structure complex processing flows. The select.. processing steps defined within a group only affect the steps within this group.

NameTypeAnnotation
processingStep
slrProcessingStepsteps are processed consecutively