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")
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")
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)
Calculating the trends for the NTGN:
Trend for Arklow
lm(formula= Arklow\(sl ~ Arklow\)Year)
Call: lm(formula = Arklow\(sl ~ Arklow\)Year)
Coefficients: (Intercept) Arklow$Year
-3.677109 0.001796
Trend for Ballycotton
lm(formula= Ballycotton\(sl ~ Ballycotton\)Year)
Call: lm(formula = Ballycotton\(sl ~ Ballycotton\)Year)
Coefficients: (Intercept) Ballycotton$Year
1.3493831 -0.0007524
Trend for Ballyglass
lm(formula= Ballyglass\(sl ~ Ballyglass\)Year)
Call: lm(formula = Ballyglass\(sl ~ Ballyglass\)Year)
Coefficients: (Intercept) Ballyglass$Year
-6.216258 0.003123
Trend for Castletownbere
lm(formula= Castletownbere\(sl ~ Castletownbere\)Year)
Call: lm(formula = Castletownbere\(sl ~ Castletownbere\)Year)
Coefficients: (Intercept) Castletownbere$Year
-17.878271 0.008793
Trend for Dunmore East
lm(formula= DunmoreEast\(sl ~ DunmoreEast\)Year)
Call: lm(formula = DunmoreEast\(sl ~ DunmoreEast\)Year)
Coefficients: (Intercept) DunmoreEast$Year
-19.943435 0.009798
Trend for Fenit
lm(formula= Fenit\(sl ~ Fenit\)Year)
Call: lm(formula = Fenit\(sl ~ Fenit\)Year)
Coefficients: (Intercept) Fenit$Year
19.544754 -0.009678
Trend for Galway
lm(formula= Galway\(sl ~ Galway\)Year)
Call: lm(formula = Galway\(sl ~ Galway\)Year)
Coefficients: (Intercept) Galway$Year
-8.953617 0.004469
Trend for Howth
lm(formula= Howth\(sl ~ Howth\)Year)
Call: lm(formula = Howth\(sl ~ Howth\)Year)
Coefficients: (Intercept) Howth$Year
-4.720216 0.002322
Trend for Port Oriel
lm(formula= PortOriel\(sl ~ PortOriel\)Year)
Call: lm(formula = PortOriel\(sl ~ PortOriel\)Year)
Coefficients: (Intercept) PortOriel$Year
-1.301e-01 4.376e-05
Trend for Ringaskiddy
lm(formula= Ringaskiddy\(sl ~ Ringaskiddy\)Year)
Call: lm(formula = Ringaskiddy\(sl ~ Ringaskiddy\)Year)
Coefficients: (Intercept) Ringaskiddy$Year
-10.649723 0.005097
Trend for Rossaveel
lm(formula= Rossaveel\(sl ~ Rossaveel\)Year)
Call: lm(formula = Rossaveel\(sl ~ Rossaveel\)Year)
Coefficients: (Intercept) Rossaveel$Year
3.47011 -0.00162
Calculating the trends for the PSMSL:
Trend for Bangor
lm(formula= Bangor_PSMSL\(V2 ~ Bangor_PSMSL\)V1)
Call: lm(formula = Bangor_PSMSL\(V2 ~ Bangor_PSMSL\)V1)
Coefficients: (Intercept) Bangor_PSMSL$V1
-5359.511 3.689
Trend for Belfast 1
lm(formula= Belfast_PSMSL\(V2 ~ Belfast_PSMSL\)V1)
Call: lm(formula = Belfast_PSMSL\(V2 ~ Belfast_PSMSL\)V1)
Coefficients: (Intercept) Belfast_PSMSL$V1
2593.838 -0.299
Trend for Belfast 2
lm(formula= Belfast2_PSMSL\(V2 ~ Belfast2_PSMSL\)V1)
Call: lm(formula = Belfast2_PSMSL\(V2 ~ Belfast2_PSMSL\)V1)
Coefficients: (Intercept) Belfast2_PSMSL$V1
2301.420 -0.168
Trend for Malin Head (PSMSL)
lm(formula= MalinHead_PSMSL\(V2 ~ MalinHead_PSMSL\)V1)
Call: lm(formula = MalinHead_PSMSL\(V2 ~ MalinHead_PSMSL\)V1)
Coefficients: (Intercept) MalinHead_PSMSL$V1
5516.043 -1.217
Trend for Portrush
lm(formula= Portrush_PSMSL\(V2 ~ Portrush_PSMSL\)V1)
Call: lm(formula = Portrush_PSMSL\(V2 ~ Portrush_PSMSL\)V1)
Coefficients: (Intercept) Portrush_PSMSL$V1
-774.466 1.028
Calculating the trends for the merged stations:
Trend for Dublin
lm(formula= Dublin_merge\(sl ~ Dublin_merge\)Year)
Call: lm(formula = Dublin_merge\(sl ~ Dublin_merge\)Year)
Coefficients: (Intercept) Dublin_merge$Year
-1407.5916 0.7038
Trend for Malin Head
lm(formula= MalinHead_merge\(sl ~ MalinHead_merge\)Year)
Call: lm(formula = MalinHead_merge\(sl ~ MalinHead_merge\)Year)
Coefficients: (Intercept) MalinHead_merge$Year
-1316.8905 0.6625
Compiling the lm results in an Excel file and reading it on R:
Trends <- read.csv(file="trends.csv", skip=1, header = FALSE)
Map of trends:
color_mapping <- colorNumeric('PuBuGn',Trends$V2)
previewColors(color_mapping,fivenum(Trends$V2))
color_mapping
fivenum(Trends$V2)
| -0.299 | |
| -0.0003543 | |
| 0.003796 | |
| 0.33614 | |
| 3.689 |
leaflet(data=Trends,height=430,width=600,) %>% addProviderTiles(‘CartoDB.Positron’) %>% setView(-8,53.5,6) %>% addCircleMarkers(fillColor=~color_mapping(Trends\(sealevel),weight=0,fillOpacity = 0.75, popup=Trends\)sealevel) %>% addLegend(pal=color_mapping,values=Trends$sealevel,title=“Sea Level Rise (mm/yr)”,position=‘bottomright’)
One of the possible approaches would be to use Carter’s Sea Level Curve (SLC), as explained by Orford et al. (2006).
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.
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.
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.
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.