Assignment 1: Calculating Sea Level Rise around Ireland

Loading the relevant packages:

library(maps);
## Warning: package 'maps' was built under R version 3.5.3
library(RColorBrewer)
library(lattice)
library(latticeExtra)
library(VulnToolkit)
library(leaflet)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Setting the working directory:

setwd("D:/Documentos D/MSc Climate Change/GY667 - The Ocean and Climate Change/Assignment 1")

DESCRIBE THE NATIONAL TIDE GAUGE NETWORK

Using the monthly mean sea level data produced by the class in Workshop 2, create a plot of the locations and records of the National Tide Gauge Network similar to that shown for the PSMSL data in Figure 1.

Note 1: these can be two separate plots.

Note 2: the records on the right hand plot are arbitrarily offset in the vertical

Load the National Tide Gauge Network (NTGN) data from .csv ???le:

Arklow <- read.csv(file="arklow_monthly.csv", skip=1, header = TRUE)
Ballycotton <- read.csv(file="ballycotton_monthly.csv", skip=1, header = TRUE)
Ballyglass <- read.csv(file="ballyglass_monthly.csv", skip=1, header = TRUE)
Castletownbere <- read.csv(file="castletownbere_monthly.csv", skip=1, header = TRUE)
Dublin <- read.csv(file="dublin_monthly.csv", skip=1, header = TRUE)
DunmoreEast <- read.csv(file="dunmore_east_monthly.csv", skip=1, header = TRUE)
Fenit <- read.csv(file="fenit_monthly.csv", skip=1, header = TRUE)
Galway <- read.csv(file="galway_monthly.csv", skip=1, header = TRUE)
Howth <- read.csv(file="howth_monthly.csv", skip=1, header = TRUE)
Malin <- read.csv(file="malin_monthly.csv", skip=1, header = TRUE)
PortOriel <- read.csv(file="port_oriel_monthly.csv", skip=1, header = TRUE)
Ringaskiddy <- read.csv(file="ringaskiddy_monthly.csv", skip=1, header = TRUE)
Rossaveel <- read.csv(file="rossaveel_monthly.csv", skip=1, header = TRUE)

Sorting the data:

Arklow_data <-c("day","month","year","sl","time","lat","lon")
Ballycotton_data <-c("day","month","year","sl","time","lat","lon")
Ballyglass_data <-c("day","month","year","sl","time","lat","lon")
Castletownbere_data <-c("day","month","year","sl","time","lat","lon")
Dublin_data <-c("day","month","year","sl","time","lat","lon")
DunmoreEast_data <-c("day","month","year","sl","time","lat","lon")
Fenit_data <-c("day","month","year","sl","time","lat","lon")
Galway_data <-c("day","month","year","sl","time","lat","lon")
Howth_data <-c("day","month","year","sl","time","lat","lon")
Malin_data <-c("day","month","year","sl","time","lat","lon")
PortOriel_data <-c("month","year","sl","time","lat","lon")
Ringaskiddy_data <-c("day","month","year","sl","time","lat","lon")
Rossaveel_data <-c("month","year","sl","time","lat","lon")

Adding latitude and longitude variables:

arklow.lat <- Arklow$lat[1]
arklow.lon <- Arklow$lon[1]
ballycotton.lat <- Ballycotton$lat[1]
ballycotton.lon <- Ballycotton$lon[1]
ballyglass.lat <- Ballyglass$lat[1]
ballyglass.lon <- Ballyglass$lon[1]
castletownbere.lat <- Castletownbere$lat[1]
castletownbere.lon <- Castletownbere$lon[1]
dublin.lat <- Dublin$lat[1]
dublin.lon <- Dublin$lon[1]
dunmore_east.lat <- DunmoreEast$lat[1]
dunmore_east.lon <- DunmoreEast$lon[1]
fenit.lat <- Fenit$lat[1]
fenit.lon <- Fenit$lon[1]
galway.lat <- Galway$lat[1]
galway.lon <- Galway$lon[1]
howth.lat <- Howth$lat[1]
howth.lon <- Howth$lon[1]
malin.lat <- Malin$lat[1]
malin.lon <- Malin$lon[1]
port_oriel.lat <- PortOriel$lat[1]
port_oriel.lon <- PortOriel$lon[1]
ringaskiddy.lat <- Ringaskiddy$lat[1]
ringaskiddy.lon <- Ringaskiddy$lon[1]
rossaveel.lat <- Rossaveel$lat[1]
rossaveel.lon <- Rossaveel$lon[1]

