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

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

Arrived on {µ.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]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,"UTC:''HH:MM' UTC'")}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 4hOver 24h
{target.data.line.heading}{target.data.line.heading4h}{target.data.line.heading24h}°
{µ.toNumber(target.data.line.speed," ¤1¤.")}{µ.toNumber(target.data.line.dist4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dist24h/1440*60," ¤1¤.")}kts
{µ.toNumber(target.data.line.dog4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dog24h/1440*60," ¤1¤.")}
{µ.toNumber(target.data.line.vmg," ¤1¤.")}{µ.toNumber(target.data.line.vmg4h," ¤1¤.")}{µ.toNumber(target.data.line.vmg24h," ¤1¤.")}kts
{µ.toNumber(target.data.line.dist4h," ¤1¤.")}{µ.toNumber(target.data.line.dist24h," ¤1¤.")}nm
{µ.toNumber(target.data.line.dog4h," ¤1¤.")}{µ.toNumber(target.data.line.dog24h," ¤1¤.")}

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

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
{target.data.line.heading}{target.data.line.heading4h}{target.data.line.heading24h}°
{µ.toNumber(target.data.line.speed," ¤1¤.")}{µ.toNumber(target.data.line.dist4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dist24h/1440*60," ¤1¤.")}kts
{µ.toNumber(target.data.line.dog4h/240*60," ¤1¤.")}{µ.toNumber(target.data.line.dog24h/1440*60," ¤1¤.")}
{µ.toNumber(target.data.line.vmg," ¤1¤.")}{µ.toNumber(target.data.line.vmg4h," ¤1¤.")}{µ.toNumber(target.data.line.vmg24h," ¤1¤.")}kts
{µ.toNumber(target.data.line.dist4h," ¤1¤.")}{µ.toNumber(target.data.line.dist24h," ¤1¤.")}nm
{µ.toNumber(target.data.line.dog4h," ¤1¤.")}{µ.toNumber(target.data.line.dog24h," ¤1¤.")}

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

Stealth mode

{target.data.line.rank}

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

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

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

{µ.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

{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 Cetacean 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