ncss-tech / soilDB

soilDB: Simplified Access to National Cooperative Soil Survey Databases
http://ncss-tech.github.io/soilDB/
GNU General Public License v3.0
81 stars 20 forks source link

Error thrown `missing value where TRUE/FALSE needed` #264

Closed morrismc99 closed 2 years ago

morrismc99 commented 2 years ago

I've been working with soilDB to download data from NRCS SNOTEL sites and received the following error multiple times with a site of interest:

code I ran: `site_no <- 870

yrs <- seq(1979,2022)df <- fetchSCAN(site.code = site_no, year = yrs, timeseries = "Daily")`

Error [site 870]: no lines available in input multiple sensors per site [site 870] TAVG.D,TAVG.D-2 multiple sensors per site [site 870] TMIN.D,TMIN.D-2 multiple sensors per site [site 870] TMAX.D,TMAX.D-2 multiple sensors per site [site 870] TAVG.D,TAVG.D-2 multiple sensors per site [site 870] TMIN.D,TMIN.D-2 multiple sensors per site [site 870] TMAX.D,TMAX.D-2 multiple sensors per site [site 870] TAVG.D,TAVG.D-2 multiple sensors per site [site 870] TMIN.D,TMIN.D-2 multiple sensors per site [site 870] TMAX.D,TMAX.D-2 multiple sensors per site [site 870] TAVG.D,TAVG.D-2 multiple sensors per site [site 870] TMIN.D,TMIN.D-2 multiple sensors per site [site 870] TMAX.D,TMAX.D-2 multiple sensors per site [site 870] TAVG.D,TAVG.D-2 Error in if (is.null(res$Time) || all(res$Time == "")) { : missing value where TRUE/FALSE needed

As best I can tell its not an issue with the request I'm making. I know this code was updated recently - perhaps there in lies the problem?

brownag commented 2 years ago

Thanks for reporting this! Indeed this was an oversight in recent changes for sub-daily data / ensuring the same columns (i.e. Time) are returned regardless of request type.

Above commit 2a807234 should resolve the issue, now I get:

library(soilDB)

site_no <- 870

yrs <- seq(1979, 2022)
df <- fetchSCAN(site.code = site_no,
                year = yrs,
                timeseries = "Daily")
#> Error [site 870]: no lines available in input
#> multiple sensors per site [site 870] TAVG.D,TAVG.D-2
#> multiple sensors per site [site 870] TMIN.D,TMIN.D-2
#> multiple sensors per site [site 870] TMAX.D,TMAX.D-2
#> multiple sensors per site [site 870] TAVG.D,TAVG.D-2
#> multiple sensors per site [site 870] TMIN.D,TMIN.D-2
#> multiple sensors per site [site 870] TMAX.D,TMAX.D-2
#> multiple sensors per site [site 870] TAVG.D,TAVG.D-2
#> multiple sensors per site [site 870] TMIN.D,TMIN.D-2
#> multiple sensors per site [site 870] TMAX.D,TMAX.D-2
#> multiple sensors per site [site 870] TAVG.D,TAVG.D-2
#> multiple sensors per site [site 870] TMIN.D,TMIN.D-2
#> multiple sensors per site [site 870] TMAX.D,TMAX.D-2
#> multiple sensors per site [site 870] TAVG.D,TAVG.D-2
#> multiple sensors per site [site 870] TMIN.D,TMIN.D-2
#> multiple sensors per site [site 870] TMAX.D,TMAX.D-2
#> 76336 records (3.8 Mb transferred)
morrismc99 commented 2 years ago

Awesome thank you so much for the update!


From: Andrew Gene Brown @.> Sent: Monday, September 12, 2022 8:51 AM To: ncss-tech/soilDB @.> Cc: Morriss, Matthew C @.>; Author @.> Subject: [EXTERNAL] Re: [ncss-tech/soilDB] Error thrown missing value where TRUE/FALSE needed (Issue #264)

This email has been received from outside of DOI - Use caution before clicking on links, opening attachments, or responding.

Thanks for reporting this! Indeed this was an oversight in recent changes for sub-daily data / ensuring the same columns (i.e. Time) are returned regardless of request type.

Above commit 2a80723https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fncss-tech%2FsoilDB%2Fcommit%2F2a807234b0b6773148c589431426684e8f6b3918&data=05%7C01%7Cmmorriss%40usgs.gov%7C2094611d8cbb4990743508da94ce4a17%7C0693b5ba4b184d7b9341f32f400a5494%7C0%7C0%7C637985910975353030%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=BjK%2BsDLUYtxof8RiZfNMyQJsiMcNJvXAk9AeSygYAKQ%3D&reserved=0 should resolve the issue, now I get:

library(soilDB)

site_no <- 870

yrs <- seq(1979, 2022) df <- fetchSCAN(site.code = site_no, year = yrs, timeseries = "Daily")

> Error [site 870]: no lines available in input

> multiple sensors per site [site 870] TAVG.D,TAVG.D-2

> multiple sensors per site [site 870] TMIN.D,TMIN.D-2

> multiple sensors per site [site 870] TMAX.D,TMAX.D-2

> multiple sensors per site [site 870] TAVG.D,TAVG.D-2

> multiple sensors per site [site 870] TMIN.D,TMIN.D-2

> multiple sensors per site [site 870] TMAX.D,TMAX.D-2

> multiple sensors per site [site 870] TAVG.D,TAVG.D-2

> multiple sensors per site [site 870] TMIN.D,TMIN.D-2

> multiple sensors per site [site 870] TMAX.D,TMAX.D-2

> multiple sensors per site [site 870] TAVG.D,TAVG.D-2

> multiple sensors per site [site 870] TMIN.D,TMIN.D-2

> multiple sensors per site [site 870] TMAX.D,TMAX.D-2

> multiple sensors per site [site 870] TAVG.D,TAVG.D-2

> multiple sensors per site [site 870] TMIN.D,TMIN.D-2

> multiple sensors per site [site 870] TMAX.D,TMAX.D-2

> 76336 records (3.8 Mb transferred)

— Reply to this email directly, view it on GitHubhttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fncss-tech%2FsoilDB%2Fissues%2F264%23issuecomment-1243859005&data=05%7C01%7Cmmorriss%40usgs.gov%7C2094611d8cbb4990743508da94ce4a17%7C0693b5ba4b184d7b9341f32f400a5494%7C0%7C0%7C637985910975353030%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZBkwS1G5FNTSB30V2bcngKhglTNYeYGFX%2F4zudO0UJY%3D&reserved=0, or unsubscribehttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVA7TGZ7F37FGU4HFIPZYV3V547ODANCNFSM6AAAAAAQJ6PDJ4&data=05%7C01%7Cmmorriss%40usgs.gov%7C2094611d8cbb4990743508da94ce4a17%7C0693b5ba4b184d7b9341f32f400a5494%7C0%7C0%7C637985910975353030%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5JvtxQd%2BH5m6k7tevKbrcK2pej1zEaSta5LjrHN%2FCQ0%3D&reserved=0. You are receiving this because you authored the thread.Message ID: @.***>