Plotting the location of the NTGN:

map("world",c("ireland","uk"),fill=TRUE,xlim=c(-12,-4),ylim=c(51,56))
map.axes(cex.axis=1)
title(main="Ireland Tide Gauge Locations",xlab="Longitude",ylab="Latitude")
points(-6.145231,52.792046
       ,pch=21,col="gray",bg="red") # Arklow
points(-8.0007,51.8278
       ,pch=21,col="gray",bg="red") # Ballycotton
points(-9.8928,54.2536
       ,pch=21,col="gray",bg="red") # Ballyglass
points(-9.9034,51.6496
       ,pch=21,col="gray",bg="red") # Castletownbere
points(-6.2217,53.3457
       ,pch=21,col="gray",bg="red") # Dublin
points(-6.99188,52.14767
       ,pch=21,col="gray",bg="red") # Dunmore East
points(-9.8635645,52.270702
       ,pch=21,col="gray",bg="red") # Fenit
points(-9.048,53.269
       ,pch=21,col="gray",bg="red") # Galway
points(-6.0683,53.3915
       ,pch=21,col="gray",bg="red") # Howth
points(-7.3344,55.3717
       ,pch=21,col="gray",bg="red") # Malin
points(-6.221441, 53.798042
       ,pch=21,col="gray",bg="red") # Port Oriel
points(-8.305566, 51.83496
       ,pch=21,col="gray",bg="red") # Ringaskiddy
points(-9.562056, 53.266926
       ,pch=21,col="gray",bg="red") # Rossaveel

Loading the Permanent Service for Mean Sea Level (PSMSL) data from .txt ???le:

Bangor_PSMSL <- read.table(file.path("1856.metdata_bangor.txt"),sep=";",na.strings = c("-99999"))
Belfast_PSMSL <- read.table(file.path("861.metdata_belfast1.txt"),sep=";",na.strings = c("-99999"))
Belfast2_PSMSL <- read.table(file.path("219.metdata_belfast2.txt"),sep=";",na.strings = c("-99999"))
Dublin_PSMSL <- read.table(file.path("432.metdata_dublin.txt"),sep=";",na.strings = c("-99999"))
MalinHead_PSMSL <- read.table(file.path("916.metdata_malin head.txt"),sep=";",na.strings = c("-99999"))
Portrush_PSMSL <- read.table(file.path("1867.metdata_portrush.txt"),sep=";",na.strings = c("-99999"))

Sorting the PSMSL data:

Bangor_PSMSL_data <-c("year","month","sl","lat","lon")
Belfast_PSMSL_data <-c("year","month","sl","lat","lon")
Belfast2_PSMSL_data <-c("year","month","sl","lat","lon")
Dublin_PSMSL_data <-c("year","month","sl","lat","lon")
MalinHead_PSMSL_data <-c("year","month","sl","lat","lon")
Portrush_PSMSL_data <-c("year","month","sl","lat","lon")

Adding latitude and longitude variables:

bangor.txt.lat <- Bangor_PSMSL$lat[1]
bangor.txt.lon <- Bangor_PSMSL$lon[1]
belfast.txt.lat <- Belfast_PSMSL$lat[1]
belfast.txt.lon <- Belfast_PSMSL$lon[1]
belfast2.txt.lat <- Belfast2_PSMSL$lat[1]
belfast2.txt.lon <- Belfast2_PSMSL$lon[1]
dublin.txt.lat <- Dublin_PSMSL$lat[1]
dublin.txt.lon <- Dublin_PSMSL$lon[1]
malin_head.txt.lat <- MalinHead_PSMSL$lat[1]
malin_head.txt.lon <- MalinHead_PSMSL$lon[1]
portrush.txt.lat <- Portrush_PSMSL$lat[1]
portrush.txt.lon <- Portrush_PSMSL$lon[1]

Converting the yearly data into monthly:

