# ARTS built-in documentation server

## Workspace Method CompareRelative

### Description

```Checks the consistency between two variables by their relative values.

The two variables are checked to not deviate outside the specified
relative value (*maxabsreldiff*). An error is issued if this is not
fulfilled.

The main application of this method is to be part of the test
control files, and then used to check that a calculated value
is consistent with an old, reference, value.

If either value is 0.0, the relative error is considered as 0
for easier use.  This really means infinite differences, though
allowing zero-crossings is useful for plenty of tests. So Be Aware!

If both *var1* and *var2* are non-zero, the difference is evaluated
as: abs(var1/var2-1)
That is, *var2* is taken as the reference value.

```

Authors: Oliver Lemke, Richard Larsson

### Synopsis

 CompareRelative( var1, var2, maxabsreldiff, error_message )

### Variables

 GIN var1 (Numeric, Vector, Matrix, Tensor3, Tensor4, Tensor5, Tensor6, Tensor7, ArrayOfVector, ArrayOfMatrix, ArrayOfTensor3, ArrayOfTensor4, ArrayOfTensor6, ArrayOfTensor7, ArrayOfArrayOfVector, ArrayOfArrayOfMatrix, ArrayOfArrayOfTensor3, ArrayOfArrayOfTensor6, ArrayOfPropagationMatrix, ArrayOfArrayOfPropagationMatrix, ArrayOfStokesVector, ArrayOfArrayOfStokesVector, EnergyLevelMap, PropagationMatrix, StokesVector) A first variable GIN var2 (Numeric, Vector, Matrix, Tensor3, Tensor4, Tensor5, Tensor6, Tensor7, ArrayOfVector, ArrayOfMatrix, ArrayOfTensor3, ArrayOfTensor4, ArrayOfTensor6, ArrayOfTensor7, ArrayOfArrayOfVector, ArrayOfArrayOfMatrix, ArrayOfArrayOfTensor3, ArrayOfArrayOfTensor6, ArrayOfPropagationMatrix, ArrayOfArrayOfPropagationMatrix, ArrayOfStokesVector, ArrayOfArrayOfStokesVector, EnergyLevelMap, PropagationMatrix, StokesVector) A second variable GIN maxabsreldiff (Numeric) Threshold for maximum relative difference. GIN error_message (String, Default: "") Additional error message.