ABS(value) | Absolute of value / remove sign |
SIGN(value) | Returns an indication of the sign of values, -1, 0, or 1. |
MIN(value1, value2) | Minimum of two values |
MAX(value1, value2) | Maximum of two values |
MOD(a, n) | Modulo operation |
SIN(value) | Sine of value (which is expected to be in degrees) |
COS(value) | Cosine of value (which is expected to be in degrees) |
ARCTAN2(x, y) | Element-wise arc tangent (in degrees) of x/y choosing the quadrant correctly. |
FILTERPORT(value) | Retains the value only on port tack (AWA between -170 and -10) |
FILTERSTBD(value) | Retains the value only on starboard tack (AWA between 10 and 170) |
COALESCE(value1, value2) | Choose value1 if it's not empty, else value2 |
SELECTPORTSTBD(valuePort, valueStbd) | Select valuePort when sailing on port tack, valueStbd on starboard tack |
UNWRAP(value) | Removes wrap at 0/360 degrees, instead expands value below 0 or above 360 as needed for safe calculations |
SHIFT(value, rows) | Shifts value (series) by given number of rows |
SHIFTSEC(value, seconds) | Shifts value (series) by given number of seconds |
DELTASEC(value, seconds) | Delta of value compared to second seconds ago |
DELTAPERSEC(value) | Delta of value compared to previous datapoint, divided by number of seconds since last datapoint |
ROLLINGMEAN(value, seconds) | Rolling mean over second seconds |
ROLLINGSUM(value, seconds) | Rolling sum over second seconds |
FILTER(value, mask) | Filters value using the given mask, returning empty value where the mask is false |
INTERPOLATED(value) | Fill blanks between values by linear interpolation |
INTERPOLATEDBEARING(value) | Fill blanks between values by linear interpolation, correctly handling 0/360 degree wrap around |
SERIES(time1, value1, time2, value2, ...) | Produces a data series with the given values at the given times. Write times in ISO 8601 format with quotes, like "2022-10-01T10:00+02:00". Use with INTERPOLATED(). |
TWA(awa, aws, sog) | Calculates true wind angle from apparent wind and SOG/boat speed |
TWS(awa, aws, sog) | Calculates true wind speed from apparent wind and SOG/boat speed |
AWA(twa, tws, sog) | Calculates apparent wind angle from true wind and SOG/boat speed |
AWS(twa, tws, sog) | Calculates apparent wind speed from true wind and SOG/boat speed |
INTEGRATE(value, gap) | Integration over time (in seconds) using the trapezoidal rule. gap is optional (defaults to 10 seconds) - any gaps in data greater than this are omitted. |
MAPLINEAR(value, x1, y1, x2, y2[, ...][, xn, yn][, extrapolate]) | For each value between x1 and x2, produces an output value between y1 and y2 using linear interpolation, between x2 and x3 interpolates between y2 and y3, etc. If extrapolate is 1 or true, input values below x1 and above the highest xn value are mapped using extrapolation of the nearest linear pair, otherwise those output values will be empty. |