Arklow\(Year <- Arklow\)Year + (Arklow\(Month -.5)/12 Ballycotton\)Year <- Ballycotton\(Year + (Ballycotton\)Month -.5)/12 Ballyglass\(Year <- Ballyglass\)Year + (Ballyglass\(Month -.5)/12 Castletownbere\)Year <- Castletownbere\(Year + (Castletownbere\)Month -.5)/12 Dublin\(Year <- Dublin\)Year + (Dublin\(Month -.5)/12 DunmoreEast\)Year <- DunmoreEast\(Year + (DunmoreEast\)Month -.5)/12 Fenit\(Year <- Fenit\)Year + (Fenit\(Month -.5)/12 Galway\)Year <- Galway\(Year + (Galway\)Month -.5)/12 Howth\(Year <- Howth\)Year + (Howth\(Month -.5)/12 Malin\)Year <- Malin\(Year + (Malin\)Month -.5)/12 PortOriel\(Year <- PortOriel\)Year + (PortOriel\(Month -.5)/12 Ringaskiddy\)Year <- Ringaskiddy\(Year + (Ringaskiddy\)Month -.5)/12 Rossaveel\(Year <- Rossaveel\)Year + (Rossaveel$Month -.5)/12

Plotting the record lengths of the NTGN:

plot(Howth$Year, Howth$sl +6.0, type='l', col='firebrick', xlab = "Year", ylab = '',
ylim = c(7.0, -7.0), xlim = c(2000, 2020), yaxt = 'n', main = "NTGN")
lines(Malin$Year, Malin$sl +5.0, col='blue')
lines(PortOriel$Year, PortOriel$sl +4.0, col='pink')
lines(Ringaskiddy$Year, Ringaskiddy$sl +3.0, col='violet')
lines(Rossaveel$Year, Rossaveel$sl +2.0, col='green')
lines(Dublin$Year, Dublin$sl +1.0, col='yellow')
lines(DunmoreEast$Year, DunmoreEast$sl +0.0, col='orange')
lines(Fenit$Year, Fenit$sl -1.0, col='gray')
lines(Galway$Year, Galway$sl -2.0, col='brown')
lines(Arklow$Year, Arklow$sl -3.0, col='dark green')
lines(Ballycotton$Year, Ballycotton$sl -4.0, col='turquoise')
lines(Ballyglass$Year, Ballyglass$sl -5.0, col='black')
lines(Castletownbere$Year, Castletownbere$sl -6.0, col='red')

legend("bottomleft", legend=c("Castletownbere", "Ballyglass", "Ballycotton", 
"Arklow", "Galway", "Fenit", "Dunmore East", "Dublin", "Rossaveel", "Ringaskiddy", 
"Port Oriel", "Malin Head", "Howth"), col= c("red", "black", "turquoise", "dark green", 
"brown", "gray", "orange", "yellow", "green", "violet", "pink", "blue", 
"firebrick"), cex = 0.5, lty=1,lwd=1, bty="n")

Plotting the record lengths of the PSMSL archive:

plot(Bangor_PSMSL$V1, Bangor_PSMSL$V2, type='l', col='red', main = "PSMSL - record lengths", xlab = 'Time', xlim = c(1920,2015), ylab = 'Sea Level Height', ylim = c(1800,7000),yaxt = 'n')
lines(Belfast_PSMSL$V1, Belfast_PSMSL$V2+1000,col='blue')
lines(Dublin_PSMSL$V1, Dublin_PSMSL$V2+2000,col='green')
lines(MalinHead_PSMSL$V1, MalinHead_PSMSL$V2+3000,col='turquoise')
lines(Portrush_PSMSL$V1,Portrush_PSMSL$V2+4000,col='pink') 

legend("bottomleft", legend=c("Malin Head", "Portrush", "Dublin", 
"Belfast", "Bangor"), col= c("turquoise","pink", "green", "blue", 
"red"), cex = 0.5, lty=1,lwd=1, bty="n")

DOWNLOAD THE PSMSL RECORDS

Go to www.psmsl.org. Locate the island of Ireland records plotted in Figure 1. Download them. They are csv or txt format. Note the arbitrary units.

Two of these records at the same location as records in the NTGN. Merge them. Note, there may be arbitrary offsets. Investigate and explain these.

The Dublin data and the Malin Head data need to be merged. However, the NTGN data is in meters, while the rest of the data is in millimeters, so it needs to be converted.

Dublin merge and offset:

