##################################################################### ## Loading qualified probe high frequency data from a NetCDF file ## ## Sébastien Petton ## ## JANUARY 2020 ## ##################################################################### ## Modules library(ncdf4) ## Functions fReadFlaggedVar <- function(nc, name){ # flags_value = "0: No check # 1: Good data # 3: Probably bad data # 4: Bad data # 9: Missing value" data <- ncvar_get(nc, nc$var[[name]]) flag <- ncvar_get(nc, nc$var[[paste0(name,"_flag")]]) data[flag != 1] <- NA return(data) } # Parameters TempPsal_file <- "/Users/spetton/DATA/SONDES_HF/RO16/OUT/RO16_GLOBAL_ALL.nc" # Read high frequency data and store them in a data.frame data nc <- nc_open(TempPsal_file) Time <- as.POSIXlt(ncvar_get(nc, nc$dim[["time"]]), origin='1900-01-01', tz='UTC') Temp <- fReadFlaggedVar(nc, "TEMP") Psal <- fReadFlaggedVar(nc, "PSAL") Chlo <- fReadFlaggedVar(nc, "CHLO") nc_close(nc) data <- data.frame(Time,Temp,Psal,Chlo) # Estimate daily data and overwrite the data.frame data Day <- as.Date(data$Time) data <- aggregate(data, by=list(Day), FUN = mean) data$Time <- NULL ; Day <- NULL colnames(data)[1] <- "Date"