Skip to content

Commit

Permalink
only select radar variables by ther names or alt names in df_to_mat_list
Browse files Browse the repository at this point in the history
  • Loading branch information
iskandari committed Jul 12, 2024
1 parent 3373155 commit 7bc845c
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
7 changes: 4 additions & 3 deletions R/as.vpts.R
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,11 @@ check_multivalue_attributes <- function(data) {
rcs <- first_values$rcs
sd_vvp_threshold <- first_values$sd_vvp_threshold

# Convert dataframe
maskvars <- c("radar", "rcs", "sd_vvp_threshold", "radar_latitude", "radar_longitude", "radar_height", "radar_wavelength", "source_file", "datetime", "height", "sunrise", "sunset", "day")
# Define set of radar variables that must be present at each height (including alternatives)
radvars <- c("u", "v", "w", "ff", "dd", "sd_vvp", "gap", "eta", "dens", "dbz", "dbz_all", "n", "n_dbz", "n_all", "n_dbz_all")
radvars <- c(radvars, unlist(vpts_schema$fields$nameAlternatives[vpts_schema$fields$name %in% maskvars]))

data <- df_to_mat_list(data, maskvars, vpts_schema)
data <- df_to_mat_list(data, radvars)

# Create vpts object
output <- list(
Expand Down
7 changes: 6 additions & 1 deletion R/read_vpts.R
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,13 @@ read_vpts <- function(files, data_frame = FALSE, ...) {
read_vpts_csv <- function(files, data_frame = FALSE) {

suppressMessages(
data <- readr::read_csv(files, show_col_types = FALSE)
data <- readr::read_csv(files, show_col_types = FALSE,
col_types = cols(
.default = col_guess(),
`...1` = col_skip() # Skip unnamed columns
))
)

#Validate the data
validate_vpts(data)

Expand Down
7 changes: 3 additions & 4 deletions R/utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -275,13 +275,12 @@ tibble_to_mat <- function(tibble) {
#' @returns A named list of matrices ordered according to radvars
#' @keywords internal
#' @noRd
df_to_mat_list <- function(data, maskvars, schema) {
df_to_mat_list <- function(data, radvars) {
datetime <- height <- variable <- fields <- NULL
radvars <- schema$fields$name
radvars <- radvars[!radvars %in% maskvars]
all_vars <- c(radvars, "datetime", "height")

tbls_lst <- data %>%
dplyr::select(c(setdiff(colnames(data), maskvars), "datetime", "height")) %>%
select(all_of(intersect(all_vars, names(data)))) %>%
tidyr::pivot_longer(-c(datetime, height), names_to = "variable", values_to = "value") %>%
dplyr::group_by(variable) %>%
dplyr::group_split()
Expand Down

0 comments on commit 7bc845c

Please sign in to comment.