Dublin_PSMSL$V2-7007
##   [1] -4849 -4989 -4861 -5014 -5026 -4962 -4962 -4962 -4925 -4849 -4721
##  [12] -4822 -4669 -4861 -4959 -4873 -4913 -5001 -4889 -4986 -4937 -4825
##  [23] -4721 -4809 -4837 -4825 -4873 -4913 -4886 -4959 -4913 -5001 -4925
##  [34] -4761 -4809 -5014 -4825 -4721 -4937 -4937 -4950 -4898 -4834 -4886
##  [45] -4962 -4886 -4773 -4974 -5047 -5102 -4931 -4956 -4849 -4962 -4913
##  [56] -4855 -4831 -4773 -4925 -4697 -4736 -5050 -4971 -4950 -4962 -4925
##  [67] -4873 -4797 -4843 -4709 -4913 -4931 -4895 -5047 -5026 -4925 -4968
##  [78] -4873 -4855 -4867 -4907 -4895 -4797 -4919 -5041 -4925 -5014 -4898
##  [89] -4825 -4873 -4873 -4898 -4873 -4785 -4797 -4684 -4825 -5001 -4907
## [100] -5014 -4892 -4849 -4913 -4861 -4797 -4819 -4709 -4913 -4873 -4898
## [111] -4758 -4785 -4861 -4797 -4822 -4950 -4873 -4925 -4803 -4913 -4675
## [122] -4895 -4916 -4898 -4889 -4901 -4913 -4825 -4822 -5004 -4782 -4691
## [133] -4980 -4873 -4995 -4904 -4922 -4965 -4965 -4834 -4767 -4721 -4751
## [144] -4843 -4922 -4782 -4898 -4950 -4944 -4919 -5004 -4822 -4812 -4822
## [155] -4812 -4904 -4742 -4767 -4852 -4940 -4913 -4879 -4910 -4834 -4773
## [166] -4855 -4654 -4755 -4907 -4956 -4794 -4879 -4861 -4864 -4959 -4849
## [177] -4916 -4788 -4904 -4858 -4977 -4989 -5041 -4867 -4944 -4947 -4867
## [188] -4745 -4791 -4828 -4797 -4791 -5020 -4953 -4831 -5011 -4928 -4870
## [199] -4895 -4855 -4794 -4736 -4736 -4858 -4800 -4812 -4947 -4934 -4843
## [210] -4794 -4849 -4819 -4764 -4782 -4797 -4718 -4861 -5072 -4898 -4986
## [221] -4986 -5004 -4898 -4864 -4819 -4922 -4977 -4831 -4937 -4774 -4820
## [232] -5072 -4959 -4969 -4921 -4872 -4854 -4838 -4835 -4794 -4817 -4793
## [243] -4835 -4966 -4861 -4841 -4840 -4817 -4793 -4851 -4921 -4700 -4829
## [254] -4990 -4800 -4854 -4952 -4887 -4882 -4915 -4922 -4782 -4680 -4656
## [265] -4833 -4744 -4818 -4938 -4891 -4907 -4790 -4791 -4832 -4672 -4581
## [276] -4791 -4816 -4780 -4912 -4777 -4837 -4862 -4887 -4829 -4738 -4701
## [287] -4781 -4695 -4728 -4993 -4912 -5040 -5011 -4941 -4911 -4873 -4834
## [298] -4796 -4831 -4869 -4903 -4815 -4812 -4834 -4938 -4836 -4862 -4882
## [309] -4971 -4844 -4599 -4760 -4924 -4864 -4869 -4884 -4823 -4844 -4887
## [320] -4879 -4834 -4869 -4867 -4861 -4835 -5039 -4886 -4964 -4885 -4808
## [331] -4908 -4887 -4822 -4785 -4752 -4760 -4773 -4611 -4992 -4830 -4867
## [342] -4799 -4867 -4821 -4805 -4748 -4909 -4867 -4879 -4811 -4906 -5032
## [353] -4821 -4948 -4911 -4869 -4821 -4732 -4869 -4979 -4931 -4870 -4940
## [364] -4867 -4904 -4861 -4947 -4904 -4773 -4718 -4675 -4739 -4710 -4866
## [375] -4876 -4942 -4809 -4820 -4901 -4850 -4821 -4737 -4802 -4944 -4752
## [386] -4989 -5080 -5009 -4980 -4868 -4877 -4880 -4815 -4882 -4734 -4924
## [397] -4723 -4928 -4967 -4900 -4843 -4858 -4885 -4819 -4870 -4806 -4905
## [408] -4867 -4862 -4763 -4866 -4911 -4875 -4835 -4906 -4921 -4898 -4808
## [419] -4825 -4700 -4867 -4967 -4942 -5005 -4851 -4924 -4881 -4902 -4834
## [430] -4870 -4831 -4837 -4638 -4814 -4936 -4874 -4891 -4879 -4876 -4863
## [441] -4806 -4983 -4775 -4876 -4740 -4873 -4950 -4980 -5002 -4967 -4896
## [452] -4939 -4861 -4840 -4874 -4997 -4927 -4932 -4951 -5057 -4955 -4972
## [463] -4946 -4975 -4911 -4691 -4930 -4807 -4843 -4729 -4804 -4988 -4974
## [474] -4945 -4944 -4976 -4884 -4751 -4834 -4758 -4720 -4586 -4638 -4717
## [485] -4762 -4714 -4728 -4713 -4618 -4729 -4717 -4400 -4585 -4612 -4689
## [496] -4749 -4712 -4723 -4720 -4665 -4667 -4546 -4666 -4604 -4648 -4660
## [507] -4677 -4773 -4692 -4664 -4701 -4694 -4669 -4659 -4642 -4721 -4868
## [518] -4781 -4671 -4860 -4648 -4741 -4767 -4770 -4602 -4663 -4690 -4586
## [529] -4640 -4611 -4743 -4790 -4744 -4674 -4728 -4676 -4540 -4488 -4488
## [540] -4560 -4597 -4754 -4714 -4750 -4560 -4725 -4871 -4736 -4631 -4504
## [551] -4566 -4489 -4642 -4763 -4754 -4758 -4733 -4736 -4704 -4687 -4653
## [562] -4656 -4412 -4590 -4617 -4590 -4660 -4660 -4701 -4675 -4632 -4520
## [573] -4597 -4602 -4591 -4444 -4587 -4627 -4617 -4757 -4597 -4647 -4587
## [584] -4597 -4667 -4527 -4497 -4527 -4647 -4557 -4647 -4587 -4747 -4577
## [595] -4647 -4597 -4497 -4407 -4547 -4417 -4407 -4567 -4627 -4457 -4587
## [606] -4617 -4497 -4557 -4577 -4477 -4467 -4577 -4582 -4517 -4572 -4632
## [617] -4642 -4717 -4937 -4542 -4627 -4507 -4582 -4307 -4422 -4312 -4647
## [628] -4722 -4657 -4592 -4617 -4587 -4617 -4422 -4202 -4607 -4567 -4627
## [639] -4597 -4647 -4787 -4537 -4607 -4707 -4637 -4627 -4587 -4707 -4737
## [650] -4717 -4772 -4762 -4752 -4802 -4602 -4552 -4752 -4702 -4662 -4577
## [661] -4496 -4809 -4713 -4616 -4613 -4638 -4648 -4700 -4523 -4557 -4581
## [672] -4545 -4583 -4528 -4638 -4745 -4591 -4678 -4648 -4679 -4707 -4602
## [683] -4549 -4536 -4587 -4584    NA -4804 -4733 -4790 -4742 -4810 -4668
## [694] -4560 -4568 -4553 -4384 -4692 -4659 -4629 -4586 -4753 -4807 -4736
## [705] -4653 -4529 -4603 -4603 -4557 -4577 -4627 -4757 -4757 -4677 -4777
## [716] -4627 -4637    NA -4547    NA    NA    NA -4839 -4694 -4834 -4702
## [727]    NA -4754 -4677 -4606 -4694 -4649 -4592 -4816    NA -4759 -4763
## [738] -4806 -4667 -4604 -4488 -4515 -4645 -4537 -4707 -4595 -4758 -4586
## [749] -4645 -4649 -4705 -4651 -4549 -4505 -4432 -4343 -4469 -4702 -4525
## [760] -4616 -4718 -4640 -4647 -4641 -4575 -4406 -4675 -4649 -4354 -4429
## [771] -4549 -4557 -4503 -4598 -4594 -4564 -4531 -4439 -4313 -4407 -4418
## [782] -4558 -4516 -4515 -4502 -4441 -4451 -4522 -4505 -4477 -4352 -4480
## [793] -4447 -4569 -4545 -4551 -4573 -4531 -4547 -4426 -4462 -4299 -4541
## [804] -4484 -4528 -4674 -4561 -4516 -4535 -4533 -4519 -4501 -4449 -4370
## [815] -4409 -4499 -4505    NA -4478 -4563 -4505 -4554 -4532 -4519 -4367
## [826] -4285 -4259 -4358 -4407 -4403 -4517 -4604 -4499 -4446 -4441 -4503
## [837] -4517 -4433 -4483 -4403 -4324 -4425 -4460 -4470 -4481 -4478 -4432
## [848] -4392 -4457 -4397 -4468 -4471 -4329 -4519 -4521 -4480 -4500 -4478
## [859] -4409 -4412 -4497 -4365 -4230 -4285
Dublin_sl <- data.frame("Year"=Dublin$Year, "h"=(Dublin$sl))
Dublin_PSMSL2 <- data.frame("Year"=Dublin_PSMSL$V1, "sl"=Dublin_PSMSL$V2-7007)
Dublin_PSMSL2 <-  mean(Dublin_PSMSL2$sl, na.rm=TRUE)
Dublin2 <- data.frame("Year"=Dublin_sl$Year, "sl"=Dublin_sl$h*1000)  
Dublin_merge <- rbind(Dublin_PSMSL2, Dublin2 [28:135,])

