Computes drifter speeds
sudo apt -y install libgeos-dev
pip install matplotlib
pip install netCDF4
pip install cartopy
pip install geopy
pip install numpy
import csv
from geopy.distance import geodesic
import math
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as feature
import numpy as np
import netCDF4 as nc
from datetime import datetime
import statistics
import os
csvData = "./track1.csv"
drifterData = ReadCSV(csvData)
drifterData = Remove_Duplicaterows(drifterData)
lonsData = [row[1] for row in drifterData]
lonList = lonsData[1:]
latsData = [row[2] for row in drifterData]
latList = latsData[1:]
timedateData = [row[3] for row in drifterData]
timesList = timedateData[1:]
DistList, DirList, TimeList = computeDrifterData(lonsData, latsData, timedateData)
speedList, uList, vList = compute_DrifterSpeed(DistList, DirList, TimeList)
OutputCSVFilename = "./track1_output.csv";
saveCSVData(OutputCSVFilename, timesList, lonsData, latsData, speedList, DirList, uList, vList)
RemoveOutliersAndSaveCSV(OutputCSVFilename, 3, threshold=2.5)
NCFilename = "./cmems.nc"
variablesList = ['longitude', 'latitude', 'uo', 'vo']
NCLon, NCLat, NCu, NCv = read_NetCDF_data(NCFilename, 0, 7, variablesList)
plotVectorsMap(NCLon, NCLat, NCu, NCv, -62, -52, -65, -59, 0.5, 'blue', 0.25)
indexes = get_DayIndexes(timedateData, "2022-02-21")
dlonList = get_values_from_indexes(lonList, indexes)
dlatList = get_values_from_indexes(latList, indexes)
duList = get_values_from_indexes(uList, indexes)
dvList = get_values_from_indexes(vList, indexes)
addVectors(selectVectors(dlonList, 5), selectVectors(dlatList, 5), selectVectors(duList, 5), selectVectors(dvList, 5), 0.5, 'green', 0.25)
Plot_and_ExportFigure('./compH.jpeg')