humbertovarona / CurrSpeedformDrifter

Computes drifter speeds

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CurrSpeedfromDrifter

Computes drifter speeds

Version

Release date

License

Programming language

OS

Requirements

sudo apt -y install libgeos-dev
pip install matplotlib
pip install netCDF4
pip install cartopy
pip install geopy
pip install numpy

Installation

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

Usage example

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')

About

Computes drifter speeds

License:MIT License


Languages

Language:Python 100.0%