Malin Head merge and offset:

MalinHead_PSMSL$V2-7007
##   [1] -3867    NA    NA -3957 -3957 -3867 -3837 -3837 -3957 -3987 -3807
##  [12] -3897 -3987 -3837 -3867 -4017 -3927 -3897 -3927 -3927 -3807 -3837
##  [23] -3747 -3897 -3837 -3897 -4017 -3837    NA -3867 -3897 -3927 -3807
##  [34] -3627 -3807 -3777 -3837 -3957 -3867 -3897 -3867 -3957 -3897 -3777
##  [45] -3717 -3807 -3777 -3747 -4047 -3957 -4017 -3987 -3927 -3957 -3837
##  [56] -3837 -3837 -3927 -3927 -4047 -3927 -3837 -3927 -3927 -3927 -3927
##  [67] -3897    NA -3837 -3687 -3777 -3867 -4077 -3897 -3927 -3837 -3897
##  [78] -3957 -3957 -3807 -3897 -3837 -3867 -3837 -4077 -3927 -3987 -3957
##  [89] -3897 -3957 -3927 -3927 -3807 -3937 -3807 -3807 -3687 -3927 -3927
## [100] -3927 -3867 -3927 -3897 -3837 -3807 -3927 -3867 -3897 -3777 -3837
## [111] -4077 -3867 -3957 -3897 -3867 -3777 -3687 -3867 -3957 -3897 -3867
## [122] -3897 -3897 -3957 -3897 -4017 -3957 -3837 -3687 -3747 -3807 -3777
## [133] -3927 -3927 -4047 -3807 -3867 -3927 -3897 -3897 -3747 -3777 -3927
## [144] -3747 -3897 -4047 -3987 -3957 -3927 -3927 -3927 -3807 -3867 -3777
## [155] -3957 -3717 -3897 -4007 -3977 -3907 -3967 -3947 -3897 -3957 -3787
## [166] -3907 -3857 -3867 -3857 -3937 -3947 -3917 -3877 -3997 -3997 -3967
## [177] -3867 -3807 -3697 -3857 -3947 -3967 -4067 -3927 -3937 -3917 -3917
## [188] -3857 -3907 -3857 -3847 -3617 -3827 -3987 -4027 -3927 -4037 -3707
## [199] -3737 -3847 -4027 -3807 -3747 -3697 -3917 -3987 -4027 -4097 -3997
## [210] -3927 -3927 -3847 -3837 -3867 -3987 -3917 -3897 -3937 -4067 -4027
## [221] -3957 -3957 -4027 -3947 -3737 -3917 -3927 -3987 -3937 -3847 -3967
## [232] -4017 -4037 -3997 -3897 -3857 -3687 -3767 -3797 -3897 -3917 -3877
## [243] -4057 -4027 -3957 -3977 -3957 -3867 -3907 -3797 -3727 -3847 -3917
## [254] -3937 -4037 -3997 -3987 -3927 -3887 -3867 -3767 -3837 -3797 -3917
## [265] -3927 -3967    NA    NA    NA -3887 -3857 -3777 -3797 -3827 -3847
## [276] -3947 -3877 -3797 -4077 -3877 -3917 -3937 -3957 -3757 -3867 -3747
## [287] -3817 -3827 -3747 -3957 -3997 -3987    NA -3987 -4007    NA -3767
## [298] -3737 -3777 -3777 -4027 -3927 -3977 -3877 -4017 -3957 -3987 -3827
## [309] -3767 -3807    NA -3787 -3977 -4027 -3967 -4007 -3967 -3977 -3977
## [320] -3907 -3787 -3687 -3787 -3867 -3917 -3957 -3927 -3977 -3957 -3887
## [331] -3827    NA -3957 -3847 -3707 -3839 -4000 -3866 -4042 -3838 -3958
## [342] -3905 -3969 -3965    NA -3675 -3762 -3971 -3895 -3981 -3934 -4021
## [353] -3956 -3926    NA    NA -3675 -3857 -3736 -3632 -3858 -3892 -3953
## [364] -3927 -4018    NA -3827 -3843 -3772 -3781 -3806 -3734 -3679 -3799
## [375] -3966 -3977 -3964 -3976 -3893 -3878 -3802 -3762 -3669 -3635 -3559
## [386] -3846 -3983 -3987 -3916 -3919 -3891 -3885 -3735 -3862 -3861 -3806
## [397] -3966 -3941 -3972 -4131 -3907 -3917 -3908 -3847 -3839 -3778 -3848
## [408]    NA -3903 -3991 -3983 -3987 -4025 -3926 -3816 -3981 -4101 -3938
## [419] -4006 -3910 -4258 -4048 -4046 -4121 -4061 -4051 -4075 -3908 -3949
## [430] -3848 -3811 -3818 -3924 -3858 -4055 -3955 -3957 -4053 -3938 -3821
## [441] -3847 -3783 -3707 -3803 -3757 -3888 -4007 -3906 -4020 -3865 -3940
## [452] -3875 -3671 -3782 -3838 -3695 -3929 -3970 -3692 -4115 -3934 -3933
## [463] -3926 -3913 -3739 -3801 -3868 -3878 -3694 -3901 -3990 -3904 -3922
## [474] -3952 -3858 -3834 -3819 -3707 -3793 -3792 -3812 -3999 -3954    NA
## [485] -3940 -3917 -3930 -3884 -3905 -3963 -3919 -3893 -4121 -4039 -4033
## [496] -4005 -4026 -3969 -3959 -3817 -3944 -3999 -3954 -4120 -4016 -4141
## [507] -4097 -4072 -4049 -4062 -4015 -4014 -3887 -3889 -3747 -3869 -4106
## [518] -3925 -4096 -4089 -4102    NA -4008 -4002 -4195 -4048 -4026 -3833
## [529] -4011 -4065 -3989 -3940 -3886
MalinHead_sl <- data.frame("Year"=Malin$Year, "h"=(Malin$sl))
MalinHead_PSMSL2 <- data.frame("Year"=MalinHead_PSMSL$V1, "sl"=MalinHead_PSMSL$V2-7007)
MalinHead_PSMSL2 <-  mean(MalinHead_PSMSL2$sl, na.rm=TRUE)
MalinHead2 <- data.frame("Year"=MalinHead_sl$Year, "sl"=MalinHead_sl$h*1000) 
MalinHead_merge <- rbind(MalinHead_PSMSL2, MalinHead2)

