The formula syntax below can be used to add calculated variables when loading data:
In the upload screen in Njord Player or Njord Analytics
In Njord Analytics, modify already uploaded data by selecting the uploaded data segment (Data section), and select Process
In Njord Analytics, configure one or more formulas to be applied every time data is uploaded to a certain boat. Set this up under Boat - Settings - Process
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.
Note: all function names are case insensitive and may be written in lower case too.