{target.data.getPhotosHtml('')}

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

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

Start{µ.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
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 4hOver 24h
Heading{target.data.line.heading}{target.data.line.heading4h}{target.data.line.heading24h}°
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")}{µ.toNumber(target.data.line.dist4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dist24h/1440*60," ¤1¤.")}kts
overground{µ.toNumber(target.data.line.dog4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dog24h/1440*60," ¤1¤.")}kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")}{µ.toNumber(target.data.line.vmg4h," ¤1¤.")}{µ.toNumber(target.data.line.vmg24h," ¤1¤.")}kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")}{µ.toNumber(target.data.line.dist24h," ¤1¤.")}nm
overground{µ.toNumber(target.data.line.dog4h," ¤1¤.")}{µ.toNumber(target.data.line.dog24h," ¤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'")}

Hour retained{µ.toDate(target.data.line.date,"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 4hOver 24h
Heading{target.data.line.heading}{target.data.line.heading4h}{target.data.line.heading24h}°
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")}{µ.toNumber(target.data.line.dist4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dist24h/1440*60," ¤1¤.")}kts
overground{µ.toNumber(target.data.line.dog4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dog24h/1440*60," ¤1¤.")}kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")}{µ.toNumber(target.data.line.vmg4h," ¤1¤.")}{µ.toNumber(target.data.line.vmg24h," ¤1¤.")}kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")}{µ.toNumber(target.data.line.dist24h," ¤1¤.")}nm
overground{µ.toNumber(target.data.line.dog4h," ¤1¤.")}{µ.toNumber(target.data.line.dog24h," ¤1¤.")}nm

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

Stealth mode

{(" "+target.data.line.rank).slice(-2)}

Start on
Sunday 25 August 2024 at 15h30 FR
Next report at 02h00 FR
{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

Open the leaderboardClose the leaderboard
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 typeTSS Ouessant Chenal du Havre ZI Huquet de Jobourg TSS Casquets TSS Scilly south Parc éolien de St Quay TSS Scilly west TSS Seven Stones TSS Fastnet ZI Parc éolien Calvados Area updated every 5 minutes

Race tracker

www.geovoile.com


Tracking
Yellowbrick
www.ybtracking.com


Calculations
René Boulaire


Weather
Météo Consult
www.meteoconsult.com