Polars & Boat Performance

Route on your boat, not a generic cruiser

Every ETA, every tack, every comfort score a routing product gives you is downstream of one table: your boat's polar. Most apps quietly route everyone on the same synthetic cruiser. OpenSail attaches a curve for your model the moment you name her — then gets out of the way when you have the real thing.

Pick your model. Get her curve.

Live demo · the real catalog

71 production models, curated from published base-model specifications. Every curve is labeled a catalog estimate — never passed off as measured data — and you can replace it with your sailmaker’s polar in two clicks.

Lagoon 42catamaransloop
LOA 12.8 m / 42 ftBeam 7.7 mDraft 1.25 mDispl. 12,100 kg / 26,676 lbSail 97 m² · tops out ~12.4 kt
4kt7kt11kt14kt0°30°45°60°90°120°150°180°8 kt wind12 kt wind15 kt wind20 kt wind

What you're looking at

Each colored line is one wind strength. Follow it from the top of the diagram (sailing dead upwind) around to the bottom (dead downwind) and the distance from center is the boat speed she can hold at that angle. The notch near the top is the no-go zone; the bulge through 90–120° is where reaching boats make their miles.

That shape is why routing exists. A catamaran's wide reaching bulge and a heavy cutter's narrow one produce different best routes through the same forecast — different tack points, different downwind angles, different ETAs. Swap models in the demo above and watch the curve change; the solver feels exactly that difference on every candidate heading.

The router never reduces this to one number. The Rust solver interpolates across the full table — wind speed and angle — thousands of times per route, and comfort modes derate the same curve differently rather than pretending your family cruises at race trim.

What the solver reads

polar lookup · candidate heading 118° tws 16.4 kt twa 112° table cells (15,105) (15,120) (18,105) (18,120) bilinear → boat speed 7.9 kt × ~40,000 candidate headings per route your curve IS the route

Three tiers, one honest ladder

1 · Catalog curve, day one

Name your production model and a physics-scaled estimate attaches instantly — hull speed from her waterline, power from her sail-area-to-displacement ratio, multihull reaching bonus where it belongs. Labeled a catalog estimate, because that's what it is.

2 · Upload the real file

POL, CSV, TXT, or JSON from your sailmaker, ORC certificate, or class association — parsed with an instant diagram preview. Ambiguous or misaligned files are refused with a reason, never silently shifted onto the wrong wind speeds.

3 · Tune it by hand

Every polar opens as a table with the diagram redrawing live. Correct the cells you know from your own log; blanks fill by interpolation at save. What you see plotted is byte-for-byte what routing uses.

Provenance, always visible

Every boat wears her polar's origin as a badge — catalog, uploaded, or custom — in the fleet and in the planner. You always know whether a route ran on an estimate or on your measured curve.

Honest ETAs for owners

An ETA computed on someone else's boat is fiction with a timestamp. Your polar is what turns “about two days” into an arrival your crew can plan watches, fuel, and tides around.

Sharper everything else

Comfort scoring, motor-sail decisions, the departure planner's 48 candidate windows, anchor-arrival timing — all of it reads the same curve. Improve the polar once and every feature sharpens together.

What it does not do

Honest limitations

  • A catalog curve is an estimate for the base model. Your keel option, folding prop, cruising load, and last season's bottom growth all move the real numbers — which is exactly why the curve is editable and labeled.
  • No polar knows sea state. The solver layers waves and comfort limits on top, but a polar cell is flat-water performance; treat downwind numbers in a big swell with seamanlike suspicion.
  • Routing quality is bounded by polar honesty. If the table says 7 knots upwind and she does 5, the ETA is fiction — whichever app computed it. Garbage in, garbage routed.

Frequently asked questions

What is a polar diagram?

A polar is your boat's performance map: for each true wind speed and each angle off the wind, the boat speed she can actually sail. Plotted radially it looks like a set of nested curves — dead upwind at the top, dead downwind at the bottom. Every serious routing decision (when to tack, whether the reach is worth the extra miles, what your ETA really is) is a polar lookup.

Where does my boat's starting polar come from?

Pick your production model at signup and OpenSail attaches a catalog-estimate curve immediately: a physics-scaled cruiser curve derived from the model's published specifications (hull type, waterline-based hull speed, and sail-area-to-displacement ratio). It is honestly labeled an estimate — a plausible curve for that model, never passed off as measured data — and it routes far better than the generic default every other product silently uses.

Why not use the manufacturer's official polar?

Because for most cruising boats there isn't one. Very few builders publish measured polars; what exists is scattered across ORC certificates for raced hulls, sailmaker VPP runs, and class associations — each with different assumptions about sails, load, and sea state. Where an owner has any of those, OpenSail imports the file directly. Where nobody has one, an honest labeled estimate beats a confident fabrication.

Can I upload my real polar?

Yes — POL, CSV, TXT, and JSON files import with an instant diagram preview, including sailmaker exports with semicolon or tab layouts and European decimal commas. Malformed files are rejected loudly at save with a plain-language reason, never silently misread — a shifted column in a polar is worse than no polar.

Can I edit the polar by hand?

Every polar opens as an editable table — boat speed per wind speed and angle — with the diagram redrawing as you type. Fill in what you know; blank cells are completed by interpolation at save, and the diagram always shows exactly the table routing will use. Nothing you entered is ever silently dropped.

How does the router actually use it?

The Rust isochrone solver reads the full two-dimensional table — every wind speed, every angle — and interpolates between cells for each candidate heading, thousands of times per route. It is not a hull-speed cap or a single number: the shape of your curve is what decides when the solver tacks, how wide it sails the downwind angles, and what ETA it commits to.

What if my boat isn't in the catalog?

Enter her basic specs and OpenSail estimates a starting curve from naval-architecture ratios, clearly labeled as estimated. She routes the same day; refine the polar whenever you have better numbers.

Keep exploring

Add her once, route with her forever

Pick your model and she routes on her own curve today. Coastal routes up to 200 nm are free.

Add your boat