{target.getPhotosHtml('')}

{''=='' ? target.boat.name : target.getSailorsHtml('#fname# #lname#')}

{''=='reverse' ? target.boat.name : target.getSailorsHtml('#fname# #lname#')}

{target.boat.externalUrl=='' ? '' : ' '}

Start on {µ.toDate(target.boatClass.run.date,"FR:dddd dd mmmm ' at ' HH:MM 'FR'")}

Total distance : {µ.toNumber(target.line.dtf," ¤1¤.")} nm

Arrived on {µ.toDate(target.boat.arrival.date,"FR:dd/mm/yyyy ' at ' HH:MM:ss 'FR'")}

In {µ.toRacetime(target.boat.arrival.racetime, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

{µ.toDate(target.line.date,"FR:HH:MM'FR'")} • {target.line.heading} ° • {µ.toNumber(target.line.speed," ¤1¤.")} kts

{µ.toNumber(target.line.dtf," ¤1¤.")} nm

{µ.toDate(target.line.date,"FR:HH:MM'FR'")} • {target.line.heading} ° • {µ.toNumber(target.line.speed," ¤1¤.")} kts

{µ.toNumber(target.line.dtf," ¤1¤.")} nm+{µ.toNumber(target.line.dtl," ¤1¤.")} nm

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

Stealth mode

100%
{target.data.getPhotosHtml('')}

{''=='' ? target.boat.name : target.data.getSailorsHtml('#fname# #lname#')}

{''=='reverse' ? target.boat.name : target.data.getSailorsHtml('#fname# #lname#')}

Start on {µ.toDate(target.data.boatClass.run.date,"FR:dddd dd mmmm ' at ' HH:MM 'FR'")}

Total distance{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Arrived on {µ.toDate(target.boat.arrival.date,"FR:dd/mm/yyyy ' at ' HH:MM:ss 'FR'")}


Race time {µ.toRacetime(target.boat.arrival.racetime, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Penalty {µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Bonus {µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Official time {µ.toRacetime(target.boat.arrival.jury, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Gap to first {µ.toRacetime(target.boat.arrival.gapToFirst, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Gap to previous {µ.toRacetime(target.boat.arrival.gapToPrevious, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}


Over the orthodromy {µ.toNumber(target.boat.arrival.orthoDistance, " ¤1¤.")} nm / {µ.toNumber(target.boat.arrival.orthoSpeed, " ¤1¤.")} kts

Over ground {µ.toNumber(target.boat.arrival.overgroundDistance, " ¤1¤.")} nm / {µ.toNumber(target.boat.arrival.overgroundSpeed, " ¤1¤.")} kts

Hour retained{µ.toDate(target.data.line.date,"FR:''HH:MM' FR'")}lag

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Dist to leader+{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm{µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm

Over 30minOver 2h
Heading{target.data.line.heading} °{target.data.line.heading1} °{target.data.line.heading2} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist1/30*60," ¤1¤.")} kts{µ.toNumber(target.data.line.dist2/120*60," ¤1¤.")} kts
overground{µ.toNumber(target.data.line.dog1/30*60," ¤1¤.")} kts{µ.toNumber(target.data.line.dog2/120*60," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg1," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg2," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist1," ¤1¤.")} nm{µ.toNumber(target.data.line.dist2," ¤1¤.")} nm
overground{µ.toNumber(target.data.line.dog1," ¤1¤.")} nm{µ.toNumber(target.data.line.dog2," ¤1¤.")} nm

At {µ.toDate(target.boat.track.currentLocation.timecode*1000,"FR:''HH:MM' FR'")}

Heading : {target.boat.track.currentLocation.heading}° • Speed : {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} nds • Dist. to fin. : {µ.toNumber(target.data.line.track.slice(-1)[0].slice(-1)[0]," ¤2¤.")} nm

At report on {µ.toDate(target.data.line.report.timecode*1000,"FR:''HH:MM' FR'")}

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Dist to leader+{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm{µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm

Over 30minOver 2h
Heading{target.data.line.heading} °{target.data.line.heading1} °{target.data.line.heading2} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist1/30*60," ¤1¤.")} kts{µ.toNumber(target.data.line.dist2/120*60," ¤1¤.")} kts
overground{µ.toNumber(target.data.line.dog1/30*60," ¤1¤.")} kts{µ.toNumber(target.data.line.dog2/120*60," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg1," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg2," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist1," ¤1¤.")} nm{µ.toNumber(target.data.line.dist2," ¤1¤.")} nm
overground{µ.toNumber(target.data.line.dog1," ¤1¤.")} nm{µ.toNumber(target.data.line.dog2," ¤1¤.")} nm

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

Stealth mode

{target.data.line.rank}

24h/s

DTL Speed over 24h Rank
{target.rank}{sig.getBoat(target.boat).name} {µ.toRacetime(target.time, "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")} {µ.toRacetime(target.gap2first, "+ [0]j [1]h [2]min [3]s¤+ [0]h [1]min [2]s¤+ [0]min [1]s¤+ [0]s¤¤N/A")} {µ.toNumber(target.sog," ¤1¤.")} nds
Check at least one line confirm the action confirm the deletion ? automatic type Windfarm Guérande Windfarm Houedic Zone de tir R13A1

Race tracker & calculation

www.geovoile.com


Tracking
Yellowbrick
www.ybtracking.com


Weather
D-ICE Engineering
www.dice-engineering.com