### Information

Transformation: |
Direction Linear |
---|---|

Transformation Group: |
Interpolation Serial |

Description: |
Fills gaps in a time series that contains direction data values (e.g. wind direction in degrees), using linear interpolation. The direction values are interpolated over the smallest angle. For example halfway between directions 0 degrees and 350 degrees the interpolated value would be 355 degrees. For a gap between two directions that are exactly opposite (e.g. 90 and 270 degrees) the interpolated values will be equal to the last known direction. |

### Hydrological Information

Purpose and use of Transformation: |
Linear interpolation of direction data values (e.g. wind direction in degrees). |
---|---|

Background and Exceptions: |
The direction values are interpolated over the smallest angle. For example halfway between directions 0 degrees and 350 degrees the interpolated value would be 355 degrees. For a gap between two directions that are exactly opposite (e.g. 90 and 270 degrees) the interpolated values will be equal to the last known direction, because if two directions are exactly opposite, then it is not possible to choose which is the smallest angle to interpolate over. Direction values can also be designated to be "varying". Varying values are represented in the Delft-FEWS graphical user interface with a "?" sign. This transformation handles varying values just like missing values, this means it replaces varying values with an interpolated value. |

### Input

Time series with direction data values.

### Options

###### directionRange

The range of the values in the input time series and output time series. For degrees this range could be e.g. 0 to 360 or e.g. -180 to 180. For radians this range could be e.g. 0 to 2*PI. Input values outside the specified range will be handled like missing values, this means these will be replaced with an interpolated value.

###### maxGapLength (optional)

Optional maximum length of gap in number of time steps. Gaps equal to or smaller than maxGapLength will be filled with interpolated values. Gaps larger than maxGapLength will not be filled. If maxGapLength is not defined, then all gaps will be filled with interpolated values.

### Output

Time series with direction data values.

### Configuration Example

<transformation id="interpolation serial direction linear"> <interpolationSerial> <directionLinear> <inputVariable> <variableId>input</variableId> </inputVariable> <directionRange> <lowerLimit>0</lowerLimit> <upperLimit>360</upperLimit> </directionRange> <maxGapLength>5</maxGapLength> <outputVariable> <variableId>output</variableId> </outputVariable> </directionLinear> </interpolationSerial> </transformation>