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}}. \]
Name | Type | Annotation |
---|---|---|
computeResiduals | boolean | |
adjustSigma0 | boolean | adjust sigma0 by scale factor (per station) |
computeWeights | boolean | downweight outliers |
huber | double | residuals > huber*sigma0 are downweighted |
huberPower | double | residuals > huber: sigma=(e/huber)^huberPower*sigma0 |
convergenceThreshold | double | [m] stop iteration once full convergence is reached |
maxIterationCount | uint | maximum 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.
Name | Type | Annotation |
---|---|---|
suffix | string | appended 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.
Name | Type | Annotation |
---|---|---|
outputfileNormalEquations | filename | normals |
remainingParameters | parameterSelector | parameter order/selection of output normal equations |
constraintsOnly | boolean | write only normals of constraints without observations |
defaultNormalsBlockSize | uint | block 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.
Name | Type | Annotation |
---|---|---|
outputfileAprioriSolution | filename | a priori parameters |
outputfileParameterNames | filename | parameter names |
remainingParameters | parameterSelector | parameter 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.
Name | Type | Annotation |
---|---|---|
selectStations | platformSelector | subset of used stations |
selectSatellites | platformSelector | subset of used satellites |
outputfileResiduals | filename | variable {station} available |
WriteUsedStationList
Writes a list of stations (stations) which are used in the last step and selected by selectStations.
Name | Type | Annotation |
---|---|---|
selectStations | platformSelector | subset of used stations |
outputfileUsedStationList | filename | ascii file with names of used stations |
WriteUsedSatelliteList
Writes a list of satellites which are used in the last step and selected by selectSatellites.
Name | Type | Annotation |
---|---|---|
selectSatellites | platformSelector | subset of used satellites |
outputfileUsedSatelliteList | filename | ascii 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.
Name | Type | Annotation |
---|---|---|
parametrization | choice | |
enable | sequence | |
name | string | wildcards: * and ? |
disable | sequence | |
name | string | wildcards: * and ? |
SelectSatellites
This step can be used to process only a subset of satellites in subsequent processing steps.
Name | Type | Annotation |
---|---|---|
selectSatellites | platformSelector |
SelectStations
This step can be used to process only a subset of stations in subsequent processing steps.
Name | Type | Annotation |
---|---|---|
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.
Name | Type | Annotation |
---|---|---|
processingStep | slrProcessingStep | steps are processed consecutively |