{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,"UTC:dddd dd mmmm ' at ' HH:MM 'UTC'")}

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

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


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]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Bonification{µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]j [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]j [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]j [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]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}


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

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

Hour retained{µ.toDate(target.data.line.date,"UTC:HH:MM")}UTC
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,"UTC:''HH:MM' UTC'")}

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,"UTC:''HH:MM' UTC'")}

Hour retained{µ.toDate(target.data.line.date,"UTC:HH:MM")}UTC
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)}

DTL Speed over 24h Rank
The Transat 2024
Start on
Sunday 28 April 2024 at 11h30 UTC
Update every hour
{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,"UTC:dddd dd mmmm ' at ' HH:MM 'UTC'")}

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

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

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")}

Time retained for calculation : {µ.toDate(target.line.date,"UTC:HH:MM' UTC'")}
{target.line.heading} °
{µ.toNumber(target.line.speed," ¤1¤.")} kts
{µ.toNumber(target.line.dtf," ¤1¤.")} nm
Time retained for calculation : {µ.toDate(target.line.date,"UTC:HH:MM' UTC'")}
{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
{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 typeCetacean protection zone Cetacean protection zone Cetacean protection zone TSS Ouessant TSS Finisterre TSS Cabo de Roca TSS Scilly south TSS Scilly west TSS Fastnet Area updated every 5 minutes
Race tracker

www.geovoile.com
Calculations
René Boulaire
Weather
Météo Consult
www.meteoconsult.com