Offseting for the other NTGN stations:

Arklow_mm <- data.frame("Year"=Arklow$Year, "sl"=Arklow$sl*1000)
Ballycotton_mm <- data.frame("Year"=Ballycotton$Year, "sl"=Ballycotton$sl*1000)
Ballyglass_mm <- data.frame("Year"=Ballyglass$Year, "sl"=Ballyglass$sl*1000)
Castletownbere_mm <- data.frame("Year"=Castletownbere$Year, "sl"=Castletownbere$sl*1000)
DunmoreEast_mm <- data.frame("Year"=DunmoreEast$Year, "sl"=DunmoreEast$sl*1000)
Fenit_mm <- data.frame("Year"=Fenit$Year, "sl"=Fenit$sl*1000)
Galway_mm <- data.frame("Year"=Galway$Year, "sl"=Galway$sl*1000)
Howth_mm <- data.frame("Year"=Howth$Year, "sl"=Howth$sl*1000)
PortOriel_mm <- data.frame("Year"=PortOriel$Year, "sl"=PortOriel$sl*1000)
Ringaskiddy_mm <- data.frame("Year"=Ringaskiddy$Year, "sl"=Ringaskiddy$sl*1000)
Rossaveel_mm <- data.frame("Year"=Rossaveel$Year, "sl"=Rossaveel$sl*1000)

