From ee51f9e28cd785d7f489e5ce57ffba1c8e267672 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:31:58 -0500 Subject: [PATCH 01/34] Parameterize 'data' field in riem_measures() --- R/measures.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index 9ab2038..22a5d3d 100644 --- a/R/measures.R +++ b/R/measures.R @@ -64,6 +64,7 @@ #' } riem_measures <- function( station = "VOHY", + data = "all", date_start = "2014-01-01", date_end = as.character(Sys.Date())) { date_start <- format_and_check_date(date_start, "date_start") @@ -76,7 +77,7 @@ riem_measures <- function( path = "cgi-bin/request/asos.py/", # nolint: nonportable_path_linter query = list( station = station, - data = "all", + data = data, year1 = lubridate::year(date_start), month1 = lubridate::month(date_start), day1 = lubridate::day(date_start), From e95c3ec0486cf434bba17c6ca258839272c6cd0d Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:32:46 -0500 Subject: [PATCH 02/34] Add comment linking field documentation --- R/measures.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/measures.R b/R/measures.R index 22a5d3d..17a84dd 100644 --- a/R/measures.R +++ b/R/measures.R @@ -75,6 +75,7 @@ riem_measures <- function( resp <- perform_riem_request( path = "cgi-bin/request/asos.py/", # nolint: nonportable_path_linter + # query fields per https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?help # nolint: line_length_linter query = list( station = station, data = data, From 2f6a39cab88751f853f3809984fd7c6e03a6eaf7 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:40:43 -0500 Subject: [PATCH 03/34] Parameterize 'elev' field in riem_measures() --- R/measures.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/R/measures.R b/R/measures.R index 17a84dd..bd069a5 100644 --- a/R/measures.R +++ b/R/measures.R @@ -65,6 +65,7 @@ riem_measures <- function( station = "VOHY", data = "all", + elev = "no", date_start = "2014-01-01", date_end = as.character(Sys.Date())) { date_start <- format_and_check_date(date_start, "date_start") @@ -79,6 +80,7 @@ riem_measures <- function( query = list( station = station, data = data, + elev = elev, year1 = lubridate::year(date_start), month1 = lubridate::month(date_start), day1 = lubridate::day(date_start), From 695875d06c78877990b40c9251f1306a3b3cda31 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:41:34 -0500 Subject: [PATCH 04/34] Parameterize 'latlon' field in riem_measures() --- R/measures.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index bd069a5..ec9944e 100644 --- a/R/measures.R +++ b/R/measures.R @@ -66,6 +66,7 @@ riem_measures <- function( station = "VOHY", data = "all", elev = "no", + latlon = "yes", date_start = "2014-01-01", date_end = as.character(Sys.Date())) { date_start <- format_and_check_date(date_start, "date_start") @@ -81,6 +82,7 @@ riem_measures <- function( station = station, data = data, elev = elev, + latlon = latlon, year1 = lubridate::year(date_start), month1 = lubridate::month(date_start), day1 = lubridate::day(date_start), @@ -88,7 +90,6 @@ riem_measures <- function( month2 = lubridate::month(date_end), day2 = lubridate::day(date_end), format = "tdf", - latlon = "yes", tz = "UTC" ) ) From ca212f24e26e7df853fc6e141e9f19264d56af10 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:44:59 -0500 Subject: [PATCH 05/34] Parameterize 'report_type' field in riem_measures(); Skip HFMETAR by default --- R/measures.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index ec9944e..889599a 100644 --- a/R/measures.R +++ b/R/measures.R @@ -68,7 +68,9 @@ riem_measures <- function( elev = "no", latlon = "yes", date_start = "2014-01-01", - date_end = as.character(Sys.Date())) { + date_end = as.character(Sys.Date()), + # skip HFMETAR by default + report_type = "3,4") { date_start <- format_and_check_date(date_start, "date_start") date_end <- format_and_check_date(date_end, "date_end") if (date_end < date_start) { @@ -89,6 +91,7 @@ riem_measures <- function( year2 = lubridate::year(date_end), month2 = lubridate::month(date_end), day2 = lubridate::day(date_end), + report_type = report_type, format = "tdf", tz = "UTC" ) From 2a5f27e62aa3c36f6b0e446cc099842ced8e1703 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:46:16 -0500 Subject: [PATCH 06/34] Choose a safer default date_start --- R/measures.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index 889599a..3d5dd79 100644 --- a/R/measures.R +++ b/R/measures.R @@ -67,7 +67,7 @@ riem_measures <- function( data = "all", elev = "no", latlon = "yes", - date_start = "2014-01-01", + date_start = "2024-01-01", date_end = as.character(Sys.Date()), # skip HFMETAR by default report_type = "3,4") { From 3c358b4aad8a4663a6a1ada941b97e7b333c7693 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 09:50:25 -0500 Subject: [PATCH 07/34] Speficy nometa = no, since parsing counts on column names --- R/measures.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/measures.R b/R/measures.R index 3d5dd79..f059517 100644 --- a/R/measures.R +++ b/R/measures.R @@ -93,6 +93,7 @@ riem_measures <- function( day2 = lubridate::day(date_end), report_type = report_type, format = "tdf", + nometa = "no", tz = "UTC" ) ) From 60d8c281528a0daba620e64688c4d56f736193cf Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 10:08:49 -0500 Subject: [PATCH 08/34] Update self-documentation for riem_measures() --- R/measures.R | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index f059517..b0fc941 100644 --- a/R/measures.R +++ b/R/measures.R @@ -2,8 +2,12 @@ #' #' #' @param station station ID, see riem_stations() -#' @param date_start date of start of the desired data, e.g. "2000-01-01" +#' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter +#' @param elev If set to 'yes', the elevation (m) of the station will be included in the output. # nolint: line_length_linter +#' @param latlon If set to 'yes', the latitude and longitude of the station will be included in the output. # nolint: line_length_linter +#' @param date_start date of start of the desired data, e.g. "2016-01-01" #' @param date_end date of end of the desired data, e.g. "2016-04-22" +#' @param report_type The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter #' #' @return a data.frame (tibble tibble) with measures, #' the number of columns can vary from station to station, From d5a7f4c96c9449a650e2e9e24ad421e979d3bdd1 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 15:13:20 -0500 Subject: [PATCH 09/34] Update test fixtures files since default endpoint query changed --- .../cgi-bin/request/{asos.py-f4a399.txt => asos.py-2578c1.txt} | 0 .../cgi-bin/request/{asos.py-a40575.txt => asos.py-aac08b.txt} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tests/testthat/fixtures/measures/mesonet.agron.iastate.edu/cgi-bin/request/{asos.py-f4a399.txt => asos.py-2578c1.txt} (100%) rename tests/testthat/fixtures/warnings/mesonet.agron.iastate.edu/cgi-bin/request/{asos.py-a40575.txt => asos.py-aac08b.txt} (100%) diff --git a/tests/testthat/fixtures/measures/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-f4a399.txt b/tests/testthat/fixtures/measures/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2578c1.txt similarity index 100% rename from tests/testthat/fixtures/measures/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-f4a399.txt rename to tests/testthat/fixtures/measures/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2578c1.txt diff --git a/tests/testthat/fixtures/warnings/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a40575.txt b/tests/testthat/fixtures/warnings/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-aac08b.txt similarity index 100% rename from tests/testthat/fixtures/warnings/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a40575.txt rename to tests/testthat/fixtures/warnings/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-aac08b.txt From 8737611e88e758968e7441131190f8be78f53408 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Mon, 16 Dec 2024 15:24:18 -0500 Subject: [PATCH 10/34] Document --- DESCRIPTION | 2 +- man/riem_measures.Rd | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1f7f47b..de2f73a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -40,4 +40,4 @@ Suggests: xts Config/testthat/edition: 3 Encoding: UTF-8 -RoxygenNote: 7.3.1 +RoxygenNote: 7.3.2 diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index c6f980a..593c66c 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -6,16 +6,28 @@ \usage{ riem_measures( station = "VOHY", - date_start = "2014-01-01", - date_end = as.character(Sys.Date()) + data = "all", + elev = "no", + latlon = "yes", + date_start = "2024-01-01", + date_end = as.character(Sys.Date()), + report_type = "3,4" ) } \arguments{ \item{station}{station ID, see riem_stations()} -\item{date_start}{date of start of the desired data, e.g. "2000-01-01"} +\item{data}{The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} + +\item{elev}{If set to 'yes', the elevation (m) of the station will be included in the output. # nolint: line_length_linter} + +\item{latlon}{If set to 'yes', the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} + +\item{date_start}{date of start of the desired data, e.g. "2016-01-01"} \item{date_end}{date of end of the desired data, e.g. "2016-04-22"} + +\item{report_type}{The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter} } \value{ a data.frame (tibble tibble) with measures, From 1c8a13644b742cd227f54575effb9ff2c3c36065 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 10:33:38 -0500 Subject: [PATCH 11/34] Preserve order of riem_measures() positional arguments; Remove default values for station, date_start args (thus making them required); Convert elev and latlon to logicals; Update DESCRIPTION and documentation --- DESCRIPTION | 4 +++- R/measures.R | 22 ++++++++++++---------- man/riem_measures.Rd | 23 +++++++++++++---------- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index de2f73a..4571b91 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -11,7 +11,9 @@ Authors@R: c( comment = "The research leading to these results has received funding from the European Research Council under the ERC Grant Agreement number 336167– the CHAI Project"), person("rOpenSci", role = "fnd", comment = "https://ropensci.org/"), - person("Daryl", "Herzmann", , "akrherz@gmail.com", role = "ctb") + person("Daryl", "Herzmann", , "akrherz@gmail.com", role = "ctb"), + person("Jonathan", "Elchison", email = "JElchison@gmail.com", role = c("aut"), + comment = c(ORCID = "0009-0004-0787-3426")) ) Description: Allows to get weather data from Automated Surface Observing System (ASOS) stations (airports) in the whole world thanks to the diff --git a/R/measures.R b/R/measures.R index b0fc941..3546a54 100644 --- a/R/measures.R +++ b/R/measures.R @@ -2,11 +2,12 @@ #' #' #' @param station station ID, see riem_stations() -#' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter -#' @param elev If set to 'yes', the elevation (m) of the station will be included in the output. # nolint: line_length_linter -#' @param latlon If set to 'yes', the latitude and longitude of the station will be included in the output. # nolint: line_length_linter #' @param date_start date of start of the desired data, e.g. "2016-01-01" #' @param date_end date of end of the desired data, e.g. "2016-04-22" +#' @inheritParams rlang::args_dots_empty +#' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter +#' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter +#' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter #' @param report_type The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter #' #' @return a data.frame (tibble tibble) with measures, @@ -67,12 +68,13 @@ #' ) #' } riem_measures <- function( - station = "VOHY", - data = "all", - elev = "no", - latlon = "yes", - date_start = "2024-01-01", + station, + date_start, + ..., date_end = as.character(Sys.Date()), + data = "all", + elev = FALSE, + latlon = TRUE, # skip HFMETAR by default report_type = "3,4") { date_start <- format_and_check_date(date_start, "date_start") @@ -87,8 +89,8 @@ riem_measures <- function( query = list( station = station, data = data, - elev = elev, - latlon = latlon, + elev = ifelse(elev, "yes", "no"), + latlon = ifelse(elev, "yes", "no"), year1 = lubridate::year(date_start), month1 = lubridate::month(date_start), day1 = lubridate::day(date_start), diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index 593c66c..42df042 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -5,27 +5,30 @@ \title{Get weather data from one station} \usage{ riem_measures( - station = "VOHY", - data = "all", - elev = "no", - latlon = "yes", - date_start = "2024-01-01", + station, + date_start, + ..., date_end = as.character(Sys.Date()), + data = "all", + elev = FALSE, + latlon = TRUE, report_type = "3,4" ) } \arguments{ \item{station}{station ID, see riem_stations()} -\item{data}{The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} +\item{date_start}{date of start of the desired data, e.g. "2016-01-01"} -\item{elev}{If set to 'yes', the elevation (m) of the station will be included in the output. # nolint: line_length_linter} +\item{...}{These dots are for future extensions and must be empty.} -\item{latlon}{If set to 'yes', the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} +\item{date_end}{date of end of the desired data, e.g. "2016-04-22"} -\item{date_start}{date of start of the desired data, e.g. "2016-01-01"} +\item{data}{The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} -\item{date_end}{date of end of the desired data, e.g. "2016-04-22"} +\item{elev}{If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter} + +\item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} \item{report_type}{The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter} } From a75b5b9625102aff3ff9e794221b0d7c277526e2 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 10:39:03 -0500 Subject: [PATCH 12/34] Specify the now-required station srgument in test-measures.R --- tests/testthat/test-measures.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index eee6dd7..e741b4a 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -38,6 +38,7 @@ test_that("riem_measures outputs warning if no results", { httptest2::with_mock_dir(file.path("fixtures", "warnings"), { expect_warning( riem_measures( + station = "VOHY", date_start = "3050-12-01", date_end = "3055-12-01" ), @@ -57,6 +58,7 @@ test_that("riem_measures checks dates", { expect_snapshot_error( riem_measures( + station = "VOHY", date_start = "2015-12-01", date_end = "2013-12-01" ) From 3b082f06f65ac5897bfa892430ab9547fd73a4c9 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 10:54:54 -0500 Subject: [PATCH 13/34] Correct copy/paste error --- R/measures.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index 3546a54..e0a2ff8 100644 --- a/R/measures.R +++ b/R/measures.R @@ -90,7 +90,7 @@ riem_measures <- function( station = station, data = data, elev = ifelse(elev, "yes", "no"), - latlon = ifelse(elev, "yes", "no"), + latlon = ifelse(latlon, "yes", "no"), year1 = lubridate::year(date_start), month1 = lubridate::month(date_start), day1 = lubridate::day(date_start), From 12aeea5168882e75057fe48b3b217513c51bfa64 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 11:06:58 -0500 Subject: [PATCH 14/34] Specify the now-required date_start argument in test-measures.R --- tests/testthat/test-measures.R | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index e741b4a..b7a9ae9 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -50,11 +50,13 @@ test_that("riem_measures outputs warning if no results", { test_that("riem_measures checks dates", { expect_snapshot_error(riem_measures(date_start = "somethingelse")) - expect_snapshot_error(riem_measures(date_end = "somethingelse")) + expect_snapshot_error(riem_measures(date_start = "2014-03-01", + date_end = "somethingelse")) expect_snapshot_error(riem_measures(date_start = "2015 31 01")) - expect_snapshot_error(riem_measures(date_end = "2015 31 01")) + expect_snapshot_error(riem_measures(date_start = "2014-03-01", + date_end = "2015 31 01")) expect_snapshot_error( riem_measures( From 540fb466e62f53623cf848d76c2fe2d40a453c97 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 11:24:35 -0500 Subject: [PATCH 15/34] Add call to rlang::check_dots_empty() in riem_measures() --- R/measures.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/measures.R b/R/measures.R index e0a2ff8..c34b6d5 100644 --- a/R/measures.R +++ b/R/measures.R @@ -77,6 +77,7 @@ riem_measures <- function( latlon = TRUE, # skip HFMETAR by default report_type = "3,4") { + rlang::check_dots_empty() date_start <- format_and_check_date(date_start, "date_start") date_end <- format_and_check_date(date_end, "date_end") if (date_end < date_start) { From fe048f42752c0ae06795abb6716de8055b467ccb Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 13:59:37 -0500 Subject: [PATCH 16/34] Add better validation for new riem_measures() args --- R/measures.R | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index c34b6d5..9b13564 100644 --- a/R/measures.R +++ b/R/measures.R @@ -77,12 +77,27 @@ riem_measures <- function( latlon = TRUE, # skip HFMETAR by default report_type = "3,4") { - rlang::check_dots_empty() + if (!is.string(station)) { + cli::cli_abort("{.arg station} must be a string.") + } date_start <- format_and_check_date(date_start, "date_start") + rlang::check_dots_empty() date_end <- format_and_check_date(date_end, "date_end") if (date_end < date_start) { cli::cli_abort("{.arg date_end} must be bigger than {.arg date_start}.") } + if (!is.string(data)) { + cli::cli_abort("{.arg data} must be a string.") + } + if (!is.logical(elev)) { + cli::cli_abort("{.arg elev} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter + } + if (!is.logical(latlon)) { + cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter + } + if (!is.string(report_type)) { + cli::cli_abort("{.arg report_type} must be a string.") + } resp <- perform_riem_request( path = "cgi-bin/request/asos.py/", # nolint: nonportable_path_linter @@ -141,6 +156,10 @@ riem_measures <- function( tibble::as_tibble(result) } +is.string <- function(x) { # nolint: object_name_linter + is.character(x) && length(x) == 1 # nolint: implicit_integer_linter +} + format_and_check_date <- function(date, name) { converted_date <- suppressWarnings(lubridate::ymd(date)) From b14e790cfd440ba46d2212353a50e7b6d015c548 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 14:05:58 -0500 Subject: [PATCH 17/34] Specify the now-required station srgument in test-measures.R --- tests/testthat/test-measures.R | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index b7a9ae9..e2b2c0f 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -48,14 +48,18 @@ test_that("riem_measures outputs warning if no results", { }) test_that("riem_measures checks dates", { - expect_snapshot_error(riem_measures(date_start = "somethingelse")) + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "somethingelse")) - expect_snapshot_error(riem_measures(date_start = "2014-03-01", + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", date_end = "somethingelse")) - expect_snapshot_error(riem_measures(date_start = "2015 31 01")) + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2015 31 01")) - expect_snapshot_error(riem_measures(date_start = "2014-03-01", + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", date_end = "2015 31 01")) expect_snapshot_error( From 3b8bc96a2867b9d3f22013f790e9ff73f35e6b00 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Tue, 17 Dec 2024 14:53:52 -0500 Subject: [PATCH 18/34] Correct order of args in documentation --- R/measures.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index 9b13564..4a02fa0 100644 --- a/R/measures.R +++ b/R/measures.R @@ -3,8 +3,8 @@ #' #' @param station station ID, see riem_stations() #' @param date_start date of start of the desired data, e.g. "2016-01-01" -#' @param date_end date of end of the desired data, e.g. "2016-04-22" #' @inheritParams rlang::args_dots_empty +#' @param date_end date of end of the desired data, e.g. "2016-04-22" #' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter #' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter From ae205a3421a27da22531c6fb2a93858c157a0790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Thu, 19 Dec 2024 10:34:37 +0100 Subject: [PATCH 19/34] refactor: use `rlang::is_character()` --- R/measures.R | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/R/measures.R b/R/measures.R index 4a02fa0..41600b0 100644 --- a/R/measures.R +++ b/R/measures.R @@ -77,7 +77,7 @@ riem_measures <- function( latlon = TRUE, # skip HFMETAR by default report_type = "3,4") { - if (!is.string(station)) { + if (!rlang::is_character(station, n = 1)) { cli::cli_abort("{.arg station} must be a string.") } date_start <- format_and_check_date(date_start, "date_start") @@ -86,7 +86,7 @@ riem_measures <- function( if (date_end < date_start) { cli::cli_abort("{.arg date_end} must be bigger than {.arg date_start}.") } - if (!is.string(data)) { + if (!rlang::is_character(data, n = 1)) { cli::cli_abort("{.arg data} must be a string.") } if (!is.logical(elev)) { @@ -95,7 +95,7 @@ riem_measures <- function( if (!is.logical(latlon)) { cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter } - if (!is.string(report_type)) { + if (!rlang::is_character(report_type, n = 1)) { cli::cli_abort("{.arg report_type} must be a string.") } @@ -156,10 +156,6 @@ riem_measures <- function( tibble::as_tibble(result) } -is.string <- function(x) { # nolint: object_name_linter - is.character(x) && length(x) == 1 # nolint: implicit_integer_linter -} - format_and_check_date <- function(date, name) { converted_date <- suppressWarnings(lubridate::ymd(date)) From 2f0c7f99291813630351b226feb4dadb3e22e390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Thu, 19 Dec 2024 10:58:47 +0100 Subject: [PATCH 20/34] refactor: make report_type's input more readable --- NAMESPACE | 1 + R/measures.R | 26 ++++++++++++++++++++------ man/riem_measures.Rd | 4 ++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index adc03d7..dd9a585 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,4 +7,5 @@ importFrom(jsonlite,read_json) importFrom(magrittr,"%>%") importFrom(rlang,"!!!") importFrom(rlang,"%||%") +importFrom(rlang,`%||%`) importFrom(utils,read.table) diff --git a/R/measures.R b/R/measures.R index 41600b0..624b039 100644 --- a/R/measures.R +++ b/R/measures.R @@ -1,5 +1,6 @@ #' Get weather data from one station #' +#' @importFrom rlang `%||%` #' #' @param station station ID, see riem_stations() #' @param date_start date of start of the desired data, e.g. "2016-01-01" @@ -8,7 +9,7 @@ #' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter #' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter -#' @param report_type The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter +#' @param report_type The report type to query. The available options are "hfmetar" (skipped by default), "routine", "specials". # nolint: line_length_linter #' #' @return a data.frame (tibble tibble) with measures, #' the number of columns can vary from station to station, @@ -75,8 +76,7 @@ riem_measures <- function( data = "all", elev = FALSE, latlon = TRUE, - # skip HFMETAR by default - report_type = "3,4") { + report_type = NULL) { if (!rlang::is_character(station, n = 1)) { cli::cli_abort("{.arg station} must be a string.") } @@ -95,9 +95,23 @@ riem_measures <- function( if (!is.logical(latlon)) { cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter } - if (!rlang::is_character(report_type, n = 1)) { - cli::cli_abort("{.arg report_type} must be a string.") - } + + report_type <- report_type %||% c("routine", "specials") + report_type <- tolower(report_type) # not case-sensitive + report_type <- rlang::arg_match( + report_type, + values = c("hfmetar", "routine", "specials"), + multiple = TRUE + ) + report_type <- purrr::map_int( + report_type, \(x) switch( + x, # nolint: fixed_regex_linter + hfmetar = 1L, + routine = 3L, + specials = 4L + ) + ) + report_type <- paste(report_type, collapse = ",") resp <- perform_riem_request( path = "cgi-bin/request/asos.py/", # nolint: nonportable_path_linter diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index 42df042..d2cfa0c 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -12,7 +12,7 @@ riem_measures( data = "all", elev = FALSE, latlon = TRUE, - report_type = "3,4" + report_type = NULL ) } \arguments{ @@ -30,7 +30,7 @@ riem_measures( \item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} -\item{report_type}{The report type to query. The available options are: 1 (HFMETAR), 3 (Routine), 4 (Specials). # nolint: line_length_linter} +\item{report_type}{The report type to query. The available options are "hfmetar" (skipped by default), "routine", "specials". # nolint: line_length_linter} } \value{ a data.frame (tibble tibble) with measures, From b3c5dd467b1aac70f49c25db2da5355aa4bbdb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Thu, 19 Dec 2024 11:02:15 +0100 Subject: [PATCH 21/34] test: add test for new parameters --- .../cgi-bin/request/asos.py-a82f64.txt | 420 ++++++++++++++++++ tests/testthat/test-measures.R | 21 + 2 files changed, 441 insertions(+) create mode 100644 tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a82f64.txt diff --git a/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a82f64.txt b/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a82f64.txt new file mode 100644 index 0000000..5a7e809 --- /dev/null +++ b/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a82f64.txt @@ -0,0 +1,420 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2014-03-01 00:00:00+00:00 2014-04-05 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid elevation tmpf +VOHY 2014-03-01 00:40 545.00 69.80 +VOHY 2014-03-01 01:40 545.00 69.80 +VOHY 2014-03-01 03:40 545.00 77.00 +VOHY 2014-03-01 05:40 545.00 82.40 +VOHY 2014-03-01 07:40 545.00 84.20 +VOHY 2014-03-01 08:40 545.00 87.80 +VOHY 2014-03-01 10:40 545.00 86.00 +VOHY 2014-03-01 12:40 545.00 80.60 +VOHY 2014-03-01 13:40 545.00 75.20 +VOHY 2014-03-01 14:40 545.00 73.40 +VOHY 2014-03-02 00:40 545.00 66.20 +VOHY 2014-03-02 01:40 545.00 66.20 +VOHY 2014-03-02 04:40 545.00 71.60 +VOHY 2014-03-02 06:40 545.00 84.20 +VOHY 2014-03-02 07:40 545.00 86.00 +VOHY 2014-03-02 09:40 545.00 78.80 +VOHY 2014-03-02 12:40 545.00 71.60 +VOHY 2014-03-02 13:40 545.00 69.80 +VOHY 2014-03-02 14:40 545.00 69.80 +VOHY 2014-03-02 15:40 545.00 69.80 +VOHY 2014-03-03 00:40 545.00 69.80 +VOHY 2014-03-03 01:40 545.00 69.80 +VOHY 2014-03-03 09:40 545.00 82.40 +VOHY 2014-03-03 12:40 545.00 71.60 +VOHY 2014-03-03 14:40 545.00 69.80 +VOHY 2014-03-03 15:40 545.00 69.80 +VOHY 2014-03-04 00:40 545.00 68.00 +VOHY 2014-03-04 01:40 545.00 68.00 +VOHY 2014-03-04 03:40 545.00 71.60 +VOHY 2014-03-04 07:40 545.00 78.80 +VOHY 2014-03-04 08:40 545.00 82.40 +VOHY 2014-03-04 11:40 545.00 66.20 +VOHY 2014-03-04 12:40 545.00 66.20 +VOHY 2014-03-04 13:40 545.00 66.20 +VOHY 2014-03-04 14:40 545.00 66.20 +VOHY 2014-03-04 15:40 545.00 64.40 +VOHY 2014-03-05 00:40 545.00 64.40 +VOHY 2014-03-05 07:40 545.00 78.80 +VOHY 2014-03-05 08:40 545.00 80.60 +VOHY 2014-03-05 09:40 545.00 80.60 +VOHY 2014-03-05 10:40 545.00 80.60 +VOHY 2014-03-05 12:40 545.00 77.00 +VOHY 2014-03-05 13:40 545.00 73.40 +VOHY 2014-03-05 14:40 545.00 71.60 +VOHY 2014-03-05 15:40 545.00 71.60 +VOHY 2014-03-06 00:40 545.00 68.00 +VOHY 2014-03-06 01:40 545.00 68.00 +VOHY 2014-03-06 03:40 545.00 71.60 +VOHY 2014-03-06 04:40 545.00 73.40 +VOHY 2014-03-06 05:40 545.00 75.20 +VOHY 2014-03-06 06:40 545.00 75.20 +VOHY 2014-03-06 07:40 545.00 75.20 +VOHY 2014-03-06 09:40 545.00 82.40 +VOHY 2014-03-06 10:40 545.00 80.60 +VOHY 2014-03-06 11:40 545.00 78.80 +VOHY 2014-03-06 12:40 545.00 77.00 +VOHY 2014-03-06 13:40 545.00 73.40 +VOHY 2014-03-06 14:40 545.00 73.40 +VOHY 2014-03-06 15:40 545.00 71.60 +VOHY 2014-03-07 00:40 545.00 68.00 +VOHY 2014-03-07 01:40 545.00 68.00 +VOHY 2014-03-07 03:40 545.00 73.40 +VOHY 2014-03-07 06:40 545.00 80.60 +VOHY 2014-03-07 08:40 545.00 82.40 +VOHY 2014-03-07 09:40 545.00 84.20 +VOHY 2014-03-07 11:40 545.00 75.20 +VOHY 2014-03-07 14:40 545.00 75.20 +VOHY 2014-03-07 15:40 545.00 73.40 +VOHY 2014-03-08 00:40 545.00 69.80 +VOHY 2014-03-08 01:40 545.00 69.80 +VOHY 2014-03-08 02:40 545.00 69.80 +VOHY 2014-03-08 03:40 545.00 71.60 +VOHY 2014-03-08 06:40 545.00 84.20 +VOHY 2014-03-08 07:40 545.00 84.20 +VOHY 2014-03-08 08:40 545.00 84.20 +VOHY 2014-03-08 09:40 545.00 84.20 +VOHY 2014-03-08 11:40 545.00 82.40 +VOHY 2014-03-08 13:40 545.00 78.80 +VOHY 2014-03-08 14:40 545.00 77.00 +VOHY 2014-03-08 15:40 545.00 77.00 +VOHY 2014-03-09 00:40 545.00 66.20 +VOHY 2014-03-09 03:40 545.00 73.40 +VOHY 2014-03-09 04:40 545.00 77.00 +VOHY 2014-03-09 06:40 545.00 80.60 +VOHY 2014-03-09 07:40 545.00 82.40 +VOHY 2014-03-09 08:40 545.00 84.20 +VOHY 2014-03-09 09:40 545.00 86.00 +VOHY 2014-03-09 10:40 545.00 87.80 +VOHY 2014-03-09 11:40 545.00 86.00 +VOHY 2014-03-09 13:40 545.00 78.80 +VOHY 2014-03-09 14:40 545.00 77.00 +VOHY 2014-03-10 00:40 545.00 68.00 +VOHY 2014-03-10 01:40 545.00 68.00 +VOHY 2014-03-10 02:40 545.00 M +VOHY 2014-03-10 06:40 545.00 78.80 +VOHY 2014-03-10 07:40 545.00 80.60 +VOHY 2014-03-10 09:40 545.00 84.20 +VOHY 2014-03-10 10:40 545.00 84.20 +VOHY 2014-03-10 11:40 545.00 82.40 +VOHY 2014-03-10 13:40 545.00 78.80 +VOHY 2014-03-10 14:40 545.00 77.00 +VOHY 2014-03-10 15:40 545.00 77.00 +VOHY 2014-03-11 00:40 545.00 69.80 +VOHY 2014-03-11 03:40 545.00 80.60 +VOHY 2014-03-11 05:40 545.00 87.80 +VOHY 2014-03-11 06:40 545.00 89.60 +VOHY 2014-03-11 07:40 545.00 91.40 +VOHY 2014-03-11 08:40 545.00 95.00 +VOHY 2014-03-11 09:40 545.00 93.20 +VOHY 2014-03-11 10:40 545.00 91.40 +VOHY 2014-03-11 11:40 545.00 87.80 +VOHY 2014-03-11 13:40 545.00 82.40 +VOHY 2014-03-11 14:40 545.00 80.60 +VOHY 2014-03-11 15:40 545.00 78.80 +VOHY 2014-03-12 00:40 545.00 69.80 +VOHY 2014-03-12 01:40 545.00 69.80 +VOHY 2014-03-12 05:40 545.00 86.00 +VOHY 2014-03-12 06:40 545.00 89.60 +VOHY 2014-03-12 07:40 545.00 89.60 +VOHY 2014-03-12 08:40 545.00 91.40 +VOHY 2014-03-12 09:40 545.00 89.60 +VOHY 2014-03-12 10:40 545.00 89.60 +VOHY 2014-03-12 12:40 545.00 82.40 +VOHY 2014-03-12 13:40 545.00 80.60 +VOHY 2014-03-12 14:40 545.00 78.80 +VOHY 2014-03-12 15:40 545.00 78.80 +VOHY 2014-03-13 00:40 545.00 71.60 +VOHY 2014-03-13 01:40 545.00 69.80 +VOHY 2014-03-13 04:40 545.00 84.20 +VOHY 2014-03-13 05:40 545.00 87.80 +VOHY 2014-03-13 06:40 545.00 89.60 +VOHY 2014-03-13 07:40 545.00 93.20 +VOHY 2014-03-13 08:40 545.00 95.00 +VOHY 2014-03-13 09:40 545.00 93.20 +VOHY 2014-03-13 10:40 545.00 93.20 +VOHY 2014-03-13 11:40 545.00 89.60 +VOHY 2014-03-13 12:40 545.00 87.80 +VOHY 2014-03-13 14:40 545.00 82.40 +VOHY 2014-03-13 15:40 545.00 80.60 +VOHY 2014-03-14 00:40 545.00 64.40 +VOHY 2014-03-14 04:40 545.00 87.80 +VOHY 2014-03-14 05:40 545.00 89.60 +VOHY 2014-03-14 07:40 545.00 93.20 +VOHY 2014-03-14 08:40 545.00 93.20 +VOHY 2014-03-14 09:40 545.00 95.00 +VOHY 2014-03-14 10:40 545.00 93.20 +VOHY 2014-03-14 11:40 545.00 93.20 +VOHY 2014-03-14 13:40 545.00 87.80 +VOHY 2014-03-14 14:40 545.00 84.20 +VOHY 2014-03-14 15:40 545.00 82.40 +VOHY 2014-03-15 00:40 545.00 68.00 +VOHY 2014-03-15 01:40 545.00 69.80 +VOHY 2014-03-15 04:40 545.00 93.20 +VOHY 2014-03-15 06:40 545.00 96.80 +VOHY 2014-03-15 07:40 545.00 98.60 +VOHY 2014-03-15 08:40 545.00 98.60 +VOHY 2014-03-15 09:40 545.00 95.00 +VOHY 2014-03-15 10:40 545.00 95.00 +VOHY 2014-03-15 11:40 545.00 93.20 +VOHY 2014-03-15 12:40 545.00 89.60 +VOHY 2014-03-15 13:40 545.00 87.80 +VOHY 2014-03-15 14:40 545.00 86.00 +VOHY 2014-03-15 15:40 545.00 84.20 +VOHY 2014-03-15 19:40 545.00 73.40 +VOHY 2014-03-16 00:40 545.00 69.80 +VOHY 2014-03-16 02:40 545.00 80.60 +VOHY 2014-03-16 04:40 545.00 91.40 +VOHY 2014-03-16 06:40 545.00 95.00 +VOHY 2014-03-16 07:40 545.00 96.80 +VOHY 2014-03-16 08:40 545.00 96.80 +VOHY 2014-03-16 09:40 545.00 96.80 +VOHY 2014-03-16 11:40 545.00 95.00 +VOHY 2014-03-16 12:40 545.00 91.40 +VOHY 2014-03-16 14:40 545.00 86.00 +VOHY 2014-03-16 15:40 545.00 84.20 +VOHY 2014-03-16 16:40 545.00 80.60 +VOHY 2014-03-16 17:40 545.00 78.80 +VOHY 2014-03-16 18:40 545.00 75.20 +VOHY 2014-03-16 19:40 545.00 73.40 +VOHY 2014-03-16 20:40 545.00 71.60 +VOHY 2014-03-16 23:40 545.00 68.00 +VOHY 2014-03-17 01:40 545.00 69.80 +VOHY 2014-03-17 02:40 545.00 82.40 +VOHY 2014-03-17 06:40 545.00 98.60 +VOHY 2014-03-17 07:40 545.00 98.60 +VOHY 2014-03-17 08:40 545.00 98.60 +VOHY 2014-03-17 10:40 545.00 98.60 +VOHY 2014-03-17 11:40 545.00 95.00 +VOHY 2014-03-17 12:40 545.00 91.40 +VOHY 2014-03-17 13:40 545.00 87.80 +VOHY 2014-03-17 15:40 545.00 86.00 +VOHY 2014-03-18 00:40 545.00 71.60 +VOHY 2014-03-18 05:40 545.00 98.60 +VOHY 2014-03-18 06:40 545.00 100.40 +VOHY 2014-03-18 07:40 545.00 100.40 +VOHY 2014-03-18 08:40 545.00 98.60 +VOHY 2014-03-18 09:40 545.00 100.40 +VOHY 2014-03-18 10:40 545.00 98.60 +VOHY 2014-03-18 11:40 545.00 96.80 +VOHY 2014-03-18 12:40 545.00 93.20 +VOHY 2014-03-18 13:40 545.00 89.60 +VOHY 2014-03-18 14:40 545.00 87.80 +VOHY 2014-03-18 15:40 545.00 86.00 +VOHY 2014-03-19 00:40 545.00 68.00 +VOHY 2014-03-19 01:40 545.00 73.40 +VOHY 2014-03-19 03:40 545.00 89.60 +VOHY 2014-03-19 05:40 545.00 98.60 +VOHY 2014-03-19 07:40 545.00 100.40 +VOHY 2014-03-19 08:40 545.00 100.40 +VOHY 2014-03-19 09:40 545.00 98.60 +VOHY 2014-03-19 10:40 545.00 98.60 +VOHY 2014-03-19 11:40 545.00 96.80 +VOHY 2014-03-19 12:40 545.00 93.20 +VOHY 2014-03-19 13:40 545.00 91.40 +VOHY 2014-03-19 14:40 545.00 89.60 +VOHY 2014-03-19 15:40 545.00 86.00 +VOHY 2014-03-20 00:40 545.00 69.80 +VOHY 2014-03-20 01:40 545.00 71.60 +VOHY 2014-03-20 04:40 545.00 95.00 +VOHY 2014-03-20 06:40 545.00 102.20 +VOHY 2014-03-20 07:40 545.00 100.40 +VOHY 2014-03-20 08:40 545.00 104.00 +VOHY 2014-03-20 09:40 545.00 100.40 +VOHY 2014-03-20 10:40 545.00 100.40 +VOHY 2014-03-20 11:40 545.00 98.60 +VOHY 2014-03-20 12:40 545.00 95.00 +VOHY 2014-03-20 13:40 545.00 91.40 +VOHY 2014-03-20 14:40 545.00 89.60 +VOHY 2014-03-21 00:40 545.00 69.80 +VOHY 2014-03-21 01:40 545.00 71.60 +VOHY 2014-03-21 04:40 545.00 95.00 +VOHY 2014-03-21 05:40 545.00 95.00 +VOHY 2014-03-21 06:40 545.00 98.60 +VOHY 2014-03-21 07:40 545.00 102.20 +VOHY 2014-03-21 08:40 545.00 102.20 +VOHY 2014-03-21 09:40 545.00 102.20 +VOHY 2014-03-21 10:40 545.00 102.20 +VOHY 2014-03-21 11:40 545.00 100.40 +VOHY 2014-03-21 13:40 545.00 93.20 +VOHY 2014-03-21 14:40 545.00 89.60 +VOHY 2014-03-21 15:40 545.00 89.60 +VOHY 2014-03-22 00:40 545.00 75.20 +VOHY 2014-03-22 01:40 545.00 78.80 +VOHY 2014-03-22 02:40 545.00 80.60 +VOHY 2014-03-22 03:40 545.00 87.80 +VOHY 2014-03-22 07:40 545.00 100.40 +VOHY 2014-03-22 08:40 545.00 102.20 +VOHY 2014-03-22 09:40 545.00 100.40 +VOHY 2014-03-22 10:40 545.00 100.40 +VOHY 2014-03-22 11:40 545.00 98.60 +VOHY 2014-03-22 13:40 545.00 89.60 +VOHY 2014-03-22 14:40 545.00 87.80 +VOHY 2014-03-22 15:40 545.00 87.80 +VOHY 2014-03-23 00:40 545.00 71.60 +VOHY 2014-03-23 01:40 545.00 73.40 +VOHY 2014-03-23 04:40 545.00 93.20 +VOHY 2014-03-23 05:40 545.00 95.00 +VOHY 2014-03-23 06:40 545.00 98.60 +VOHY 2014-03-23 07:40 545.00 100.40 +VOHY 2014-03-23 08:40 545.00 104.00 +VOHY 2014-03-23 09:40 545.00 104.00 +VOHY 2014-03-23 10:40 545.00 102.20 +VOHY 2014-03-23 11:40 545.00 96.80 +VOHY 2014-03-23 12:40 545.00 93.20 +VOHY 2014-03-23 13:40 545.00 89.60 +VOHY 2014-03-23 14:40 545.00 87.80 +VOHY 2014-03-23 15:40 545.00 86.00 +VOHY 2014-03-24 00:40 545.00 73.40 +VOHY 2014-03-24 01:40 545.00 75.20 +VOHY 2014-03-24 03:40 545.00 86.00 +VOHY 2014-03-24 05:40 545.00 95.00 +VOHY 2014-03-24 07:40 545.00 100.40 +VOHY 2014-03-24 08:40 545.00 102.20 +VOHY 2014-03-24 09:40 545.00 102.20 +VOHY 2014-03-24 10:40 545.00 98.60 +VOHY 2014-03-24 11:40 545.00 95.00 +VOHY 2014-03-24 13:40 545.00 87.80 +VOHY 2014-03-24 15:40 545.00 84.20 +VOHY 2014-03-25 00:40 545.00 75.20 +VOHY 2014-03-25 01:40 545.00 77.00 +VOHY 2014-03-25 05:40 545.00 98.60 +VOHY 2014-03-25 06:40 545.00 100.40 +VOHY 2014-03-25 07:40 545.00 102.20 +VOHY 2014-03-25 08:40 545.00 104.00 +VOHY 2014-03-25 09:40 545.00 104.00 +VOHY 2014-03-25 10:40 545.00 102.20 +VOHY 2014-03-25 11:40 545.00 96.80 +VOHY 2014-03-25 12:40 545.00 93.20 +VOHY 2014-03-25 13:40 545.00 89.60 +VOHY 2014-03-25 14:40 545.00 87.80 +VOHY 2014-03-25 15:40 545.00 86.00 +VOHY 2014-03-26 00:40 545.00 73.40 +VOHY 2014-03-26 01:40 545.00 75.20 +VOHY 2014-03-26 04:40 545.00 91.40 +VOHY 2014-03-26 06:40 545.00 102.20 +VOHY 2014-03-26 07:40 545.00 104.00 +VOHY 2014-03-26 08:40 545.00 102.20 +VOHY 2014-03-26 09:40 545.00 102.20 +VOHY 2014-03-26 10:40 545.00 100.40 +VOHY 2014-03-26 11:40 545.00 98.60 +VOHY 2014-03-26 12:40 545.00 93.20 +VOHY 2014-03-26 13:40 545.00 91.40 +VOHY 2014-03-26 14:40 545.00 87.80 +VOHY 2014-03-26 15:40 545.00 86.00 +VOHY 2014-03-27 00:40 545.00 73.40 +VOHY 2014-03-27 01:40 545.00 77.00 +VOHY 2014-03-27 02:40 545.00 84.20 +VOHY 2014-03-27 04:40 545.00 95.00 +VOHY 2014-03-27 06:40 545.00 102.20 +VOHY 2014-03-27 07:40 545.00 104.00 +VOHY 2014-03-27 08:40 545.00 105.80 +VOHY 2014-03-27 09:40 545.00 105.80 +VOHY 2014-03-27 10:40 545.00 104.00 +VOHY 2014-03-27 11:40 545.00 100.40 +VOHY 2014-03-27 12:40 545.00 96.80 +VOHY 2014-03-27 13:40 545.00 93.20 +VOHY 2014-03-27 14:40 545.00 89.60 +VOHY 2014-03-27 15:40 545.00 87.80 +VOHY 2014-03-28 01:40 545.00 73.40 +VOHY 2014-03-28 02:40 545.00 84.20 +VOHY 2014-03-28 05:40 545.00 100.40 +VOHY 2014-03-28 06:40 545.00 102.20 +VOHY 2014-03-28 07:40 545.00 104.00 +VOHY 2014-03-28 08:40 545.00 104.00 +VOHY 2014-03-28 09:40 545.00 104.00 +VOHY 2014-03-28 10:40 545.00 104.00 +VOHY 2014-03-28 11:40 545.00 100.40 +VOHY 2014-03-28 12:40 545.00 96.80 +VOHY 2014-03-28 14:40 545.00 87.80 +VOHY 2014-03-28 15:40 545.00 82.40 +VOHY 2014-03-29 00:40 545.00 71.60 +VOHY 2014-03-29 01:40 545.00 71.60 +VOHY 2014-03-29 03:40 545.00 95.00 +VOHY 2014-03-29 06:40 545.00 104.00 +VOHY 2014-03-29 07:40 545.00 104.00 +VOHY 2014-03-29 08:40 545.00 105.80 +VOHY 2014-03-29 09:40 545.00 104.00 +VOHY 2014-03-29 11:40 545.00 102.20 +VOHY 2014-03-29 12:40 545.00 98.60 +VOHY 2014-03-29 13:40 545.00 93.20 +VOHY 2014-03-29 14:40 545.00 87.80 +VOHY 2014-03-29 15:40 545.00 86.00 +VOHY 2014-03-30 00:40 545.00 73.40 +VOHY 2014-03-30 01:40 545.00 75.20 +VOHY 2014-03-30 06:40 545.00 104.00 +VOHY 2014-03-30 07:40 545.00 104.00 +VOHY 2014-03-30 08:40 545.00 104.00 +VOHY 2014-03-30 09:40 545.00 105.80 +VOHY 2014-03-30 10:40 545.00 105.80 +VOHY 2014-03-30 11:40 545.00 104.00 +VOHY 2014-03-30 12:40 545.00 98.60 +VOHY 2014-03-30 13:40 545.00 93.20 +VOHY 2014-03-30 14:40 545.00 93.20 +VOHY 2014-03-30 15:40 545.00 87.80 +VOHY 2014-03-31 00:40 545.00 73.40 +VOHY 2014-03-31 01:40 545.00 77.00 +VOHY 2014-03-31 04:40 545.00 96.80 +VOHY 2014-03-31 06:40 545.00 102.20 +VOHY 2014-03-31 07:40 545.00 104.00 +VOHY 2014-03-31 08:40 545.00 105.80 +VOHY 2014-03-31 09:40 545.00 105.80 +VOHY 2014-03-31 10:40 545.00 107.60 +VOHY 2014-03-31 11:40 545.00 105.80 +VOHY 2014-03-31 12:40 545.00 102.20 +VOHY 2014-03-31 13:40 545.00 95.00 +VOHY 2014-03-31 14:40 545.00 95.00 +VOHY 2014-03-31 15:40 545.00 93.20 +VOHY 2014-04-01 00:40 545.00 M +VOHY 2014-04-01 01:40 545.00 M +VOHY 2014-04-01 02:40 545.00 M +VOHY 2014-04-01 03:40 545.00 M +VOHY 2014-04-01 04:40 545.00 91.40 +VOHY 2014-04-01 07:40 545.00 102.20 +VOHY 2014-04-01 08:40 545.00 104.00 +VOHY 2014-04-01 09:40 545.00 102.20 +VOHY 2014-04-01 10:40 545.00 104.00 +VOHY 2014-04-01 11:40 545.00 102.20 +VOHY 2014-04-01 13:40 545.00 89.60 +VOHY 2014-04-01 14:40 545.00 87.80 +VOHY 2014-04-01 15:40 545.00 86.00 +VOHY 2014-04-02 00:40 545.00 75.20 +VOHY 2014-04-02 01:40 545.00 77.00 +VOHY 2014-04-02 02:40 545.00 86.00 +VOHY 2014-04-02 04:40 545.00 91.40 +VOHY 2014-04-02 06:40 545.00 98.60 +VOHY 2014-04-02 08:40 545.00 102.20 +VOHY 2014-04-02 09:40 545.00 102.20 +VOHY 2014-04-02 10:40 545.00 100.40 +VOHY 2014-04-02 12:40 545.00 96.80 +VOHY 2014-04-02 13:40 545.00 91.40 +VOHY 2014-04-02 14:40 545.00 87.80 +VOHY 2014-04-02 15:40 545.00 86.00 +VOHY 2014-04-03 00:40 545.00 78.80 +VOHY 2014-04-03 01:40 545.00 75.20 +VOHY 2014-04-03 02:40 545.00 82.40 +VOHY 2014-04-03 03:40 545.00 86.00 +VOHY 2014-04-03 05:40 545.00 96.80 +VOHY 2014-04-03 08:40 545.00 102.20 +VOHY 2014-04-03 09:40 545.00 102.20 +VOHY 2014-04-03 10:40 545.00 102.20 +VOHY 2014-04-03 11:40 545.00 98.60 +VOHY 2014-04-03 13:40 545.00 93.20 +VOHY 2014-04-03 15:40 545.00 89.60 +VOHY 2014-04-04 00:40 545.00 71.60 +VOHY 2014-04-04 03:40 545.00 93.20 +VOHY 2014-04-04 07:40 545.00 102.20 +VOHY 2014-04-04 08:40 545.00 104.00 +VOHY 2014-04-04 09:40 545.00 102.20 +VOHY 2014-04-04 10:40 545.00 102.20 +VOHY 2014-04-04 11:40 545.00 98.60 +VOHY 2014-04-04 12:40 545.00 95.00 +VOHY 2014-04-04 13:40 545.00 91.40 +VOHY 2014-04-04 14:40 545.00 91.40 +VOHY 2014-04-04 15:40 545.00 89.60 diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index e2b2c0f..ef9eb15 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -33,6 +33,27 @@ test_that("riem_measures returns the right output", { expect_type(output$metar, "character") }) +test_that("riem_measures params", { + httptest2::with_mock_dir(file.path("fixtures", "measures2"), { + output <- riem_measures( + station = "VOHY", + date_start = "2014-03-01", + date_end = "2014-04-05", + data = "tmpf", + elev = TRUE, + latlon = FALSE, + report_type = "specials" + ) + }) + expect_s3_class(output, "tbl_df") + + expect_setequal(names(output), c("station", "valid", "elevation", "tmpf")) + + expect_type(output$station, "character") + expect_s3_class(output$valid, "POSIXct") + expect_type(output$tmpf, "double") + expect_type(output$elevation, "double") +}) test_that("riem_measures outputs warning if no results", { httptest2::with_mock_dir(file.path("fixtures", "warnings"), { From 115a3734eed6c468e6d3ac901fddfa76ec834634 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Thu, 19 Dec 2024 16:10:05 -0500 Subject: [PATCH 22/34] Address lintr warnings --- R/measures.R | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/R/measures.R b/R/measures.R index 624b039..ae0cfcb 100644 --- a/R/measures.R +++ b/R/measures.R @@ -77,7 +77,7 @@ riem_measures <- function( elev = FALSE, latlon = TRUE, report_type = NULL) { - if (!rlang::is_character(station, n = 1)) { + if (!rlang::is_character(station, n = 1L)) { cli::cli_abort("{.arg station} must be a string.") } date_start <- format_and_check_date(date_start, "date_start") @@ -86,7 +86,7 @@ riem_measures <- function( if (date_end < date_start) { cli::cli_abort("{.arg date_end} must be bigger than {.arg date_start}.") } - if (!rlang::is_character(data, n = 1)) { + if (!rlang::is_character(data, n = 1L)) { cli::cli_abort("{.arg data} must be a string.") } if (!is.logical(elev)) { @@ -104,12 +104,8 @@ riem_measures <- function( multiple = TRUE ) report_type <- purrr::map_int( - report_type, \(x) switch( - x, # nolint: fixed_regex_linter - hfmetar = 1L, - routine = 3L, - specials = 4L - ) + report_type, + \(x) switch(x, hfmetar = 1L, routine = 3L, specials = 4L) # nolint: unnecessary_lambda_linter ) report_type <- paste(report_type, collapse = ",") From 045b2293ad62064e0d616aa71e8283ba8ecff1e8 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Thu, 19 Dec 2024 16:11:51 -0500 Subject: [PATCH 23/34] Add new tests; Address lintr warnings --- tests/testthat/_snaps/measures.md | 50 ++- .../cgi-bin/request/asos.py-0a7e32.txt | 293 ++++++++++++++++ .../cgi-bin/request/asos.py-2d8537.txt | 30 ++ .../cgi-bin/request/asos.py-a9e7cb.txt | 12 + .../cgi-bin/request/asos.py-be3d6e.txt | 317 +++++++++++++++++ .../cgi-bin/request/asos.py-d29614.txt | 323 ++++++++++++++++++ .../cgi-bin/request/asos.py-d45461.txt | 299 ++++++++++++++++ tests/testthat/test-measures.R | 300 ++++++++++++---- 8 files changed, 1562 insertions(+), 62 deletions(-) create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-0a7e32.txt create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2d8537.txt create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a9e7cb.txt create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-be3d6e.txt create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d29614.txt create mode 100644 tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d45461.txt diff --git a/tests/testthat/_snaps/measures.md b/tests/testthat/_snaps/measures.md index b465fae..50eeb8c 100644 --- a/tests/testthat/_snaps/measures.md +++ b/tests/testthat/_snaps/measures.md @@ -1,16 +1,32 @@ -# riem_measures checks dates +# riem_measures fails if required 'station' param is absent + + argument "station" is missing, with no default + +# riem_measures fails if required 'date_start' param is absent + + argument "date_start" is missing, with no default + +# riem_measures validates 'station' param + + `station` must be a string. + +--- + + HTTP 422 Unprocessable Entity. + +# riem_measures validates dates x Invalid `date_start`: somethingelse. i Correct format is YYYY-MM-DD. --- - x Invalid `date_end`: somethingelse. + x Invalid `date_start`: 2015 31 01. i Correct format is YYYY-MM-DD. --- - x Invalid `date_start`: 2015 31 01. + x Invalid `date_end`: somethingelse. i Correct format is YYYY-MM-DD. --- @@ -22,3 +38,31 @@ `date_end` must be bigger than `date_start`. +# riem_measures validates 'elev' param + + `elev` must be a logical (TRUE/FALSE) + +--- + + `elev` must be a logical (TRUE/FALSE) + +# riem_measures validates 'latlon' param + + `latlon` must be a logical (TRUE/FALSE) + +--- + + `latlon` must be a logical (TRUE/FALSE) + +# riem_measures validates 'report_type' param + + `report_type` must be one of "hfmetar", "routine", or "specials", not "11111". + +--- + + `report_type` must be one of "hfmetar", "routine", or "specials", not "zzzzz". + +--- + + `report_type` must be one of "hfmetar", "routine", or "specials", not "zzzzz". + diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-0a7e32.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-0a7e32.txt new file mode 100644 index 0000000..009dc82 --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-0a7e32.txt @@ -0,0 +1,293 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 00:00 KCVG 010000Z AUTO 15005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:05 KCVG 010005Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:10 KCVG 010010Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:15 KCVG 010015Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:20 KCVG 010020Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:25 KCVG 010025Z AUTO 13005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 00:30 KCVG 010030Z AUTO 13005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:35 KCVG 010035Z AUTO 14005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:40 KCVG 010040Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:45 KCVG 010045Z AUTO 13004KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:50 KCVG 010050Z AUTO 14002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 00:55 KCVG 010055Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:00 KCVG 010100Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:05 KCVG 010105Z AUTO 00000KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:10 KCVG 010110Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:15 KCVG 010115Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:20 KCVG 010120Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:25 KCVG 010125Z AUTO 13002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:30 KCVG 010130Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:35 KCVG 010135Z AUTO 12004KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:40 KCVG 010140Z AUTO 14004KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:45 KCVG 010145Z AUTO 15005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:50 KCVG 010150Z AUTO 14005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 01:55 KCVG 010155Z AUTO 14005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:00 KCVG 010200Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:05 KCVG 010205Z AUTO 15005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 02:10 KCVG 010210Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:20 KCVG 010220Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:25 KCVG 010225Z AUTO 14007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:30 KCVG 010230Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 02:35 KCVG 010235Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:40 KCVG 010240Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:45 KCVG 010245Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:50 KCVG 010250Z AUTO 15007KT 10SM 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:55 KCVG 010255Z AUTO 16005KT 10SM CLR 00/M09 A3042 RMK T00001090 MADISHF +CVG 2024-03-01 03:00 KCVG 010300Z AUTO 15005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:05 KCVG 010305Z AUTO 15005KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:10 KCVG 010310Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:15 KCVG 010315Z AUTO 16007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:20 KCVG 010320Z AUTO 16005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:25 KCVG 010325Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:30 KCVG 010330Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:35 KCVG 010335Z AUTO 16007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:40 KCVG 010340Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:45 KCVG 010345Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:50 KCVG 010350Z AUTO 15007KT 10SM 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:55 KCVG 010355Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:00 KCVG 010400Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:05 KCVG 010405Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:10 KCVG 010410Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:15 KCVG 010415Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:20 KCVG 010420Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:25 KCVG 010425Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:30 KCVG 010430Z AUTO 15007KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:35 KCVG 010435Z AUTO 15008KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:40 KCVG 010440Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:45 KCVG 010445Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:50 KCVG 010450Z AUTO 14007KT 10SM 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:55 KCVG 010455Z AUTO 14007KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:00 KCVG 010500Z AUTO 14005KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:05 KCVG 010505Z AUTO 13005KT 10SM CLR 01/M08 A3038 RMK T00101080 MADISHF +CVG 2024-03-01 05:10 KCVG 010510Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:15 KCVG 010515Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:20 KCVG 010520Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:25 KCVG 010525Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:30 KCVG 010530Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:35 KCVG 010535Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:40 KCVG 010540Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:45 KCVG 010545Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:50 KCVG 010550Z AUTO 12008KT 10SM 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:55 KCVG 010555Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:00 KCVG 010600Z AUTO 13008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:05 KCVG 010605Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:10 KCVG 010610Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:15 KCVG 010615Z AUTO 12005KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:20 KCVG 010620Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:25 KCVG 010625Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:30 KCVG 010630Z AUTO 12008KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:35 KCVG 010635Z AUTO 12007KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:40 KCVG 010640Z AUTO 11007KT 10SM CLR 01/M09 A3035 RMK T00101090 MADISHF +CVG 2024-03-01 06:45 KCVG 010645Z AUTO 11005KT 10SM CLR 00/M08 A3035 RMK T00001080 MADISHF +CVG 2024-03-01 06:50 KCVG 010650Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 06:55 KCVG 010655Z AUTO 11007KT 10SM CLR 01/M08 A3034 RMK T00101080 MADISHF +CVG 2024-03-01 07:00 KCVG 010700Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:05 KCVG 010705Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:10 KCVG 010710Z AUTO 12008KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:15 KCVG 010715Z AUTO 12007KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:20 KCVG 010720Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:25 KCVG 010725Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:30 KCVG 010730Z AUTO 12008KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:35 KCVG 010735Z AUTO 12009KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:40 KCVG 010740Z AUTO 12008KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:45 KCVG 010745Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:50 KCVG 010750Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:55 KCVG 010755Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:00 KCVG 010800Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:05 KCVG 010805Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:10 KCVG 010810Z AUTO 13010KT 10SM CLR 01/M08 A3031 RMK T00101080 MADISHF +CVG 2024-03-01 08:15 KCVG 010815Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:20 KCVG 010820Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:25 KCVG 010825Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:30 KCVG 010830Z AUTO 13009KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:35 KCVG 010835Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:40 KCVG 010840Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:45 KCVG 010845Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:50 KCVG 010850Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:55 KCVG 010855Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:00 KCVG 010900Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:05 KCVG 010905Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:10 KCVG 010910Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:15 KCVG 010915Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:20 KCVG 010920Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:25 KCVG 010925Z AUTO 14009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:30 KCVG 010930Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:35 KCVG 010935Z AUTO 16009KT 10SM CLR M01/M08 A3032 RMK T10101080 MADISHF +CVG 2024-03-01 09:40 KCVG 010940Z AUTO 15008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:45 KCVG 010945Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:50 KCVG 010950Z AUTO 15011KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:55 KCVG 010955Z AUTO 13011KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:00 KCVG 011000Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:05 KCVG 011005Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:10 KCVG 011010Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:15 KCVG 011015Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:20 KCVG 011020Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:25 KCVG 011025Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:30 KCVG 011030Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 10:35 KCVG 011035Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:40 KCVG 011040Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:45 KCVG 011045Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:50 KCVG 011050Z AUTO 13009KT 10SM 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:55 KCVG 011055Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:00 KCVG 011100Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:05 KCVG 011105Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:10 KCVG 011110Z AUTO 11005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:15 KCVG 011115Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:20 KCVG 011120Z AUTO 12005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:25 KCVG 011125Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:30 KCVG 011130Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:35 KCVG 011135Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:40 KCVG 011140Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 VRB06KT MADISHF +CVG 2024-03-01 11:45 KCVG 011145Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:50 KCVG 011150Z AUTO 10004KT 10SM M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:55 KCVG 011155Z AUTO 10004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:00 KCVG 011200Z AUTO 13004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:05 KCVG 011205Z AUTO 13005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:10 KCVG 011210Z AUTO 13007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:15 KCVG 011215Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:20 KCVG 011220Z AUTO 14007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:25 KCVG 011225Z AUTO 12004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:30 KCVG 011230Z AUTO 13004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:35 KCVG 011235Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:40 KCVG 011240Z AUTO 14008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:45 KCVG 011245Z AUTO 13007KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 12:50 KCVG 011250Z AUTO 13007KT 10SM 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 12:55 KCVG 011255Z AUTO 14005KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 13:00 KCVG 011300Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:05 KCVG 011305Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:10 KCVG 011310Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:15 KCVG 011315Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:20 KCVG 011320Z AUTO 14009KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:25 KCVG 011325Z AUTO 14008KT 10SM CLR 01/M08 A3030 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:30 KCVG 011330Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:35 KCVG 011335Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:40 KCVG 011340Z AUTO 14008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:45 KCVG 011345Z AUTO 13007KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:50 KCVG 011350Z AUTO 13008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:55 KCVG 011355Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:00 KCVG 011400Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:05 KCVG 011405Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:10 KCVG 011410Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:15 KCVG 011415Z AUTO 14007KT 10SM CLR 01/M07 A3029 RMK T00101070 MADISHF +CVG 2024-03-01 14:20 KCVG 011420Z AUTO 14008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:25 KCVG 011425Z AUTO 15008KT 10SM CLR 02/M08 A3029 RMK T00201080 MADISHF +CVG 2024-03-01 14:30 KCVG 011430Z AUTO 13008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:35 KCVG 011435Z AUTO 13008KT 10SM FEW120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 14:40 KCVG 011440Z AUTO 14008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:45 KCVG 011445Z AUTO 15008KT 10SM FEW100 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:50 KCVG 011450Z AUTO 15007KT 10SM FEW090 OVC120 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:55 KCVG 011455Z AUTO 14008KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:00 KCVG 011500Z AUTO 15009KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:05 KCVG 011505Z AUTO 15010KT 10SM BKN120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 15:10 KCVG 011510Z AUTO 15010KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:15 KCVG 011515Z AUTO 15009KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:20 KCVG 011520Z AUTO 15008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:25 KCVG 011525Z AUTO 16008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:30 KCVG 011530Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:35 KCVG 011535Z AUTO 14007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:40 KCVG 011540Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:45 KCVG 011545Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:50 KCVG 011550Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:55 KCVG 011555Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 16:00 KCVG 011600Z AUTO 15007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:05 KCVG 011605Z AUTO 14007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:10 KCVG 011610Z AUTO 16005KT 10SM BKN090 OVC110 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:15 KCVG 011615Z AUTO 15007KT 10SM OVC095 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:20 KCVG 011620Z AUTO 16007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:25 KCVG 011625Z AUTO 15007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:30 KCVG 011630Z AUTO 15005KT 10SM OVC085 04/M07 A3026 RMK T00401070 MADISHF +CVG 2024-03-01 16:35 KCVG 011635Z AUTO 15007KT 10SM OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:40 KCVG 011640Z AUTO 15005KT 10SM OVC080 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:45 KCVG 011645Z AUTO 15007KT 10SM BKN075 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:50 KCVG 011650Z AUTO 15005KT 10SM BKN070 OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:55 KCVG 011655Z AUTO 18005KT 10SM -RA BKN070 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 17:00 KCVG 011700Z AUTO 16005KT 9SM -RA OVC070 04/M04 A3026 RMK T00401040 MADISHF +CVG 2024-03-01 17:05 KCVG 011705Z AUTO 17005KT 8SM -RA OVC070 04/M03 A3026 RMK T00401030 MADISHF +CVG 2024-03-01 17:10 KCVG 011710Z AUTO 18005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:15 KCVG 011715Z AUTO 16005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:20 KCVG 011720Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:25 KCVG 011725Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:30 KCVG 011730Z AUTO 17004KT 10SM OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:35 KCVG 011735Z AUTO 16002KT 10SM BKN065 OVC080 04/M03 A3024 RMK T00401030 MADISHF +CVG 2024-03-01 17:40 KCVG 011740Z AUTO 15005KT 10SM BKN065 OVC080 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 17:45 KCVG 011745Z AUTO 16005KT 10SM OVC060 05/M03 A3024 RMK T00501030 MADISHF +CVG 2024-03-01 17:50 KCVG 011750Z AUTO 15005KT 10SM OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 17:55 KCVG 011755Z AUTO 15007KT 10SM -RA OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 18:00 KCVG 011800Z AUTO 16010KT 10SM -RA BKN060 OVC075 06/M01 A3024 RMK T00601010 MADISHF +CVG 2024-03-01 18:05 KCVG 011805Z AUTO 16008KT 10SM -RA BKN060 OVC075 06/M02 A3024 RMK T00601020 MADISHF +CVG 2024-03-01 18:10 KCVG 011810Z AUTO 15008KT 10SM OVC060 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 18:15 KCVG 011815Z AUTO 15007KT 10SM OVC060 05/M02 A3023 RMK T00501020 MADISHF +CVG 2024-03-01 18:20 KCVG 011820Z AUTO 15005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:25 KCVG 011825Z AUTO 15007KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:30 KCVG 011830Z AUTO 16005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:35 KCVG 011835Z AUTO 14005KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:40 KCVG 011840Z AUTO 14007KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:45 KCVG 011845Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:50 KCVG 011850Z AUTO 14007KT 10SM OVC050 06/M01 A3022 RMK T00601010 MADISHF +CVG 2024-03-01 18:55 KCVG 011855Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 19:00 KCVG 011900Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:05 KCVG 011905Z AUTO 14005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:10 KCVG 011910Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:15 KCVG 011915Z AUTO 11004KT 10SM OVC050 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:20 KCVG 011920Z AUTO 12005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:25 KCVG 011925Z AUTO 10005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:30 KCVG 011930Z AUTO 11005KT 10SM OVC047 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:35 KCVG 011935Z AUTO 12005KT 10SM BKN042 OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:40 KCVG 011940Z AUTO 11005KT 10SM BKN042 OVC049 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:45 KCVG 011945Z AUTO 12005KT 10SM OVC043 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:50 KCVG 011950Z AUTO 13007KT 10SM OVC043 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:55 KCVG 011955Z AUTO 13005KT 10SM OVC042 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:00 KCVG 012000Z AUTO 11004KT 10SM BKN041 OVC055 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:05 KCVG 012005Z AUTO 12005KT 10SM BKN042 OVC060 07/M01 A3020 RMK T00701010 MADISHF +CVG 2024-03-01 20:10 KCVG 012010Z AUTO 10005KT 10SM SCT042 OVC060 07/M01 A3019 RMK T00701010 CIG 039 36R MADISHF +CVG 2024-03-01 20:15 KCVG 012015Z AUTO 11007KT 10SM SCT042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:20 KCVG 012020Z AUTO 12007KT 10SM FEW042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:25 KCVG 012025Z AUTO 12009KT 10SM FEW043 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:30 KCVG 012030Z AUTO 12008KT 10SM OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:35 KCVG 012035Z AUTO 13009KT 10SM FEW034 SCT048 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:40 KCVG 012040Z AUTO 13010KT 10SM FEW024 BKN032 OVC065 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:45 KCVG 012045Z AUTO 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:50 KCVG 012050Z AUTO 15013KT 10SM BKN022 OVC033 07/02 A3018 RMK T00700020 MADISHF +CVG 2024-03-01 20:55 KCVG 012055Z AUTO 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:00 KCVG 012100Z AUTO 13011KT 10SM -RA BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:05 KCVG 012105Z AUTO 15011KT 7SM -RA BKN022 OVC033 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:10 KCVG 012110Z AUTO 14009KT 6SM -RA BR OVC021 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:15 KCVG 012115Z AUTO 13011KT 7SM -RA OVC020 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:20 KCVG 012120Z AUTO 14011KT 8SM -RA BKN017 OVC023 06/03 A3016 RMK T00600030 MADISHF +CVG 2024-03-01 21:25 KCVG 012125Z AUTO 14009KT 8SM -RA BKN017 OVC023 05/03 A3016 RMK T00500030 MADISHF +CVG 2024-03-01 21:30 KCVG 012130Z AUTO 14010KT 3SM -RA BR OVC017 05/04 A3016 RMK T00500040 MADISHF +CVG 2024-03-01 21:35 KCVG 012135Z AUTO 15010KT 3SM -RA BR OVC017 05/04 A3017 RMK P0001 T00500040 MADISHF +CVG 2024-03-01 21:40 KCVG 012140Z AUTO 14010KT 3SM RA BR OVC015 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 21:45 KCVG 012145Z AUTO 13010KT 4SM -RA BR SCT013 OVC018 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 21:50 KCVG 012150Z AUTO 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0003 T00400040 SCT V BKN MADISHF +CVG 2024-03-01 21:55 KCVG 012155Z AUTO 14009KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:00 KCVG 012200Z AUTO 14008KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:05 KCVG 012205Z AUTO 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:10 KCVG 012210Z AUTO 14008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:15 KCVG 012215Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:20 KCVG 012220Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 22:25 KCVG 012225Z AUTO 13008KT 4SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:30 KCVG 012230Z AUTO 14009KT 5SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:35 KCVG 012235Z AUTO 13010KT 6SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:40 KCVG 012240Z AUTO 12008KT 4SM -DZ BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:45 KCVG 012245Z AUTO 14005KT 4SM -RA BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:50 KCVG 012250Z AUTO 12007KT 4SM -RA BR OVC006 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:55 KCVG 012255Z AUTO 13007KT 4SM -RA BR OVC006 04/04 A3015 RMK T00400040 MADISHF +CVG 2024-03-01 23:00 KCVG 012300Z AUTO 14010KT 4SM -RA BR OVC006 04/04 A3014 RMK T00400040 MADISHF +CVG 2024-03-01 23:05 KCVG 012305Z AUTO 13009KT 4SM RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 23:10 KCVG 012310Z AUTO 15010KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:15 KCVG 012315Z AUTO 14008KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:20 KCVG 012320Z AUTO 15011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:25 KCVG 012325Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:30 KCVG 012330Z AUTO 14009KT 3SM -RA BR OVC006 04/04 A3014 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:35 KCVG 012335Z AUTO 14010KT 3SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:40 KCVG 012340Z AUTO 14011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:45 KCVG 012345Z AUTO 15011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0004 T00400040 MADISHF +CVG 2024-03-01 23:50 KCVG 012350Z AUTO 14011KT 3SM RA BR OVC006 04/04 A3015 RMK P0005 T00400040 CIG 005V008 MADISHF +CVG 2024-03-01 23:55 KCVG 012355Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2d8537.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2d8537.txt new file mode 100644 index 0000000..49064de --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-2d8537.txt @@ -0,0 +1,30 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 00:52 KCVG 010052Z 14003KT 10SM FEW250 03/M11 A3042 RMK AO2 SLP310 T00281106 $ +CVG 2024-03-01 01:52 KCVG 010152Z 15007KT 10SM CLR 02/M09 A3042 RMK AO2 SLP309 T00171094 $ +CVG 2024-03-01 02:52 KCVG 010252Z 16007KT 10SM FEW250 01/M09 A3042 RMK AO2 SLP307 T00061089 56003 $ +CVG 2024-03-01 03:52 KCVG 010352Z 15007KT 10SM FEW250 00/M08 A3041 RMK AO2 SLP303 T00001078 $ +CVG 2024-03-01 04:52 KCVG 010452Z 15007KT 10SM FEW250 00/M08 A3039 RMK AO2 SLP297 T00001078 400671061 $ +CVG 2024-03-01 05:52 KCVG 010552Z 12008KT 10SM SCT250 01/M08 A3036 RMK AO2 SLP286 T00061083 10033 21006 58020 $ +CVG 2024-03-01 06:52 KCVG 010652Z 11007KT 10SM CLR 00/M08 A3034 RMK AO2 SLP281 T00001083 $ +CVG 2024-03-01 07:52 KCVG 010752Z 13008KT 10SM CLR 00/M08 A3032 RMK AO2 SLP271 T00001083 $ +CVG 2024-03-01 08:52 KCVG 010852Z 13009KT 10SM CLR 00/M08 A3030 RMK AO2 SLP264 T00001083 58020 $ +CVG 2024-03-01 09:52 KCVG 010952Z 14009KT 10SM BKN250 M01/M08 A3031 RMK AO2 SLP268 T10061083 $ +CVG 2024-03-01 10:52 KCVG 011052Z 13009KT 10SM BKN250 00/M08 A3031 RMK AO2 SLP270 T00001083 $ +CVG 2024-03-01 11:52 KCVG 011152Z 10004KT 10SM FEW170 BKN200 M01/M08 A3030 RMK AO2 SLP267 T10061083 10011 21011 50002 $ +CVG 2024-03-01 12:52 KCVG 011252Z 13007KT 10SM OVC230 00/M08 A3030 RMK AO2 SLP265 T00001078 $ +CVG 2024-03-01 13:52 KCVG 011352Z 13008KT 10SM OVC180 01/M08 A3029 RMK AO2 SLP263 T00111078 $ +CVG 2024-03-01 14:52 KCVG 011452Z 14008KT 10SM FEW090 OVC120 02/M07 A3028 RMK AO2 SLP258 VIRGA ALQDS T00221072 58009 $ +CVG 2024-03-01 15:52 KCVG 011552Z 14007KT 10SM OVC100 03/M07 A3027 RMK AO2 SLP254 VIRGA ALQDS T00331067 $ +CVG 2024-03-01 16:52 KCVG 011652Z 17005KT 10SM -RA BKN070 OVC085 04/M06 A3026 RMK AO2 RAB52 SLP251 P0000 T00441056 +CVG 2024-03-01 17:52 KCVG 011752Z 15005KT 10SM OVC060 06/M02 A3024 RMK AO2 RAE27PLB06E20 SLP246 P0000 60000 T00561022 10056 21011 57010 +CVG 2024-03-01 18:52 KCVG 011852Z 15007KT 10SM OVC050 06/M01 A3022 RMK AO2 RAB1753E10 SLP237 P0000 T00611011 +CVG 2024-03-01 19:52 KCVG 011952Z 13006KT 10SM OVC042 06/M01 A3020 RMK AO2 SLP232 T00611011 +CVG 2024-03-01 20:52 KCVG 012052Z 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK AO2 SLP221 60000 T00610017 58024 +CVG 2024-03-01 21:52 KCVG 012152Z 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK AO2 RAB00 SLP218 SCT V BKN P0003 T00440039 +CVG 2024-03-01 22:52 KCVG 012252Z 13008KT 4SM -RA BR OVC006 04/04 A3015 RMK AO2 SLP213 RAE21B42DZB21E42 P0003 T00390039 $ +CVG 2024-03-01 23:52 KCVG 012352Z 14011KT 3SM RA BR OVC006 04/04 A3014 RMK AO2 SLP212 CIG 005V008 P0005 60011 T00390039 10072 20039 56009 $ diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a9e7cb.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a9e7cb.txt new file mode 100644 index 0000000..9593649 --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-a9e7cb.txt @@ -0,0 +1,12 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 17:07 KCVG 011707Z 18006KT 9SM -PLRA OVC070 04/M03 A3025 RMK AO2 PLB06 P0000 T00441028 +CVG 2024-03-01 17:20 KCVG 011720Z 16005KT 10SM -RA OVC065 04/M03 A3025 RMK AO2 PLB06E20 P0000 T00441028 +CVG 2024-03-01 20:45 KCVG 012045Z 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK AO2 T00670006 +CVG 2024-03-01 21:29 KCVG 012129Z 14012KT 3SM -RA BR OVC017 05/04 A3016 RMK AO2 RAB00 P0000 T00500039 +CVG 2024-03-01 22:02 KCVG 012202Z 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK AO2 TWR VIS 4 P0001 T00440039 +CVG 2024-03-01 22:21 KCVG 012221Z 13009KT 4SM -DZ BR BKN007 OVC012 04/04 A3016 RMK AO2 RAE21DZB21 P0003 T00390039 $ diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-be3d6e.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-be3d6e.txt new file mode 100644 index 0000000..5eaff4c --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-be3d6e.txt @@ -0,0 +1,317 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 00:00 KCVG 010000Z AUTO 15005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:05 KCVG 010005Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:10 KCVG 010010Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:15 KCVG 010015Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:20 KCVG 010020Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:25 KCVG 010025Z AUTO 13005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 00:30 KCVG 010030Z AUTO 13005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:35 KCVG 010035Z AUTO 14005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:40 KCVG 010040Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:45 KCVG 010045Z AUTO 13004KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:50 KCVG 010050Z AUTO 14002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 00:52 KCVG 010052Z 14003KT 10SM FEW250 03/M11 A3042 RMK AO2 SLP310 T00281106 $ +CVG 2024-03-01 00:55 KCVG 010055Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:00 KCVG 010100Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:05 KCVG 010105Z AUTO 00000KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:10 KCVG 010110Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:15 KCVG 010115Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:20 KCVG 010120Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:25 KCVG 010125Z AUTO 13002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:30 KCVG 010130Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:35 KCVG 010135Z AUTO 12004KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:40 KCVG 010140Z AUTO 14004KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:45 KCVG 010145Z AUTO 15005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:50 KCVG 010150Z AUTO 14005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 01:52 KCVG 010152Z 15007KT 10SM CLR 02/M09 A3042 RMK AO2 SLP309 T00171094 $ +CVG 2024-03-01 01:55 KCVG 010155Z AUTO 14005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:00 KCVG 010200Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:05 KCVG 010205Z AUTO 15005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 02:10 KCVG 010210Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:20 KCVG 010220Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:25 KCVG 010225Z AUTO 14007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:30 KCVG 010230Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 02:35 KCVG 010235Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:40 KCVG 010240Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:45 KCVG 010245Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:50 KCVG 010250Z AUTO 15007KT 10SM 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:52 KCVG 010252Z 16007KT 10SM FEW250 01/M09 A3042 RMK AO2 SLP307 T00061089 56003 $ +CVG 2024-03-01 02:55 KCVG 010255Z AUTO 16005KT 10SM CLR 00/M09 A3042 RMK T00001090 MADISHF +CVG 2024-03-01 03:00 KCVG 010300Z AUTO 15005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:05 KCVG 010305Z AUTO 15005KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:10 KCVG 010310Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:15 KCVG 010315Z AUTO 16007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:20 KCVG 010320Z AUTO 16005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:25 KCVG 010325Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:30 KCVG 010330Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:35 KCVG 010335Z AUTO 16007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:40 KCVG 010340Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:45 KCVG 010345Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:50 KCVG 010350Z AUTO 15007KT 10SM 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:52 KCVG 010352Z 15007KT 10SM FEW250 00/M08 A3041 RMK AO2 SLP303 T00001078 $ +CVG 2024-03-01 03:55 KCVG 010355Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:00 KCVG 010400Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:05 KCVG 010405Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:10 KCVG 010410Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:15 KCVG 010415Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:20 KCVG 010420Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:25 KCVG 010425Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:30 KCVG 010430Z AUTO 15007KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:35 KCVG 010435Z AUTO 15008KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:40 KCVG 010440Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:45 KCVG 010445Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:50 KCVG 010450Z AUTO 14007KT 10SM 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:52 KCVG 010452Z 15007KT 10SM FEW250 00/M08 A3039 RMK AO2 SLP297 T00001078 400671061 $ +CVG 2024-03-01 04:55 KCVG 010455Z AUTO 14007KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:00 KCVG 010500Z AUTO 14005KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:05 KCVG 010505Z AUTO 13005KT 10SM CLR 01/M08 A3038 RMK T00101080 MADISHF +CVG 2024-03-01 05:10 KCVG 010510Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:15 KCVG 010515Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:20 KCVG 010520Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:25 KCVG 010525Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:30 KCVG 010530Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:35 KCVG 010535Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:40 KCVG 010540Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:45 KCVG 010545Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:50 KCVG 010550Z AUTO 12008KT 10SM 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:52 KCVG 010552Z 12008KT 10SM SCT250 01/M08 A3036 RMK AO2 SLP286 T00061083 10033 21006 58020 $ +CVG 2024-03-01 05:55 KCVG 010555Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:00 KCVG 010600Z AUTO 13008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:05 KCVG 010605Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:10 KCVG 010610Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:15 KCVG 010615Z AUTO 12005KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:20 KCVG 010620Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:25 KCVG 010625Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:30 KCVG 010630Z AUTO 12008KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:35 KCVG 010635Z AUTO 12007KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:40 KCVG 010640Z AUTO 11007KT 10SM CLR 01/M09 A3035 RMK T00101090 MADISHF +CVG 2024-03-01 06:45 KCVG 010645Z AUTO 11005KT 10SM CLR 00/M08 A3035 RMK T00001080 MADISHF +CVG 2024-03-01 06:50 KCVG 010650Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 06:52 KCVG 010652Z 11007KT 10SM CLR 00/M08 A3034 RMK AO2 SLP281 T00001083 $ +CVG 2024-03-01 06:55 KCVG 010655Z AUTO 11007KT 10SM CLR 01/M08 A3034 RMK T00101080 MADISHF +CVG 2024-03-01 07:00 KCVG 010700Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:05 KCVG 010705Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:10 KCVG 010710Z AUTO 12008KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:15 KCVG 010715Z AUTO 12007KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:20 KCVG 010720Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:25 KCVG 010725Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:30 KCVG 010730Z AUTO 12008KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:35 KCVG 010735Z AUTO 12009KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:40 KCVG 010740Z AUTO 12008KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:45 KCVG 010745Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:50 KCVG 010750Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:52 KCVG 010752Z 13008KT 10SM CLR 00/M08 A3032 RMK AO2 SLP271 T00001083 $ +CVG 2024-03-01 07:55 KCVG 010755Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:00 KCVG 010800Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:05 KCVG 010805Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:10 KCVG 010810Z AUTO 13010KT 10SM CLR 01/M08 A3031 RMK T00101080 MADISHF +CVG 2024-03-01 08:15 KCVG 010815Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:20 KCVG 010820Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:25 KCVG 010825Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:30 KCVG 010830Z AUTO 13009KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:35 KCVG 010835Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:40 KCVG 010840Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:45 KCVG 010845Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:50 KCVG 010850Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:52 KCVG 010852Z 13009KT 10SM CLR 00/M08 A3030 RMK AO2 SLP264 T00001083 58020 $ +CVG 2024-03-01 08:55 KCVG 010855Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:00 KCVG 010900Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:05 KCVG 010905Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:10 KCVG 010910Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:15 KCVG 010915Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:20 KCVG 010920Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:25 KCVG 010925Z AUTO 14009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:30 KCVG 010930Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:35 KCVG 010935Z AUTO 16009KT 10SM CLR M01/M08 A3032 RMK T10101080 MADISHF +CVG 2024-03-01 09:40 KCVG 010940Z AUTO 15008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:45 KCVG 010945Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:50 KCVG 010950Z AUTO 15011KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:52 KCVG 010952Z 14009KT 10SM BKN250 M01/M08 A3031 RMK AO2 SLP268 T10061083 $ +CVG 2024-03-01 09:55 KCVG 010955Z AUTO 13011KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:00 KCVG 011000Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:05 KCVG 011005Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:10 KCVG 011010Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:15 KCVG 011015Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:20 KCVG 011020Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:25 KCVG 011025Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:30 KCVG 011030Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 10:35 KCVG 011035Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:40 KCVG 011040Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:45 KCVG 011045Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:50 KCVG 011050Z AUTO 13009KT 10SM 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:52 KCVG 011052Z 13009KT 10SM BKN250 00/M08 A3031 RMK AO2 SLP270 T00001083 $ +CVG 2024-03-01 10:55 KCVG 011055Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:00 KCVG 011100Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:05 KCVG 011105Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:10 KCVG 011110Z AUTO 11005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:15 KCVG 011115Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:20 KCVG 011120Z AUTO 12005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:25 KCVG 011125Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:30 KCVG 011130Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:35 KCVG 011135Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:40 KCVG 011140Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 VRB06KT MADISHF +CVG 2024-03-01 11:45 KCVG 011145Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:50 KCVG 011150Z AUTO 10004KT 10SM M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:52 KCVG 011152Z 10004KT 10SM FEW170 BKN200 M01/M08 A3030 RMK AO2 SLP267 T10061083 10011 21011 50002 $ +CVG 2024-03-01 11:55 KCVG 011155Z AUTO 10004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:00 KCVG 011200Z AUTO 13004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:05 KCVG 011205Z AUTO 13005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:10 KCVG 011210Z AUTO 13007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:15 KCVG 011215Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:20 KCVG 011220Z AUTO 14007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:25 KCVG 011225Z AUTO 12004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:30 KCVG 011230Z AUTO 13004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:35 KCVG 011235Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:40 KCVG 011240Z AUTO 14008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:45 KCVG 011245Z AUTO 13007KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 12:50 KCVG 011250Z AUTO 13007KT 10SM 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 12:52 KCVG 011252Z 13007KT 10SM OVC230 00/M08 A3030 RMK AO2 SLP265 T00001078 $ +CVG 2024-03-01 12:55 KCVG 011255Z AUTO 14005KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 13:00 KCVG 011300Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:05 KCVG 011305Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:10 KCVG 011310Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:15 KCVG 011315Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:20 KCVG 011320Z AUTO 14009KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:25 KCVG 011325Z AUTO 14008KT 10SM CLR 01/M08 A3030 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:30 KCVG 011330Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:35 KCVG 011335Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:40 KCVG 011340Z AUTO 14008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:45 KCVG 011345Z AUTO 13007KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:50 KCVG 011350Z AUTO 13008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:52 KCVG 011352Z 13008KT 10SM OVC180 01/M08 A3029 RMK AO2 SLP263 T00111078 $ +CVG 2024-03-01 13:55 KCVG 011355Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:00 KCVG 011400Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:05 KCVG 011405Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:10 KCVG 011410Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:15 KCVG 011415Z AUTO 14007KT 10SM CLR 01/M07 A3029 RMK T00101070 MADISHF +CVG 2024-03-01 14:20 KCVG 011420Z AUTO 14008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:25 KCVG 011425Z AUTO 15008KT 10SM CLR 02/M08 A3029 RMK T00201080 MADISHF +CVG 2024-03-01 14:30 KCVG 011430Z AUTO 13008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:35 KCVG 011435Z AUTO 13008KT 10SM FEW120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 14:40 KCVG 011440Z AUTO 14008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:45 KCVG 011445Z AUTO 15008KT 10SM FEW100 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:50 KCVG 011450Z AUTO 15007KT 10SM FEW090 OVC120 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:52 KCVG 011452Z 14008KT 10SM FEW090 OVC120 02/M07 A3028 RMK AO2 SLP258 VIRGA ALQDS T00221072 58009 $ +CVG 2024-03-01 14:55 KCVG 011455Z AUTO 14008KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:00 KCVG 011500Z AUTO 15009KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:05 KCVG 011505Z AUTO 15010KT 10SM BKN120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 15:10 KCVG 011510Z AUTO 15010KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:15 KCVG 011515Z AUTO 15009KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:20 KCVG 011520Z AUTO 15008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:25 KCVG 011525Z AUTO 16008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:30 KCVG 011530Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:35 KCVG 011535Z AUTO 14007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:40 KCVG 011540Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:45 KCVG 011545Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:50 KCVG 011550Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:52 KCVG 011552Z 14007KT 10SM OVC100 03/M07 A3027 RMK AO2 SLP254 VIRGA ALQDS T00331067 $ +CVG 2024-03-01 15:55 KCVG 011555Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 16:00 KCVG 011600Z AUTO 15007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:05 KCVG 011605Z AUTO 14007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:10 KCVG 011610Z AUTO 16005KT 10SM BKN090 OVC110 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:15 KCVG 011615Z AUTO 15007KT 10SM OVC095 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:20 KCVG 011620Z AUTO 16007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:25 KCVG 011625Z AUTO 15007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:30 KCVG 011630Z AUTO 15005KT 10SM OVC085 04/M07 A3026 RMK T00401070 MADISHF +CVG 2024-03-01 16:35 KCVG 011635Z AUTO 15007KT 10SM OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:40 KCVG 011640Z AUTO 15005KT 10SM OVC080 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:45 KCVG 011645Z AUTO 15007KT 10SM BKN075 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:50 KCVG 011650Z AUTO 15005KT 10SM BKN070 OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:52 KCVG 011652Z 17005KT 10SM -RA BKN070 OVC085 04/M06 A3026 RMK AO2 RAB52 SLP251 P0000 T00441056 +CVG 2024-03-01 16:55 KCVG 011655Z AUTO 18005KT 10SM -RA BKN070 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 17:00 KCVG 011700Z AUTO 16005KT 9SM -RA OVC070 04/M04 A3026 RMK T00401040 MADISHF +CVG 2024-03-01 17:05 KCVG 011705Z AUTO 17005KT 8SM -RA OVC070 04/M03 A3026 RMK T00401030 MADISHF +CVG 2024-03-01 17:10 KCVG 011710Z AUTO 18005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:15 KCVG 011715Z AUTO 16005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:20 KCVG 011720Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:25 KCVG 011725Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:30 KCVG 011730Z AUTO 17004KT 10SM OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:35 KCVG 011735Z AUTO 16002KT 10SM BKN065 OVC080 04/M03 A3024 RMK T00401030 MADISHF +CVG 2024-03-01 17:40 KCVG 011740Z AUTO 15005KT 10SM BKN065 OVC080 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 17:45 KCVG 011745Z AUTO 16005KT 10SM OVC060 05/M03 A3024 RMK T00501030 MADISHF +CVG 2024-03-01 17:50 KCVG 011750Z AUTO 15005KT 10SM OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 17:52 KCVG 011752Z 15005KT 10SM OVC060 06/M02 A3024 RMK AO2 RAE27PLB06E20 SLP246 P0000 60000 T00561022 10056 21011 57010 +CVG 2024-03-01 17:55 KCVG 011755Z AUTO 15007KT 10SM -RA OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 18:00 KCVG 011800Z AUTO 16010KT 10SM -RA BKN060 OVC075 06/M01 A3024 RMK T00601010 MADISHF +CVG 2024-03-01 18:05 KCVG 011805Z AUTO 16008KT 10SM -RA BKN060 OVC075 06/M02 A3024 RMK T00601020 MADISHF +CVG 2024-03-01 18:10 KCVG 011810Z AUTO 15008KT 10SM OVC060 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 18:15 KCVG 011815Z AUTO 15007KT 10SM OVC060 05/M02 A3023 RMK T00501020 MADISHF +CVG 2024-03-01 18:20 KCVG 011820Z AUTO 15005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:25 KCVG 011825Z AUTO 15007KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:30 KCVG 011830Z AUTO 16005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:35 KCVG 011835Z AUTO 14005KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:40 KCVG 011840Z AUTO 14007KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:45 KCVG 011845Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:50 KCVG 011850Z AUTO 14007KT 10SM OVC050 06/M01 A3022 RMK T00601010 MADISHF +CVG 2024-03-01 18:52 KCVG 011852Z 15007KT 10SM OVC050 06/M01 A3022 RMK AO2 RAB1753E10 SLP237 P0000 T00611011 +CVG 2024-03-01 18:55 KCVG 011855Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 19:00 KCVG 011900Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:05 KCVG 011905Z AUTO 14005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:10 KCVG 011910Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:15 KCVG 011915Z AUTO 11004KT 10SM OVC050 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:20 KCVG 011920Z AUTO 12005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:25 KCVG 011925Z AUTO 10005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:30 KCVG 011930Z AUTO 11005KT 10SM OVC047 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:35 KCVG 011935Z AUTO 12005KT 10SM BKN042 OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:40 KCVG 011940Z AUTO 11005KT 10SM BKN042 OVC049 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:45 KCVG 011945Z AUTO 12005KT 10SM OVC043 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:50 KCVG 011950Z AUTO 13007KT 10SM OVC043 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:52 KCVG 011952Z 13006KT 10SM OVC042 06/M01 A3020 RMK AO2 SLP232 T00611011 +CVG 2024-03-01 19:55 KCVG 011955Z AUTO 13005KT 10SM OVC042 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:00 KCVG 012000Z AUTO 11004KT 10SM BKN041 OVC055 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:05 KCVG 012005Z AUTO 12005KT 10SM BKN042 OVC060 07/M01 A3020 RMK T00701010 MADISHF +CVG 2024-03-01 20:10 KCVG 012010Z AUTO 10005KT 10SM SCT042 OVC060 07/M01 A3019 RMK T00701010 CIG 039 36R MADISHF +CVG 2024-03-01 20:15 KCVG 012015Z AUTO 11007KT 10SM SCT042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:20 KCVG 012020Z AUTO 12007KT 10SM FEW042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:25 KCVG 012025Z AUTO 12009KT 10SM FEW043 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:30 KCVG 012030Z AUTO 12008KT 10SM OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:35 KCVG 012035Z AUTO 13009KT 10SM FEW034 SCT048 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:40 KCVG 012040Z AUTO 13010KT 10SM FEW024 BKN032 OVC065 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:45 KCVG 012045Z AUTO 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:50 KCVG 012050Z AUTO 15013KT 10SM BKN022 OVC033 07/02 A3018 RMK T00700020 MADISHF +CVG 2024-03-01 20:52 KCVG 012052Z 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK AO2 SLP221 60000 T00610017 58024 +CVG 2024-03-01 20:55 KCVG 012055Z AUTO 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:00 KCVG 012100Z AUTO 13011KT 10SM -RA BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:05 KCVG 012105Z AUTO 15011KT 7SM -RA BKN022 OVC033 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:10 KCVG 012110Z AUTO 14009KT 6SM -RA BR OVC021 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:15 KCVG 012115Z AUTO 13011KT 7SM -RA OVC020 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:20 KCVG 012120Z AUTO 14011KT 8SM -RA BKN017 OVC023 06/03 A3016 RMK T00600030 MADISHF +CVG 2024-03-01 21:25 KCVG 012125Z AUTO 14009KT 8SM -RA BKN017 OVC023 05/03 A3016 RMK T00500030 MADISHF +CVG 2024-03-01 21:30 KCVG 012130Z AUTO 14010KT 3SM -RA BR OVC017 05/04 A3016 RMK T00500040 MADISHF +CVG 2024-03-01 21:35 KCVG 012135Z AUTO 15010KT 3SM -RA BR OVC017 05/04 A3017 RMK P0001 T00500040 MADISHF +CVG 2024-03-01 21:40 KCVG 012140Z AUTO 14010KT 3SM RA BR OVC015 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 21:45 KCVG 012145Z AUTO 13010KT 4SM -RA BR SCT013 OVC018 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 21:50 KCVG 012150Z AUTO 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0003 T00400040 SCT V BKN MADISHF +CVG 2024-03-01 21:52 KCVG 012152Z 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK AO2 RAB00 SLP218 SCT V BKN P0003 T00440039 +CVG 2024-03-01 21:55 KCVG 012155Z AUTO 14009KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:00 KCVG 012200Z AUTO 14008KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:05 KCVG 012205Z AUTO 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:10 KCVG 012210Z AUTO 14008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:15 KCVG 012215Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:20 KCVG 012220Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 22:25 KCVG 012225Z AUTO 13008KT 4SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:30 KCVG 012230Z AUTO 14009KT 5SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:35 KCVG 012235Z AUTO 13010KT 6SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:40 KCVG 012240Z AUTO 12008KT 4SM -DZ BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:45 KCVG 012245Z AUTO 14005KT 4SM -RA BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:50 KCVG 012250Z AUTO 12007KT 4SM -RA BR OVC006 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:52 KCVG 012252Z 13008KT 4SM -RA BR OVC006 04/04 A3015 RMK AO2 SLP213 RAE21B42DZB21E42 P0003 T00390039 $ +CVG 2024-03-01 22:55 KCVG 012255Z AUTO 13007KT 4SM -RA BR OVC006 04/04 A3015 RMK T00400040 MADISHF +CVG 2024-03-01 23:00 KCVG 012300Z AUTO 14010KT 4SM -RA BR OVC006 04/04 A3014 RMK T00400040 MADISHF +CVG 2024-03-01 23:05 KCVG 012305Z AUTO 13009KT 4SM RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 23:10 KCVG 012310Z AUTO 15010KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:15 KCVG 012315Z AUTO 14008KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:20 KCVG 012320Z AUTO 15011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:25 KCVG 012325Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:30 KCVG 012330Z AUTO 14009KT 3SM -RA BR OVC006 04/04 A3014 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:35 KCVG 012335Z AUTO 14010KT 3SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:40 KCVG 012340Z AUTO 14011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:45 KCVG 012345Z AUTO 15011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0004 T00400040 MADISHF +CVG 2024-03-01 23:50 KCVG 012350Z AUTO 14011KT 3SM RA BR OVC006 04/04 A3015 RMK P0005 T00400040 CIG 005V008 MADISHF +CVG 2024-03-01 23:52 KCVG 012352Z 14011KT 3SM RA BR OVC006 04/04 A3014 RMK AO2 SLP212 CIG 005V008 P0005 60011 T00390039 10072 20039 56009 $ +CVG 2024-03-01 23:55 KCVG 012355Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d29614.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d29614.txt new file mode 100644 index 0000000..2b1b567 --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d29614.txt @@ -0,0 +1,323 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 00:00 KCVG 010000Z AUTO 15005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:05 KCVG 010005Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:10 KCVG 010010Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:15 KCVG 010015Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:20 KCVG 010020Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:25 KCVG 010025Z AUTO 13005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 00:30 KCVG 010030Z AUTO 13005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:35 KCVG 010035Z AUTO 14005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:40 KCVG 010040Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:45 KCVG 010045Z AUTO 13004KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:50 KCVG 010050Z AUTO 14002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 00:52 KCVG 010052Z 14003KT 10SM FEW250 03/M11 A3042 RMK AO2 SLP310 T00281106 $ +CVG 2024-03-01 00:55 KCVG 010055Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:00 KCVG 010100Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:05 KCVG 010105Z AUTO 00000KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:10 KCVG 010110Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:15 KCVG 010115Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:20 KCVG 010120Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:25 KCVG 010125Z AUTO 13002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:30 KCVG 010130Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:35 KCVG 010135Z AUTO 12004KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:40 KCVG 010140Z AUTO 14004KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:45 KCVG 010145Z AUTO 15005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:50 KCVG 010150Z AUTO 14005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 01:52 KCVG 010152Z 15007KT 10SM CLR 02/M09 A3042 RMK AO2 SLP309 T00171094 $ +CVG 2024-03-01 01:55 KCVG 010155Z AUTO 14005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:00 KCVG 010200Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:05 KCVG 010205Z AUTO 15005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 02:10 KCVG 010210Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:20 KCVG 010220Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:25 KCVG 010225Z AUTO 14007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:30 KCVG 010230Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 02:35 KCVG 010235Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:40 KCVG 010240Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:45 KCVG 010245Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:50 KCVG 010250Z AUTO 15007KT 10SM 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:52 KCVG 010252Z 16007KT 10SM FEW250 01/M09 A3042 RMK AO2 SLP307 T00061089 56003 $ +CVG 2024-03-01 02:55 KCVG 010255Z AUTO 16005KT 10SM CLR 00/M09 A3042 RMK T00001090 MADISHF +CVG 2024-03-01 03:00 KCVG 010300Z AUTO 15005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:05 KCVG 010305Z AUTO 15005KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:10 KCVG 010310Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:15 KCVG 010315Z AUTO 16007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:20 KCVG 010320Z AUTO 16005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:25 KCVG 010325Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:30 KCVG 010330Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:35 KCVG 010335Z AUTO 16007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:40 KCVG 010340Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:45 KCVG 010345Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:50 KCVG 010350Z AUTO 15007KT 10SM 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:52 KCVG 010352Z 15007KT 10SM FEW250 00/M08 A3041 RMK AO2 SLP303 T00001078 $ +CVG 2024-03-01 03:55 KCVG 010355Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:00 KCVG 010400Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:05 KCVG 010405Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:10 KCVG 010410Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:15 KCVG 010415Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:20 KCVG 010420Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:25 KCVG 010425Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:30 KCVG 010430Z AUTO 15007KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:35 KCVG 010435Z AUTO 15008KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:40 KCVG 010440Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:45 KCVG 010445Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:50 KCVG 010450Z AUTO 14007KT 10SM 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:52 KCVG 010452Z 15007KT 10SM FEW250 00/M08 A3039 RMK AO2 SLP297 T00001078 400671061 $ +CVG 2024-03-01 04:55 KCVG 010455Z AUTO 14007KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:00 KCVG 010500Z AUTO 14005KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:05 KCVG 010505Z AUTO 13005KT 10SM CLR 01/M08 A3038 RMK T00101080 MADISHF +CVG 2024-03-01 05:10 KCVG 010510Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:15 KCVG 010515Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:20 KCVG 010520Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:25 KCVG 010525Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:30 KCVG 010530Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:35 KCVG 010535Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:40 KCVG 010540Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:45 KCVG 010545Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:50 KCVG 010550Z AUTO 12008KT 10SM 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:52 KCVG 010552Z 12008KT 10SM SCT250 01/M08 A3036 RMK AO2 SLP286 T00061083 10033 21006 58020 $ +CVG 2024-03-01 05:55 KCVG 010555Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:00 KCVG 010600Z AUTO 13008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:05 KCVG 010605Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:10 KCVG 010610Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:15 KCVG 010615Z AUTO 12005KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:20 KCVG 010620Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:25 KCVG 010625Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:30 KCVG 010630Z AUTO 12008KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:35 KCVG 010635Z AUTO 12007KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:40 KCVG 010640Z AUTO 11007KT 10SM CLR 01/M09 A3035 RMK T00101090 MADISHF +CVG 2024-03-01 06:45 KCVG 010645Z AUTO 11005KT 10SM CLR 00/M08 A3035 RMK T00001080 MADISHF +CVG 2024-03-01 06:50 KCVG 010650Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 06:52 KCVG 010652Z 11007KT 10SM CLR 00/M08 A3034 RMK AO2 SLP281 T00001083 $ +CVG 2024-03-01 06:55 KCVG 010655Z AUTO 11007KT 10SM CLR 01/M08 A3034 RMK T00101080 MADISHF +CVG 2024-03-01 07:00 KCVG 010700Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:05 KCVG 010705Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:10 KCVG 010710Z AUTO 12008KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:15 KCVG 010715Z AUTO 12007KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:20 KCVG 010720Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:25 KCVG 010725Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:30 KCVG 010730Z AUTO 12008KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:35 KCVG 010735Z AUTO 12009KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:40 KCVG 010740Z AUTO 12008KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:45 KCVG 010745Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:50 KCVG 010750Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:52 KCVG 010752Z 13008KT 10SM CLR 00/M08 A3032 RMK AO2 SLP271 T00001083 $ +CVG 2024-03-01 07:55 KCVG 010755Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:00 KCVG 010800Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:05 KCVG 010805Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:10 KCVG 010810Z AUTO 13010KT 10SM CLR 01/M08 A3031 RMK T00101080 MADISHF +CVG 2024-03-01 08:15 KCVG 010815Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:20 KCVG 010820Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:25 KCVG 010825Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:30 KCVG 010830Z AUTO 13009KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:35 KCVG 010835Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:40 KCVG 010840Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:45 KCVG 010845Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:50 KCVG 010850Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:52 KCVG 010852Z 13009KT 10SM CLR 00/M08 A3030 RMK AO2 SLP264 T00001083 58020 $ +CVG 2024-03-01 08:55 KCVG 010855Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:00 KCVG 010900Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:05 KCVG 010905Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:10 KCVG 010910Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:15 KCVG 010915Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:20 KCVG 010920Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:25 KCVG 010925Z AUTO 14009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:30 KCVG 010930Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:35 KCVG 010935Z AUTO 16009KT 10SM CLR M01/M08 A3032 RMK T10101080 MADISHF +CVG 2024-03-01 09:40 KCVG 010940Z AUTO 15008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:45 KCVG 010945Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:50 KCVG 010950Z AUTO 15011KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:52 KCVG 010952Z 14009KT 10SM BKN250 M01/M08 A3031 RMK AO2 SLP268 T10061083 $ +CVG 2024-03-01 09:55 KCVG 010955Z AUTO 13011KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:00 KCVG 011000Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:05 KCVG 011005Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:10 KCVG 011010Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:15 KCVG 011015Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:20 KCVG 011020Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:25 KCVG 011025Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:30 KCVG 011030Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 10:35 KCVG 011035Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:40 KCVG 011040Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:45 KCVG 011045Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:50 KCVG 011050Z AUTO 13009KT 10SM 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:52 KCVG 011052Z 13009KT 10SM BKN250 00/M08 A3031 RMK AO2 SLP270 T00001083 $ +CVG 2024-03-01 10:55 KCVG 011055Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:00 KCVG 011100Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:05 KCVG 011105Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:10 KCVG 011110Z AUTO 11005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:15 KCVG 011115Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:20 KCVG 011120Z AUTO 12005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:25 KCVG 011125Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:30 KCVG 011130Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:35 KCVG 011135Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:40 KCVG 011140Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 VRB06KT MADISHF +CVG 2024-03-01 11:45 KCVG 011145Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:50 KCVG 011150Z AUTO 10004KT 10SM M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:52 KCVG 011152Z 10004KT 10SM FEW170 BKN200 M01/M08 A3030 RMK AO2 SLP267 T10061083 10011 21011 50002 $ +CVG 2024-03-01 11:55 KCVG 011155Z AUTO 10004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:00 KCVG 011200Z AUTO 13004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:05 KCVG 011205Z AUTO 13005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:10 KCVG 011210Z AUTO 13007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:15 KCVG 011215Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:20 KCVG 011220Z AUTO 14007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:25 KCVG 011225Z AUTO 12004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:30 KCVG 011230Z AUTO 13004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:35 KCVG 011235Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:40 KCVG 011240Z AUTO 14008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:45 KCVG 011245Z AUTO 13007KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 12:50 KCVG 011250Z AUTO 13007KT 10SM 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 12:52 KCVG 011252Z 13007KT 10SM OVC230 00/M08 A3030 RMK AO2 SLP265 T00001078 $ +CVG 2024-03-01 12:55 KCVG 011255Z AUTO 14005KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 13:00 KCVG 011300Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:05 KCVG 011305Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:10 KCVG 011310Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:15 KCVG 011315Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:20 KCVG 011320Z AUTO 14009KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:25 KCVG 011325Z AUTO 14008KT 10SM CLR 01/M08 A3030 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:30 KCVG 011330Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:35 KCVG 011335Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:40 KCVG 011340Z AUTO 14008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:45 KCVG 011345Z AUTO 13007KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:50 KCVG 011350Z AUTO 13008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:52 KCVG 011352Z 13008KT 10SM OVC180 01/M08 A3029 RMK AO2 SLP263 T00111078 $ +CVG 2024-03-01 13:55 KCVG 011355Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:00 KCVG 011400Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:05 KCVG 011405Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:10 KCVG 011410Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:15 KCVG 011415Z AUTO 14007KT 10SM CLR 01/M07 A3029 RMK T00101070 MADISHF +CVG 2024-03-01 14:20 KCVG 011420Z AUTO 14008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:25 KCVG 011425Z AUTO 15008KT 10SM CLR 02/M08 A3029 RMK T00201080 MADISHF +CVG 2024-03-01 14:30 KCVG 011430Z AUTO 13008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:35 KCVG 011435Z AUTO 13008KT 10SM FEW120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 14:40 KCVG 011440Z AUTO 14008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:45 KCVG 011445Z AUTO 15008KT 10SM FEW100 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:50 KCVG 011450Z AUTO 15007KT 10SM FEW090 OVC120 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:52 KCVG 011452Z 14008KT 10SM FEW090 OVC120 02/M07 A3028 RMK AO2 SLP258 VIRGA ALQDS T00221072 58009 $ +CVG 2024-03-01 14:55 KCVG 011455Z AUTO 14008KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:00 KCVG 011500Z AUTO 15009KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:05 KCVG 011505Z AUTO 15010KT 10SM BKN120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 15:10 KCVG 011510Z AUTO 15010KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:15 KCVG 011515Z AUTO 15009KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:20 KCVG 011520Z AUTO 15008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:25 KCVG 011525Z AUTO 16008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:30 KCVG 011530Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:35 KCVG 011535Z AUTO 14007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:40 KCVG 011540Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:45 KCVG 011545Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:50 KCVG 011550Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:52 KCVG 011552Z 14007KT 10SM OVC100 03/M07 A3027 RMK AO2 SLP254 VIRGA ALQDS T00331067 $ +CVG 2024-03-01 15:55 KCVG 011555Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 16:00 KCVG 011600Z AUTO 15007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:05 KCVG 011605Z AUTO 14007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:10 KCVG 011610Z AUTO 16005KT 10SM BKN090 OVC110 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:15 KCVG 011615Z AUTO 15007KT 10SM OVC095 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:20 KCVG 011620Z AUTO 16007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:25 KCVG 011625Z AUTO 15007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:30 KCVG 011630Z AUTO 15005KT 10SM OVC085 04/M07 A3026 RMK T00401070 MADISHF +CVG 2024-03-01 16:35 KCVG 011635Z AUTO 15007KT 10SM OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:40 KCVG 011640Z AUTO 15005KT 10SM OVC080 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:45 KCVG 011645Z AUTO 15007KT 10SM BKN075 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:50 KCVG 011650Z AUTO 15005KT 10SM BKN070 OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:52 KCVG 011652Z 17005KT 10SM -RA BKN070 OVC085 04/M06 A3026 RMK AO2 RAB52 SLP251 P0000 T00441056 +CVG 2024-03-01 16:55 KCVG 011655Z AUTO 18005KT 10SM -RA BKN070 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 17:00 KCVG 011700Z AUTO 16005KT 9SM -RA OVC070 04/M04 A3026 RMK T00401040 MADISHF +CVG 2024-03-01 17:05 KCVG 011705Z AUTO 17005KT 8SM -RA OVC070 04/M03 A3026 RMK T00401030 MADISHF +CVG 2024-03-01 17:07 KCVG 011707Z 18006KT 9SM -PLRA OVC070 04/M03 A3025 RMK AO2 PLB06 P0000 T00441028 +CVG 2024-03-01 17:10 KCVG 011710Z AUTO 18005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:15 KCVG 011715Z AUTO 16005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:20 KCVG 011720Z 16005KT 10SM -RA OVC065 04/M03 A3025 RMK AO2 PLB06E20 P0000 T00441028 +CVG 2024-03-01 17:20 KCVG 011720Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:25 KCVG 011725Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:30 KCVG 011730Z AUTO 17004KT 10SM OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:35 KCVG 011735Z AUTO 16002KT 10SM BKN065 OVC080 04/M03 A3024 RMK T00401030 MADISHF +CVG 2024-03-01 17:40 KCVG 011740Z AUTO 15005KT 10SM BKN065 OVC080 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 17:45 KCVG 011745Z AUTO 16005KT 10SM OVC060 05/M03 A3024 RMK T00501030 MADISHF +CVG 2024-03-01 17:50 KCVG 011750Z AUTO 15005KT 10SM OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 17:52 KCVG 011752Z 15005KT 10SM OVC060 06/M02 A3024 RMK AO2 RAE27PLB06E20 SLP246 P0000 60000 T00561022 10056 21011 57010 +CVG 2024-03-01 17:55 KCVG 011755Z AUTO 15007KT 10SM -RA OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 18:00 KCVG 011800Z AUTO 16010KT 10SM -RA BKN060 OVC075 06/M01 A3024 RMK T00601010 MADISHF +CVG 2024-03-01 18:05 KCVG 011805Z AUTO 16008KT 10SM -RA BKN060 OVC075 06/M02 A3024 RMK T00601020 MADISHF +CVG 2024-03-01 18:10 KCVG 011810Z AUTO 15008KT 10SM OVC060 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 18:15 KCVG 011815Z AUTO 15007KT 10SM OVC060 05/M02 A3023 RMK T00501020 MADISHF +CVG 2024-03-01 18:20 KCVG 011820Z AUTO 15005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:25 KCVG 011825Z AUTO 15007KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:30 KCVG 011830Z AUTO 16005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:35 KCVG 011835Z AUTO 14005KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:40 KCVG 011840Z AUTO 14007KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:45 KCVG 011845Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:50 KCVG 011850Z AUTO 14007KT 10SM OVC050 06/M01 A3022 RMK T00601010 MADISHF +CVG 2024-03-01 18:52 KCVG 011852Z 15007KT 10SM OVC050 06/M01 A3022 RMK AO2 RAB1753E10 SLP237 P0000 T00611011 +CVG 2024-03-01 18:55 KCVG 011855Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 19:00 KCVG 011900Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:05 KCVG 011905Z AUTO 14005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:10 KCVG 011910Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:15 KCVG 011915Z AUTO 11004KT 10SM OVC050 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:20 KCVG 011920Z AUTO 12005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:25 KCVG 011925Z AUTO 10005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:30 KCVG 011930Z AUTO 11005KT 10SM OVC047 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:35 KCVG 011935Z AUTO 12005KT 10SM BKN042 OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:40 KCVG 011940Z AUTO 11005KT 10SM BKN042 OVC049 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:45 KCVG 011945Z AUTO 12005KT 10SM OVC043 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:50 KCVG 011950Z AUTO 13007KT 10SM OVC043 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:52 KCVG 011952Z 13006KT 10SM OVC042 06/M01 A3020 RMK AO2 SLP232 T00611011 +CVG 2024-03-01 19:55 KCVG 011955Z AUTO 13005KT 10SM OVC042 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:00 KCVG 012000Z AUTO 11004KT 10SM BKN041 OVC055 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:05 KCVG 012005Z AUTO 12005KT 10SM BKN042 OVC060 07/M01 A3020 RMK T00701010 MADISHF +CVG 2024-03-01 20:10 KCVG 012010Z AUTO 10005KT 10SM SCT042 OVC060 07/M01 A3019 RMK T00701010 CIG 039 36R MADISHF +CVG 2024-03-01 20:15 KCVG 012015Z AUTO 11007KT 10SM SCT042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:20 KCVG 012020Z AUTO 12007KT 10SM FEW042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:25 KCVG 012025Z AUTO 12009KT 10SM FEW043 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:30 KCVG 012030Z AUTO 12008KT 10SM OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:35 KCVG 012035Z AUTO 13009KT 10SM FEW034 SCT048 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:40 KCVG 012040Z AUTO 13010KT 10SM FEW024 BKN032 OVC065 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:45 KCVG 012045Z 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK AO2 T00670006 +CVG 2024-03-01 20:45 KCVG 012045Z AUTO 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:50 KCVG 012050Z AUTO 15013KT 10SM BKN022 OVC033 07/02 A3018 RMK T00700020 MADISHF +CVG 2024-03-01 20:52 KCVG 012052Z 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK AO2 SLP221 60000 T00610017 58024 +CVG 2024-03-01 20:55 KCVG 012055Z AUTO 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:00 KCVG 012100Z AUTO 13011KT 10SM -RA BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:05 KCVG 012105Z AUTO 15011KT 7SM -RA BKN022 OVC033 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:10 KCVG 012110Z AUTO 14009KT 6SM -RA BR OVC021 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:15 KCVG 012115Z AUTO 13011KT 7SM -RA OVC020 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:20 KCVG 012120Z AUTO 14011KT 8SM -RA BKN017 OVC023 06/03 A3016 RMK T00600030 MADISHF +CVG 2024-03-01 21:25 KCVG 012125Z AUTO 14009KT 8SM -RA BKN017 OVC023 05/03 A3016 RMK T00500030 MADISHF +CVG 2024-03-01 21:29 KCVG 012129Z 14012KT 3SM -RA BR OVC017 05/04 A3016 RMK AO2 RAB00 P0000 T00500039 +CVG 2024-03-01 21:30 KCVG 012130Z AUTO 14010KT 3SM -RA BR OVC017 05/04 A3016 RMK T00500040 MADISHF +CVG 2024-03-01 21:35 KCVG 012135Z AUTO 15010KT 3SM -RA BR OVC017 05/04 A3017 RMK P0001 T00500040 MADISHF +CVG 2024-03-01 21:40 KCVG 012140Z AUTO 14010KT 3SM RA BR OVC015 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 21:45 KCVG 012145Z AUTO 13010KT 4SM -RA BR SCT013 OVC018 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 21:50 KCVG 012150Z AUTO 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0003 T00400040 SCT V BKN MADISHF +CVG 2024-03-01 21:52 KCVG 012152Z 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK AO2 RAB00 SLP218 SCT V BKN P0003 T00440039 +CVG 2024-03-01 21:55 KCVG 012155Z AUTO 14009KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:00 KCVG 012200Z AUTO 14008KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:02 KCVG 012202Z 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK AO2 TWR VIS 4 P0001 T00440039 +CVG 2024-03-01 22:05 KCVG 012205Z AUTO 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:10 KCVG 012210Z AUTO 14008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:15 KCVG 012215Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:20 KCVG 012220Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 22:21 KCVG 012221Z 13009KT 4SM -DZ BR BKN007 OVC012 04/04 A3016 RMK AO2 RAE21DZB21 P0003 T00390039 $ +CVG 2024-03-01 22:25 KCVG 012225Z AUTO 13008KT 4SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:30 KCVG 012230Z AUTO 14009KT 5SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:35 KCVG 012235Z AUTO 13010KT 6SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:40 KCVG 012240Z AUTO 12008KT 4SM -DZ BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:45 KCVG 012245Z AUTO 14005KT 4SM -RA BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:50 KCVG 012250Z AUTO 12007KT 4SM -RA BR OVC006 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:52 KCVG 012252Z 13008KT 4SM -RA BR OVC006 04/04 A3015 RMK AO2 SLP213 RAE21B42DZB21E42 P0003 T00390039 $ +CVG 2024-03-01 22:55 KCVG 012255Z AUTO 13007KT 4SM -RA BR OVC006 04/04 A3015 RMK T00400040 MADISHF +CVG 2024-03-01 23:00 KCVG 012300Z AUTO 14010KT 4SM -RA BR OVC006 04/04 A3014 RMK T00400040 MADISHF +CVG 2024-03-01 23:05 KCVG 012305Z AUTO 13009KT 4SM RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 23:10 KCVG 012310Z AUTO 15010KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:15 KCVG 012315Z AUTO 14008KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:20 KCVG 012320Z AUTO 15011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:25 KCVG 012325Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:30 KCVG 012330Z AUTO 14009KT 3SM -RA BR OVC006 04/04 A3014 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:35 KCVG 012335Z AUTO 14010KT 3SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:40 KCVG 012340Z AUTO 14011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:45 KCVG 012345Z AUTO 15011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0004 T00400040 MADISHF +CVG 2024-03-01 23:50 KCVG 012350Z AUTO 14011KT 3SM RA BR OVC006 04/04 A3015 RMK P0005 T00400040 CIG 005V008 MADISHF +CVG 2024-03-01 23:52 KCVG 012352Z 14011KT 3SM RA BR OVC006 04/04 A3014 RMK AO2 SLP212 CIG 005V008 P0005 60011 T00390039 10072 20039 56009 $ +CVG 2024-03-01 23:55 KCVG 012355Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF diff --git a/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d45461.txt b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d45461.txt new file mode 100644 index 0000000..c5d1a8e --- /dev/null +++ b/tests/testthat/fixtures/measures3/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-d45461.txt @@ -0,0 +1,299 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2024-03-01 00:00:00+00:00 2024-03-02 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid metar +CVG 2024-03-01 00:00 KCVG 010000Z AUTO 15005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:05 KCVG 010005Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:10 KCVG 010010Z AUTO 14005KT 10SM 03/M10 A3043 RMK T00301100 MADISHF +CVG 2024-03-01 00:15 KCVG 010015Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:20 KCVG 010020Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:25 KCVG 010025Z AUTO 13005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 00:30 KCVG 010030Z AUTO 13005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:35 KCVG 010035Z AUTO 14005KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 00:40 KCVG 010040Z AUTO 14005KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:45 KCVG 010045Z AUTO 13004KT 10SM 02/M10 A3043 RMK T00201100 MADISHF +CVG 2024-03-01 00:50 KCVG 010050Z AUTO 14002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 00:55 KCVG 010055Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:00 KCVG 010100Z AUTO 13002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:05 KCVG 010105Z AUTO 00000KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:10 KCVG 010110Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:15 KCVG 010115Z AUTO 12002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:20 KCVG 010120Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:25 KCVG 010125Z AUTO 13002KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:30 KCVG 010130Z AUTO 12002KT 10SM 03/M11 A3042 RMK T00301110 MADISHF +CVG 2024-03-01 01:35 KCVG 010135Z AUTO 12004KT 10SM 03/M10 A3042 RMK T00301100 MADISHF +CVG 2024-03-01 01:40 KCVG 010140Z AUTO 14004KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:45 KCVG 010145Z AUTO 15005KT 10SM 02/M10 A3042 RMK T00201100 MADISHF +CVG 2024-03-01 01:50 KCVG 010150Z AUTO 14005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 01:55 KCVG 010155Z AUTO 14005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:00 KCVG 010200Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:05 KCVG 010205Z AUTO 15005KT 10SM CLR 02/M09 A3042 RMK T00201090 MADISHF +CVG 2024-03-01 02:10 KCVG 010210Z AUTO 15005KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:20 KCVG 010220Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:25 KCVG 010225Z AUTO 14007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:30 KCVG 010230Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 02:35 KCVG 010235Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:40 KCVG 010240Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 02:45 KCVG 010245Z AUTO 15007KT 10SM CLR 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:50 KCVG 010250Z AUTO 15007KT 10SM 01/M09 A3042 RMK T00101090 MADISHF +CVG 2024-03-01 02:55 KCVG 010255Z AUTO 16005KT 10SM CLR 00/M09 A3042 RMK T00001090 MADISHF +CVG 2024-03-01 03:00 KCVG 010300Z AUTO 15005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:05 KCVG 010305Z AUTO 15005KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:10 KCVG 010310Z AUTO 15007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:15 KCVG 010315Z AUTO 16007KT 10SM CLR 01/M08 A3042 RMK T00101080 MADISHF +CVG 2024-03-01 03:20 KCVG 010320Z AUTO 16005KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:25 KCVG 010325Z AUTO 15007KT 10SM CLR 00/M08 A3042 RMK T00001080 MADISHF +CVG 2024-03-01 03:30 KCVG 010330Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:35 KCVG 010335Z AUTO 16007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:40 KCVG 010340Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:45 KCVG 010345Z AUTO 15007KT 10SM CLR 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:50 KCVG 010350Z AUTO 15007KT 10SM 00/M08 A3041 RMK T00001080 MADISHF +CVG 2024-03-01 03:55 KCVG 010355Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:00 KCVG 010400Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:05 KCVG 010405Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:10 KCVG 010410Z AUTO 14007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:15 KCVG 010415Z AUTO 15007KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:20 KCVG 010420Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:25 KCVG 010425Z AUTO 15005KT 10SM CLR 00/M08 A3040 RMK T00001080 MADISHF +CVG 2024-03-01 04:30 KCVG 010430Z AUTO 15007KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:35 KCVG 010435Z AUTO 15008KT 10SM CLR 01/M08 A3040 RMK T00101080 MADISHF +CVG 2024-03-01 04:40 KCVG 010440Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:45 KCVG 010445Z AUTO 15008KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:50 KCVG 010450Z AUTO 14007KT 10SM 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 04:55 KCVG 010455Z AUTO 14007KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:00 KCVG 010500Z AUTO 14005KT 10SM CLR 00/M08 A3039 RMK T00001080 MADISHF +CVG 2024-03-01 05:05 KCVG 010505Z AUTO 13005KT 10SM CLR 01/M08 A3038 RMK T00101080 MADISHF +CVG 2024-03-01 05:10 KCVG 010510Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:15 KCVG 010515Z AUTO 13007KT 10SM CLR 00/M08 A3038 RMK T00001080 MADISHF +CVG 2024-03-01 05:20 KCVG 010520Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:25 KCVG 010525Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:30 KCVG 010530Z AUTO 12007KT 10SM CLR 01/M08 A3037 RMK T00101080 MADISHF +CVG 2024-03-01 05:35 KCVG 010535Z AUTO 12007KT 10SM CLR 00/M08 A3037 RMK T00001080 MADISHF +CVG 2024-03-01 05:40 KCVG 010540Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:45 KCVG 010545Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:50 KCVG 010550Z AUTO 12008KT 10SM 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 05:55 KCVG 010555Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:00 KCVG 010600Z AUTO 13008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:05 KCVG 010605Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:10 KCVG 010610Z AUTO 12008KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:15 KCVG 010615Z AUTO 12005KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:20 KCVG 010620Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:25 KCVG 010625Z AUTO 12007KT 10SM CLR 01/M08 A3036 RMK T00101080 MADISHF +CVG 2024-03-01 06:30 KCVG 010630Z AUTO 12008KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:35 KCVG 010635Z AUTO 12007KT 10SM CLR 01/M08 A3035 RMK T00101080 MADISHF +CVG 2024-03-01 06:40 KCVG 010640Z AUTO 11007KT 10SM CLR 01/M09 A3035 RMK T00101090 MADISHF +CVG 2024-03-01 06:45 KCVG 010645Z AUTO 11005KT 10SM CLR 00/M08 A3035 RMK T00001080 MADISHF +CVG 2024-03-01 06:50 KCVG 010650Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 06:55 KCVG 010655Z AUTO 11007KT 10SM CLR 01/M08 A3034 RMK T00101080 MADISHF +CVG 2024-03-01 07:00 KCVG 010700Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:05 KCVG 010705Z AUTO 11007KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:10 KCVG 010710Z AUTO 12008KT 10SM CLR 00/M08 A3034 RMK T00001080 MADISHF +CVG 2024-03-01 07:15 KCVG 010715Z AUTO 12007KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:20 KCVG 010720Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:25 KCVG 010725Z AUTO 11007KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:30 KCVG 010730Z AUTO 12008KT 10SM CLR 00/M08 A3033 RMK T00001080 MADISHF +CVG 2024-03-01 07:35 KCVG 010735Z AUTO 12009KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:40 KCVG 010740Z AUTO 12008KT 10SM CLR 01/M08 A3033 RMK T00101080 MADISHF +CVG 2024-03-01 07:45 KCVG 010745Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:50 KCVG 010750Z AUTO 12008KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 07:55 KCVG 010755Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:00 KCVG 010800Z AUTO 13009KT 10SM CLR 00/M08 A3032 RMK T00001080 MADISHF +CVG 2024-03-01 08:05 KCVG 010805Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:10 KCVG 010810Z AUTO 13010KT 10SM CLR 01/M08 A3031 RMK T00101080 MADISHF +CVG 2024-03-01 08:15 KCVG 010815Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:20 KCVG 010820Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:25 KCVG 010825Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:30 KCVG 010830Z AUTO 13009KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 08:35 KCVG 010835Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:40 KCVG 010840Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:45 KCVG 010845Z AUTO 12011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:50 KCVG 010850Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 08:55 KCVG 010855Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:00 KCVG 010900Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:05 KCVG 010905Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 09:10 KCVG 010910Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:15 KCVG 010915Z AUTO 13008KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:20 KCVG 010920Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 09:25 KCVG 010925Z AUTO 14009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:30 KCVG 010930Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:35 KCVG 010935Z AUTO 16009KT 10SM CLR M01/M08 A3032 RMK T10101080 MADISHF +CVG 2024-03-01 09:40 KCVG 010940Z AUTO 15008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:45 KCVG 010945Z AUTO 15009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:50 KCVG 010950Z AUTO 15011KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 09:55 KCVG 010955Z AUTO 13011KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:00 KCVG 011000Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:05 KCVG 011005Z AUTO 13011KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:10 KCVG 011010Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:15 KCVG 011015Z AUTO 13009KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:20 KCVG 011020Z AUTO 13010KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 10:25 KCVG 011025Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:30 KCVG 011030Z AUTO 13009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 10:35 KCVG 011035Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:40 KCVG 011040Z AUTO 13010KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:45 KCVG 011045Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 10:50 KCVG 011050Z AUTO 13009KT 10SM 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 10:55 KCVG 011055Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:00 KCVG 011100Z AUTO 13009KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:05 KCVG 011105Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:10 KCVG 011110Z AUTO 11005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:15 KCVG 011115Z AUTO 12009KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:20 KCVG 011120Z AUTO 12005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:25 KCVG 011125Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:30 KCVG 011130Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:35 KCVG 011135Z AUTO 11005KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:40 KCVG 011140Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 VRB06KT MADISHF +CVG 2024-03-01 11:45 KCVG 011145Z AUTO 12005KT 10SM M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 11:50 KCVG 011150Z AUTO 10004KT 10SM M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 11:55 KCVG 011155Z AUTO 10004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:00 KCVG 011200Z AUTO 13004KT 10SM CLR M01/M08 A3030 RMK T10101080 MADISHF +CVG 2024-03-01 12:05 KCVG 011205Z AUTO 13005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:10 KCVG 011210Z AUTO 13007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:15 KCVG 011215Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:20 KCVG 011220Z AUTO 14007KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:25 KCVG 011225Z AUTO 12004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:30 KCVG 011230Z AUTO 13004KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:35 KCVG 011235Z AUTO 14005KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:40 KCVG 011240Z AUTO 14008KT 10SM CLR M01/M08 A3031 RMK T10101080 MADISHF +CVG 2024-03-01 12:45 KCVG 011245Z AUTO 13007KT 10SM CLR 00/M08 A3031 RMK T00001080 MADISHF +CVG 2024-03-01 12:50 KCVG 011250Z AUTO 13007KT 10SM 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 12:55 KCVG 011255Z AUTO 14005KT 10SM CLR 00/M08 A3030 RMK T00001080 MADISHF +CVG 2024-03-01 13:00 KCVG 011300Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:05 KCVG 011305Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:10 KCVG 011310Z AUTO 13008KT 10SM CLR 01/M08 A3030 RMK T00101080 MADISHF +CVG 2024-03-01 13:15 KCVG 011315Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:20 KCVG 011320Z AUTO 14009KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:25 KCVG 011325Z AUTO 14008KT 10SM CLR 01/M08 A3030 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:30 KCVG 011330Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 VISNO 36R MADISHF +CVG 2024-03-01 13:35 KCVG 011335Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:40 KCVG 011340Z AUTO 14008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:45 KCVG 011345Z AUTO 13007KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:50 KCVG 011350Z AUTO 13008KT 10SM 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 13:55 KCVG 011355Z AUTO 13007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:00 KCVG 011400Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:05 KCVG 011405Z AUTO 13008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:10 KCVG 011410Z AUTO 14007KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:15 KCVG 011415Z AUTO 14007KT 10SM CLR 01/M07 A3029 RMK T00101070 MADISHF +CVG 2024-03-01 14:20 KCVG 011420Z AUTO 14008KT 10SM CLR 01/M08 A3029 RMK T00101080 MADISHF +CVG 2024-03-01 14:25 KCVG 011425Z AUTO 15008KT 10SM CLR 02/M08 A3029 RMK T00201080 MADISHF +CVG 2024-03-01 14:30 KCVG 011430Z AUTO 13008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:35 KCVG 011435Z AUTO 13008KT 10SM FEW120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 14:40 KCVG 011440Z AUTO 14008KT 10SM FEW120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 14:45 KCVG 011445Z AUTO 15008KT 10SM FEW100 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:50 KCVG 011450Z AUTO 15007KT 10SM FEW090 OVC120 02/M07 A3028 RMK T00201070 VIRGA ALQDS MADISHF +CVG 2024-03-01 14:55 KCVG 011455Z AUTO 14008KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:00 KCVG 011500Z AUTO 15009KT 10SM BKN120 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:05 KCVG 011505Z AUTO 15010KT 10SM BKN120 02/M08 A3028 RMK T00201080 MADISHF +CVG 2024-03-01 15:10 KCVG 011510Z AUTO 15010KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:15 KCVG 011515Z AUTO 15009KT 10SM OVC110 02/M07 A3028 RMK T00201070 MADISHF +CVG 2024-03-01 15:20 KCVG 011520Z AUTO 15008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:25 KCVG 011525Z AUTO 16008KT 10SM OVC110 03/M07 A3028 RMK T00301070 MADISHF +CVG 2024-03-01 15:30 KCVG 011530Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:35 KCVG 011535Z AUTO 14007KT 10SM OVC110 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 15:40 KCVG 011540Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:45 KCVG 011545Z AUTO 15007KT 10SM OVC110 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:50 KCVG 011550Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 VIRGA ALQDS MADISHF +CVG 2024-03-01 15:55 KCVG 011555Z AUTO 14007KT 10SM OVC100 03/M07 A3027 RMK T00301070 MADISHF +CVG 2024-03-01 16:00 KCVG 011600Z AUTO 15007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:05 KCVG 011605Z AUTO 14007KT 10SM OVC100 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:10 KCVG 011610Z AUTO 16005KT 10SM BKN090 OVC110 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:15 KCVG 011615Z AUTO 15007KT 10SM OVC095 03/M07 A3026 RMK T00301070 MADISHF +CVG 2024-03-01 16:20 KCVG 011620Z AUTO 16007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:25 KCVG 011625Z AUTO 15007KT 10SM OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:30 KCVG 011630Z AUTO 15005KT 10SM OVC085 04/M07 A3026 RMK T00401070 MADISHF +CVG 2024-03-01 16:35 KCVG 011635Z AUTO 15007KT 10SM OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:40 KCVG 011640Z AUTO 15005KT 10SM OVC080 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:45 KCVG 011645Z AUTO 15007KT 10SM BKN075 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:50 KCVG 011650Z AUTO 15005KT 10SM BKN070 OVC085 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 16:55 KCVG 011655Z AUTO 18005KT 10SM -RA BKN070 OVC090 04/M06 A3026 RMK T00401060 MADISHF +CVG 2024-03-01 17:00 KCVG 011700Z AUTO 16005KT 9SM -RA OVC070 04/M04 A3026 RMK T00401040 MADISHF +CVG 2024-03-01 17:05 KCVG 011705Z AUTO 17005KT 8SM -RA OVC070 04/M03 A3026 RMK T00401030 MADISHF +CVG 2024-03-01 17:07 KCVG 011707Z 18006KT 9SM -PLRA OVC070 04/M03 A3025 RMK AO2 PLB06 P0000 T00441028 +CVG 2024-03-01 17:10 KCVG 011710Z AUTO 18005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:15 KCVG 011715Z AUTO 16005KT 10SM -RA -PL OVC070 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:20 KCVG 011720Z 16005KT 10SM -RA OVC065 04/M03 A3025 RMK AO2 PLB06E20 P0000 T00441028 +CVG 2024-03-01 17:20 KCVG 011720Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:25 KCVG 011725Z AUTO 16005KT 10SM -RA OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:30 KCVG 011730Z AUTO 17004KT 10SM OVC065 04/M03 A3025 RMK T00401030 MADISHF +CVG 2024-03-01 17:35 KCVG 011735Z AUTO 16002KT 10SM BKN065 OVC080 04/M03 A3024 RMK T00401030 MADISHF +CVG 2024-03-01 17:40 KCVG 011740Z AUTO 15005KT 10SM BKN065 OVC080 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 17:45 KCVG 011745Z AUTO 16005KT 10SM OVC060 05/M03 A3024 RMK T00501030 MADISHF +CVG 2024-03-01 17:50 KCVG 011750Z AUTO 15005KT 10SM OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 17:55 KCVG 011755Z AUTO 15007KT 10SM -RA OVC060 06/M02 A3025 RMK T00601020 MADISHF +CVG 2024-03-01 18:00 KCVG 011800Z AUTO 16010KT 10SM -RA BKN060 OVC075 06/M01 A3024 RMK T00601010 MADISHF +CVG 2024-03-01 18:05 KCVG 011805Z AUTO 16008KT 10SM -RA BKN060 OVC075 06/M02 A3024 RMK T00601020 MADISHF +CVG 2024-03-01 18:10 KCVG 011810Z AUTO 15008KT 10SM OVC060 05/M02 A3024 RMK T00501020 MADISHF +CVG 2024-03-01 18:15 KCVG 011815Z AUTO 15007KT 10SM OVC060 05/M02 A3023 RMK T00501020 MADISHF +CVG 2024-03-01 18:20 KCVG 011820Z AUTO 15005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:25 KCVG 011825Z AUTO 15007KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:30 KCVG 011830Z AUTO 16005KT 10SM OVC060 06/M02 A3023 RMK T00601020 MADISHF +CVG 2024-03-01 18:35 KCVG 011835Z AUTO 14005KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:40 KCVG 011840Z AUTO 14007KT 10SM OVC055 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:45 KCVG 011845Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 18:50 KCVG 011850Z AUTO 14007KT 10SM OVC050 06/M01 A3022 RMK T00601010 MADISHF +CVG 2024-03-01 18:55 KCVG 011855Z AUTO 15005KT 10SM OVC050 06/M02 A3022 RMK T00601020 MADISHF +CVG 2024-03-01 19:00 KCVG 011900Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:05 KCVG 011905Z AUTO 14005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:10 KCVG 011910Z AUTO 12005KT 10SM OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:15 KCVG 011915Z AUTO 11004KT 10SM OVC050 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:20 KCVG 011920Z AUTO 12005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:25 KCVG 011925Z AUTO 10005KT 10SM OVC049 06/M02 A3020 RMK T00601020 MADISHF +CVG 2024-03-01 19:30 KCVG 011930Z AUTO 11005KT 10SM OVC047 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:35 KCVG 011935Z AUTO 12005KT 10SM BKN042 OVC050 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:40 KCVG 011940Z AUTO 11005KT 10SM BKN042 OVC049 06/M02 A3021 RMK T00601020 MADISHF +CVG 2024-03-01 19:45 KCVG 011945Z AUTO 12005KT 10SM OVC043 06/M01 A3021 RMK T00601010 MADISHF +CVG 2024-03-01 19:50 KCVG 011950Z AUTO 13007KT 10SM OVC043 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 19:55 KCVG 011955Z AUTO 13005KT 10SM OVC042 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:00 KCVG 012000Z AUTO 11004KT 10SM BKN041 OVC055 06/M01 A3020 RMK T00601010 MADISHF +CVG 2024-03-01 20:05 KCVG 012005Z AUTO 12005KT 10SM BKN042 OVC060 07/M01 A3020 RMK T00701010 MADISHF +CVG 2024-03-01 20:10 KCVG 012010Z AUTO 10005KT 10SM SCT042 OVC060 07/M01 A3019 RMK T00701010 CIG 039 36R MADISHF +CVG 2024-03-01 20:15 KCVG 012015Z AUTO 11007KT 10SM SCT042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:20 KCVG 012020Z AUTO 12007KT 10SM FEW042 OVC065 07/M01 A3019 RMK T00701010 MADISHF +CVG 2024-03-01 20:25 KCVG 012025Z AUTO 12009KT 10SM FEW043 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:30 KCVG 012030Z AUTO 12008KT 10SM OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:35 KCVG 012035Z AUTO 13009KT 10SM FEW034 SCT048 OVC060 07/00 A3018 RMK T00700000 MADISHF +CVG 2024-03-01 20:40 KCVG 012040Z AUTO 13010KT 10SM FEW024 BKN032 OVC065 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:45 KCVG 012045Z 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK AO2 T00670006 +CVG 2024-03-01 20:45 KCVG 012045Z AUTO 15011KT 10SM BKN023 BKN033 OVC060 07/01 A3018 RMK T00700010 MADISHF +CVG 2024-03-01 20:50 KCVG 012050Z AUTO 15013KT 10SM BKN022 OVC033 07/02 A3018 RMK T00700020 MADISHF +CVG 2024-03-01 20:55 KCVG 012055Z AUTO 14010KT 10SM BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:00 KCVG 012100Z AUTO 13011KT 10SM -RA BKN022 OVC033 06/02 A3017 RMK T00600020 MADISHF +CVG 2024-03-01 21:05 KCVG 012105Z AUTO 15011KT 7SM -RA BKN022 OVC033 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:10 KCVG 012110Z AUTO 14009KT 6SM -RA BR OVC021 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:15 KCVG 012115Z AUTO 13011KT 7SM -RA OVC020 06/03 A3017 RMK T00600030 MADISHF +CVG 2024-03-01 21:20 KCVG 012120Z AUTO 14011KT 8SM -RA BKN017 OVC023 06/03 A3016 RMK T00600030 MADISHF +CVG 2024-03-01 21:25 KCVG 012125Z AUTO 14009KT 8SM -RA BKN017 OVC023 05/03 A3016 RMK T00500030 MADISHF +CVG 2024-03-01 21:29 KCVG 012129Z 14012KT 3SM -RA BR OVC017 05/04 A3016 RMK AO2 RAB00 P0000 T00500039 +CVG 2024-03-01 21:30 KCVG 012130Z AUTO 14010KT 3SM -RA BR OVC017 05/04 A3016 RMK T00500040 MADISHF +CVG 2024-03-01 21:35 KCVG 012135Z AUTO 15010KT 3SM -RA BR OVC017 05/04 A3017 RMK P0001 T00500040 MADISHF +CVG 2024-03-01 21:40 KCVG 012140Z AUTO 14010KT 3SM RA BR OVC015 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 21:45 KCVG 012145Z AUTO 13010KT 4SM -RA BR SCT013 OVC018 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 21:50 KCVG 012150Z AUTO 14010KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0003 T00400040 SCT V BKN MADISHF +CVG 2024-03-01 21:55 KCVG 012155Z AUTO 14009KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:00 KCVG 012200Z AUTO 14008KT 4SM -RA BR SCT010 OVC016 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:02 KCVG 012202Z 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK AO2 TWR VIS 4 P0001 T00440039 +CVG 2024-03-01 22:05 KCVG 012205Z AUTO 12008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 22:10 KCVG 012210Z AUTO 14008KT 3SM -RA BR SCT009 OVC014 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:15 KCVG 012215Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 22:20 KCVG 012220Z AUTO 13009KT 5SM -RA BR SCT008 OVC013 04/04 A3016 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 22:21 KCVG 012221Z 13009KT 4SM -DZ BR BKN007 OVC012 04/04 A3016 RMK AO2 RAE21DZB21 P0003 T00390039 $ +CVG 2024-03-01 22:25 KCVG 012225Z AUTO 13008KT 4SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:30 KCVG 012230Z AUTO 14009KT 5SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:35 KCVG 012235Z AUTO 13010KT 6SM -DZ BR BKN007 OVC012 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:40 KCVG 012240Z AUTO 12008KT 4SM -DZ BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21DZB21 MADISHF +CVG 2024-03-01 22:45 KCVG 012245Z AUTO 14005KT 4SM -RA BR OVC007 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:50 KCVG 012250Z AUTO 12007KT 4SM -RA BR OVC006 04/04 A3015 RMK P0003 T00400040 RAE21B42DZB21E42 MADISHF +CVG 2024-03-01 22:55 KCVG 012255Z AUTO 13007KT 4SM -RA BR OVC006 04/04 A3015 RMK T00400040 MADISHF +CVG 2024-03-01 23:00 KCVG 012300Z AUTO 14010KT 4SM -RA BR OVC006 04/04 A3014 RMK T00400040 MADISHF +CVG 2024-03-01 23:05 KCVG 012305Z AUTO 13009KT 4SM RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF +CVG 2024-03-01 23:10 KCVG 012310Z AUTO 15010KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:15 KCVG 012315Z AUTO 14008KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:20 KCVG 012320Z AUTO 15011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:25 KCVG 012325Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:30 KCVG 012330Z AUTO 14009KT 3SM -RA BR OVC006 04/04 A3014 RMK P0002 T00400040 MADISHF +CVG 2024-03-01 23:35 KCVG 012335Z AUTO 14010KT 3SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:40 KCVG 012340Z AUTO 14011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0003 T00400040 MADISHF +CVG 2024-03-01 23:45 KCVG 012345Z AUTO 15011KT 5SM -RA BR OVC006 04/04 A3014 RMK P0004 T00400040 MADISHF +CVG 2024-03-01 23:50 KCVG 012350Z AUTO 14011KT 3SM RA BR OVC006 04/04 A3015 RMK P0005 T00400040 CIG 005V008 MADISHF +CVG 2024-03-01 23:55 KCVG 012355Z AUTO 14011KT 3SM -RA BR OVC006 04/04 A3015 RMK P0001 T00400040 MADISHF diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index ef9eb15..3672813 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -1,47 +1,143 @@ -test_that("riem_measures returns the right output", { +####################### +# test required params +####################### + +test_that("riem_measures fails if required 'station' param is absent", { + expect_snapshot_error(riem_measures(date_start = "2014-03-01")) +}) + +test_that("riem_measures fails if required 'date_start' param is absent", { + expect_snapshot_error(riem_measures(station = "VOHY")) +}) + + +################### +# param validation +################### + +test_that("riem_measures validates 'station' param", { + # wrong type + expect_snapshot_error(riem_measures(station = 11111L, + date_start = "2014-03-01")) + # invalid value + expect_snapshot_error(riem_measures(station = "ZZZZZ", + date_start = "2014-03-01")) +}) + +test_that("riem_measures validates dates", { + # date_start is invalid value + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "somethingelse")) + # date_start is badly formatted + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2015 31 01")) + + # date_end is invalid value + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + date_end = "somethingelse")) + # date_end is badly formatted + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + date_end = "2015 31 01")) + + # date_end is before date_start + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2015-12-01", + date_end = "2013-12-01")) +}) + +# TODO validate 'data' against [all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth] # nolint: line_length_linter + +test_that("riem_measures validates 'elev' param", { + # wrong type + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + elev = 11111L)) + # wrong type + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + elev = "ZZZZZ")) +}) + +test_that("riem_measures validates 'latlon' param", { + # wrong type + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + latlon = 11111L)) + # wrong type + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + latlon = "ZZZZZ")) +}) + +test_that("riem_measures validates 'report_type' param", { + # wrong type + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + report_type = 11111L)) + # 1 invalid value (of 1) + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + report_type = "ZZZZZ")) + # 1 invalid value (of multiple) + expect_snapshot_error(riem_measures(station = "VOHY", + date_start = "2014-03-01", + report_type = c("routine", "ZZZZZ"))) +}) + + +################### +# nominal benavior +################### + +test_that("riem_measures returns the right output for a default query", { httptest2::with_mock_dir(file.path("fixtures", "measures"), { output <- riem_measures( station = "VOHY", date_start = "2014-03-01", - date_end = "2014-04-05" + date_end = "2014-04-05" # keep it bounded and deterministic ) }) expect_s3_class(output, "tbl_df") - expect_type(output$station, "character") - expect_s3_class(output$valid, "POSIXct") - expect_type(output$lon, "double") - expect_type(output$lat, "double") - expect_type(output$tmpf, "double") - expect_type(output$dwpf, "double") - expect_type(output$relh, "double") - expect_type(output$drct, "double") - expect_type(output$sknt, "double") - expect_type(output$p01i, "double") - expect_type(output$alti, "double") - expect_true(class(output$mslp) %in% c("character", "logical")) - expect_type(output$vsby, "double") - expect_true(class(output$gust) %in% c("character", "numeric", "logical")) - expect_type(output$skyc1, "character") - expect_type(output$skyc2, "character") - expect_type(output$skyc3, "character") - expect_type(output$skyc4, "character") - expect_type(output$skyl1, "double") - expect_type(output$skyl2, "double") - expect_type(output$skyl3, "double") - expect_type(output$skyl4, "double") - expect_type(output$wxcodes, "character") - expect_type(output$metar, "character") + + expect_setequal(names(output), c("station", "valid", "lon", "lat", "tmpf", "dwpf", "relh", "drct", "sknt", "p01i", "alti", "mslp", "vsby", "gust", "skyc1", "skyc2", "skyc3", "skyc4", "skyl1", "skyl2", "skyl3", "skyl4", "wxcodes", "feel", "ice_accretion_1hr", "ice_accretion_3hr", "ice_accretion_6hr", "peak_wind_gust", "peak_wind_drct", "peak_wind_time", "metar", "snowdepth")) # nolint: line_length_linter + + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["lon"]], "double") + expect_type(output[["lat"]], "double") + expect_type(output[["tmpf"]], "double") + expect_type(output[["dwpf"]], "double") + expect_type(output[["relh"]], "double") + expect_type(output[["drct"]], "double") + expect_type(output[["sknt"]], "double") + expect_type(output[["p01i"]], "double") + expect_type(output[["alti"]], "double") + expect_true(class(output[["mslp"]]) %in% c("character", "logical")) # nolint: class_equals_linter + expect_type(output[["vsby"]], "double") + expect_true(class(output[["gust"]]) %in% c("character", "numeric", "logical")) # nolint: class_equals_linter + expect_type(output[["skyc1"]], "character") + expect_type(output[["skyc2"]], "character") + expect_type(output[["skyc3"]], "character") + expect_type(output[["skyc4"]], "character") + expect_type(output[["skyl1"]], "double") + expect_type(output[["skyl2"]], "double") + expect_type(output[["skyl3"]], "double") + expect_type(output[["skyl4"]], "double") + expect_type(output[["wxcodes"]], "character") + expect_type(output[["metar"]], "character") }) -test_that("riem_measures params", { +test_that("riem_measures parses all params", { httptest2::with_mock_dir(file.path("fixtures", "measures2"), { output <- riem_measures( station = "VOHY", date_start = "2014-03-01", - date_end = "2014-04-05", - data = "tmpf", - elev = TRUE, - latlon = FALSE, + date_end = "2014-04-05", # keep it bounded and deterministic + data = "tmpf", # single field (not 'all') + elev = TRUE, # opposite default value + latlon = FALSE, # opposite default value report_type = "specials" ) }) @@ -49,10 +145,120 @@ test_that("riem_measures params", { expect_setequal(names(output), c("station", "valid", "elevation", "tmpf")) - expect_type(output$station, "character") - expect_s3_class(output$valid, "POSIXct") - expect_type(output$tmpf, "double") - expect_type(output$elevation, "double") + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["tmpf"]], "double") + expect_type(output[["elevation"]], "double") +}) + +test_that("riem_measures provides proper report types (6 combinations)", { + # hfmetar + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = "hfmetar" + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") + + # routine + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = "routine" + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") + + # specials + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = "specials" + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") + + # hfmetar, routine + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = c("hfmetar", "routine") + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") + + # hfmetar, specials + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = c("hfmetar", "specials") + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") + + # hfmetar, routine, specials + httptest2::with_mock_dir(file.path("fixtures", "measures3"), { + output <- riem_measures( + station = "KCVG", # choose a second station (VOHY used elsewhere) + date_start = "2024-03-01", + date_end = "2024-03-02", # keep it bounded and deterministic + data = "metar", # single field (not 'all') + elev = FALSE, + latlon = FALSE, + report_type = c("hfmetar", "routine", "specials") + ) + }) + expect_s3_class(output, "tbl_df") + expect_setequal(names(output), c("station", "valid", "metar")) + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["metar"]], "character") }) test_that("riem_measures outputs warning if no results", { @@ -67,27 +273,3 @@ test_that("riem_measures outputs warning if no results", { ) }) }) - -test_that("riem_measures checks dates", { - expect_snapshot_error(riem_measures(station = "VOHY", - date_start = "somethingelse")) - - expect_snapshot_error(riem_measures(station = "VOHY", - date_start = "2014-03-01", - date_end = "somethingelse")) - - expect_snapshot_error(riem_measures(station = "VOHY", - date_start = "2015 31 01")) - - expect_snapshot_error(riem_measures(station = "VOHY", - date_start = "2014-03-01", - date_end = "2015 31 01")) - - expect_snapshot_error( - riem_measures( - station = "VOHY", - date_start = "2015-12-01", - date_end = "2013-12-01" - ) - ) -}) From 780b9e30de458e8ccfc02191ce50ecaebda26981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:40:38 +0100 Subject: [PATCH 24/34] fix: remove duplicate import --- NAMESPACE | 1 - R/measures.R | 1 - 2 files changed, 2 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index dd9a585..adc03d7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,5 +7,4 @@ importFrom(jsonlite,read_json) importFrom(magrittr,"%>%") importFrom(rlang,"!!!") importFrom(rlang,"%||%") -importFrom(rlang,`%||%`) importFrom(utils,read.table) diff --git a/R/measures.R b/R/measures.R index ae0cfcb..965e5ae 100644 --- a/R/measures.R +++ b/R/measures.R @@ -1,6 +1,5 @@ #' Get weather data from one station #' -#' @importFrom rlang `%||%` #' #' @param station station ID, see riem_stations() #' @param date_start date of start of the desired data, e.g. "2016-01-01" From ceddc254784dd8fee75861d94c101b4cbe208231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:43:10 +0100 Subject: [PATCH 25/34] docs: improve documentation of `report_type` --- R/measures.R | 2 +- man/riem_measures.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/measures.R b/R/measures.R index 965e5ae..8e2fa95 100644 --- a/R/measures.R +++ b/R/measures.R @@ -8,7 +8,7 @@ #' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter #' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter -#' @param report_type The report type to query. The available options are "hfmetar" (skipped by default), "routine", "specials". # nolint: line_length_linter +#' @param report_type A vector of strings, representing report types to query. The available options are `"hfmetar"`, `"routine"`, `"specials"`. Default value is `c("routine", "specials")`. # nolint: line_length_linter #' #' @return a data.frame (tibble tibble) with measures, #' the number of columns can vary from station to station, diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index d2cfa0c..910af1b 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -30,7 +30,7 @@ riem_measures( \item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} -\item{report_type}{The report type to query. The available options are "hfmetar" (skipped by default), "routine", "specials". # nolint: line_length_linter} +\item{report_type}{A vector of strings, representing report types to query. The available options are `"hfmetar"`, `"routine"`, `"specials"`. Default value is `c("routine", "specials")`. # nolint: line_length_linter} } \value{ a data.frame (tibble tibble) with measures, From 54b0ac54c49a9a3fa56be2f3dd557b02fe7d890b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:50:30 +0100 Subject: [PATCH 26/34] refactor: remove unnecessary lambda --- R/measures.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/R/measures.R b/R/measures.R index 8e2fa95..b10f20c 100644 --- a/R/measures.R +++ b/R/measures.R @@ -104,7 +104,10 @@ riem_measures <- function( ) report_type <- purrr::map_int( report_type, - \(x) switch(x, hfmetar = 1L, routine = 3L, specials = 4L) # nolint: unnecessary_lambda_linter + switch, + hfmetar = 1L, + routine = 3L, + specials = 4L ) report_type <- paste(report_type, collapse = ",") From cc055903402e4717c3d7fff7e03065cd6bed5067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:53:19 +0100 Subject: [PATCH 27/34] docs: update NEWS.md --- NEWS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS.md b/NEWS.md index c99dd78..8f23ad7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ # riem (development version) +* Breaking change: date_start and station no longer have default values. + +* New arguments `data`, `report_type`, `elev` (#49, @JElchison). + # riem 0.3.2 * Remove last usage of vcr as the choice was made to use httptest2 instead. From 6b8995bfd5b9db1c25421bbb5a1c69ffdde27034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:53:45 +0100 Subject: [PATCH 28/34] formatting --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 8f23ad7..389cf9b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,6 @@ # riem (development version) -* Breaking change: date_start and station no longer have default values. +* Breaking change: `date_start` and `station` no longer have default values. * New arguments `data`, `report_type`, `elev` (#49, @JElchison). From 6202c2f21be1adee167262f6d39674f8f2518e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 09:54:48 +0100 Subject: [PATCH 29/34] latlon --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 389cf9b..0e8ac37 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,7 +2,7 @@ * Breaking change: `date_start` and `station` no longer have default values. -* New arguments `data`, `report_type`, `elev` (#49, @JElchison). +* New arguments `data`, `latlon`, `report_type`, `elev` (#49, @JElchison). # riem 0.3.2 From bc561e202a0acad129abbae89e3da13cda479f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 10:00:41 +0100 Subject: [PATCH 30/34] docs: clarify report --- R/measures.R | 5 ++++- man/riem_measures.Rd | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/R/measures.R b/R/measures.R index b10f20c..c2b840a 100644 --- a/R/measures.R +++ b/R/measures.R @@ -8,7 +8,10 @@ #' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter #' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter -#' @param report_type A vector of strings, representing report types to query. The available options are `"hfmetar"`, `"routine"`, `"specials"`. Default value is `c("routine", "specials")`. # nolint: line_length_linter +#' @param report_type A vector of strings, representing report types to query. +#' The available options are `"hfmetar"`, `"routine"`, `"specials"`. +#' Default value is `c("routine", "specials")`. +#' The report is then in the `metar` column of the output. #' #' @return a data.frame (tibble tibble) with measures, #' the number of columns can vary from station to station, diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index 910af1b..fc91911 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -30,7 +30,10 @@ riem_measures( \item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} -\item{report_type}{A vector of strings, representing report types to query. The available options are `"hfmetar"`, `"routine"`, `"specials"`. Default value is `c("routine", "specials")`. # nolint: line_length_linter} +\item{report_type}{A vector of strings, representing report types to query. +The available options are `"hfmetar"`, `"routine"`, `"specials"`. +Default value is `c("routine", "specials")`. +The report is then in the `metar` column of the output.} } \value{ a data.frame (tibble tibble) with measures, From 4cc6e7244331139067fdb2fe2135812a12228240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 20 Dec 2024 10:03:32 +0100 Subject: [PATCH 31/34] refactor: validate data --- R/measures.R | 14 +++++++++++++- man/riem_measures.Rd | 3 ++- tests/testthat/test-measures.R | 2 -- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/R/measures.R b/R/measures.R index c2b840a..d3c4085 100644 --- a/R/measures.R +++ b/R/measures.R @@ -5,7 +5,8 @@ #' @param date_start date of start of the desired data, e.g. "2016-01-01" #' @inheritParams rlang::args_dots_empty #' @param date_end date of end of the desired data, e.g. "2016-04-22" -#' @param data The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter +#' @param data A vector of strings, representing the data columns to return. +#' The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter #' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter #' @param report_type A vector of strings, representing report types to query. @@ -98,6 +99,17 @@ riem_measures <- function( cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter } + data <- rlang::arg_match( + data, + c( + "all", "tmpf", "dwpf", "relh", "drct", "sknt", "p01i", "alti", "mslp", + "vsby", "gust", "skyc1", "skyc2", "skyc3", "skyc4", "skyl1", "skyl2", + "skyl3", "skyl4", "wxcodes", "ice_accretion_1hr", "ice_accretion_3hr", + "ice_accretion_6hr", "peak_wind_gust", "peak_wind_drct", "peak_wind_time", + "feel", "metar", "snowdepth" + ) + ) + report_type <- report_type %||% c("routine", "specials") report_type <- tolower(report_type) # not case-sensitive report_type <- rlang::arg_match( diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index fc91911..5b9b49b 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -24,7 +24,8 @@ riem_measures( \item{date_end}{date of end of the desired data, e.g. "2016-04-22"} -\item{data}{The data columns to return. The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} +\item{data}{A vector of strings, representing the data columns to return. +The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} \item{elev}{If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter} diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index 3672813..04a2040 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -47,8 +47,6 @@ test_that("riem_measures validates dates", { date_end = "2013-12-01")) }) -# TODO validate 'data' against [all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth] # nolint: line_length_linter - test_that("riem_measures validates 'elev' param", { # wrong type expect_snapshot_error(riem_measures(station = "VOHY", From 06db10dd0f2118bc127f79f3f1cae318481805f7 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Fri, 20 Dec 2024 13:22:27 -0500 Subject: [PATCH 32/34] Permit new 'data' arg validation to accept multiple fields (and add associated test); Add/update comments for clarity --- R/measures.R | 37 +- .../cgi-bin/request/asos.py-ab7e87.txt | 420 ++++++++++++++++++ tests/testthat/test-measures.R | 35 +- 3 files changed, 474 insertions(+), 18 deletions(-) create mode 100644 tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-ab7e87.txt diff --git a/R/measures.R b/R/measures.R index d3c4085..26f7583 100644 --- a/R/measures.R +++ b/R/measures.R @@ -80,36 +80,49 @@ riem_measures <- function( elev = FALSE, latlon = TRUE, report_type = NULL) { + # validate 'station' arg if (!rlang::is_character(station, n = 1L)) { cli::cli_abort("{.arg station} must be a string.") } + + # validate 'date_start' arg date_start <- format_and_check_date(date_start, "date_start") + + # validate dots rlang::check_dots_empty() + + # validate 'date_end' arg date_end <- format_and_check_date(date_end, "date_end") if (date_end < date_start) { cli::cli_abort("{.arg date_end} must be bigger than {.arg date_start}.") } - if (!rlang::is_character(data, n = 1L)) { - cli::cli_abort("{.arg data} must be a string.") - } - if (!is.logical(elev)) { - cli::cli_abort("{.arg elev} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter - } - if (!is.logical(latlon)) { - cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter - } + # validate 'data' arg + data <- tolower(data) # not case-sensitive data <- rlang::arg_match( data, - c( + values = c( "all", "tmpf", "dwpf", "relh", "drct", "sknt", "p01i", "alti", "mslp", "vsby", "gust", "skyc1", "skyc2", "skyc3", "skyc4", "skyl1", "skyl2", "skyl3", "skyl4", "wxcodes", "ice_accretion_1hr", "ice_accretion_3hr", "ice_accretion_6hr", "peak_wind_gust", "peak_wind_drct", "peak_wind_time", "feel", "metar", "snowdepth" - ) + ), + multiple = TRUE ) + data <- paste(data, collapse = ",") + + # validate 'elev' arg + if (!is.logical(elev)) { + cli::cli_abort("{.arg elev} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter + } + # validate 'latlon' arg + if (!is.logical(latlon)) { + cli::cli_abort("{.arg latlon} must be a logical (TRUE/FALSE)") # nolint: nonportable_path_linter + } + + # validate 'report_type' arg report_type <- report_type %||% c("routine", "specials") report_type <- tolower(report_type) # not case-sensitive report_type <- rlang::arg_match( @@ -126,6 +139,8 @@ riem_measures <- function( ) report_type <- paste(report_type, collapse = ",") + # args have been validated. + resp <- perform_riem_request( path = "cgi-bin/request/asos.py/", # nolint: nonportable_path_linter # query fields per https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?help # nolint: line_length_linter diff --git a/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-ab7e87.txt b/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-ab7e87.txt new file mode 100644 index 0000000..9103fbc --- /dev/null +++ b/tests/testthat/fixtures/measures2/mesonet.agron.iastate.edu/cgi-bin/request/asos.py-ab7e87.txt @@ -0,0 +1,420 @@ +#DEBUG: Format Typ -> tdf +#DEBUG: Time Period -> 2014-03-01 00:00:00+00:00 2014-04-05 00:00:00+00:00 +#DEBUG: Time Zone -> UTC +#DEBUG: Data Contact -> daryl herzmann akrherz@iastate.edu 515-294-5978 +#DEBUG: Entries Found -> -1 +station valid elevation tmpf dwpf +VOHY 2014-03-01 00:40 545.00 69.80 60.80 +VOHY 2014-03-01 01:40 545.00 69.80 60.80 +VOHY 2014-03-01 03:40 545.00 77.00 62.60 +VOHY 2014-03-01 05:40 545.00 82.40 64.40 +VOHY 2014-03-01 07:40 545.00 84.20 64.40 +VOHY 2014-03-01 08:40 545.00 87.80 64.40 +VOHY 2014-03-01 10:40 545.00 86.00 60.80 +VOHY 2014-03-01 12:40 545.00 80.60 62.60 +VOHY 2014-03-01 13:40 545.00 75.20 62.60 +VOHY 2014-03-01 14:40 545.00 73.40 62.60 +VOHY 2014-03-02 00:40 545.00 66.20 62.60 +VOHY 2014-03-02 01:40 545.00 66.20 62.60 +VOHY 2014-03-02 04:40 545.00 71.60 64.40 +VOHY 2014-03-02 06:40 545.00 84.20 66.20 +VOHY 2014-03-02 07:40 545.00 86.00 66.20 +VOHY 2014-03-02 09:40 545.00 78.80 69.80 +VOHY 2014-03-02 12:40 545.00 71.60 66.20 +VOHY 2014-03-02 13:40 545.00 69.80 64.40 +VOHY 2014-03-02 14:40 545.00 69.80 64.40 +VOHY 2014-03-02 15:40 545.00 69.80 64.40 +VOHY 2014-03-03 00:40 545.00 69.80 62.60 +VOHY 2014-03-03 01:40 545.00 69.80 62.60 +VOHY 2014-03-03 09:40 545.00 82.40 62.60 +VOHY 2014-03-03 12:40 545.00 71.60 59.00 +VOHY 2014-03-03 14:40 545.00 69.80 59.00 +VOHY 2014-03-03 15:40 545.00 69.80 59.00 +VOHY 2014-03-04 00:40 545.00 68.00 62.60 +VOHY 2014-03-04 01:40 545.00 68.00 62.60 +VOHY 2014-03-04 03:40 545.00 71.60 64.40 +VOHY 2014-03-04 07:40 545.00 78.80 64.40 +VOHY 2014-03-04 08:40 545.00 82.40 64.40 +VOHY 2014-03-04 11:40 545.00 66.20 62.60 +VOHY 2014-03-04 12:40 545.00 66.20 60.80 +VOHY 2014-03-04 13:40 545.00 66.20 60.80 +VOHY 2014-03-04 14:40 545.00 66.20 60.80 +VOHY 2014-03-04 15:40 545.00 64.40 59.00 +VOHY 2014-03-05 00:40 545.00 64.40 60.80 +VOHY 2014-03-05 07:40 545.00 78.80 62.60 +VOHY 2014-03-05 08:40 545.00 80.60 60.80 +VOHY 2014-03-05 09:40 545.00 80.60 57.20 +VOHY 2014-03-05 10:40 545.00 80.60 59.00 +VOHY 2014-03-05 12:40 545.00 77.00 59.00 +VOHY 2014-03-05 13:40 545.00 73.40 60.80 +VOHY 2014-03-05 14:40 545.00 71.60 60.80 +VOHY 2014-03-05 15:40 545.00 71.60 60.80 +VOHY 2014-03-06 00:40 545.00 68.00 62.60 +VOHY 2014-03-06 01:40 545.00 68.00 62.60 +VOHY 2014-03-06 03:40 545.00 71.60 64.40 +VOHY 2014-03-06 04:40 545.00 73.40 66.20 +VOHY 2014-03-06 05:40 545.00 75.20 64.40 +VOHY 2014-03-06 06:40 545.00 75.20 62.60 +VOHY 2014-03-06 07:40 545.00 75.20 62.60 +VOHY 2014-03-06 09:40 545.00 82.40 62.60 +VOHY 2014-03-06 10:40 545.00 80.60 60.80 +VOHY 2014-03-06 11:40 545.00 78.80 62.60 +VOHY 2014-03-06 12:40 545.00 77.00 62.60 +VOHY 2014-03-06 13:40 545.00 73.40 60.80 +VOHY 2014-03-06 14:40 545.00 73.40 62.60 +VOHY 2014-03-06 15:40 545.00 71.60 62.60 +VOHY 2014-03-07 00:40 545.00 68.00 62.60 +VOHY 2014-03-07 01:40 545.00 68.00 62.60 +VOHY 2014-03-07 03:40 545.00 73.40 64.40 +VOHY 2014-03-07 06:40 545.00 80.60 60.80 +VOHY 2014-03-07 08:40 545.00 82.40 60.80 +VOHY 2014-03-07 09:40 545.00 84.20 60.80 +VOHY 2014-03-07 11:40 545.00 75.20 64.40 +VOHY 2014-03-07 14:40 545.00 75.20 62.60 +VOHY 2014-03-07 15:40 545.00 73.40 62.60 +VOHY 2014-03-08 00:40 545.00 69.80 60.80 +VOHY 2014-03-08 01:40 545.00 69.80 62.60 +VOHY 2014-03-08 02:40 545.00 69.80 62.60 +VOHY 2014-03-08 03:40 545.00 71.60 64.40 +VOHY 2014-03-08 06:40 545.00 84.20 64.40 +VOHY 2014-03-08 07:40 545.00 84.20 64.40 +VOHY 2014-03-08 08:40 545.00 84.20 62.60 +VOHY 2014-03-08 09:40 545.00 84.20 60.80 +VOHY 2014-03-08 11:40 545.00 82.40 55.40 +VOHY 2014-03-08 13:40 545.00 78.80 55.40 +VOHY 2014-03-08 14:40 545.00 77.00 57.20 +VOHY 2014-03-08 15:40 545.00 77.00 59.00 +VOHY 2014-03-09 00:40 545.00 66.20 59.00 +VOHY 2014-03-09 03:40 545.00 73.40 59.00 +VOHY 2014-03-09 04:40 545.00 77.00 59.00 +VOHY 2014-03-09 06:40 545.00 80.60 59.00 +VOHY 2014-03-09 07:40 545.00 82.40 59.00 +VOHY 2014-03-09 08:40 545.00 84.20 55.40 +VOHY 2014-03-09 09:40 545.00 86.00 57.20 +VOHY 2014-03-09 10:40 545.00 87.80 55.40 +VOHY 2014-03-09 11:40 545.00 86.00 53.60 +VOHY 2014-03-09 13:40 545.00 78.80 55.40 +VOHY 2014-03-09 14:40 545.00 77.00 57.20 +VOHY 2014-03-10 00:40 545.00 68.00 62.60 +VOHY 2014-03-10 01:40 545.00 68.00 62.60 +VOHY 2014-03-10 02:40 545.00 M M +VOHY 2014-03-10 06:40 545.00 78.80 60.80 +VOHY 2014-03-10 07:40 545.00 80.60 59.00 +VOHY 2014-03-10 09:40 545.00 84.20 57.20 +VOHY 2014-03-10 10:40 545.00 84.20 53.60 +VOHY 2014-03-10 11:40 545.00 82.40 55.40 +VOHY 2014-03-10 13:40 545.00 78.80 55.40 +VOHY 2014-03-10 14:40 545.00 77.00 57.20 +VOHY 2014-03-10 15:40 545.00 77.00 59.00 +VOHY 2014-03-11 00:40 545.00 69.80 55.40 +VOHY 2014-03-11 03:40 545.00 80.60 51.80 +VOHY 2014-03-11 05:40 545.00 87.80 48.20 +VOHY 2014-03-11 06:40 545.00 89.60 50.00 +VOHY 2014-03-11 07:40 545.00 91.40 51.80 +VOHY 2014-03-11 08:40 545.00 95.00 53.60 +VOHY 2014-03-11 09:40 545.00 93.20 53.60 +VOHY 2014-03-11 10:40 545.00 91.40 57.20 +VOHY 2014-03-11 11:40 545.00 87.80 59.00 +VOHY 2014-03-11 13:40 545.00 82.40 59.00 +VOHY 2014-03-11 14:40 545.00 80.60 60.80 +VOHY 2014-03-11 15:40 545.00 78.80 59.00 +VOHY 2014-03-12 00:40 545.00 69.80 53.60 +VOHY 2014-03-12 01:40 545.00 69.80 55.40 +VOHY 2014-03-12 05:40 545.00 86.00 55.40 +VOHY 2014-03-12 06:40 545.00 89.60 55.40 +VOHY 2014-03-12 07:40 545.00 89.60 53.60 +VOHY 2014-03-12 08:40 545.00 91.40 55.40 +VOHY 2014-03-12 09:40 545.00 89.60 55.40 +VOHY 2014-03-12 10:40 545.00 89.60 55.40 +VOHY 2014-03-12 12:40 545.00 82.40 59.00 +VOHY 2014-03-12 13:40 545.00 80.60 59.00 +VOHY 2014-03-12 14:40 545.00 78.80 59.00 +VOHY 2014-03-12 15:40 545.00 78.80 59.00 +VOHY 2014-03-13 00:40 545.00 71.60 59.00 +VOHY 2014-03-13 01:40 545.00 69.80 59.00 +VOHY 2014-03-13 04:40 545.00 84.20 53.60 +VOHY 2014-03-13 05:40 545.00 87.80 51.80 +VOHY 2014-03-13 06:40 545.00 89.60 51.80 +VOHY 2014-03-13 07:40 545.00 93.20 48.20 +VOHY 2014-03-13 08:40 545.00 95.00 46.40 +VOHY 2014-03-13 09:40 545.00 93.20 46.40 +VOHY 2014-03-13 10:40 545.00 93.20 46.40 +VOHY 2014-03-13 11:40 545.00 89.60 48.20 +VOHY 2014-03-13 12:40 545.00 87.80 48.20 +VOHY 2014-03-13 14:40 545.00 82.40 48.20 +VOHY 2014-03-13 15:40 545.00 80.60 48.20 +VOHY 2014-03-14 00:40 545.00 64.40 53.60 +VOHY 2014-03-14 04:40 545.00 87.80 57.20 +VOHY 2014-03-14 05:40 545.00 89.60 57.20 +VOHY 2014-03-14 07:40 545.00 93.20 55.40 +VOHY 2014-03-14 08:40 545.00 93.20 55.40 +VOHY 2014-03-14 09:40 545.00 95.00 55.40 +VOHY 2014-03-14 10:40 545.00 93.20 53.60 +VOHY 2014-03-14 11:40 545.00 93.20 51.80 +VOHY 2014-03-14 13:40 545.00 87.80 57.20 +VOHY 2014-03-14 14:40 545.00 84.20 55.40 +VOHY 2014-03-14 15:40 545.00 82.40 55.40 +VOHY 2014-03-15 00:40 545.00 68.00 55.40 +VOHY 2014-03-15 01:40 545.00 69.80 55.40 +VOHY 2014-03-15 04:40 545.00 93.20 51.80 +VOHY 2014-03-15 06:40 545.00 96.80 53.60 +VOHY 2014-03-15 07:40 545.00 98.60 53.60 +VOHY 2014-03-15 08:40 545.00 98.60 50.00 +VOHY 2014-03-15 09:40 545.00 95.00 50.00 +VOHY 2014-03-15 10:40 545.00 95.00 50.00 +VOHY 2014-03-15 11:40 545.00 93.20 50.00 +VOHY 2014-03-15 12:40 545.00 89.60 50.00 +VOHY 2014-03-15 13:40 545.00 87.80 51.80 +VOHY 2014-03-15 14:40 545.00 86.00 51.80 +VOHY 2014-03-15 15:40 545.00 84.20 51.80 +VOHY 2014-03-15 19:40 545.00 73.40 57.20 +VOHY 2014-03-16 00:40 545.00 69.80 57.20 +VOHY 2014-03-16 02:40 545.00 80.60 59.00 +VOHY 2014-03-16 04:40 545.00 91.40 59.00 +VOHY 2014-03-16 06:40 545.00 95.00 53.60 +VOHY 2014-03-16 07:40 545.00 96.80 55.40 +VOHY 2014-03-16 08:40 545.00 96.80 51.80 +VOHY 2014-03-16 09:40 545.00 96.80 53.60 +VOHY 2014-03-16 11:40 545.00 95.00 51.80 +VOHY 2014-03-16 12:40 545.00 91.40 51.80 +VOHY 2014-03-16 14:40 545.00 86.00 51.80 +VOHY 2014-03-16 15:40 545.00 84.20 53.60 +VOHY 2014-03-16 16:40 545.00 80.60 55.40 +VOHY 2014-03-16 17:40 545.00 78.80 55.40 +VOHY 2014-03-16 18:40 545.00 75.20 57.20 +VOHY 2014-03-16 19:40 545.00 73.40 57.20 +VOHY 2014-03-16 20:40 545.00 71.60 57.20 +VOHY 2014-03-16 23:40 545.00 68.00 59.00 +VOHY 2014-03-17 01:40 545.00 69.80 59.00 +VOHY 2014-03-17 02:40 545.00 82.40 60.80 +VOHY 2014-03-17 06:40 545.00 98.60 50.00 +VOHY 2014-03-17 07:40 545.00 98.60 51.80 +VOHY 2014-03-17 08:40 545.00 98.60 50.00 +VOHY 2014-03-17 10:40 545.00 98.60 48.20 +VOHY 2014-03-17 11:40 545.00 95.00 50.00 +VOHY 2014-03-17 12:40 545.00 91.40 50.00 +VOHY 2014-03-17 13:40 545.00 87.80 51.80 +VOHY 2014-03-17 15:40 545.00 86.00 51.80 +VOHY 2014-03-18 00:40 545.00 71.60 57.20 +VOHY 2014-03-18 05:40 545.00 98.60 53.60 +VOHY 2014-03-18 06:40 545.00 100.40 48.20 +VOHY 2014-03-18 07:40 545.00 100.40 46.40 +VOHY 2014-03-18 08:40 545.00 98.60 42.80 +VOHY 2014-03-18 09:40 545.00 100.40 44.60 +VOHY 2014-03-18 10:40 545.00 98.60 42.80 +VOHY 2014-03-18 11:40 545.00 96.80 42.80 +VOHY 2014-03-18 12:40 545.00 93.20 42.80 +VOHY 2014-03-18 13:40 545.00 89.60 48.20 +VOHY 2014-03-18 14:40 545.00 87.80 50.00 +VOHY 2014-03-18 15:40 545.00 86.00 50.00 +VOHY 2014-03-19 00:40 545.00 68.00 53.60 +VOHY 2014-03-19 01:40 545.00 73.40 50.00 +VOHY 2014-03-19 03:40 545.00 89.60 50.00 +VOHY 2014-03-19 05:40 545.00 98.60 53.60 +VOHY 2014-03-19 07:40 545.00 100.40 50.00 +VOHY 2014-03-19 08:40 545.00 100.40 50.00 +VOHY 2014-03-19 09:40 545.00 98.60 48.20 +VOHY 2014-03-19 10:40 545.00 98.60 48.20 +VOHY 2014-03-19 11:40 545.00 96.80 48.20 +VOHY 2014-03-19 12:40 545.00 93.20 48.20 +VOHY 2014-03-19 13:40 545.00 91.40 44.60 +VOHY 2014-03-19 14:40 545.00 89.60 48.20 +VOHY 2014-03-19 15:40 545.00 86.00 50.00 +VOHY 2014-03-20 00:40 545.00 69.80 55.40 +VOHY 2014-03-20 01:40 545.00 71.60 57.20 +VOHY 2014-03-20 04:40 545.00 95.00 53.60 +VOHY 2014-03-20 06:40 545.00 102.20 50.00 +VOHY 2014-03-20 07:40 545.00 100.40 46.40 +VOHY 2014-03-20 08:40 545.00 104.00 44.60 +VOHY 2014-03-20 09:40 545.00 100.40 46.40 +VOHY 2014-03-20 10:40 545.00 100.40 46.40 +VOHY 2014-03-20 11:40 545.00 98.60 46.40 +VOHY 2014-03-20 12:40 545.00 95.00 44.60 +VOHY 2014-03-20 13:40 545.00 91.40 48.20 +VOHY 2014-03-20 14:40 545.00 89.60 51.80 +VOHY 2014-03-21 00:40 545.00 69.80 57.20 +VOHY 2014-03-21 01:40 545.00 71.60 59.00 +VOHY 2014-03-21 04:40 545.00 95.00 50.00 +VOHY 2014-03-21 05:40 545.00 95.00 50.00 +VOHY 2014-03-21 06:40 545.00 98.60 46.40 +VOHY 2014-03-21 07:40 545.00 102.20 46.40 +VOHY 2014-03-21 08:40 545.00 102.20 46.40 +VOHY 2014-03-21 09:40 545.00 102.20 46.40 +VOHY 2014-03-21 10:40 545.00 102.20 48.20 +VOHY 2014-03-21 11:40 545.00 100.40 46.40 +VOHY 2014-03-21 13:40 545.00 93.20 48.20 +VOHY 2014-03-21 14:40 545.00 89.60 53.60 +VOHY 2014-03-21 15:40 545.00 89.60 55.40 +VOHY 2014-03-22 00:40 545.00 75.20 59.00 +VOHY 2014-03-22 01:40 545.00 78.80 57.20 +VOHY 2014-03-22 02:40 545.00 80.60 59.00 +VOHY 2014-03-22 03:40 545.00 87.80 55.40 +VOHY 2014-03-22 07:40 545.00 100.40 48.20 +VOHY 2014-03-22 08:40 545.00 102.20 48.20 +VOHY 2014-03-22 09:40 545.00 100.40 46.40 +VOHY 2014-03-22 10:40 545.00 100.40 44.60 +VOHY 2014-03-22 11:40 545.00 98.60 48.20 +VOHY 2014-03-22 13:40 545.00 89.60 50.00 +VOHY 2014-03-22 14:40 545.00 87.80 51.80 +VOHY 2014-03-22 15:40 545.00 87.80 55.40 +VOHY 2014-03-23 00:40 545.00 71.60 60.80 +VOHY 2014-03-23 01:40 545.00 73.40 60.80 +VOHY 2014-03-23 04:40 545.00 93.20 60.80 +VOHY 2014-03-23 05:40 545.00 95.00 59.00 +VOHY 2014-03-23 06:40 545.00 98.60 55.40 +VOHY 2014-03-23 07:40 545.00 100.40 50.00 +VOHY 2014-03-23 08:40 545.00 104.00 46.40 +VOHY 2014-03-23 09:40 545.00 104.00 48.20 +VOHY 2014-03-23 10:40 545.00 102.20 53.60 +VOHY 2014-03-23 11:40 545.00 96.80 53.60 +VOHY 2014-03-23 12:40 545.00 93.20 53.60 +VOHY 2014-03-23 13:40 545.00 89.60 57.20 +VOHY 2014-03-23 14:40 545.00 87.80 60.80 +VOHY 2014-03-23 15:40 545.00 86.00 64.40 +VOHY 2014-03-24 00:40 545.00 73.40 62.60 +VOHY 2014-03-24 01:40 545.00 75.20 64.40 +VOHY 2014-03-24 03:40 545.00 86.00 66.20 +VOHY 2014-03-24 05:40 545.00 95.00 60.80 +VOHY 2014-03-24 07:40 545.00 100.40 51.80 +VOHY 2014-03-24 08:40 545.00 102.20 50.00 +VOHY 2014-03-24 09:40 545.00 102.20 55.40 +VOHY 2014-03-24 10:40 545.00 98.60 53.60 +VOHY 2014-03-24 11:40 545.00 95.00 50.00 +VOHY 2014-03-24 13:40 545.00 87.80 59.00 +VOHY 2014-03-24 15:40 545.00 84.20 62.60 +VOHY 2014-03-25 00:40 545.00 75.20 62.60 +VOHY 2014-03-25 01:40 545.00 77.00 62.60 +VOHY 2014-03-25 05:40 545.00 98.60 50.00 +VOHY 2014-03-25 06:40 545.00 100.40 48.20 +VOHY 2014-03-25 07:40 545.00 102.20 48.20 +VOHY 2014-03-25 08:40 545.00 104.00 48.20 +VOHY 2014-03-25 09:40 545.00 104.00 44.60 +VOHY 2014-03-25 10:40 545.00 102.20 46.40 +VOHY 2014-03-25 11:40 545.00 96.80 55.40 +VOHY 2014-03-25 12:40 545.00 93.20 55.40 +VOHY 2014-03-25 13:40 545.00 89.60 57.20 +VOHY 2014-03-25 14:40 545.00 87.80 59.00 +VOHY 2014-03-25 15:40 545.00 86.00 60.80 +VOHY 2014-03-26 00:40 545.00 73.40 57.20 +VOHY 2014-03-26 01:40 545.00 75.20 59.00 +VOHY 2014-03-26 04:40 545.00 91.40 57.20 +VOHY 2014-03-26 06:40 545.00 102.20 50.00 +VOHY 2014-03-26 07:40 545.00 104.00 46.40 +VOHY 2014-03-26 08:40 545.00 102.20 48.20 +VOHY 2014-03-26 09:40 545.00 102.20 44.60 +VOHY 2014-03-26 10:40 545.00 100.40 44.60 +VOHY 2014-03-26 11:40 545.00 98.60 50.00 +VOHY 2014-03-26 12:40 545.00 93.20 48.20 +VOHY 2014-03-26 13:40 545.00 91.40 53.60 +VOHY 2014-03-26 14:40 545.00 87.80 55.40 +VOHY 2014-03-26 15:40 545.00 86.00 55.40 +VOHY 2014-03-27 00:40 545.00 73.40 59.00 +VOHY 2014-03-27 01:40 545.00 77.00 53.60 +VOHY 2014-03-27 02:40 545.00 84.20 50.00 +VOHY 2014-03-27 04:40 545.00 95.00 48.20 +VOHY 2014-03-27 06:40 545.00 102.20 44.60 +VOHY 2014-03-27 07:40 545.00 104.00 42.80 +VOHY 2014-03-27 08:40 545.00 105.80 44.60 +VOHY 2014-03-27 09:40 545.00 105.80 42.80 +VOHY 2014-03-27 10:40 545.00 104.00 44.60 +VOHY 2014-03-27 11:40 545.00 100.40 42.80 +VOHY 2014-03-27 12:40 545.00 96.80 41.00 +VOHY 2014-03-27 13:40 545.00 93.20 46.40 +VOHY 2014-03-27 14:40 545.00 89.60 46.40 +VOHY 2014-03-27 15:40 545.00 87.80 46.40 +VOHY 2014-03-28 01:40 545.00 73.40 57.20 +VOHY 2014-03-28 02:40 545.00 84.20 48.20 +VOHY 2014-03-28 05:40 545.00 100.40 44.60 +VOHY 2014-03-28 06:40 545.00 102.20 44.60 +VOHY 2014-03-28 07:40 545.00 104.00 44.60 +VOHY 2014-03-28 08:40 545.00 104.00 46.40 +VOHY 2014-03-28 09:40 545.00 104.00 44.60 +VOHY 2014-03-28 10:40 545.00 104.00 44.60 +VOHY 2014-03-28 11:40 545.00 100.40 42.80 +VOHY 2014-03-28 12:40 545.00 96.80 44.60 +VOHY 2014-03-28 14:40 545.00 87.80 48.20 +VOHY 2014-03-28 15:40 545.00 82.40 48.20 +VOHY 2014-03-29 00:40 545.00 71.60 57.20 +VOHY 2014-03-29 01:40 545.00 71.60 57.20 +VOHY 2014-03-29 03:40 545.00 95.00 53.60 +VOHY 2014-03-29 06:40 545.00 104.00 44.60 +VOHY 2014-03-29 07:40 545.00 104.00 44.60 +VOHY 2014-03-29 08:40 545.00 105.80 46.40 +VOHY 2014-03-29 09:40 545.00 104.00 44.60 +VOHY 2014-03-29 11:40 545.00 102.20 42.80 +VOHY 2014-03-29 12:40 545.00 98.60 46.40 +VOHY 2014-03-29 13:40 545.00 93.20 48.20 +VOHY 2014-03-29 14:40 545.00 87.80 48.20 +VOHY 2014-03-29 15:40 545.00 86.00 50.00 +VOHY 2014-03-30 00:40 545.00 73.40 55.40 +VOHY 2014-03-30 01:40 545.00 75.20 55.40 +VOHY 2014-03-30 06:40 545.00 104.00 50.00 +VOHY 2014-03-30 07:40 545.00 104.00 46.40 +VOHY 2014-03-30 08:40 545.00 104.00 46.40 +VOHY 2014-03-30 09:40 545.00 105.80 44.60 +VOHY 2014-03-30 10:40 545.00 105.80 42.80 +VOHY 2014-03-30 11:40 545.00 104.00 42.80 +VOHY 2014-03-30 12:40 545.00 98.60 50.00 +VOHY 2014-03-30 13:40 545.00 93.20 51.80 +VOHY 2014-03-30 14:40 545.00 93.20 51.80 +VOHY 2014-03-30 15:40 545.00 87.80 53.60 +VOHY 2014-03-31 00:40 545.00 73.40 59.00 +VOHY 2014-03-31 01:40 545.00 77.00 57.20 +VOHY 2014-03-31 04:40 545.00 96.80 51.80 +VOHY 2014-03-31 06:40 545.00 102.20 50.00 +VOHY 2014-03-31 07:40 545.00 104.00 48.20 +VOHY 2014-03-31 08:40 545.00 105.80 48.20 +VOHY 2014-03-31 09:40 545.00 105.80 44.60 +VOHY 2014-03-31 10:40 545.00 107.60 46.40 +VOHY 2014-03-31 11:40 545.00 105.80 44.60 +VOHY 2014-03-31 12:40 545.00 102.20 44.60 +VOHY 2014-03-31 13:40 545.00 95.00 50.00 +VOHY 2014-03-31 14:40 545.00 95.00 50.00 +VOHY 2014-03-31 15:40 545.00 93.20 51.80 +VOHY 2014-04-01 00:40 545.00 M M +VOHY 2014-04-01 01:40 545.00 M M +VOHY 2014-04-01 02:40 545.00 M M +VOHY 2014-04-01 03:40 545.00 M M +VOHY 2014-04-01 04:40 545.00 91.40 55.40 +VOHY 2014-04-01 07:40 545.00 102.20 51.80 +VOHY 2014-04-01 08:40 545.00 104.00 51.80 +VOHY 2014-04-01 09:40 545.00 102.20 51.80 +VOHY 2014-04-01 10:40 545.00 104.00 51.80 +VOHY 2014-04-01 11:40 545.00 102.20 50.00 +VOHY 2014-04-01 13:40 545.00 89.60 51.80 +VOHY 2014-04-01 14:40 545.00 87.80 53.60 +VOHY 2014-04-01 15:40 545.00 86.00 51.80 +VOHY 2014-04-02 00:40 545.00 75.20 53.60 +VOHY 2014-04-02 01:40 545.00 77.00 55.40 +VOHY 2014-04-02 02:40 545.00 86.00 55.40 +VOHY 2014-04-02 04:40 545.00 91.40 55.40 +VOHY 2014-04-02 06:40 545.00 98.60 50.00 +VOHY 2014-04-02 08:40 545.00 102.20 46.40 +VOHY 2014-04-02 09:40 545.00 102.20 50.00 +VOHY 2014-04-02 10:40 545.00 100.40 48.20 +VOHY 2014-04-02 12:40 545.00 96.80 46.40 +VOHY 2014-04-02 13:40 545.00 91.40 50.00 +VOHY 2014-04-02 14:40 545.00 87.80 53.60 +VOHY 2014-04-02 15:40 545.00 86.00 51.80 +VOHY 2014-04-03 00:40 545.00 78.80 60.80 +VOHY 2014-04-03 01:40 545.00 75.20 62.60 +VOHY 2014-04-03 02:40 545.00 82.40 64.40 +VOHY 2014-04-03 03:40 545.00 86.00 62.60 +VOHY 2014-04-03 05:40 545.00 96.80 59.00 +VOHY 2014-04-03 08:40 545.00 102.20 44.60 +VOHY 2014-04-03 09:40 545.00 102.20 46.40 +VOHY 2014-04-03 10:40 545.00 102.20 48.20 +VOHY 2014-04-03 11:40 545.00 98.60 55.40 +VOHY 2014-04-03 13:40 545.00 93.20 55.40 +VOHY 2014-04-03 15:40 545.00 89.60 55.40 +VOHY 2014-04-04 00:40 545.00 71.60 59.00 +VOHY 2014-04-04 03:40 545.00 93.20 57.20 +VOHY 2014-04-04 07:40 545.00 102.20 50.00 +VOHY 2014-04-04 08:40 545.00 104.00 50.00 +VOHY 2014-04-04 09:40 545.00 102.20 46.40 +VOHY 2014-04-04 10:40 545.00 102.20 48.20 +VOHY 2014-04-04 11:40 545.00 98.60 48.20 +VOHY 2014-04-04 12:40 545.00 95.00 50.00 +VOHY 2014-04-04 13:40 545.00 91.40 55.40 +VOHY 2014-04-04 14:40 545.00 91.40 55.40 +VOHY 2014-04-04 15:40 545.00 89.60 53.60 diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index 04a2040..b751ff2 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -86,7 +86,7 @@ test_that("riem_measures validates 'report_type' param", { ################### -# nominal benavior +# nominal behavior ################### test_that("riem_measures returns the right output for a default query", { @@ -147,10 +147,31 @@ test_that("riem_measures parses all params", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["tmpf"]], "double") expect_type(output[["elevation"]], "double") + + httptest2::with_mock_dir(file.path("fixtures", "measures2"), { + output <- riem_measures( + station = "VOHY", + date_start = "2014-03-01", + date_end = "2014-04-05", # keep it bounded and deterministic + data = c("tmpf", "dwpf"), # multiple fields + elev = TRUE, # opposite default value + latlon = FALSE, # opposite default value + report_type = "specials" + ) + }) + expect_s3_class(output, "tbl_df") + + expect_setequal(names(output), c("station", "valid", "elevation", "tmpf", "dwpf")) + + expect_type(output[["station"]], "character") + expect_s3_class(output[["valid"]], "POSIXct") + expect_type(output[["tmpf"]], "double") + expect_type(output[["dwpf"]], "double") + expect_type(output[["elevation"]], "double") }) test_that("riem_measures provides proper report types (6 combinations)", { - # hfmetar + # report_type = hfmetar httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -168,7 +189,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # routine + # report_type = routine httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -186,7 +207,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # specials + # report_type = specials httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -204,7 +225,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # hfmetar, routine + # report_type = hfmetar, routine httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -222,7 +243,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # hfmetar, specials + # report_type = hfmetar, specials httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -240,7 +261,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # hfmetar, routine, specials + # report_type = hfmetar, routine, specials httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) From e28c762aa33eb2cccca032b1fbd398dec1e41443 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Fri, 20 Dec 2024 13:35:36 -0500 Subject: [PATCH 33/34] Update param documentation to contain default values; Correct report_type comment --- R/measures.R | 10 ++++++---- man/riem_measures.Rd | 14 ++++++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/R/measures.R b/R/measures.R index 26f7583..8f50135 100644 --- a/R/measures.R +++ b/R/measures.R @@ -4,15 +4,17 @@ #' @param station station ID, see riem_stations() #' @param date_start date of start of the desired data, e.g. "2016-01-01" #' @inheritParams rlang::args_dots_empty -#' @param date_end date of end of the desired data, e.g. "2016-04-22" +#' @param date_end date of end of the desired data, e.g. "2016-04-22". Default value is today. #' @param data A vector of strings, representing the data columns to return. #' The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter -#' @param elev If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter -#' @param latlon If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter +#' Default value is `all`. +#' @param elev If TRUE, the elevation (m) of the station will be included in the output, in an `elevation` column. # nolint: line_length_linter +#' Default value is `FALSE`. +#' @param latlon If TRUE, the latitude and longitude of the station will be included in the output, in `lat` and `lon` columns. # nolint: line_length_linter +#' Default value is `TRUE`. #' @param report_type A vector of strings, representing report types to query. #' The available options are `"hfmetar"`, `"routine"`, `"specials"`. #' Default value is `c("routine", "specials")`. -#' The report is then in the `metar` column of the output. #' #' @return a data.frame (tibble tibble) with measures, #' the number of columns can vary from station to station, diff --git a/man/riem_measures.Rd b/man/riem_measures.Rd index 5b9b49b..eddbd2a 100644 --- a/man/riem_measures.Rd +++ b/man/riem_measures.Rd @@ -22,19 +22,21 @@ riem_measures( \item{...}{These dots are for future extensions and must be empty.} -\item{date_end}{date of end of the desired data, e.g. "2016-04-22"} +\item{date_end}{date of end of the desired data, e.g. "2016-04-22". Default value is today.} \item{data}{A vector of strings, representing the data columns to return. -The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter} +The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter +Default value is `all`.} -\item{elev}{If TRUE, the elevation (m) of the station will be included in the output. # nolint: line_length_linter} +\item{elev}{If TRUE, the elevation (m) of the station will be included in the output, in an `elevation` column. # nolint: line_length_linter +Default value is `FALSE`.} -\item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output. # nolint: line_length_linter} +\item{latlon}{If TRUE, the latitude and longitude of the station will be included in the output, in `lat` and `lon` columns. # nolint: line_length_linter +Default value is `TRUE`.} \item{report_type}{A vector of strings, representing report types to query. The available options are `"hfmetar"`, `"routine"`, `"specials"`. -Default value is `c("routine", "specials")`. -The report is then in the `metar` column of the output.} +Default value is `c("routine", "specials")`.} } \value{ a data.frame (tibble tibble) with measures, From 25a0092221d60a3a3fedc1e1769dda8f5c444ca7 Mon Sep 17 00:00:00 2001 From: Jonathan Elchison Date: Fri, 20 Dec 2024 13:43:10 -0500 Subject: [PATCH 34/34] Address lintr warnings --- R/measures.R | 2 +- tests/testthat/test-measures.R | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R/measures.R b/R/measures.R index 8f50135..a414ebe 100644 --- a/R/measures.R +++ b/R/measures.R @@ -4,7 +4,7 @@ #' @param station station ID, see riem_stations() #' @param date_start date of start of the desired data, e.g. "2016-01-01" #' @inheritParams rlang::args_dots_empty -#' @param date_end date of end of the desired data, e.g. "2016-04-22". Default value is today. +#' @param date_end date of end of the desired data, e.g. "2016-04-22". Default value is today. # nolint: line_length_linter #' @param data A vector of strings, representing the data columns to return. #' The available options are: all, tmpf, dwpf, relh, drct, sknt, p01i, alti, mslp, vsby, gust, skyc1, skyc2, skyc3, skyc4, skyl1, skyl2, skyl3, skyl4, wxcodes, ice_accretion_1hr, ice_accretion_3hr, ice_accretion_6hr, peak_wind_gust, peak_wind_drct, peak_wind_time, feel, metar, snowdepth # nolint: line_length_linter #' Default value is `all`. diff --git a/tests/testthat/test-measures.R b/tests/testthat/test-measures.R index b751ff2..c15483a 100644 --- a/tests/testthat/test-measures.R +++ b/tests/testthat/test-measures.R @@ -161,7 +161,7 @@ test_that("riem_measures parses all params", { }) expect_s3_class(output, "tbl_df") - expect_setequal(names(output), c("station", "valid", "elevation", "tmpf", "dwpf")) + expect_setequal(names(output), c("station", "valid", "elevation", "tmpf", "dwpf")) # nolint: line_length_linter expect_type(output[["station"]], "character") expect_s3_class(output[["valid"]], "POSIXct") @@ -171,7 +171,7 @@ test_that("riem_measures parses all params", { }) test_that("riem_measures provides proper report types (6 combinations)", { - # report_type = hfmetar + # report_type = hfmetar # nolint: commented_code_linter httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -189,7 +189,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # report_type = routine + # report_type = routine # nolint: commented_code_linter httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere) @@ -207,7 +207,7 @@ test_that("riem_measures provides proper report types (6 combinations)", { expect_s3_class(output[["valid"]], "POSIXct") expect_type(output[["metar"]], "character") - # report_type = specials + # report_type = specials # nolint: commented_code_linter httptest2::with_mock_dir(file.path("fixtures", "measures3"), { output <- riem_measures( station = "KCVG", # choose a second station (VOHY used elsewhere)