Purpose of chapter: to illustrate how the Weatherfetch feature works and describe it's oppertunities and limitations.
Local TOC
As described in the TrackSet: Weatherfetch freq. Picker help screen:
The Weatherfetch (Wf) feature fetches data from a webservice at 'openweathermap.org' while tracking, by sending request over the Internet regarding the current:
which are then used to make regular, automatic events - like manual events created with the 'New event' action.
First request is approx. 5 minutes after start and after any change of frequency, and hereafter for each 'freq. amount of time' (plus a little extra).
Time evaluations occur when plots are made, i.e. Weatherfetch needs motion!
Network or other request errors gives a 'WEATHERFETCH PROBLEM' incident - but don't stop trying a next request.
All requests are on behalf of CoaSoft, i.e. your anonymity isn't compromised.
When the Weatherfetch feature was released, it was winter at our latitude, and therefore it wasn't an option to launch it in the sea. Instead a walk was done, after setting the Weatherfetch freqency to '15 min'. In the Tracklist it's listed as:
Switching ON the MapSet: Show wind markers Switch and the MapSet: Show weather & waves icons Switch, the Map shows the walk as:
Things to notice:
When Switching ON the MapSet: Show temp & visibility icons Switch instead, the Map displays:
Things to notice:
On an imagined very tall iPhone, the Eventlist would appear as:
Things to notice:
The latter is because "Time evaluations occur when plots are made, i.e. Weatherfetch needs motion!".
A Weatherfetch event is an Autogenerated event - therefore it cannot be created before the GPS has fetched a location (a plot) for the event to attach to.
A timestamp is saved when a Weatherfetch event is made. Each time a next plot is made, it's examined if at least the specified 'freq. amount of time' (e.g. 15 minutes) has elapsed since then and if so, a next Weatherfetch event is created.
In other words: Weatherfetch event creation is not controlled by a timer, therefore their timing is only approximate.
On a very tall iPhone, opening the Event editor from e.g. the third item in the list would look like:
Things to notice:
The TrackSet: Weatherfetch freq. Picker can be used without limitations to change frequency value.
When changed to value 'None' during tracking, a Wetherfetch stops! Toast message appears shortly.
When changed to any other value during tracking, this Toast message is shown:
- whereafter Weatherfetch restarts, just as if the given value was set when tracking began.
Communication is difficult! Sending requests for, or delivering and receiving data may cause a condition to be written to the Incidents log.
Checkout the Remarks on incident 'Weatherfetch problem'.
The Current weather data API at 'openweathermap.org' delivers information in formats that must be transformed to match those of the Sailor Logbook App.
Below a going through how each of the five pieces of information - input - is transformed.
In the following, the term set to is synonymous with transformed to.
Input: Wind direction, degrees (meteorological), an integer number, absent or with values 0 - > 360
If absent, the wind direction in the App is set to -?- (meaning undefined).
Else transformation is done by simple splitting of the value into every other of the 32 points of a compass (N - nne - ... - nnw).
Wind direction nil (meaning defined, but no direction or still) is not possible here.
Input: Wind gust, meter/sec and Wind speed, meter/sec, two floating point numbers, each absent or with value 0.0 and above.
If both are absent, the wind direction as well as wind force in the App is set to -?- (meaning undefined).
Else, if wind direction was not set to -?-, a combined value is setup as either Wind gust (preferred if present) or Wind speed, and this value determines the wind force according to the Meter/sec column in the windforces table in Settings mainpage: Windforces Picker - except the < 0.5 m/s: Calm (nil) value is not possible here.
Input: Weather condition 'ID', an integer number, absent or with three-digit values.
If absent or no matching entry can be found in the table below, weather text in the App is set to -?- (meaning undefined).
Else the Weather text in the App is setup from the ID code according to the table below, where the Main and the Description columns are defined by 'openweathermap.org':
ID | Main | Description | Weather in App |
---|---|---|---|
200 | Thunderstorm | thunderstorm with light rain | Thunder |
201 | Thunderstorm | thunderstorm with rain | Thunder |
202 | Thunderstorm | thunderstorm with heavy rain | Thunder |
210 | Thunderstorm | light thunderstorm | Thunder |
211 | Thunderstorm | thunderstorm | Thunder |
212 | Thunderstorm | heavy thunderstorm | Thunder |
221 | Thunderstorm | ragged thunderstorm | Thunder |
230 | Thunderstorm | thunderstorm with light drizzle | Thunder |
231 | Thunderstorm | thunderstorm with drizzle | Thunder |
232 | Thunderstorm | thunderstorm with heavy drizzle | Thunder |
300 | Drizzle | light intensity drizzle | Grey sky |
301 | Drizzle | drizzle | Grey sky |
302 | Drizzle | heavy intensity drizzle | Drizzle |
310 | Drizzle | light intensity drizzle rain | Drizzle |
311 | Drizzle | drizzle rain | Drizzle |
312 | Drizzle | heavy intensity drizzle rain | Drizzle |
313 | Drizzle | shower rain and drizzle | Drizzle |
314 | Drizzle | heavy shower rain and drizzle | Drizzle |
321 | Drizzle | shower drizzle | Drizzle |
500 | Rain | light rain | Rain |
501 | Rain | moderate rain | Rain |
502 | Rain | heavy intensity rain | Rain |
503 | Rain | very heavy rain | Strong rain |
504 | Rain | extreme rain | Strong rain |
511 | Rain | freezing rain | Strong rain |
520 | Rain | light intensity shower rain | Strong rain |
521 | Rain | shower rain | Strong rain |
522 | Rain | heavy intensity shower rain | Strong rain |
531 | Rain | ragged shower rain | Strong rain |
600 | Snow | light snow | Snow |
601 | Snow | Snow | Snow |
602 | Snow | Heavy snow | Snow |
611 | Snow | Sleet | Sleet |
612 | Snow | Light shower sleet | Sleet |
613 | Snow | Shower sleet | Sleet |
615 | Snow | Light rain and snow | Snow |
616 | Snow | Rain and snow | Snow |
620 | Snow | Light shower snow | Snow |
621 | Snow | Shower snow | Snow |
622 | Snow | Heavy shower snow | Snow |
701 | Mist | mist | Hazy |
711 | Smoke | Smoke | Hazy |
721 | Haze | Haze | Hazy |
731 | Dust | sand/ dust whirls | Hazy |
741 | Fog | fog | Foggy |
751 | Sand | sand | Foggy |
761 | Dust | dust | Foggy |
762 | Ash | volcanic ash | Foggy |
771 | Squall | squalls | Rain |
781 | Tornado | tornado | Strong rain |
800 | Clear | clear sky | Cloudless |
801 | Clouds | few clouds: 11-25% | Some clouds |
802 | Clouds | scattered clouds: 25-50% | Some clouds |
803 | Clouds | broken clouds: 51-84% | Cloudy |
804 | Clouds | overcast clouds: 85-100% | Overcast |
Input: Temperature, Celsius, a floating point number, absent or with some value.
If absent, the temperature in the App is set to -?- (meaning undefined).
Else the temperature text in the App is setup from this number, according to the list in Showing temp & visibility icons.
Input: Visibility, meter, an integer number, absent or with value 0 and above.
If absent, the visibility in the App is set to -?- (meaning undefined).
Else the visibility text in the App is setup according to the table below:
Visibility, meter | Visibility in App |
---|---|
>= 10000 | Good |
>= 5000 | Mod. |
>= 1000 | Misty |
>= 180 | Lgt fog |
>= 0 | Hvy fog |
Sailor Logbook App manual - © Copyright 2018 CoaSoft LLC Denmark