AN ISLAND OF IRELAND SEA LEVEL RECORD

Throughout this course, we have considered the challenges of producing iconic climate change timeseries such as global mean surface temperature, ocean heat content rise, and sea level rise. We saw the challenges of combining data of different density.

How would you go about creating an Irish Mean Sea Level curve?

One of the possible approaches would be to use Carter’s Sea Level Curve (SLC), as explained by Orford et al. (2006).

Consider the approach of Jevrejeva et al. (2008): the virtual station approach. Could you apply this to the Irish dataset?

The “virtual station” GSL calculated from 2013 tide gauge records optimally solves the sampling problem of station locations. The record is extended backwards from 1850 using three of the longest records available. The linear part of each record, which contains the land movement component, is removed, by comparing each time series with the existing GSL for the period of overlap. To estimate the global sea level from these three stations, it is assumed implicitly that the mean trend from the three records is the same as that globally for the 18th century. The major source of error when using the three stations as an extended record of GSL is how representative tide gauges from a single ocean basin can be of global sea level. As a solution for the problem associated with decadal and multi-decadal variability, a method based on the Monte Carlo Singular Spectrum Analysis (MC-SSA) was used. The 2 - 30 year variability was removed, the time variable trend was determined, and the temporal variability in acceleration in global sea level during the past 300 years was examined.

