Tidal Streams in Bardsey Sound

Author

Rich Bown

Published

April 1, 2023

Introduction

Bardsey Sound is a stretch of water around 2 nautical miles wide and 1.5 nautical miles long which separates the island of Bardsey from the tip of the Llyn Peninsula of North Wales:

The Sound is bounded at the north-west end by the headland of Braich y Pwll and at the south-east end by the headland of Pen–y-Cil. The Isle of Bardsey (Ynys Enlli) lies to the south-south west of the section of coastline between these headlands:

(Maps constructed from a MHWS polygon (Holmes 2017)).

Tides flow strongly in the Sound, with the chart indicating a flow of 5-6 knots. However, there is little concrete data available on when this flow changes direction, and different sources can be contradictory.

Bardsey Island is a popular destination among experienced sea kayakers. Kayakers normally plan to cross to Bardsey when the tidal flow in the Sound is slack. The times of slack water are thus of great interest to the sea kayaking community. Anecdotal evidence suggests that the information given in the standard guidebook (Krawiecki and Biggs 2022) may be incorrect.

These notes aim to collect together available data on tidal streams in Bardsey Sound and come to a best guess of when slack water times might be.

Technical details

Several of the data sources used were not intended to yield slack water times and require processing and analysis to provide the information that we need. The R language is used throughout.

It will be useful to define a simple function to convert times in decimal hours to hours and minutes - e.g. -4.35 to -4:21:

library(stringr)
format_hrmin<-function(tin){
  M2=12.4206012
  if(tin> M2/2){
    tin=tin-M2
  }
  if(tin< -M2/2){
    tin=tin+M2
  }
  
  if(tin<0){
    tin=tin*-1
    sign='-'
  } else {
    sign='+'
  }
  hours=floor(tin)
  minutes=(tin-floor(tin))*60
  minutes=round(minutes,0)
  if(minutes==60){
    minutes=0
    hours=hours+1
  }
  minutes=str_pad(minutes, 2, pad = "0")
  
  return(paste(sign,hours,':',minutes,sep=''))
}

save(format_hrmin,file = "format_hrmin.RData")

#We will retrieve this function using:
#load(file = "format_hrmin.RData")

format_hrmin(-4.35)
[1] "-4:21"