# rm(list=ls())
library(rerddap)
library(tidyverse)
Example R code on how to download data from ERDDAP Servers by Roy Mendelssohn and Scott Chamberlain.
#IOOS Glider Data
Glider = info("sp064-20161214T1913", url="https://data.ioos.us/gliders/erddap/")
glider_data = tabledap(Glider, fields = c('depth', 'salinity','time'),'time>=2016-12-14', 'time<=2016-12-23', url='https://data.ioos.us/gliders/erddap/')
#Example CalCOFI
CalCOFI = info('siocalcofiHydroCasts')
#CalCOFI2 = info("siocalcofiHydroCasts", url="https://coastwatch.pfeg.noaa.gov/erddap/") works with both methods
calcofi.df <- tabledap(CalCOFI,
fields = c('cst_cnt', 'date', 'year', 'month', 'julian_date', 'julian_day', 'rpt_line', 'rpt_sta', 'cruz_num', 'intchl', 'intc14', 'time'),
'time>=1984-01-01T00:00:00Z', 'time<=2014-04-17T05:35:00Z')
variables = c("Location_Code", "time", "Akashiwo_sanguinea", "Alexandrium_spp",
"Ceratium", "Cochlodinium", "Dinophysis_spp", "Gymnodinium_spp", "Lingulodinium_polyedra",
"Prorocentrum_spp", "Pseudo_nitzschia_delicatissima_group", "Pseudo_nitzschia_seriata_group",
"pDA", "Ammonium", "Avg_Chloro", "Avg_Phaeo", "Nitrate", "Phosphate", "Silicate",
"Temp")
CalPoly = rerddap::info(datasetid = "HABs-CalPoly", url = "http://erddap.sccoos.org/erddap/")
CalPoly_Data = tabledap(CalPoly, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
Monterey = info("HABs-MontereyWharf", url = "http://erddap.sccoos.org/erddap/")
Monterey_Data = tabledap(Monterey, fields = variables, "time>=2008-08-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
Newport = info("HABs-NewportPier", url = "http://erddap.sccoos.org/erddap/")
Newport_Data = tabledap(Newport, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
SantaCruz = info("HABs-SantaCruzWharf", url = "http://erddap.sccoos.org/erddap/")
SantaCruz_Data = tabledap(SantaCruz, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
SantaMonica = info("HABs-SantaMonicaPier", url = "http://erddap.sccoos.org/erddap/")
SantaMonica_Data = tabledap(SantaMonica, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
Scripps = info("HABs-ScrippsPier", url = "http://erddap.sccoos.org/erddap/")
Scripps_Data = tabledap(Scripps, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
Stearns = info("HABs-StearnsWharf", url = "http://erddap.sccoos.org/erddap/")
Stearns_Data = tabledap(Stearns, fields = variables, "time>=2008-01-01T00:00:00Z",
"time<=2050-04-17T05:35:00Z", url = "http://erddap.sccoos.org/erddap/")
# Bind all the Data into one datatable
HABMAP_Data = dplyr::bind_rows(list(CalPoly_Data, Monterey_Data, Newport_Data,
SantaCruz_Data, SantaMonica_Data, Scripps_Data, Stearns_Data))
HABMAP_Data_Long = HABMAP_Data %>%
gather(key = "Observations", value = "Measurement", 'Akashiwo_sanguinea', 'Alexandrium_spp','Ceratium', 'Cochlodinium', 'Dinophysis_spp', 'Gymnodinium_spp', 'Lingulodinium_polyedra', 'Prorocentrum_spp','Pseudo_nitzschia_delicatissima_group','Pseudo_nitzschia_seriata_group','pDA', 'Ammonium','Avg_Chloro','Avg_Phaeo','Nitrate','Phosphate', 'Silicate', 'Temp')
#Add a column for units - need this for Shiny app
HAB_data_long_units = HABMAP_Data_Long %>%
mutate(Units = ifelse(grepl("pDA", Observations),'ng/mL',
ifelse(grepl('Temp', Observations), "Celsius",
ifelse(grepl("'Avg_Chloro'|'Avg_Phaeo'", Observations), "mg/m3",
ifelse(grepl("
'Akashiwo_sanguinea'|
'Alexandrium_spp'|
'Ceratium'|
'Cochlodinium'|
'Dinophysis_spp'|
'Gymnodinium_spp'|
'Lingulodinium_polyedra'|
'Prorocentrum_spp'|
'Pseudo_nitzschia_delicatissima_group'|
'Pseudo_nitzschia_seriata_group'", Observations), "cells/L", "uM")))))
#Save HABMAP long formated data table
write_rds(HAB_data_long_units, "HABMAP_Data/HAB_data_long_units.rds")