Polars
Polars is an interactive viewer application for sailing-related polar diagrams on macOS.
Download and installation
- Download the application for macOS.
- Unzip and move the application to your
~/Applications
folder on your Mac.
For a quickstart guide and links to sample diagrams look at the #quickstart-guide.
Features
- Open multiple polar diagrams at once in individual windows (document-based application)
- Import polar diagrams from CSV files (ORC, OpenCPN, Array, and HRO-style formats)
- Interactive, integrated display of polar diagrams visualizing multiple aspects at once
- Zoom in and out of the polar diagram by changing the windspeed scale (TWS)
- Interpolation for any chosen true wind speed (TWS) and true wind angle (TWA)
- Interactive display of values in the diagram
- Calculation and visualization of apparent wind angle (AWA) and speed (AWS) via the “wind trianlge” \(\vec{W}_a = \vec{W}_t + \vec{V}_b\) (where the vector \(\vec{W}_a\) is the apparent wind, \(\vec{W}_t\) is the true wind, and \(\vec{V}_b\) is the boat velocity).
- Two modes for showing routing information: “VMG” and “Optimal Headings”
- VMG routing display: displaying velocity made good (VMG), i.e. the current, proportionate velocity in wind direction: VMG \(= \cos(\)TWA\() \cdot |\vec{V}_b|\) (where TWA is the true wind angle and \(|\vec{V}_b|\) the boat’s speed over ground)
- Optimal Headings routing display: shows the optimal pair of headings for the desired direction and the achievable velocity made on course (VMC) (in case the direct course would be slower or not steerable)
- Save and load polar diagrams in the application’s native “.polar” file format (JSON-based)
Quickstart guide
Open saved polar diagram files or import data from CSV files:
- Download sample files here: polars-samples.zip
- Open the polar diagram in the sample .polar file by choosing “File” → “Open…” (or press Command-“O”), or
- import the sample CSV files to create new polar diagrams by choosing “File” → “Import from CSV…” from the menu (or press Command-Alt-“I”) and choose the appropriate format.
The diagram should be shown. Hover with the mouse over the diagram. Enable “Show Interpolation and Routing” for more interaction. If the sidebar is not shown, use the sidebar button in the toolbar of the window.
tip
You can copy and paste CSV data from ORC boat profiles on https://jieter.github.io/orc-data/site/ into a text file and import that as a CSV with the “ORC” mode.
Notes on Polar’s architecture
Polars app is a desktop application integrating the hrosailing
Python framework (https://github.com/hrosailing/hrosailing/) for the “heavy-lifting”. From the project’s README:
The hrosailing package provides various tools and interfaces to visualize, create and work with polar (performance) diagrams.
As Polar’s diagrams have a very interactive nature, its implementation is not using the matplotlib
-based plotting functionality that comes with hrosialing
. Instead the visualization and interaction with polar diagrams are implemented natively in SwiftUI.
note
There are two variants of interpreting (and displaying) a polar diagram:
- Either you consider the wind direction fixed (from the top) and read the diagram for a boat pointing in different directions, or
- you consider the boat heading fixed (pointing up) and read the diagram for any (true) wind direction around the boat.
Both ways are equivalent, the only difference is, that data needs to be flipped (\(360° - \)TWA/HDG) in one of the variants – depending on how the data was created. The Polars application choses the first variant where the boat heading can be manipulated with the mouse.
Availability
Polars is an application developed for macOS (the application is notarized and fully sandboxed).
The Polars application is currently available as a beta version. If you have feedback on this early version of Polars, please contact me via the contact form.
warning
Beta Limitations and known issues:
- Missing: No support for extended ORC CSV syntax
- Missing: No meaningful error handling when importing from CSV (e.g. wrong format, invalid syntax, etc.)
- Missing: Help pages are not available yet