Although Jevrejeva et al. (2008) used the virtual station approach to solve the sampling problem of station locations aiming to estimate global sea level, I consider that the same approach could be used in a local scale to solve the sampling predicament of Irish Tide Gauges, as we saw that, while some of the records overlap, some of them have gaps that have to be filled. The stations with the longest records in Ireland could be used to run a Monte Carlo analysis to recreate the missing data and contribute to create the Irish Mean Sea Level Curve.

Are the data homogenous and consistent enough to average simply? How would you relate the shorter records to the longer ones?

The short-term records can be summarized to understand the long-term pattern of SLR at a location or globally. The expression ‘long-term’ usually means 30 years or more, as climate scientists have agreed that 30 years is a good length of time to establish the usual range of conditions at a given location throughout the year.

Are the ‘fingerprints’ discussed by Dangendorf et al. (2017) and Hay et al. (2015) of relevance (esp. Glacial Isostatic Adjustment).

According to Hay et el. (2015, p. 485), “the local sea level is linked to the individual mass contributions through the unique spatial patterns, or ‘fingerprints,’ of sea-level change associated with rapid mass loss from land-based ice”.

Dangendorf et al. (2017) mentions that the ref. 6 developed a probabilistic approach that used tide gauges in combination with ensembles of model estimates for the spatial fingerprints of ocean dynamics, GIA, and ice melting, as well as an additional residual parameter for other local contributions to vertical land motion, resulting in a significantly lower rate of GMSL rise compared to the one estimated on the AR5 from the IPCC. A set of sensitivity experiments indicated that their methodological approach was the primary reason for their estimate of a slower GMSL rate.

The results of the study conducted by Dangendorf et al. (2017) shows that, although some uncertainties in the Global Mean Sea Level (GMSL) reconstructions still persist, most models indicate a reasonable performance (trend differences, 0.10 ± 0.07 mm·y???1 with fingerprint corrections compared with 0.14 ± 0.14 mm·y???1 without fingerprint corrections) of the approach with respect to long-term changes during the entire 20th century.

In this context, it is possible to understand that it is relevant to consider the fingerprints in order to reduce the uncertainties related to GMSL estimates.

References

Dangendorf, S., Marcos, M., Wöppelmann, G., Conrad, C. P., Frederikse, T., & Riva, R. (2017). Reassessment of 20th century global mean sea level rise. Proceedings of the National Academy of Sciences, 201616007.

Hay, C. C., Morrow, E., Kopp, R. E., & Mitrovica, J. X. (2015). Probabilistic reanalysis of twentieth-century sea-level rise. Nature, 517(7535), 481.

Jevrejeva, S., Moore, J. C., Grinsted, A., & Woodworth, P. L. (2008). Recent global sea level acceleration started over 200 years ago?. Geophysical Research Letters, 35(8).

Julian D Orford Joanne Murdy Robert Freel Developing constraints on the relative sea-level curve for the northeast of Ireland from the mid-Holocene to the present day364Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.