From 121abe664f69919a3bdc7d9b71336b46741c13ba Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Wed, 26 Jul 2023 13:18:31 -0400 Subject: [PATCH 01/24] set ssl_cipher_list in aqs function --- MD5 | 6 +++--- R/AQSAPI_helperfunctions.R | 3 ++- README.md | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/MD5 b/MD5 index 714ede5..228331e 100644 --- a/MD5 +++ b/MD5 @@ -6,7 +6,7 @@ e18977efb09b5667a4e98ab5461627f7 *cran-comments.Rmd 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R 204b6f5c7aac2b4273b03f8d09e6e90f *dev/hexsticker.R -7fa09f6e06016c637c06c86b13fd1738 *dev/install_RAQSAPI.R +c3defcd81e02bab74849f48a5dcca40d *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -119,7 +119,7 @@ bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 7ce4525010156c02adaf819a8c835134 *man/RAQSAPI.Rd 6f3921f4a16ca6b5dc7170be2161c72e *NAMESPACE 94c65e3824d4fd9ffa90ec73fed63596 *NEWS.md -2dc25070d8361e4c8c6556472bc726e8 *R/AQSAPI_helperfunctions.R +1df2f4d361703357f4e5e0d64dbca364 *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ c9fd9ac3f73645262f4c6665c370a9a8 *R/RAQSAPIlistfunctions.R f66af88ed4824e485b770cb54ec6d3a9 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -bf5d8802fae1a2f666c4d6baa0fdc256 *README.md +caa8232b892b3a4259c960fb3cda6274 *README.md 10f9e33622104f2df281fb4119a09d36 *README.Rmd 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml 9566921a96ff55c1a51b6eb898d25884 *tests/spelling.R diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index 2e5b7c3..23756bc 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -430,7 +430,8 @@ aqs <- function(service, filter = NA, user = NA, ) AQSresult <- httr::GET(url, - user_agent + user_agent, + httr::config(ssl_cipher_list = 'DEFAULT@SECLEVEL=1') ) aqs_ratelimit() if (httr::http_type(AQSresult) != "application/json") { diff --git a/README.md b/README.md index 657868a..73139be 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--06--14-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--07--26-yellowgreen.svg)](/commits/master)” # EPA Disclaimer From d73fe0afa17293722d8208125cffa87d49c3ec1a Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 27 Oct 2023 10:39:02 -0400 Subject: [PATCH 02/24] fix #15, remove ssl_cipher_list option from httr::config in aqs function, add note to aqs_sampledurations documentation~ --- MD5 | 1258 +++++++++++++++++++++++++++++++++++- R/AQSAPI_helperfunctions.R | 6 +- R/RAQSAPIlistfunctions.R | 4 + README.md | 2 +- cran-comments.Rmd | 5 +- cran-comments.md | 5 +- man/aqs_sampledurations.Rd | 6 + 7 files changed, 1268 insertions(+), 18 deletions(-) diff --git a/MD5 b/MD5 index 228331e..6a4f291 100644 --- a/MD5 +++ b/MD5 @@ -1,6 +1,6 @@ d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json -e18977efb09b5667a4e98ab5461627f7 *cran-comments.md -e18977efb09b5667a4e98ab5461627f7 *cran-comments.Rmd +25a1da614d2f09537901038945efe157 *cran-comments.md +25a1da614d2f09537901038945efe157 *cran-comments.Rmd 0d132d4e86af86bc25c79b26423b5749 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd @@ -91,7 +91,7 @@ a8f79ece8b275d2f60fc09a58239e661 *man/aqs_quarterlysummary_by_site.Rd 4232385c24cb5041c7ad57ec9279a798 *man/aqs_sampledata_by_county.Rd d6bccf166ae844172cf9b241c89093e2 *man/aqs_sampledata_by_site.Rd a10c5684e68d35cebb418f849c058609 *man/aqs_sampledata_by_state.Rd -14b482cdf2d7e5c75787fde9218110c2 *man/aqs_sampledurations.Rd +a483627fe3673c8b006d8481179e7f53 *man/aqs_sampledurations.Rd f9d84d9671e9c011e40dcf3567f3aa47 *man/aqs_services_by_box.Rd 9291322a3bd3a17248904a0bfcf32d2f *man/aqs_services_by_cbsa.Rd 9ca1f01ed3c413b5c8cd1f9f2bec9f3d *man/aqs_services_by_county.Rd @@ -119,7 +119,7 @@ bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 7ce4525010156c02adaf819a8c835134 *man/RAQSAPI.Rd 6f3921f4a16ca6b5dc7170be2161c72e *NAMESPACE 94c65e3824d4fd9ffa90ec73fed63596 *NEWS.md -1df2f4d361703357f4e5e0d64dbca364 *R/AQSAPI_helperfunctions.R +90db07c0deb79e47943bea976b182bda *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -129,13 +129,1257 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R 2e6e59d801dc3b6bd5e415ada7268469 *R/bystate.R 68447c7bedcb05e2eef6c423401662bf *R/deprecated.R d7ceafa78f5ba2098f567b9c9150da20 *R/RAQSAPI-package.R -c9fd9ac3f73645262f4c6665c370a9a8 *R/RAQSAPIlistfunctions.R +77a42295baa4ba40cc3a409bed39f67b *R/RAQSAPIlistfunctions.R f66af88ed4824e485b770cb54ec6d3a9 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R +e4d3a123b14a89ab800c5e143d19da61 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Acknowledgements.html +49025d261826350f3050e677eab9dbac *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Acknowledgements.Rmd +de323c3deb36e066a7583c5b756ae49b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/EPA_Disclaimer.html +a79d926b2ab509e6a9e575539b205280 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/EPA_Disclaimer.Rmd +f2ae2ad47d08797f778439b01a3a9417 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/InstallandSetup.html +69224454907b49f3de5fcf3527a3ad3f *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/InstallandSetup.Rmd +8cefad4a9367dfd29b6622140d4f6973 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Intro.html +a629c5720b68a384451709002c95a499 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Intro.Rmd +bce644f7c50a618fee8429b3655e5fb9 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Brief.html +1dbae57a3f574ccd77b4d2af2c76e831 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Brief.Rmd +cc0f370ba9e854f2f15d0ad4711559fe *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.html +298d5dd5fb37b777a3235c0aeb3733bb *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.R +85c580fbdeb29023fb03126654384923 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.Rmd +912519b2b60dc147b4cbb934d0da2588 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.html +ea8eab93de05207476b4c5f91642b478 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.R +b676d49a421ed0b581e2b3269bac31e0 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.Rmd +145f6d07d3e1b62d2109d2b42885ef35 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIusagetipsandprecautions.html +629b81e7f6056a9411e2ce16e4dfc5c8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIusagetipsandprecautions.Rmd +9f28ab420df5c1cf26c369678b33910d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.html +f699388355cf6bf668200349774ad51c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.R +cc873a7101715766a6057c2cbb59609d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.Rmd +252489c90ef30ae2026cb9a50fc6ad35 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/TimelinessofAQSData.html +5d3445414bf02629a8a10b6dc05c47e7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/TimelinessofAQSData.Rmd +4a6f61ae81515d8b770f30841ef17fc1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Troubleshooting.html +1fee66dbee4d04b47a0b7747ea282a5b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Troubleshooting.Rmd +88eec7c1fd07d51e6bd2007f68098b15 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/UsingRAQSAPI.html +969189538d2ec6a0e10ea6d7350ab612 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/UsingRAQSAPI.Rmd +f5af51ca5e0b1b8540079b5b2b5ca20e *RAQSAPI.Rcheck/00check.log +07fb36037740409ac121bbd630f28361 *RAQSAPI.Rcheck/00install.out +3a8cb09cc75247f0009062724828672f *RAQSAPI.Rcheck/RAQSAPI-Ex.pdf +e4d3a123b14a89ab800c5e143d19da61 *RAQSAPI.Rcheck/RAQSAPI/doc/Acknowledgements.html +49025d261826350f3050e677eab9dbac *RAQSAPI.Rcheck/RAQSAPI/doc/Acknowledgements.Rmd +de323c3deb36e066a7583c5b756ae49b *RAQSAPI.Rcheck/RAQSAPI/doc/EPA_Disclaimer.html +a79d926b2ab509e6a9e575539b205280 *RAQSAPI.Rcheck/RAQSAPI/doc/EPA_Disclaimer.Rmd +a553d4099ca5eaf93be8144a660f2726 *RAQSAPI.Rcheck/RAQSAPI/doc/index.html +f2ae2ad47d08797f778439b01a3a9417 *RAQSAPI.Rcheck/RAQSAPI/doc/InstallandSetup.html +69224454907b49f3de5fcf3527a3ad3f *RAQSAPI.Rcheck/RAQSAPI/doc/InstallandSetup.Rmd +8cefad4a9367dfd29b6622140d4f6973 *RAQSAPI.Rcheck/RAQSAPI/doc/Intro.html +a629c5720b68a384451709002c95a499 *RAQSAPI.Rcheck/RAQSAPI/doc/Intro.Rmd +bce644f7c50a618fee8429b3655e5fb9 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Brief.html +1dbae57a3f574ccd77b4d2af2c76e831 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Brief.Rmd +cc0f370ba9e854f2f15d0ad4711559fe *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.html +298d5dd5fb37b777a3235c0aeb3733bb *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.R +85c580fbdeb29023fb03126654384923 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.Rmd +912519b2b60dc147b4cbb934d0da2588 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.html +ea8eab93de05207476b4c5f91642b478 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.R +b676d49a421ed0b581e2b3269bac31e0 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.Rmd +145f6d07d3e1b62d2109d2b42885ef35 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.html +629b81e7f6056a9411e2ce16e4dfc5c8 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.Rmd +9f28ab420df5c1cf26c369678b33910d *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.html +f699388355cf6bf668200349774ad51c *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.R +cc873a7101715766a6057c2cbb59609d *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.Rmd +252489c90ef30ae2026cb9a50fc6ad35 *RAQSAPI.Rcheck/RAQSAPI/doc/TimelinessofAQSData.html +5d3445414bf02629a8a10b6dc05c47e7 *RAQSAPI.Rcheck/RAQSAPI/doc/TimelinessofAQSData.Rmd +4a6f61ae81515d8b770f30841ef17fc1 *RAQSAPI.Rcheck/RAQSAPI/doc/Troubleshooting.html +1fee66dbee4d04b47a0b7747ea282a5b *RAQSAPI.Rcheck/RAQSAPI/doc/Troubleshooting.Rmd +88eec7c1fd07d51e6bd2007f68098b15 *RAQSAPI.Rcheck/RAQSAPI/doc/UsingRAQSAPI.html +969189538d2ec6a0e10ea6d7350ab612 *RAQSAPI.Rcheck/RAQSAPI/doc/UsingRAQSAPI.Rmd +c57cbd3f9b8dd0562aecb7365e66c19e *RAQSAPI.Rcheck/RAQSAPI/html/00Index.html +f191f333b866ab8dcb201f48270fe190 *RAQSAPI.Rcheck/RAQSAPI/Meta/features.rds +8e6557ca03dc7d7484f868a1e095a51e *RAQSAPI.Rcheck/RAQSAPI/Meta/hsearch.rds +49f5e7f30eb02491d2f179f929310c34 *RAQSAPI.Rcheck/RAQSAPI/Meta/links.rds +66138d6feddc9983e3bdcb273bd65fc6 *RAQSAPI.Rcheck/RAQSAPI/Meta/nsInfo.rds +1d43371d61c6a331d77e30d151c5a115 *RAQSAPI.Rcheck/RAQSAPI/Meta/package.rds +8c3072c9db066c449b550f4de87e0e08 *RAQSAPI.Rcheck/RAQSAPI/Meta/Rd.rds +12aced1f7b2dd6f0d2c8054e24271e0b *RAQSAPI.Rcheck/RAQSAPI/Meta/vignette.rds a69de5455537022556f014579766be59 *RAQSAPI.Rproj -caa8232b892b3a4259c960fb3cda6274 *README.md +e67079ab26d57115232487088b776c1e *README.md 10f9e33622104f2df281fb4119a09d36 *README.Rmd +7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml +b7715aa47f5635cfb52f34937886aedf *revdep/library/RAQSAPI/old/askpass/DESCRIPTION +035b79336295b7721f4980e94f2923aa *revdep/library/RAQSAPI/old/askpass/help/aliases.rds +bfe59a046ac0a3db92c1207c176120cc *revdep/library/RAQSAPI/old/askpass/help/AnIndex +6655d26bbfc4f9c1356ae7d696ca9ffa *revdep/library/RAQSAPI/old/askpass/help/askpass.rdb +289646b59001c946a5314bdad1085a71 *revdep/library/RAQSAPI/old/askpass/help/askpass.rdx +364bebe1c11c8149c0bca64320f42b00 *revdep/library/RAQSAPI/old/askpass/help/paths.rds +3e3aac83a2d8364235ee479ebc3fdaab *revdep/library/RAQSAPI/old/askpass/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/askpass/html/R.css +4d74b2dbfb641c2d06e4132348903a4b *revdep/library/RAQSAPI/old/askpass/INDEX +6e0bb28d5f973060f401ad31e0175348 *revdep/library/RAQSAPI/old/askpass/libs/x64/askpass.dll +21746b4802183ea62c824f7e561c091e *revdep/library/RAQSAPI/old/askpass/libs/x64/symbols.rds +98c71b5eae0ac8dabb055bd8883b8398 *revdep/library/RAQSAPI/old/askpass/LICENSE +a34602417af1b0c9ad06fc93df828c71 *revdep/library/RAQSAPI/old/askpass/mac-askpass +e0651808479eb9c747ffbd785441912b *revdep/library/RAQSAPI/old/askpass/mac-simplepass +550b5ae1fd03218e4a1374240b10b4e3 *revdep/library/RAQSAPI/old/askpass/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/askpass/Meta/features.rds +7e97065a6dad74cb76b7e9d6310c1df4 *revdep/library/RAQSAPI/old/askpass/Meta/hsearch.rds +b3c699c76fd194132378e4ba63361031 *revdep/library/RAQSAPI/old/askpass/Meta/links.rds +addd2376a0e05ec78ba7c9e27ee65842 *revdep/library/RAQSAPI/old/askpass/Meta/nsInfo.rds +351f2048c6fa61c6978cd499c102396f *revdep/library/RAQSAPI/old/askpass/Meta/package.rds +6f6a3bbdef92e918c000b1bcdfbf93a5 *revdep/library/RAQSAPI/old/askpass/Meta/Rd.rds +ad7ca63fdfe698661be582601697c491 *revdep/library/RAQSAPI/old/askpass/NAMESPACE +53a778139c44afbdf7a33ef6f5df8705 *revdep/library/RAQSAPI/old/askpass/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/askpass/R/askpass +704c08fbf6bfc50ff4d52ac9c8827fde *revdep/library/RAQSAPI/old/askpass/R/askpass.rdb +c685d30af53b97e3afeb7cfc01af411f *revdep/library/RAQSAPI/old/askpass/R/askpass.rdx +92113a4aa03a905fc74751dcb84e750f *revdep/library/RAQSAPI/old/askpass/win-askpass64.exe +1f9f6a06b0543cf62931f42ad291db6b *revdep/library/RAQSAPI/old/askpass/WORDLIST +52edd0e66e81704e0da933da89fccab5 *revdep/library/RAQSAPI/old/cli/DESCRIPTION +31e4fcd9b4c135bb253e9314857084b5 *revdep/library/RAQSAPI/old/cli/examples/apps/news.R +d71030204ac721b2b6fb9dd1f013066b *revdep/library/RAQSAPI/old/cli/examples/apps/outdated.R +e3540d59292af42b3b1570c25cb55260 *revdep/library/RAQSAPI/old/cli/examples/apps/search.R +234ede852bac1dc638fc0d774a764ee8 *revdep/library/RAQSAPI/old/cli/examples/apps/up.R +d979439fc138851cc7aa65d783edccd6 *revdep/library/RAQSAPI/old/cli/help/aliases.rds +e2710a971462815cd085b6d57e919662 *revdep/library/RAQSAPI/old/cli/help/AnIndex +5978bac0d5c2a4d47d1c2e5baa49b13d *revdep/library/RAQSAPI/old/cli/help/cli.rdb +a1c6167cfb191202e7a7eb54be8881f7 *revdep/library/RAQSAPI/old/cli/help/cli.rdx +bd84cb28693c63aa23bbe74512417665 *revdep/library/RAQSAPI/old/cli/help/figures/demo-spinners.svg +ab6de8f8eec056c56e44b5de2edca236 *revdep/library/RAQSAPI/old/cli/help/figures/get-spinner.svg +e7bad1f8dceb766729a88ab41beb7deb *revdep/library/RAQSAPI/old/cli/help/figures/make-spinner-custom.svg +bfb1c13e199f4f29a8691059e929f63a *revdep/library/RAQSAPI/old/cli/help/figures/make-spinner-default.svg +9b254f89709a46381b3b47521dc52bae *revdep/library/RAQSAPI/old/cli/help/figures/make-spinner-template.svg +f760025377f8f89e3b7e9b1703c07fbd *revdep/library/RAQSAPI/old/cli/help/figures/progress-1.svg +f8e74bd6560da27db0d89036d1626d3e *revdep/library/RAQSAPI/old/cli/help/figures/progress-after.svg +901d317546a5b3b94bf28ee39935e55d *revdep/library/RAQSAPI/old/cli/help/figures/progress-along-1.svg +f449ae9ad17d71f33c2bfb4e9ae48983 *revdep/library/RAQSAPI/old/cli/help/figures/progress-along-2.svg +08e3bb15ccf8fde1abbc2727a7739e5d *revdep/library/RAQSAPI/old/cli/help/figures/progress-along-3.svg +88f13eca244f1eb182ef028fafe2288d *revdep/library/RAQSAPI/old/cli/help/figures/progress-clear.svg +b36eb4f1a2fc8f22d55f9380a607a61c *revdep/library/RAQSAPI/old/cli/help/figures/progress-current.svg +7f5826300ef1ba2d253f5bc9a1211cb9 *revdep/library/RAQSAPI/old/cli/help/figures/progress-format.svg +cd2640b2e121b3d38197922db06d18c2 *revdep/library/RAQSAPI/old/cli/help/figures/progress-message.svg +2bb2a2910743123c0670b7be2568e3e8 *revdep/library/RAQSAPI/old/cli/help/figures/progress-natotal.svg +1003a95e281792562549e4ac6118da3a *revdep/library/RAQSAPI/old/cli/help/figures/progress-output.svg +e19cc09fc7bd3dd9e6da86b8867db773 *revdep/library/RAQSAPI/old/cli/help/figures/progress-output2.svg +5a3b43377c4823fca54b44b18769fe99 *revdep/library/RAQSAPI/old/cli/help/figures/progress-step-dynamic.svg +289df71c958c7758bc454af70ca53f0f *revdep/library/RAQSAPI/old/cli/help/figures/progress-step-msg.svg +6b058035deee58362c340d48cb07d43c *revdep/library/RAQSAPI/old/cli/help/figures/progress-step-spin.svg +6bdd5f1d130daa4fb09acdefd9a0d0a0 *revdep/library/RAQSAPI/old/cli/help/figures/progress-step.svg +f2e74e2e161402e874a8b7e168fcf250 *revdep/library/RAQSAPI/old/cli/help/figures/progress-tasks.svg +bf17a373d9abc2a2c1bcf31b83c296cc *revdep/library/RAQSAPI/old/cli/help/paths.rds +4b9b340874f68e48a594b14ed9681acd *revdep/library/RAQSAPI/old/cli/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/cli/html/R.css +f07e6e168985b8a6dd63dafd2894d514 *revdep/library/RAQSAPI/old/cli/include/cli/progress.h +8d8c42e3147f1568604eea0e39b23f7f *revdep/library/RAQSAPI/old/cli/INDEX +0396f92e13cd189610f7bd0bd30daad1 *revdep/library/RAQSAPI/old/cli/libs/x64/cli.dll +1bf8783aaab45b4a9fe2303a9e02cdae *revdep/library/RAQSAPI/old/cli/libs/x64/symbols.rds +fb71a6cc8aab0b0534ae3ac11be95125 *revdep/library/RAQSAPI/old/cli/LICENSE +aaffd10fd0246bb9d2333d0d2c920093 *revdep/library/RAQSAPI/old/cli/logo.txt +2bbba0cbe678edd29048615b64b9cf2e *revdep/library/RAQSAPI/old/cli/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/cli/Meta/features.rds +8390de422b68b672ed650fb9c1615bf1 *revdep/library/RAQSAPI/old/cli/Meta/hsearch.rds +5075b3df34fd4b185ccacd433a623c90 *revdep/library/RAQSAPI/old/cli/Meta/links.rds +0591c0ad376dc1ee87b2c17d8d922184 *revdep/library/RAQSAPI/old/cli/Meta/nsInfo.rds +14308867192689c7ccaa41cc28c19770 *revdep/library/RAQSAPI/old/cli/Meta/package.rds +d669790f3b9e2a51f1b6520831d0b453 *revdep/library/RAQSAPI/old/cli/Meta/Rd.rds +b7f76b99754c0fff794ffc758140bd0c *revdep/library/RAQSAPI/old/cli/NAMESPACE +c104c61f2241199162504a8ff0774a62 *revdep/library/RAQSAPI/old/cli/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/cli/R/cli +6eaa6c0b0b668a699ca874fd33195dfb *revdep/library/RAQSAPI/old/cli/R/cli.rdb +536239e7df2570a89d58eaaab5e7360b *revdep/library/RAQSAPI/old/cli/R/cli.rdx +12cb6ec4e6f5278230a27a3518152a93 *revdep/library/RAQSAPI/old/cli/R/sysdata.rdb +e626f6194598edceca758b9d213fe706 *revdep/library/RAQSAPI/old/cli/R/sysdata.rdx +31e4fcd9b4c135bb253e9314857084b5 *revdep/library/RAQSAPI/old/cli/scripts/news.R +b6a34628690fc7587a54c6f271956f3c *revdep/library/RAQSAPI/old/cli/scripts/outdated.R +7b3b382306a00ed2ed4751dc20684556 *revdep/library/RAQSAPI/old/cli/scripts/search.R +004ffa924d426a2165686502c0aab396 *revdep/library/RAQSAPI/old/cli/scripts/up.R +a8a10e10ed0b9a9cc92cda3e58e487af *revdep/library/RAQSAPI/old/cli/shiny/along/app.R +5590d85218e87a0c1d1071c37db6d382 *revdep/library/RAQSAPI/old/cli/shiny/format/app.R +23a60b6905cfc334e4b021f04113b043 *revdep/library/RAQSAPI/old/cli/shiny/nested/app.R +8020185d6a15e38bc931667419f6c4c7 *revdep/library/RAQSAPI/old/cli/shiny/output/app.R +bcc9a5722e9728e99017db12f690f194 *revdep/library/RAQSAPI/old/cli/shiny/simple/app.R +1f7a03146c1f77105ec704de73006dbd *revdep/library/RAQSAPI/old/cpp11/DESCRIPTION +49e050c38f13154ca9cfc9722803e406 *revdep/library/RAQSAPI/old/cpp11/doc/converting.html +a6ff177da15857d4cc52737a66dcbf8a *revdep/library/RAQSAPI/old/cpp11/doc/converting.R +caa747c1da44815ec50f3dc55187dd90 *revdep/library/RAQSAPI/old/cpp11/doc/converting.Rmd +f2ca1ce131a1706d7925e4a67ed9aefd *revdep/library/RAQSAPI/old/cpp11/doc/cpp11.html +4d1283d85e3ca344c5010ee51139dc42 *revdep/library/RAQSAPI/old/cpp11/doc/cpp11.R +20094f36173ca65e4ff7c54a742bdfb4 *revdep/library/RAQSAPI/old/cpp11/doc/cpp11.Rmd +203bc37e6ada8090e4836a7e10b89a33 *revdep/library/RAQSAPI/old/cpp11/doc/FAQ.html +5a16153258a8f58d60845244595c70f2 *revdep/library/RAQSAPI/old/cpp11/doc/FAQ.R +6878fcf431c5bf7a3986a665292c7b1b *revdep/library/RAQSAPI/old/cpp11/doc/FAQ.Rmd +20f2344d612f4c7377da7a6a80538d33 *revdep/library/RAQSAPI/old/cpp11/doc/index.html +b0bd6f7d1486f219ae5268463fc0ab11 *revdep/library/RAQSAPI/old/cpp11/doc/internals.html +3c9e2d06e8560272e30c98b0c827478b *revdep/library/RAQSAPI/old/cpp11/doc/internals.R +394717ccab71d2c8cd85abd348ba567b *revdep/library/RAQSAPI/old/cpp11/doc/internals.Rmd +e846bd71914163008674d1836f5df72c *revdep/library/RAQSAPI/old/cpp11/doc/motivations.html +e4ebd1cc7d5f37f27136318f59e552d5 *revdep/library/RAQSAPI/old/cpp11/doc/motivations.R +ad0d5474876f8d7eafdb429d74278184 *revdep/library/RAQSAPI/old/cpp11/doc/motivations.Rmd +4e134e9a0d89c1fac11063b70e1351c8 *revdep/library/RAQSAPI/old/cpp11/help/aliases.rds +f7946bc556e26351e69a8f7bcfe5961c *revdep/library/RAQSAPI/old/cpp11/help/AnIndex +f1181578cc43235467316559308d5794 *revdep/library/RAQSAPI/old/cpp11/help/cpp11.rdb +782fb7be08dc3a6bfc222e344bb6bdea *revdep/library/RAQSAPI/old/cpp11/help/cpp11.rdx +5f2407f6ad8006cadffcf84efe703bce *revdep/library/RAQSAPI/old/cpp11/help/paths.rds +9f516924ec10b1da3e445bd93ca0a2c2 *revdep/library/RAQSAPI/old/cpp11/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/cpp11/html/R.css +5285ae2dfd6c4f8cc939a40418ddb470 *revdep/library/RAQSAPI/old/cpp11/include/cpp11.hpp +ba408ddc45d62c21c7d763fdc8373335 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/altrep.hpp +5cb7b640644606e9ca7ddfb50383321f *revdep/library/RAQSAPI/old/cpp11/include/cpp11/as.hpp +b70ab7b50907184aae72442e2466daba *revdep/library/RAQSAPI/old/cpp11/include/cpp11/attribute_proxy.hpp +52decc239a860f96110d057705625fea *revdep/library/RAQSAPI/old/cpp11/include/cpp11/data_frame.hpp +d323258be1bd05a50a4646382d2fca63 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/declarations.hpp +101d14f02aaff30f11bed5e340185fca *revdep/library/RAQSAPI/old/cpp11/include/cpp11/doubles.hpp +ec9d64eb037cf2a26c48949dd1c8f381 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/environment.hpp +4d0b3e7f6e7f003f3dd38e2eea2b1dfa *revdep/library/RAQSAPI/old/cpp11/include/cpp11/external_pointer.hpp +7dff1c4addaa5b35ba6f3ccf18591fa1 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/function.hpp +3999c3b42abeb351b55b4fe453da0552 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/integers.hpp +978b332236a4afd4fddd0e0cf66f8491 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/list.hpp +0445682616be11f7cebb175862bad05a *revdep/library/RAQSAPI/old/cpp11/include/cpp11/list_of.hpp +4135d9c54f7cf5fe8af2506292454ea5 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/logicals.hpp +21297e472e86ba458741f981a9794037 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/matrix.hpp +4194cd645dca505de4ede46e90e2a457 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/named_arg.hpp +4df0d221b8c89a7dda78c0f00af4e7f9 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/protect.hpp +4b5cac8f9dd39ba15f22b4ada435708e *revdep/library/RAQSAPI/old/cpp11/include/cpp11/R.hpp +6be54b67912176da13ce70933c171a14 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/r_bool.hpp +8115e7a88015ce9d6426ecde997b8a28 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/r_string.hpp +c962f8e5ab087f00304656d78a447d8e *revdep/library/RAQSAPI/old/cpp11/include/cpp11/r_vector.hpp +aea633bcbe570c00e68486d35c7ad187 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/raws.hpp +11388d8b414f525baa56e88cc899a199 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/sexp.hpp +7e9b4f2601c8b0e7b484af5d3499add4 *revdep/library/RAQSAPI/old/cpp11/include/cpp11/strings.hpp +8eff5dd4e380f63ebdb50936b407d741 *revdep/library/RAQSAPI/old/cpp11/include/fmt/core.h +fc80debc11fb314f5f83f1bfa793a729 *revdep/library/RAQSAPI/old/cpp11/include/fmt/format-inl.h +4bbcd3c6e4a7b8bcd75821d4549cc372 *revdep/library/RAQSAPI/old/cpp11/include/fmt/format.h +2503942b7f6c4385c3ffab1d6c9cba89 *revdep/library/RAQSAPI/old/cpp11/INDEX +5174dfc514f0941d2edd4b0b4c9941dd *revdep/library/RAQSAPI/old/cpp11/LICENSE +b70cf30a20f4ade2db552705561d85bb *revdep/library/RAQSAPI/old/cpp11/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/cpp11/Meta/features.rds +4400fd78100b28c42d3b83e329e7310a *revdep/library/RAQSAPI/old/cpp11/Meta/hsearch.rds +83a75b1dbfd4ee30f9038444929bd6cc *revdep/library/RAQSAPI/old/cpp11/Meta/links.rds +5d63586a300780e440d96f8384eb76f8 *revdep/library/RAQSAPI/old/cpp11/Meta/nsInfo.rds +7be86c78e61f9d8aa94c7fb06119ff0b *revdep/library/RAQSAPI/old/cpp11/Meta/package.rds +4a9ba04eedb1ffdd437817ad74a5b277 *revdep/library/RAQSAPI/old/cpp11/Meta/Rd.rds +7f951895ad9156bc6c2477696aa171ae *revdep/library/RAQSAPI/old/cpp11/Meta/vignette.rds +3a9298876794331325c170d77feb1164 *revdep/library/RAQSAPI/old/cpp11/NAMESPACE +ffe81ae29803723bdf0336738cefb685 *revdep/library/RAQSAPI/old/cpp11/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/cpp11/R/cpp11 +1f1c481997e6c0bf7482fb2ff2ac67b7 *revdep/library/RAQSAPI/old/cpp11/R/cpp11.rdb +5fdca26f723ebfd8e5d2bc8e795c319f *revdep/library/RAQSAPI/old/cpp11/R/cpp11.rdx +f9ef3931ed65f0c20aae8a37716defd3 *revdep/library/RAQSAPI/old/curl/DESCRIPTION +154a025c1b92ed98c74e43d96d9eff27 *revdep/library/RAQSAPI/old/curl/doc/index.html +272a3d95af307c511f43e1015d7e93ae *revdep/library/RAQSAPI/old/curl/doc/intro.html +20ccfcecfaae6ae7dd4349de7ff5bdd9 *revdep/library/RAQSAPI/old/curl/doc/intro.R +7a7c0d1bc81fa4c150db5c29b0a54de4 *revdep/library/RAQSAPI/old/curl/doc/intro.Rmd +7edcb7bb47f993a80471b5c99d6c9194 *revdep/library/RAQSAPI/old/curl/doc/windows.html +cb98c2db09777e92b915cae3571feea6 *revdep/library/RAQSAPI/old/curl/doc/windows.R +18242a1f1ed89e6ea5030a13a2634780 *revdep/library/RAQSAPI/old/curl/doc/windows.Rmd +ca10a0bf8ae1346be59def2dc72de2f0 *revdep/library/RAQSAPI/old/curl/help/aliases.rds +ae0ad054ddbc44585b646804d18d87cb *revdep/library/RAQSAPI/old/curl/help/AnIndex +ae026c06adf75c24dbed7bab2136ce18 *revdep/library/RAQSAPI/old/curl/help/curl.rdb +2f51dd9af7c4df1c0a14f60f9a602099 *revdep/library/RAQSAPI/old/curl/help/curl.rdx +85fe95bb30ea6a6af9c5fe12fb5f26fc *revdep/library/RAQSAPI/old/curl/help/paths.rds +6f1425ce4f19ce446e54d8330e36fde2 *revdep/library/RAQSAPI/old/curl/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/curl/html/R.css +89e1d1302997a19b58c5e626ec2f025c *revdep/library/RAQSAPI/old/curl/INDEX +39cdbf0554c349477985da547d65ffee *revdep/library/RAQSAPI/old/curl/libs/x64/curl.dll +9ed5fe89c6525a32e52cd1acf29b1339 *revdep/library/RAQSAPI/old/curl/libs/x64/symbols.rds +bde9864c77c0a636443ae012aa5f092f *revdep/library/RAQSAPI/old/curl/LICENSE +c1206237ef40936b52019717c0dd25d4 *revdep/library/RAQSAPI/old/curl/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/curl/Meta/features.rds +fb8baf0f4b2eeff9642907610095b8ca *revdep/library/RAQSAPI/old/curl/Meta/hsearch.rds +a066d2a768de315a91fba24e44a3c5b4 *revdep/library/RAQSAPI/old/curl/Meta/links.rds +d3d567b2d245d60df5246b11903e5d50 *revdep/library/RAQSAPI/old/curl/Meta/nsInfo.rds +88d038d5b6bdacc3a5a48f11a07780e8 *revdep/library/RAQSAPI/old/curl/Meta/package.rds +3f160d612e6206877a6f0d49d6e1851c *revdep/library/RAQSAPI/old/curl/Meta/Rd.rds +95253c921c88cfe861f8c19d0c4bd556 *revdep/library/RAQSAPI/old/curl/Meta/vignette.rds +0586edbda6f3eabdd4dad14fbce8f0e4 *revdep/library/RAQSAPI/old/curl/NAMESPACE +6c9395024d04049de7a1049975d4566b *revdep/library/RAQSAPI/old/curl/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/curl/R/curl +3bb7e748319ec98e721a46befcc6013d *revdep/library/RAQSAPI/old/curl/R/curl.rdb +ac0f6d0273be8d70405b2f8c566f813c *revdep/library/RAQSAPI/old/curl/R/curl.rdx +117ce14d16f6d793ab2a89529057aec1 *revdep/library/RAQSAPI/old/curl/R/sysdata.rdb +c9dc340cf36a4daf6f0b2d8164b5512c *revdep/library/RAQSAPI/old/curl/R/sysdata.rdx +c8decf36390a4d213efe619440ffc702 *revdep/library/RAQSAPI/old/curl/WORDLIST +851d8414306a9f8781ef33a13f391bf0 *revdep/library/RAQSAPI/old/dplyr/data/Rdata.rdb +5577fa98e6bb3732e7df7349896c5a2e *revdep/library/RAQSAPI/old/dplyr/data/Rdata.rds +f8eb816bbbd184f2d5c940853089136f *revdep/library/RAQSAPI/old/dplyr/data/Rdata.rdx +93753b6e2b5aa2fa409657a672a71867 *revdep/library/RAQSAPI/old/dplyr/DESCRIPTION +59978c1e834d53364e21d4c931e10222 *revdep/library/RAQSAPI/old/dplyr/doc/base.html +13f3c2cfa4fbce48cc9375bb3d2f8861 *revdep/library/RAQSAPI/old/dplyr/doc/base.R +d05ab21a50c52118a742f9357fd9552d *revdep/library/RAQSAPI/old/dplyr/doc/base.Rmd +2f9bef2586e86f33c650178321247ac4 *revdep/library/RAQSAPI/old/dplyr/doc/colwise.html +173edc14ba3323b201e6b2f39a0e9d66 *revdep/library/RAQSAPI/old/dplyr/doc/colwise.R +a6504b70bb56595da80ebdeacb3a4571 *revdep/library/RAQSAPI/old/dplyr/doc/colwise.Rmd +9ea994646fbc42b654b820958c9c3ad8 *revdep/library/RAQSAPI/old/dplyr/doc/dplyr.html +09326f06a1faa85992dca361c819a151 *revdep/library/RAQSAPI/old/dplyr/doc/dplyr.R +f2dccae5a13cc4e1d7c6f80b6d7bd67c *revdep/library/RAQSAPI/old/dplyr/doc/dplyr.Rmd +d581d1e951212a33d1e7ef2131ea5d65 *revdep/library/RAQSAPI/old/dplyr/doc/grouping.html +b88f6c7d8886ebff50720a2518e33fb9 *revdep/library/RAQSAPI/old/dplyr/doc/grouping.R +13adad66b3809dea3a6a5ff412f0763e *revdep/library/RAQSAPI/old/dplyr/doc/grouping.Rmd +fffbb97434adecd325df5518952ae166 *revdep/library/RAQSAPI/old/dplyr/doc/in-packages.html +62921b3901e2425b062ef4193a1dca27 *revdep/library/RAQSAPI/old/dplyr/doc/in-packages.R +aef8e1d6c3de3710586366a8b3ea46f9 *revdep/library/RAQSAPI/old/dplyr/doc/in-packages.Rmd +f05a298342de202e8ffa4d0e342ba196 *revdep/library/RAQSAPI/old/dplyr/doc/index.html +4f59418c525a3c8d0f36adcf1fbe4e95 *revdep/library/RAQSAPI/old/dplyr/doc/programming.html +165f431dcdd5aa031b99c057fa38a2e9 *revdep/library/RAQSAPI/old/dplyr/doc/programming.R +7755a76ddfed8b48450ff7663b01fd6f *revdep/library/RAQSAPI/old/dplyr/doc/programming.Rmd +2587b5a90285d3bb69cbb978a2c45e74 *revdep/library/RAQSAPI/old/dplyr/doc/rowwise.html +c2233e38adf0aaa6b2bc7b7527722cdd *revdep/library/RAQSAPI/old/dplyr/doc/rowwise.R +e7d21f3fe88c93594c939b38ac1c1205 *revdep/library/RAQSAPI/old/dplyr/doc/rowwise.Rmd +5bf05c82bccb174dabe7dc9bb0e31516 *revdep/library/RAQSAPI/old/dplyr/doc/two-table.html +7ae954caf22fa7e13ce2f3bd75d98145 *revdep/library/RAQSAPI/old/dplyr/doc/two-table.R +fdb7682a8f09c1976c19f30eaabc8133 *revdep/library/RAQSAPI/old/dplyr/doc/two-table.Rmd +e941753cfde001f33056c6375243f1c2 *revdep/library/RAQSAPI/old/dplyr/doc/window-functions.html +a62a733e53e4e014dee303ee037b1c32 *revdep/library/RAQSAPI/old/dplyr/doc/window-functions.R +976537d75de5855dbab47dc63d638545 *revdep/library/RAQSAPI/old/dplyr/doc/window-functions.Rmd +9e59aaa5276e4a141b966ad956cf251d *revdep/library/RAQSAPI/old/dplyr/help/aliases.rds +46c601b60b87782186ef43ed742d98be *revdep/library/RAQSAPI/old/dplyr/help/AnIndex +27582ab932251340b0aa63216a384733 *revdep/library/RAQSAPI/old/dplyr/help/dplyr.rdb +f96afe406b50282c448c1d922682efb0 *revdep/library/RAQSAPI/old/dplyr/help/dplyr.rdx +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-questioning.svg +46de21252239c5a23d400eae83ec6b2d *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-retired.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/dplyr/help/figures/lifecycle-superseded.svg +1c9275a703baa038ba079452e917859c *revdep/library/RAQSAPI/old/dplyr/help/figures/logo.png +3795d77b7db97790f09cbce035adec3f *revdep/library/RAQSAPI/old/dplyr/help/paths.rds +8579004b24a57816b428cfe924828e2f *revdep/library/RAQSAPI/old/dplyr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/dplyr/html/R.css +b48becbd5cef443c4587485c5c422e84 *revdep/library/RAQSAPI/old/dplyr/INDEX +cbbeafc0723066e0c96122245e8e1d85 *revdep/library/RAQSAPI/old/dplyr/libs/x64/dplyr.dll +ad630b24eef3f6313c8596c05f7d36b0 *revdep/library/RAQSAPI/old/dplyr/libs/x64/symbols.rds +371bde6d0dbcacd6d7b0e203b5425671 *revdep/library/RAQSAPI/old/dplyr/LICENSE +c465a8675cfa05cebdd5317da12cc2c7 *revdep/library/RAQSAPI/old/dplyr/MD5 +fad0d931b8ed7ec713c8cd6db2f8ee8d *revdep/library/RAQSAPI/old/dplyr/Meta/data.rds +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/dplyr/Meta/features.rds +4fe90a062c9fea7805afb2b6af6d0a49 *revdep/library/RAQSAPI/old/dplyr/Meta/hsearch.rds +d40f4680db4b76b86f0bbaac823507fb *revdep/library/RAQSAPI/old/dplyr/Meta/links.rds +4f0ef58304453ee1f9ae0ac41fd1b313 *revdep/library/RAQSAPI/old/dplyr/Meta/nsInfo.rds +2d9106e626896d265c013d954c3b2e31 *revdep/library/RAQSAPI/old/dplyr/Meta/package.rds +8c18c4a1b6503b6bc8d7fed54be3d7f6 *revdep/library/RAQSAPI/old/dplyr/Meta/Rd.rds +e1974fe73d9297c14bdb0e8033f08659 *revdep/library/RAQSAPI/old/dplyr/Meta/vignette.rds +61dc69480c92fcfed18bf122d5dc458f *revdep/library/RAQSAPI/old/dplyr/NAMESPACE +7689c19a0ecb336bf7829f00469f9045 *revdep/library/RAQSAPI/old/dplyr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/dplyr/R/dplyr +5b669c7326d4d64bd8a27edadf1f45a6 *revdep/library/RAQSAPI/old/dplyr/R/dplyr.rdb +f0a065f74917bef7520835c82f8e0bfa *revdep/library/RAQSAPI/old/dplyr/R/dplyr.rdx +6049d9846a10d0e642aa1eaffdd6f351 *revdep/library/RAQSAPI/old/fansi/DESCRIPTION +be6ad01ae682c9a6e458f9f24e10ff5c *revdep/library/RAQSAPI/old/fansi/doc/index.html +e95bd613c18b7c29c44be43547457ce0 *revdep/library/RAQSAPI/old/fansi/doc/sgr-in-rmd.html +51c04478fb0ea1e0498a4967966e75ee *revdep/library/RAQSAPI/old/fansi/doc/sgr-in-rmd.R +368576ff676a26fbc5395f1aeb364cb6 *revdep/library/RAQSAPI/old/fansi/doc/sgr-in-rmd.Rmd +01bb53770e8ba48be766bf43c31c8297 *revdep/library/RAQSAPI/old/fansi/help/aliases.rds +0888cfa133f13b2b6538d0e24bef542c *revdep/library/RAQSAPI/old/fansi/help/AnIndex +712f607bae8ea36d59892651a48eb94c *revdep/library/RAQSAPI/old/fansi/help/fansi.rdb +f440a6ff821e4b89d633859167c60917 *revdep/library/RAQSAPI/old/fansi/help/fansi.rdx +3c58e114d72af82dc68decd3c9f05f76 *revdep/library/RAQSAPI/old/fansi/help/paths.rds +9e3509e13cccb84529aa5665be59729d *revdep/library/RAQSAPI/old/fansi/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/fansi/html/R.css +a8b2c1b3326c7ba0c92e038fd79bc2e5 *revdep/library/RAQSAPI/old/fansi/INDEX +05272cc3ce37a6e934b4240b8b3f5ade *revdep/library/RAQSAPI/old/fansi/libs/x64/fansi.dll +b24af80e00d73c6dbd3db734b1ff63f0 *revdep/library/RAQSAPI/old/fansi/libs/x64/symbols.rds +ddd301a1c205a8a8fe786a939ad1150b *revdep/library/RAQSAPI/old/fansi/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/fansi/Meta/features.rds +b5e90541c2338a51dac1c827f9adae93 *revdep/library/RAQSAPI/old/fansi/Meta/hsearch.rds +9b01b67ca526398524b85c9230b27cee *revdep/library/RAQSAPI/old/fansi/Meta/links.rds +ada4b968bb88b0e566527aee44773852 *revdep/library/RAQSAPI/old/fansi/Meta/nsInfo.rds +95970ab072815d4f751a9a65e1d78ea6 *revdep/library/RAQSAPI/old/fansi/Meta/package.rds +de3d6f53b93e2e11e570c4d201900da3 *revdep/library/RAQSAPI/old/fansi/Meta/Rd.rds +2cd37cf702a3dd795a9d5184302d1d73 *revdep/library/RAQSAPI/old/fansi/Meta/vignette.rds +0c3f04de3f2aa62795bf77b3820de73e *revdep/library/RAQSAPI/old/fansi/NAMESPACE +f68a51cc47e39f4a2ca8ce657f93e227 *revdep/library/RAQSAPI/old/fansi/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/fansi/R/fansi +d1b3043b2276c7a4c26c23c59334bef5 *revdep/library/RAQSAPI/old/fansi/R/fansi.rdb +8cf5390999c75d2022237ccdcd347784 *revdep/library/RAQSAPI/old/fansi/R/fansi.rdx +00d198c14187766fba0ae5cfbc8e19dd *revdep/library/RAQSAPI/old/generics/DESCRIPTION +402e2f04f39b896efaaf59de22c19e03 *revdep/library/RAQSAPI/old/generics/help/aliases.rds +2803fb96c8b39c5891c7abea51916ebd *revdep/library/RAQSAPI/old/generics/help/AnIndex +ca5a6dab3c0b9b7de24920ebe58bb8a9 *revdep/library/RAQSAPI/old/generics/help/generics.rdb +d96ee0487a4fd01b41e1c927b9ba3659 *revdep/library/RAQSAPI/old/generics/help/generics.rdx +75617a512c6e02b4652917d3d28d7310 *revdep/library/RAQSAPI/old/generics/help/paths.rds +68ed99a271416367a54bf3af0cd60bc6 *revdep/library/RAQSAPI/old/generics/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/generics/html/R.css +629c550f9223245d4b9b4518a82d15a9 *revdep/library/RAQSAPI/old/generics/INDEX +5174dfc514f0941d2edd4b0b4c9941dd *revdep/library/RAQSAPI/old/generics/LICENSE +5e12498b9f52e9911ed1a257bf4aa82a *revdep/library/RAQSAPI/old/generics/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/generics/Meta/features.rds +a096b3c376afb6243086c6d67ab7a585 *revdep/library/RAQSAPI/old/generics/Meta/hsearch.rds +14a038b2440b858678d2cc95d349bb47 *revdep/library/RAQSAPI/old/generics/Meta/links.rds +62d0a0cb9603bddeee28e846cfe09415 *revdep/library/RAQSAPI/old/generics/Meta/nsInfo.rds +4e1291218c8cea2b25227d49b021e465 *revdep/library/RAQSAPI/old/generics/Meta/package.rds +ee9562fbf13552ae095a157e8a9e1cb4 *revdep/library/RAQSAPI/old/generics/Meta/Rd.rds +5f15a4d23f40642b7925575497b3141c *revdep/library/RAQSAPI/old/generics/NAMESPACE +cbaafba5a3f91c6159e99933bea6ddb3 *revdep/library/RAQSAPI/old/generics/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/generics/R/generics +afb21bb186c5f75f38067bf7fd8402dc *revdep/library/RAQSAPI/old/generics/R/generics.rdb +47551d0d273161d335915b6dcf55fc4c *revdep/library/RAQSAPI/old/generics/R/generics.rdx +82c1fa575b275cd2ff5581c6dcc1794e *revdep/library/RAQSAPI/old/glue/DESCRIPTION +e36c25f43c8932784b0cd96fbb2ddf82 *revdep/library/RAQSAPI/old/glue/doc/engines.html +9523369b7eb6dc1cabd769ecdf851ddb *revdep/library/RAQSAPI/old/glue/doc/engines.R +504669e9296d5ad4e194f62a6a4df4bf *revdep/library/RAQSAPI/old/glue/doc/engines.Rmd +ac6e604909f1a06a57e235bc0c4f7ef2 *revdep/library/RAQSAPI/old/glue/doc/index.html +7334aaf2f7a89db0bafb19e532c898ef *revdep/library/RAQSAPI/old/glue/doc/speed.html +ddf50f1c992301b657d69d8d2d551887 *revdep/library/RAQSAPI/old/glue/doc/speed.R +927ca206aeb2fdb6f25a798561481aef *revdep/library/RAQSAPI/old/glue/doc/speed.Rmd +39c971c95bdceb01d653b614b0a2e908 *revdep/library/RAQSAPI/old/glue/doc/transformers.html +5520c708fd10578fb7359abc134f2771 *revdep/library/RAQSAPI/old/glue/doc/transformers.R +d13c9c321aece241cc4d8e71391c46ff *revdep/library/RAQSAPI/old/glue/doc/transformers.Rmd +c733750a0166d6af3abb4d38f382a2d9 *revdep/library/RAQSAPI/old/glue/help/aliases.rds +7308fcfda2ee47f56c555e4441cfb546 *revdep/library/RAQSAPI/old/glue/help/AnIndex +ac7e2258d7284d18ab570e161fa682d0 *revdep/library/RAQSAPI/old/glue/help/figures/logo.png +ebdb0a8c0ca2ade20d9f00d75d434976 *revdep/library/RAQSAPI/old/glue/help/glue.rdb +ccb92672ab183d7bee37ae079c009b97 *revdep/library/RAQSAPI/old/glue/help/glue.rdx +1e5df7ee0c101bc6226ab427ae37ce8b *revdep/library/RAQSAPI/old/glue/help/paths.rds +5ef41062af616e095e9052aea4b19b08 *revdep/library/RAQSAPI/old/glue/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/glue/html/R.css +fc9e9813d14c9b8a8316f3eb0b4728fa *revdep/library/RAQSAPI/old/glue/INDEX +3ae7907db43f57b8c4e120006350194c *revdep/library/RAQSAPI/old/glue/libs/x64/glue.dll +25e50ca377f44b24db81f72d09795dd6 *revdep/library/RAQSAPI/old/glue/libs/x64/symbols.rds +4237883d0dfeba9df8257ddf7ebbe5db *revdep/library/RAQSAPI/old/glue/LICENSE +9e1225b958a962764eb0c4dae72a5eca *revdep/library/RAQSAPI/old/glue/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/glue/Meta/features.rds +b7ecd05f2e3225d58561d70e2719ab5e *revdep/library/RAQSAPI/old/glue/Meta/hsearch.rds +de61999c2e47ce4853049aaea1b37a34 *revdep/library/RAQSAPI/old/glue/Meta/links.rds +f9f8fe9c0eda8fb5573fb6a1fbd8e741 *revdep/library/RAQSAPI/old/glue/Meta/nsInfo.rds +0e688f74ce6eda73df059df03d7d9b6d *revdep/library/RAQSAPI/old/glue/Meta/package.rds +830eeb9b3f01f1fadbe36360014e4d8e *revdep/library/RAQSAPI/old/glue/Meta/Rd.rds +272fc33325db2d930b52444b47bc7af7 *revdep/library/RAQSAPI/old/glue/Meta/vignette.rds +5f7a0689117abfe9ca4956b1b044e768 *revdep/library/RAQSAPI/old/glue/NAMESPACE +9f999f4310632bf41c2305c882b91bbb *revdep/library/RAQSAPI/old/glue/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/glue/R/glue +30b71a1c977402bcff02d386f18ec9a9 *revdep/library/RAQSAPI/old/glue/R/glue.rdb +00a15623ff9026eb3c305d95309911ee *revdep/library/RAQSAPI/old/glue/R/glue.rdx +ca37b48d2321fc58961dcdf7fcb6391b *revdep/library/RAQSAPI/old/httr/demo/connection-sharing.r +8af6a39a4e8504f4689970ee3e8cc9df *revdep/library/RAQSAPI/old/httr/demo/oauth1-nounproject.r +885033896db61b0ef46e8879faabd915 *revdep/library/RAQSAPI/old/httr/demo/oauth1-twitter.r +f33f8adad43227cf0858cafc6723871c *revdep/library/RAQSAPI/old/httr/demo/oauth1-withings.r +3a82d7f7f92a6ce4c4b15e1f171074b8 *revdep/library/RAQSAPI/old/httr/demo/oauth1-yahoo.r +75ab0e49b3d3511aa28dd1b14370fc11 *revdep/library/RAQSAPI/old/httr/demo/oauth2-azure.r +89ed345a9d728e6cfb9f715f304f5b96 *revdep/library/RAQSAPI/old/httr/demo/oauth2-facebook.r +5802c74d3c2460cc04daf4f89256309b *revdep/library/RAQSAPI/old/httr/demo/oauth2-github.r +a4c4bf74978a440a8d1aac362147292f *revdep/library/RAQSAPI/old/httr/demo/oauth2-google.r +800b670312f847b93ff13b4e53fb3b33 *revdep/library/RAQSAPI/old/httr/demo/oauth2-linkedin.r +31d6b36d5f725b134e87f662ae7e07d1 *revdep/library/RAQSAPI/old/httr/demo/oauth2-reddit.R +ad99b8f83d30e029a7d170bdc3653636 *revdep/library/RAQSAPI/old/httr/demo/oauth2-vimeo.r +b5e705bbd3517a82ac2791f0ee7eea40 *revdep/library/RAQSAPI/old/httr/demo/oauth2-yahoo.r +dae3272f618a947f5a3ad00ba40c3b27 *revdep/library/RAQSAPI/old/httr/demo/oauth2-yelp.R +56b0c883a1b838991459f7eecc14bbc5 *revdep/library/RAQSAPI/old/httr/demo/service-account.R +ecfdfd64c3f73e1f3b89e567a80a574a *revdep/library/RAQSAPI/old/httr/DESCRIPTION +f015c05a07e8c38519c815ef67e4603c *revdep/library/RAQSAPI/old/httr/doc/api-packages.html +6c0e90d4b8fee53683edd7a4cf8abb72 *revdep/library/RAQSAPI/old/httr/doc/api-packages.R +eea51e8cffcef117121d2ae87a8c774f *revdep/library/RAQSAPI/old/httr/doc/api-packages.Rmd +934e6f35b98ec081128dda937e8a58a4 *revdep/library/RAQSAPI/old/httr/doc/index.html +8b8a2d33234ef76b894d10f1ac2ac9d2 *revdep/library/RAQSAPI/old/httr/doc/quickstart.html +2d2a6872331f4ca68b2db4a03af40272 *revdep/library/RAQSAPI/old/httr/doc/quickstart.R +10118a4553fb1e3d3f386d799b422c0b *revdep/library/RAQSAPI/old/httr/doc/quickstart.Rmd +f26213951779d26f24d40690f2d7fabd *revdep/library/RAQSAPI/old/httr/doc/secrets.html +4c7174ba26a45d67f752e90d219dccde *revdep/library/RAQSAPI/old/httr/doc/secrets.R +f1092542c2c547bc7301add4423ea3cf *revdep/library/RAQSAPI/old/httr/doc/secrets.Rmd +52204d51f5703be464e6533eab1de771 *revdep/library/RAQSAPI/old/httr/help/aliases.rds +3db230c7e278280dfb5f7cac6d9fe230 *revdep/library/RAQSAPI/old/httr/help/AnIndex +e385457cb5da12435ea43475c46ae7ad *revdep/library/RAQSAPI/old/httr/help/httr.rdb +06b2ebf1b889e364fc36758c7673a6dd *revdep/library/RAQSAPI/old/httr/help/httr.rdx +5a2b8466081a5e8bd564fea45d0ea60a *revdep/library/RAQSAPI/old/httr/help/paths.rds +a2f460aab065a96eef849020fba33c3c *revdep/library/RAQSAPI/old/httr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/httr/html/R.css +e08081fbaae31323255ede98eaaa2ee2 *revdep/library/RAQSAPI/old/httr/INDEX +ee0b135c2bf02fea12a27c059a04a58b *revdep/library/RAQSAPI/old/httr/LICENSE +6ad15b19cebdce6e35d0d9afe4f7d266 *revdep/library/RAQSAPI/old/httr/MD5 +e6ba2dfec87d8fea7d237513a108c97f *revdep/library/RAQSAPI/old/httr/Meta/demo.rds +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/httr/Meta/features.rds +e20827519bc4b53dfdd365af88d7d303 *revdep/library/RAQSAPI/old/httr/Meta/hsearch.rds +2b0aff3e143717c51a159d618654bda6 *revdep/library/RAQSAPI/old/httr/Meta/links.rds +1e80adbde7d4c9079f0a2500fb62d24f *revdep/library/RAQSAPI/old/httr/Meta/nsInfo.rds +93fbc1ae0664abb4f97e19b5dd4fc76d *revdep/library/RAQSAPI/old/httr/Meta/package.rds +2be7d949450ed70a142696ca983350c7 *revdep/library/RAQSAPI/old/httr/Meta/Rd.rds +221a9c2f2e01b4f298eb5f935840f6f1 *revdep/library/RAQSAPI/old/httr/Meta/vignette.rds +b2112c66260fe60ed628f0d32b588465 *revdep/library/RAQSAPI/old/httr/NAMESPACE +258f27c74d74cab3a85d82445a141f53 *revdep/library/RAQSAPI/old/httr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/httr/R/httr +1d883675eaa654fff6c14fcf963b88a3 *revdep/library/RAQSAPI/old/httr/R/httr.rdb +bfd1021859a6ca7928dd792fd3b5c888 *revdep/library/RAQSAPI/old/httr/R/httr.rdx +085aa83cd45a6337ec98336e74dba226 *revdep/library/RAQSAPI/old/jsonlite/CITATION +7b19baabb91a3bb66e4b7ad472aaafe5 *revdep/library/RAQSAPI/old/jsonlite/DESCRIPTION +0a7514b2864cc70aebf45150281b12c3 *revdep/library/RAQSAPI/old/jsonlite/doc/index.html +23065dfd33005463003b1459a50b570b *revdep/library/RAQSAPI/old/jsonlite/doc/json-aaquickstart.html +63f88db76f35f71d39649477e5122d3a *revdep/library/RAQSAPI/old/jsonlite/doc/json-aaquickstart.R +4f11cd7a351291227464e5771d460802 *revdep/library/RAQSAPI/old/jsonlite/doc/json-aaquickstart.Rmd +7ec8b5067d6517e767e5281da82af053 *revdep/library/RAQSAPI/old/jsonlite/doc/json-apis.html +061b016cdd33e958ef9850d682694194 *revdep/library/RAQSAPI/old/jsonlite/doc/json-apis.Rmd +ed60e026af6f45292fe83dbab6df165a *revdep/library/RAQSAPI/old/jsonlite/doc/json-mapping.pdf +bf707572c3655753491b742bfef2fad0 *revdep/library/RAQSAPI/old/jsonlite/doc/json-mapping.pdf.asis +b4b774c92a47cd87f0bf2753ac7a1cb1 *revdep/library/RAQSAPI/old/jsonlite/doc/json-opencpu.pdf +9f8ff63a6bfe38681c939c5a3fc79a2c *revdep/library/RAQSAPI/old/jsonlite/doc/json-opencpu.pdf.asis +9f09566af116538317b44cc3302797fd *revdep/library/RAQSAPI/old/jsonlite/doc/json-paging.html +175948ab2636061fa12d935f0be89c75 *revdep/library/RAQSAPI/old/jsonlite/doc/json-paging.Rmd +38013cddee4cdeb85d28477dad481c55 *revdep/library/RAQSAPI/old/jsonlite/help/aliases.rds +877130b8a73a28d4533d1af5d7442393 *revdep/library/RAQSAPI/old/jsonlite/help/AnIndex +479a09c336936ba250d5b94f8ddd35d8 *revdep/library/RAQSAPI/old/jsonlite/help/jsonlite.rdb +ac8ddc544141d0848145ddac19fa5e2e *revdep/library/RAQSAPI/old/jsonlite/help/jsonlite.rdx +bbf219d372a00d564e18f2591dd99989 *revdep/library/RAQSAPI/old/jsonlite/help/paths.rds +d5659b207f38d05c5c065c923731a1f2 *revdep/library/RAQSAPI/old/jsonlite/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/jsonlite/html/R.css +f8132153291736d514a1d31d06fe72bc *revdep/library/RAQSAPI/old/jsonlite/INDEX +f67ef6d17d1dc5c101617d9578d9af4b *revdep/library/RAQSAPI/old/jsonlite/libs/x64/jsonlite.dll +ca69dcffa6385ae683c05dd32d11d65b *revdep/library/RAQSAPI/old/jsonlite/libs/x64/symbols.rds +27b6128fe44dac890bf5c9dfce3a744c *revdep/library/RAQSAPI/old/jsonlite/LICENSE +d7b9a945da3a93f72d84baf82a6e2744 *revdep/library/RAQSAPI/old/jsonlite/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/jsonlite/Meta/features.rds +a06e3a5838480e9c9a5469daf4183132 *revdep/library/RAQSAPI/old/jsonlite/Meta/hsearch.rds +305928b4a5b59cf656528cd3534f35a0 *revdep/library/RAQSAPI/old/jsonlite/Meta/links.rds +b0b9cf2cf97f957f79cacc823521a137 *revdep/library/RAQSAPI/old/jsonlite/Meta/nsInfo.rds +3d292e97fd7223f0f835766ba13851c1 *revdep/library/RAQSAPI/old/jsonlite/Meta/package.rds +db65d7964450a0020db78cda10f36cbd *revdep/library/RAQSAPI/old/jsonlite/Meta/Rd.rds +33771db61f06a8c88dd98f8e8b0933a2 *revdep/library/RAQSAPI/old/jsonlite/Meta/vignette.rds +5b98144b5c0adc61181ea3e2df463ed1 *revdep/library/RAQSAPI/old/jsonlite/NAMESPACE +11448d2d3904b94bfa631aa6ff17c70f *revdep/library/RAQSAPI/old/jsonlite/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/jsonlite/R/jsonlite +e7b0f4445506ab5377d7c1c6fdc05459 *revdep/library/RAQSAPI/old/jsonlite/R/jsonlite.rdb +8ff4b526e8cf476327affebb962a82c6 *revdep/library/RAQSAPI/old/jsonlite/R/jsonlite.rdx +61aaf2d684de53f7fd3e2cc01a84f08c *revdep/library/RAQSAPI/old/lifecycle/DESCRIPTION +e39790cc4495d017094449d17e6bea2c *revdep/library/RAQSAPI/old/lifecycle/doc/communicate.html +b213aa216434ae0dea06fae39c81a41c *revdep/library/RAQSAPI/old/lifecycle/doc/communicate.R +a2d1a2ebaafc08f88021e4409c17b8f5 *revdep/library/RAQSAPI/old/lifecycle/doc/communicate.Rmd +47141163e909d66290bd296d459d0929 *revdep/library/RAQSAPI/old/lifecycle/doc/index.html +c3c74607fa6a99a060265972d1aae6f0 *revdep/library/RAQSAPI/old/lifecycle/doc/manage.html +012288ca3a1c7bce0d99c504347f8e4e *revdep/library/RAQSAPI/old/lifecycle/doc/manage.R +f9cab395a969e8dc9f4384ed7da86390 *revdep/library/RAQSAPI/old/lifecycle/doc/manage.Rmd +f8fb6b0f1771ec2028239e36490dee72 *revdep/library/RAQSAPI/old/lifecycle/doc/stages.html +b9e774b44fa390a568eb09dd2e0d855c *revdep/library/RAQSAPI/old/lifecycle/doc/stages.R +afcd7809e623fbd4ad9d732e1c665e0f *revdep/library/RAQSAPI/old/lifecycle/doc/stages.Rmd +f673a297c31b47ab108b956b8f970431 *revdep/library/RAQSAPI/old/lifecycle/help/aliases.rds +ed7e83ed021c98814a9e172237bd375e *revdep/library/RAQSAPI/old/lifecycle/help/AnIndex +a1cbaf3f328e8d74e747faacf640c7fc *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-archived.svg +4ca48eef27b630c30a8829738708b38f *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-defunct.svg +391f696f961e28914508628a7af31b74 *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-deprecated.svg +691b1eb2aec9e1bec96b79d11ba5e631 *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-experimental.svg +405e252e54a79b33522e9699e4e9051c *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-maturing.svg +f41ed996be135fb35afe00641621da61 *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-questioning.svg +6fd39f67e2fcaca13cdcad3e01fd78ce *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-retired.svg +306bef67d1c636f209024cf2403846fd *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-soft-deprecated.svg +ed42e3fbd7cc30bc6ca8fa9b658e24a8 *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-stable.svg +99f6e77d8cd1072e42e744a4950e143a *revdep/library/RAQSAPI/old/lifecycle/help/figures/lifecycle-superseded.svg +b63283e986a16492b7ff0d97701d55e7 *revdep/library/RAQSAPI/old/lifecycle/help/lifecycle.rdb +77b471e48fd649f23101b63ed9e763d5 *revdep/library/RAQSAPI/old/lifecycle/help/lifecycle.rdx +155bedac3338ac2404018d81751c5b18 *revdep/library/RAQSAPI/old/lifecycle/help/macros/lifecycle.Rd +6da0917dc036c04e4de2bfef53a993c8 *revdep/library/RAQSAPI/old/lifecycle/help/paths.rds +c86fb6be0e8333a3a39debfa5deb7d13 *revdep/library/RAQSAPI/old/lifecycle/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/lifecycle/html/R.css +e03ea601d9617e8a9a85a27145eddae5 *revdep/library/RAQSAPI/old/lifecycle/INDEX +5174dfc514f0941d2edd4b0b4c9941dd *revdep/library/RAQSAPI/old/lifecycle/LICENSE +8cbe7db5cdac3a1eebb6fe65fa0957dc *revdep/library/RAQSAPI/old/lifecycle/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/lifecycle/Meta/features.rds +b14edf46defd46baf7c89e687de42995 *revdep/library/RAQSAPI/old/lifecycle/Meta/hsearch.rds +4bba6fc5c53c3232d8c5aceee9926699 *revdep/library/RAQSAPI/old/lifecycle/Meta/links.rds +9f61fbe79af2d03b92b0098f62897888 *revdep/library/RAQSAPI/old/lifecycle/Meta/nsInfo.rds +ab2ce0277fbaa8a48407d3e53dd5823a *revdep/library/RAQSAPI/old/lifecycle/Meta/package.rds +17b04a22d18814b2089c193fbbabe3ea *revdep/library/RAQSAPI/old/lifecycle/Meta/Rd.rds +15e817a1361bf308d849b9fa67b76be8 *revdep/library/RAQSAPI/old/lifecycle/Meta/vignette.rds +be23e2f440692949569a0edc35624216 *revdep/library/RAQSAPI/old/lifecycle/NAMESPACE +a98042db1ea99be9633396e532b69bb7 *revdep/library/RAQSAPI/old/lifecycle/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/lifecycle/R/lifecycle +809163b4329adc1903551931efa1941d *revdep/library/RAQSAPI/old/lifecycle/R/lifecycle.rdb +9d6d4d7879b8ce8743359cfcd5c2b4d6 *revdep/library/RAQSAPI/old/lifecycle/R/lifecycle.rdx +305e9bb0edf2b9f339192932ade0bf4b *revdep/library/RAQSAPI/old/lubridate/cctz.sh +2996ee2cab127c7f92073ab30ac0b624 *revdep/library/RAQSAPI/old/lubridate/CITATION +91dbdfeaf3923bbc3ddddbb9fdf5add7 *revdep/library/RAQSAPI/old/lubridate/data/Rdata.rdb +d44cf700cbe05da04fae06435bbb415d *revdep/library/RAQSAPI/old/lubridate/data/Rdata.rds +6696f6a0be30d956d9ea3f3bd7a9211c *revdep/library/RAQSAPI/old/lubridate/data/Rdata.rdx +f9dc66c65c4c35a824830466c57730f8 *revdep/library/RAQSAPI/old/lubridate/DESCRIPTION +e3be44789c0f53a28e3eb174fa818d03 *revdep/library/RAQSAPI/old/lubridate/doc/index.html +c2af9984dee5b54f9890f70fa8918ece *revdep/library/RAQSAPI/old/lubridate/doc/lubridate.html +dce014d195f833390a09d2bbdca8b5da *revdep/library/RAQSAPI/old/lubridate/doc/lubridate.R +aabdff67dc16d60af8619a25176db9e8 *revdep/library/RAQSAPI/old/lubridate/doc/lubridate.Rmd +938eb38706d939e1939739ec9dfe6287 *revdep/library/RAQSAPI/old/lubridate/help/aliases.rds +808154963511e9108107ef22cc7d0dcd *revdep/library/RAQSAPI/old/lubridate/help/AnIndex +68349cce281ef8ef965844cf20429f13 *revdep/library/RAQSAPI/old/lubridate/help/figures/logo.png +05b56adff611d0afdd93f49522f1a948 *revdep/library/RAQSAPI/old/lubridate/help/lubridate.rdb +86ba82c4abd8297b7451ab17efb7e8b5 *revdep/library/RAQSAPI/old/lubridate/help/lubridate.rdx +c6264de7076eb019a39d5b281a0fa5f7 *revdep/library/RAQSAPI/old/lubridate/help/paths.rds +a10e49fba170e1d5916c676db066fbfe *revdep/library/RAQSAPI/old/lubridate/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/lubridate/html/R.css +a05343c72fab70e4fff249ec6349145c *revdep/library/RAQSAPI/old/lubridate/INDEX +872f35f91752b8000fa220d880982b01 *revdep/library/RAQSAPI/old/lubridate/libs/x64/lubridate.dll +1113b304d220d52080c4044c93ec6fd7 *revdep/library/RAQSAPI/old/lubridate/libs/x64/symbols.rds +71520b0fd1f168d7c599a44b41ad56be *revdep/library/RAQSAPI/old/lubridate/MD5 +333bf9dedb3297d96279894c4ff7ff64 *revdep/library/RAQSAPI/old/lubridate/Meta/data.rds +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/lubridate/Meta/features.rds +d740e7babf1982913b5dc5c70d71cb23 *revdep/library/RAQSAPI/old/lubridate/Meta/hsearch.rds +d856c8ca11c87c5043275b975e50f880 *revdep/library/RAQSAPI/old/lubridate/Meta/links.rds +23f533cc5841bcbca588fef4e22962d3 *revdep/library/RAQSAPI/old/lubridate/Meta/nsInfo.rds +c0756bba49473a55d01f34a6ce861883 *revdep/library/RAQSAPI/old/lubridate/Meta/package.rds +d028bc7c7a1d733a34155ec8ca2b8739 *revdep/library/RAQSAPI/old/lubridate/Meta/Rd.rds +e0ebc791e770213c65b664c43b160f94 *revdep/library/RAQSAPI/old/lubridate/Meta/vignette.rds +3b8f5e3241ebebb0d9a485a32ef11e6c *revdep/library/RAQSAPI/old/lubridate/NAMESPACE +cb5f8c442fa83ef034275f521e8c0ef8 *revdep/library/RAQSAPI/old/lubridate/NEWS.md +cbd0115223b55d1d4e6b1b9084872104 *revdep/library/RAQSAPI/old/lubridate/pkgdown/assets/tidyverse.css +1b382473f33def546c7c664480b005f6 *revdep/library/RAQSAPI/old/lubridate/pkgdown/assets/tidyverse.css.map +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/lubridate/R/lubridate +2b3deac7f63badd9241c4105928af3c2 *revdep/library/RAQSAPI/old/lubridate/R/lubridate.rdb +898e601b26bc89c3f5e4efe63f67d551 *revdep/library/RAQSAPI/old/lubridate/R/lubridate.rdx +6725e18f6f709ed04407e1330b4cd249 *revdep/library/RAQSAPI/old/magrittr/DESCRIPTION +26ccabca2affec17688ce34315191497 *revdep/library/RAQSAPI/old/magrittr/doc/index.html +a54471576785915e722e83cc96735845 *revdep/library/RAQSAPI/old/magrittr/doc/magrittr.html +786d5e98d2db43ca57b1b05b6c98e262 *revdep/library/RAQSAPI/old/magrittr/doc/magrittr.R +ae2a5f945966923225eb4b7fd50e7834 *revdep/library/RAQSAPI/old/magrittr/doc/magrittr.Rmd +d842f8208444adc942eca16846ccfa88 *revdep/library/RAQSAPI/old/magrittr/doc/tradeoffs.html +e6000bf0b0354a95dd0de7a3768c0ad0 *revdep/library/RAQSAPI/old/magrittr/doc/tradeoffs.R +ade5c863f8b1f237fcf3642076c00d3e *revdep/library/RAQSAPI/old/magrittr/doc/tradeoffs.Rmd +ca253691018bbb781c15ab8c92edd1d7 *revdep/library/RAQSAPI/old/magrittr/help/aliases.rds +14e90a503b1f16b2b1a05badb377ebce *revdep/library/RAQSAPI/old/magrittr/help/AnIndex +fd4ab3e55d76f18a21681c9d90e0a8de *revdep/library/RAQSAPI/old/magrittr/help/figures/exposition-1.png +2a60de702f54976c2e9de39fa44a72f4 *revdep/library/RAQSAPI/old/magrittr/help/figures/logo.png +003583218c15fbbcb00ebcc800d8d9b4 *revdep/library/RAQSAPI/old/magrittr/help/magrittr.rdb +725e24c44acc440b9d0435c6d65500bb *revdep/library/RAQSAPI/old/magrittr/help/magrittr.rdx +d3751cbb547d0378e2f32c1608afc9a4 *revdep/library/RAQSAPI/old/magrittr/help/paths.rds +47120275bdf0aefdfdc95bd9bd7a214c *revdep/library/RAQSAPI/old/magrittr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/magrittr/html/R.css +194532b269d5d209bd1292cac7296c29 *revdep/library/RAQSAPI/old/magrittr/INDEX +56d241a3ea51a12ae6ed66e284268343 *revdep/library/RAQSAPI/old/magrittr/libs/x64/magrittr.dll +8af71c0337bbe9c2d06b729892deb05e *revdep/library/RAQSAPI/old/magrittr/libs/x64/symbols.rds +b1e40687f249a5e3b384b410b621f40a *revdep/library/RAQSAPI/old/magrittr/LICENSE +320671fcbeb26a1ad31a8be1b8259db1 *revdep/library/RAQSAPI/old/magrittr/logo-hex.png +49d0817fc5a43e2c1593194ab84fc1d1 *revdep/library/RAQSAPI/old/magrittr/logo-hex.svg +d874c14ccdcddaeae92f28cd7c8097ca *revdep/library/RAQSAPI/old/magrittr/logo.png +9c8e1ed8c5dad58b4f422ed25cb4bf6c *revdep/library/RAQSAPI/old/magrittr/logo.svg +e9159471d5c255bbef972c7dfefc5f3e *revdep/library/RAQSAPI/old/magrittr/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/magrittr/Meta/features.rds +48549236329cca75af1ef93948c22ac3 *revdep/library/RAQSAPI/old/magrittr/Meta/hsearch.rds +57963f5261b5007ea739937d37233c15 *revdep/library/RAQSAPI/old/magrittr/Meta/links.rds +df370e259aedbff944b79dcb4d16a40d *revdep/library/RAQSAPI/old/magrittr/Meta/nsInfo.rds +76a37f1beaf9f7c4578d6123932cd873 *revdep/library/RAQSAPI/old/magrittr/Meta/package.rds +215f8261fe857a6709f690072eac7909 *revdep/library/RAQSAPI/old/magrittr/Meta/Rd.rds +084078aa68b48964d1edd278e8860b0b *revdep/library/RAQSAPI/old/magrittr/Meta/vignette.rds +6947759fe41ccdda4f5fd4759f68a4a8 *revdep/library/RAQSAPI/old/magrittr/NAMESPACE +631d52ef319ccec69a02e519dfe0a17a *revdep/library/RAQSAPI/old/magrittr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/magrittr/R/magrittr +16c3d72c679c6210d54b669e174f8f79 *revdep/library/RAQSAPI/old/magrittr/R/magrittr.rdb +a4fc2a68a24553cf43c24b7e8806e3f3 *revdep/library/RAQSAPI/old/magrittr/R/magrittr.rdx +53eb034ad443745f08a04eb87cad3ff0 *revdep/library/RAQSAPI/old/mime/DESCRIPTION +dd30072421fdc8f61af455a5dc35b115 *revdep/library/RAQSAPI/old/mime/help/aliases.rds +611556702abfcead9d57376143f26fd6 *revdep/library/RAQSAPI/old/mime/help/AnIndex +6683bc4897b154f09a63a496104dc18f *revdep/library/RAQSAPI/old/mime/help/mime.rdb +1e7e248f1f3892c11a5c0439cebaf9ed *revdep/library/RAQSAPI/old/mime/help/mime.rdx +17ded46ff7a2c9244bc2292b4b22c9f7 *revdep/library/RAQSAPI/old/mime/help/paths.rds +cefb616f44d0f17460f8fc7d2760c4a0 *revdep/library/RAQSAPI/old/mime/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/mime/html/R.css +0702d163b6502d6e415643aa17c3cb4b *revdep/library/RAQSAPI/old/mime/INDEX +39acbe1a1fd1e067b5be851ab86d484d *revdep/library/RAQSAPI/old/mime/libs/x64/mime.dll +6623d8ecfe3051378b7afe53b594af89 *revdep/library/RAQSAPI/old/mime/libs/x64/symbols.rds +0e04754859f429ead4027dd027940234 *revdep/library/RAQSAPI/old/mime/MD5 +dff0c21365af97a4870480e08afc2958 *revdep/library/RAQSAPI/old/mime/Meta/features.rds +08b1cd73eddc6f2b66ecb3bbe0886ebd *revdep/library/RAQSAPI/old/mime/Meta/hsearch.rds +8e7e505fe3a6440d5038be13f6424a84 *revdep/library/RAQSAPI/old/mime/Meta/links.rds +4a3b89c879fb8629f0ec87313897a6a8 *revdep/library/RAQSAPI/old/mime/Meta/nsInfo.rds +069190609fdf7434f1d4e32064f5ab1d *revdep/library/RAQSAPI/old/mime/Meta/package.rds +c3dfaf0c7cbbc95bdd16f4a1e2fb6427 *revdep/library/RAQSAPI/old/mime/Meta/Rd.rds +6c0844d0f403d7b8220f569b9abb1fe5 *revdep/library/RAQSAPI/old/mime/NAMESPACE +d7aee0b63aca5a1ac343e0c15850ae80 *revdep/library/RAQSAPI/old/mime/NEWS.Rd +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/mime/R/mime +f29c53db4e7439a7b3a29da898b14398 *revdep/library/RAQSAPI/old/mime/R/mime.rdb +aea9bf8f8c31b5f1841fbe1965313d92 *revdep/library/RAQSAPI/old/mime/R/mime.rdx +f4a13fcdd32ca18c3e62c7a728ebb378 *revdep/library/RAQSAPI/old/openssl/cacert.pem +fb60f7caefc71c2a3e3975a0ed187299 *revdep/library/RAQSAPI/old/openssl/DESCRIPTION +7f4e20bae32079e2428169bd6e51c4f2 *revdep/library/RAQSAPI/old/openssl/doc/bignum.html +677836262ec13d90fd6b2721d701508b *revdep/library/RAQSAPI/old/openssl/doc/bignum.R +6c2533ea075c226a5ad8b86595e2977a *revdep/library/RAQSAPI/old/openssl/doc/bignum.Rmd +0fc8e42bd3088cb8cca0413ae9aadb0c *revdep/library/RAQSAPI/old/openssl/doc/crypto_hashing.html +7d435efd264bdb90456178d1d8021be5 *revdep/library/RAQSAPI/old/openssl/doc/crypto_hashing.R +d87ce2839fef44896e72e58683620467 *revdep/library/RAQSAPI/old/openssl/doc/crypto_hashing.Rmd +f776f9f528f289f82eac06cedadd33a4 *revdep/library/RAQSAPI/old/openssl/doc/index.html +d97c5f3a5688c206889b085407e3f17d *revdep/library/RAQSAPI/old/openssl/doc/keys.html +283593a47a4fe6d0e2980d57f15d467c *revdep/library/RAQSAPI/old/openssl/doc/keys.R +84e4760fec6195d3851b4dc45f7857e6 *revdep/library/RAQSAPI/old/openssl/doc/keys.Rmd +1e2a5d8227f72e570df7aa4a2e1bac41 *revdep/library/RAQSAPI/old/openssl/doc/secure_rng.html +0830aed25c70f365a19114ef8d00f9ed *revdep/library/RAQSAPI/old/openssl/doc/secure_rng.R +7c76b5463aa510fe41b9578b603554a1 *revdep/library/RAQSAPI/old/openssl/doc/secure_rng.Rmd +bfbbb1cb1483e96b9e020521fd6ff4d5 *revdep/library/RAQSAPI/old/openssl/help/aliases.rds +1e34c55623711e60f1202547a4faa284 *revdep/library/RAQSAPI/old/openssl/help/AnIndex +d0db3b3d3750ed7179dfdfb658435ff5 *revdep/library/RAQSAPI/old/openssl/help/openssl.rdb +5720a2c2e5e9482d3a51576017d14a99 *revdep/library/RAQSAPI/old/openssl/help/openssl.rdx +ecc484ff306b2f83b443e13283d0766d *revdep/library/RAQSAPI/old/openssl/help/paths.rds +93dccab8300780493c76d8b45e8b28fa *revdep/library/RAQSAPI/old/openssl/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/openssl/html/R.css +dba1b1c3e8649abeb74f3a32f9d29283 *revdep/library/RAQSAPI/old/openssl/INDEX +5a1bb2fc146c9917f2b01bd263090a4f *revdep/library/RAQSAPI/old/openssl/libs/x64/openssl.dll +815bc7ad3db2134cc84f62a52326634b *revdep/library/RAQSAPI/old/openssl/libs/x64/symbols.rds +5acd18f82cf3f814c4455a6f785249f2 *revdep/library/RAQSAPI/old/openssl/LICENSE +ee70e9452a926b1f7311bd53410d4f11 *revdep/library/RAQSAPI/old/openssl/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/openssl/Meta/features.rds +172a0110a24c08667dad9628b84ea0e9 *revdep/library/RAQSAPI/old/openssl/Meta/hsearch.rds +314d0aa89eecac0080e48d1356dd3f8b *revdep/library/RAQSAPI/old/openssl/Meta/links.rds +fb5d6fe9513c2d852491273adf395f61 *revdep/library/RAQSAPI/old/openssl/Meta/nsInfo.rds +029df40d4958e96af87a9225e544dd5f *revdep/library/RAQSAPI/old/openssl/Meta/package.rds +84ee2c8d363e5f77b59d128f447c1be4 *revdep/library/RAQSAPI/old/openssl/Meta/Rd.rds +74d38363b833b46459bf744f8f016d4f *revdep/library/RAQSAPI/old/openssl/Meta/vignette.rds +033a86110cf3f4f864bbc94885a9d748 *revdep/library/RAQSAPI/old/openssl/NAMESPACE +e9ff0b19e48dc8ab700f8690a40683f7 *revdep/library/RAQSAPI/old/openssl/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/openssl/R/openssl +f72afeb84d7ed294a67d463f813692cf *revdep/library/RAQSAPI/old/openssl/R/openssl.rdb +7eb78cc04fcd707e26ebf058ac9a559a *revdep/library/RAQSAPI/old/openssl/R/openssl.rdx +9513dbdd5cb23bbf411c94c4306dd7de *revdep/library/RAQSAPI/old/pillar/DESCRIPTION +fc23d0f798e8288a16f5ce874646c5e5 *revdep/library/RAQSAPI/old/pillar/doc/debugme.html +d28adf889bbc109ecfb61eeb86b46311 *revdep/library/RAQSAPI/old/pillar/doc/debugme.R +b48909c0117f9f2bb91f534e30d2a81f *revdep/library/RAQSAPI/old/pillar/doc/debugme.Rmd +3e6b40962ff47add9c935ac595642da3 *revdep/library/RAQSAPI/old/pillar/doc/digits.html +bf59bf74c5930c845e6b79b1508987c8 *revdep/library/RAQSAPI/old/pillar/doc/digits.Rmd +df5d88be746aa46a0898ed1d03c996e5 *revdep/library/RAQSAPI/old/pillar/doc/extending.html +6b21352c247b27df5b35178dec45db46 *revdep/library/RAQSAPI/old/pillar/doc/extending.R +69aa6c119c884e6710b6c1d93aa1cde8 *revdep/library/RAQSAPI/old/pillar/doc/extending.Rmd +4c049094ac3dfd91291e1d851f8c5e86 *revdep/library/RAQSAPI/old/pillar/doc/index.html +a66e0514b0bac0311fe9d13d96ff73a4 *revdep/library/RAQSAPI/old/pillar/doc/numbers.html +a8e7386762ee0c028231422e649a3b8f *revdep/library/RAQSAPI/old/pillar/doc/numbers.R +25e105de33b2b4beacdf53edbb5d6acb *revdep/library/RAQSAPI/old/pillar/doc/numbers.Rmd +24b9b6fb1bde1cbdf74b3abd20132f9f *revdep/library/RAQSAPI/old/pillar/doc/printing.html +597b5147db2d9c1f4f00386f3a195248 *revdep/library/RAQSAPI/old/pillar/doc/printing.R +0f726cfe2be6f8ef7609b086146e34a9 *revdep/library/RAQSAPI/old/pillar/doc/printing.Rmd +89bdbf2b3504098cbe9fa5229a80441f *revdep/library/RAQSAPI/old/pillar/help/aliases.rds +b52452bec8ecd80f7d78eeeab5040275 *revdep/library/RAQSAPI/old/pillar/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-questioning.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/pillar/help/figures/lifecycle-superseded.svg +7668aca427a8332c888fa1030e6a3cb6 *revdep/library/RAQSAPI/old/pillar/help/paths.rds +2205ec469c2016917b87b1b6111cceff *revdep/library/RAQSAPI/old/pillar/help/pillar.rdb +d1f07533e943a83f41d0f14bbe1ac164 *revdep/library/RAQSAPI/old/pillar/help/pillar.rdx +e536fe9d6f3b116ac94a6d7569d5ceae *revdep/library/RAQSAPI/old/pillar/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/pillar/html/R.css +a7126df4d49edfc27c034d2ad44a3338 *revdep/library/RAQSAPI/old/pillar/INDEX +5f53097c35751d37fc3336e103bf8d82 *revdep/library/RAQSAPI/old/pillar/LICENSE +09750895582931c62cd01e647cbcdc66 *revdep/library/RAQSAPI/old/pillar/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/pillar/Meta/features.rds +5204edde463c58d2ba136d5e52bf41c8 *revdep/library/RAQSAPI/old/pillar/Meta/hsearch.rds +537525719139d44b07c9c413f7e6dee1 *revdep/library/RAQSAPI/old/pillar/Meta/links.rds +5d421264d147229ea9f7fdaf09b9f7ba *revdep/library/RAQSAPI/old/pillar/Meta/nsInfo.rds +c9c13ee1f15bdfdea06fd6247481853a *revdep/library/RAQSAPI/old/pillar/Meta/package.rds +05b2899d717ebf6844264155eca6fe29 *revdep/library/RAQSAPI/old/pillar/Meta/Rd.rds +3d960d8c1df138d45f8eecb0cb490997 *revdep/library/RAQSAPI/old/pillar/Meta/vignette.rds +2d5eacf0753f5b11824d89521e0618ac *revdep/library/RAQSAPI/old/pillar/NAMESPACE +8587fdcfac6c48fa8ba9ef388ffa6e0a *revdep/library/RAQSAPI/old/pillar/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/pillar/R/pillar +5b54eb3bf76dae6c99a53c35e7a5cffd *revdep/library/RAQSAPI/old/pillar/R/pillar.rdb +2b6667ad6aa7ebede95493d97bfb730a *revdep/library/RAQSAPI/old/pillar/R/pillar.rdx +be493f814da30b8ce0c8ffbae8f6c333 *revdep/library/RAQSAPI/old/pillar/WORDLIST +88a39ae3d6b81918f232ae3f6806857e *revdep/library/RAQSAPI/old/pkgconfig/DESCRIPTION +847068d57d7e546936b7030e5ddf7b89 *revdep/library/RAQSAPI/old/pkgconfig/help/aliases.rds +b54d18cf41b25d3a921db150f41ff329 *revdep/library/RAQSAPI/old/pkgconfig/help/AnIndex +40b15cab4f938e65390b981b25848aef *revdep/library/RAQSAPI/old/pkgconfig/help/paths.rds +01272304bf7224d38784343526dce0b3 *revdep/library/RAQSAPI/old/pkgconfig/help/pkgconfig.rdb +097e98bde6186f0f72eae3e120b04e55 *revdep/library/RAQSAPI/old/pkgconfig/help/pkgconfig.rdx +8e7acd9a338d13d7db3e7fc8b3f3428c *revdep/library/RAQSAPI/old/pkgconfig/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/pkgconfig/html/R.css +1763b66c0616d3966155bac572e14181 *revdep/library/RAQSAPI/old/pkgconfig/INDEX +4b7ff7c348e978f33981b2237200878d *revdep/library/RAQSAPI/old/pkgconfig/LICENSE +2fabedb059248e8768154637c7746f39 *revdep/library/RAQSAPI/old/pkgconfig/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/pkgconfig/Meta/features.rds +1c0c9c9e2f370b1b124abc470531e357 *revdep/library/RAQSAPI/old/pkgconfig/Meta/hsearch.rds +b6c50bac830aed37882642ccfdd73f83 *revdep/library/RAQSAPI/old/pkgconfig/Meta/links.rds +d3ff7f48a18d5351ac152f8025c6925f *revdep/library/RAQSAPI/old/pkgconfig/Meta/nsInfo.rds +74cfa1e562ae55d450e3289de2630f99 *revdep/library/RAQSAPI/old/pkgconfig/Meta/package.rds +1f915a8b87a920068df0dd1ef5b4829c *revdep/library/RAQSAPI/old/pkgconfig/Meta/Rd.rds +cd8e0bb63bd54833fe1e01ad1a8647d6 *revdep/library/RAQSAPI/old/pkgconfig/NAMESPACE +5d7a6d9138c1f41b095a2a14717707b1 *revdep/library/RAQSAPI/old/pkgconfig/NEWS.markdown +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/pkgconfig/R/pkgconfig +7f4dbdd387e5ab80fd6424051ab9bd80 *revdep/library/RAQSAPI/old/pkgconfig/R/pkgconfig.rdb +1e2811f8b7cc3fbdcd0b9139fe2fe67e *revdep/library/RAQSAPI/old/pkgconfig/R/pkgconfig.rdx +ebb4499fb7c8f05aed0f8809d5d654d9 *revdep/library/RAQSAPI/old/pkgconfig/README.markdown +ebb4499fb7c8f05aed0f8809d5d654d9 *revdep/library/RAQSAPI/old/pkgconfig/README.Rmd +be625053e0a3f0d330cbbd89da9b1262 *revdep/library/RAQSAPI/old/purrr/DESCRIPTION +2ae5e4f4ea7fbaab04599cf623e1a9af *revdep/library/RAQSAPI/old/purrr/doc/base.html +3325b9991fb6048cf1852fe16792b516 *revdep/library/RAQSAPI/old/purrr/doc/base.R +6c3228cf25b6740bdfa1832ead401fb3 *revdep/library/RAQSAPI/old/purrr/doc/base.Rmd +5e488320e3e05162f01fcaeb098ce86f *revdep/library/RAQSAPI/old/purrr/doc/index.html +a851cc92e0f31b3a3ef2bdd1d41b1c40 *revdep/library/RAQSAPI/old/purrr/doc/other-langs.html +59ccb5562cdcbbaebc1e7e9d6b2e5e1b *revdep/library/RAQSAPI/old/purrr/doc/other-langs.Rmd +fe2be8aabffd348ef0f939efdb1fc254 *revdep/library/RAQSAPI/old/purrr/help/aliases.rds +474dcdf3477a6c8ede443b7447fa6156 *revdep/library/RAQSAPI/old/purrr/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-questioning.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/purrr/help/figures/lifecycle-superseded.svg +1d60cfe447b30937913953382e194602 *revdep/library/RAQSAPI/old/purrr/help/figures/logo.png +bd41fa3ac25cea016bd1ff94bb26bec2 *revdep/library/RAQSAPI/old/purrr/help/paths.rds +d917da1591fa37fa9dd608d6b20c2257 *revdep/library/RAQSAPI/old/purrr/help/purrr.rdb +533c45f16e8c6010546d2a63533c9551 *revdep/library/RAQSAPI/old/purrr/help/purrr.rdx +a2aea0d14edaf810c4368e049877ef4b *revdep/library/RAQSAPI/old/purrr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/purrr/html/R.css +b2253e66f295a97860a105e90c64978a *revdep/library/RAQSAPI/old/purrr/INDEX +157b97c238c2e2d85fc71197aaa8f7b0 *revdep/library/RAQSAPI/old/purrr/libs/x64/purrr.dll +a9d20c1a23052e846b7064dfb22d2253 *revdep/library/RAQSAPI/old/purrr/libs/x64/symbols.rds +b7d6ac1e742b5272f9f6400acefd18dc *revdep/library/RAQSAPI/old/purrr/LICENSE +22336feb1ca911f5645892d7dc903f37 *revdep/library/RAQSAPI/old/purrr/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/purrr/Meta/features.rds +5fde8eb7ad883ffb23c29d94438cf1ed *revdep/library/RAQSAPI/old/purrr/Meta/hsearch.rds +cd20b287a12e124d617d96ce98ba0862 *revdep/library/RAQSAPI/old/purrr/Meta/links.rds +749536e697140163ee3f65a9c34fe588 *revdep/library/RAQSAPI/old/purrr/Meta/nsInfo.rds +c2296b1fc63bec01b4dc5e6116aa6982 *revdep/library/RAQSAPI/old/purrr/Meta/package.rds +ce64a2851e12961b43c77a81fdbd2263 *revdep/library/RAQSAPI/old/purrr/Meta/Rd.rds +e0fc31c213171174379ecdc708b9d6da *revdep/library/RAQSAPI/old/purrr/Meta/vignette.rds +a139025dc1f1fa2b950dc03fe8bfe851 *revdep/library/RAQSAPI/old/purrr/NAMESPACE +0b668c3272828ad66cee5eb7382ec835 *revdep/library/RAQSAPI/old/purrr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/purrr/R/purrr +2a169fd2a8511b62cc7cbed83073c942 *revdep/library/RAQSAPI/old/purrr/R/purrr.rdb +8db101f49fd10fdad2c08e8da4c1d774 *revdep/library/RAQSAPI/old/purrr/R/purrr.rdx +8612f602f40589de53b5ba41e283183b *revdep/library/RAQSAPI/old/R6/DESCRIPTION +e00340ef703ac98869365b6dc780d9af *revdep/library/RAQSAPI/old/R6/help/aliases.rds +10488b4c14e5efbec0ad3935a3233be3 *revdep/library/RAQSAPI/old/R6/help/AnIndex +ea0913a482ce1aa926631dd7bb46e330 *revdep/library/RAQSAPI/old/R6/help/figures/logo.png +5f3ac92823b5ad4db8d362c634805c54 *revdep/library/RAQSAPI/old/R6/help/figures/logo.svg +8f73e38d5731e9209f8bcc0b91423b2b *revdep/library/RAQSAPI/old/R6/help/paths.rds +dbb810f5072030a3347f8dfcbf2dea94 *revdep/library/RAQSAPI/old/R6/help/R6.rdb +22c3994da22facb6035c29a5f2180685 *revdep/library/RAQSAPI/old/R6/help/R6.rdx +3af3ab028bcdf75cf0086681adb6105b *revdep/library/RAQSAPI/old/R6/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/R6/html/R.css +6f0895156f9d20d053c4f32f641dd9b6 *revdep/library/RAQSAPI/old/R6/INDEX +2491c4039e00be047cce99c452d3fd00 *revdep/library/RAQSAPI/old/R6/LICENSE +1aa7375f1adf26760fa3115270aaecbd *revdep/library/RAQSAPI/old/R6/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/R6/Meta/features.rds +ef9943d2316a68adf9793fcc86acab34 *revdep/library/RAQSAPI/old/R6/Meta/hsearch.rds +bee601629f2d060a3dd68a45dc8b2a92 *revdep/library/RAQSAPI/old/R6/Meta/links.rds +a714db05f596ae8619923f81b8055f7c *revdep/library/RAQSAPI/old/R6/Meta/nsInfo.rds +076486da46ac2f322b9ea37d766a1761 *revdep/library/RAQSAPI/old/R6/Meta/package.rds +638cd034b40075032b802522e361f09b *revdep/library/RAQSAPI/old/R6/Meta/Rd.rds +2290c691ec0011ac745e45d5874fa193 *revdep/library/RAQSAPI/old/R6/NAMESPACE +57bef973aa14163a545adc21ed2707fc *revdep/library/RAQSAPI/old/R6/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/R6/R/R6 +24efa8af5f618c51beec5ecc92221556 *revdep/library/RAQSAPI/old/R6/R/R6.rdb +9a2c1961edcf2968e9e17856ed21f7ce *revdep/library/RAQSAPI/old/R6/R/R6.rdx +5f3c708ae9a7e3610961d99f3375e60f *revdep/library/RAQSAPI/old/RAQSAPI/CITATION +3df907b50c4f00bc26ee6d988e0c849f *revdep/library/RAQSAPI/old/RAQSAPI/codecov.yml +70e30c409e2788090f475bef50b5022f *revdep/library/RAQSAPI/old/RAQSAPI/DESCRIPTION +cf125d5812045cd97093aee831e5c5f5 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Acknowledgements.html +49025d261826350f3050e677eab9dbac *revdep/library/RAQSAPI/old/RAQSAPI/doc/Acknowledgements.Rmd +4b9af1f3b9da96988881ddf1c8d9ee9d *revdep/library/RAQSAPI/old/RAQSAPI/doc/EPA_Disclaimer.html +a79d926b2ab509e6a9e575539b205280 *revdep/library/RAQSAPI/old/RAQSAPI/doc/EPA_Disclaimer.Rmd +a553d4099ca5eaf93be8144a660f2726 *revdep/library/RAQSAPI/old/RAQSAPI/doc/index.html +44aa30dce806516fb33882e14edf4d80 *revdep/library/RAQSAPI/old/RAQSAPI/doc/InstallandSetup.html +69224454907b49f3de5fcf3527a3ad3f *revdep/library/RAQSAPI/old/RAQSAPI/doc/InstallandSetup.Rmd +aaebea417e69f7f1fa559709ba5cbce8 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Intro.html +a629c5720b68a384451709002c95a499 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Intro.Rmd +86f2514a193ffef933d1e682edef04d4 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIFunctions-Brief.html +c801e7c5c4837e9d6abb41e28dcff999 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIFunctions-Brief.Rmd +043e40da83b9e12ea62786af8d046d08 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIFunctions-Long.html +beae9f578e5a4327c6b7a1ed9460a754 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIFunctions-Long.R +04701ea674cc89445fdde4acb4b18ac1 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIFunctions-Long.Rmd +f6a1f578b9267b1182c4c3845fc68fb0 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIPurpose.html +ea8eab93de05207476b4c5f91642b478 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIPurpose.R +b676d49a421ed0b581e2b3269bac31e0 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIPurpose.Rmd +c0099b9c0fa4d49121ad8d61078d13a7 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.html +629b81e7f6056a9411e2ce16e4dfc5c8 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.Rmd +d7bf3097a5777cb04dff5305270f19af *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIvignette.html +00d5d36984a936c7f2497bcdb296a247 *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIvignette.R +cc873a7101715766a6057c2cbb59609d *revdep/library/RAQSAPI/old/RAQSAPI/doc/RAQSAPIvignette.Rmd +3f74dfc92a4d9d85a467f20a1907fd87 *revdep/library/RAQSAPI/old/RAQSAPI/doc/TimelinessofAQSData.html +5d3445414bf02629a8a10b6dc05c47e7 *revdep/library/RAQSAPI/old/RAQSAPI/doc/TimelinessofAQSData.Rmd +c4a8e158b67a1616d4cb9738ba50e8f6 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Troubleshooting.html +5373641f3b58a3b050b503a91700df95 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Troubleshooting.Rmd +341b0518685dcd50be661d59a08f9653 *revdep/library/RAQSAPI/old/RAQSAPI/doc/UsingRAQSAPI.html +1bbe784048774094a98c14a8dab2865c *revdep/library/RAQSAPI/old/RAQSAPI/doc/UsingRAQSAPI.Rmd +5a3979e8ae7cd7361498358959b72ec0 *revdep/library/RAQSAPI/old/RAQSAPI/help/aliases.rds +f9dbf19d1551cf0ad4284c1eab49a8ad *revdep/library/RAQSAPI/old/RAQSAPI/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-questioning.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/RAQSAPI/help/figures/lifecycle-superseded.svg +d271018ac602abe21bfed4c6d829696d *revdep/library/RAQSAPI/old/RAQSAPI/help/paths.rds +bc397fb6281931831e78c7cded4f48c3 *revdep/library/RAQSAPI/old/RAQSAPI/help/RAQSAPI.rdb +13fff1de28c3cd81552f0c1da2c46dff *revdep/library/RAQSAPI/old/RAQSAPI/help/RAQSAPI.rdx +91572759647bb8189286ba4f11511bbf *revdep/library/RAQSAPI/old/RAQSAPI/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/RAQSAPI/html/R.css +f99535ddba7317debef3f9038c75e2a2 *revdep/library/RAQSAPI/old/RAQSAPI/INDEX +e3ec2040a64fbdbb3dc20095cb089882 *revdep/library/RAQSAPI/old/RAQSAPI/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/RAQSAPI/Meta/features.rds +1042a874ac968a014819d327565efc1f *revdep/library/RAQSAPI/old/RAQSAPI/Meta/hsearch.rds +74501c8e21b6c274ded2ffcf95f9ef91 *revdep/library/RAQSAPI/old/RAQSAPI/Meta/links.rds +f4c3edca618ef06c476836abe3130071 *revdep/library/RAQSAPI/old/RAQSAPI/Meta/nsInfo.rds +a52f578d3b5e2d2963386b34a6f28c9e *revdep/library/RAQSAPI/old/RAQSAPI/Meta/package.rds +ca2ca1d9b4de36821f236e6d4c1bec50 *revdep/library/RAQSAPI/old/RAQSAPI/Meta/Rd.rds +fe32d0163dd4b29cfede6c689ffe329d *revdep/library/RAQSAPI/old/RAQSAPI/Meta/vignette.rds +be82b10ddb5e6789ad27087be0d584a4 *revdep/library/RAQSAPI/old/RAQSAPI/NAMESPACE +23c2d5c08f0c870318200dba3c484a30 *revdep/library/RAQSAPI/old/RAQSAPI/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/RAQSAPI/R/RAQSAPI +1ed308a842bd3a556806a20d59c4eb60 *revdep/library/RAQSAPI/old/RAQSAPI/R/RAQSAPI.rdb +a854f0075922eebcc421140444bf286a *revdep/library/RAQSAPI/old/RAQSAPI/R/RAQSAPI.rdx +3c60b4f6b2630b877be7e0243a43de10 *revdep/library/RAQSAPI/old/RAQSAPI/WORDLIST +ee7ab3e7e15d1e00ec001ca33b4571f1 *revdep/library/RAQSAPI/old/rlang/backtrace-ver +3c3dfdc4c4532c6cde360b925aa2bec6 *revdep/library/RAQSAPI/old/rlang/DESCRIPTION +cf45b6677fa46a03f355e44613360aec *revdep/library/RAQSAPI/old/rlang/help/aliases.rds +56c5233f67fa44a4d80fdc7438e0abdd *revdep/library/RAQSAPI/old/rlang/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-questioning.svg +46de21252239c5a23d400eae83ec6b2d *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-retired.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/rlang/help/figures/lifecycle-superseded.svg +42e90e0813fee26f77866a2f8025b3ba *revdep/library/RAQSAPI/old/rlang/help/figures/logo.png +19527c6c67326dfcf5e1e3829431d620 *revdep/library/RAQSAPI/old/rlang/help/paths.rds +fc1e8ce986a1ad9cb17e82ad26832f18 *revdep/library/RAQSAPI/old/rlang/help/rlang.rdb +16b6a255eee4151a0224b5e2b2422910 *revdep/library/RAQSAPI/old/rlang/help/rlang.rdx +6fe5b9d9960e87f789cf97a76f53a7c7 *revdep/library/RAQSAPI/old/rlang/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/rlang/html/R.css +2c11ab8b6f81e1327ac4bb4ba1fc5680 *revdep/library/RAQSAPI/old/rlang/INDEX +1d677a850e238abef73d71f5241f1323 *revdep/library/RAQSAPI/old/rlang/libs/x64/rlang.dll +5d28a557c4ae02b9ad83ca9778dc0ce5 *revdep/library/RAQSAPI/old/rlang/libs/x64/symbols.rds +e6f43178fbfc71c5d0c6586954b66df1 *revdep/library/RAQSAPI/old/rlang/LICENSE +b0a78bbbf249fee8cd601b11a61393ce *revdep/library/RAQSAPI/old/rlang/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/rlang/Meta/features.rds +7e2d7a37c4414f10e65c9bb51e403ee8 *revdep/library/RAQSAPI/old/rlang/Meta/hsearch.rds +0f25e4649cfa8e5faa1efcd7fc53f299 *revdep/library/RAQSAPI/old/rlang/Meta/links.rds +ae6b482bf2c95e9249acb5d9beabf0df *revdep/library/RAQSAPI/old/rlang/Meta/nsInfo.rds +ebf9287be41087214d85508409fa4da6 *revdep/library/RAQSAPI/old/rlang/Meta/package.rds +a3e9c903c0a49a83810f7947609a3fb4 *revdep/library/RAQSAPI/old/rlang/Meta/Rd.rds +8074975cae52b5fac2c1dca49d125429 *revdep/library/RAQSAPI/old/rlang/NAMESPACE +29f47f1e3ac1fe22a58a5393e2da01e9 *revdep/library/RAQSAPI/old/rlang/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/rlang/R/rlang +9fd050273a8ee2ad71ec6bc8a1484af1 *revdep/library/RAQSAPI/old/rlang/R/rlang.rdb +9a30c8470b40e079da8199bc51788de1 *revdep/library/RAQSAPI/old/rlang/R/rlang.rdx +38b67183c21edfed2579b09685839d00 *revdep/library/RAQSAPI/old/stringi/AUTHORS +2e015608d921354d30796a4f9f18f172 *revdep/library/RAQSAPI/old/stringi/CITATION +085aad9d0d4a7d610b60f8ccde009cec *revdep/library/RAQSAPI/old/stringi/DESCRIPTION +e8a008e89d379b41ee55252ae781ad96 *revdep/library/RAQSAPI/old/stringi/help/aliases.rds +4fddf18aff0244a7662b34ebec6d928e *revdep/library/RAQSAPI/old/stringi/help/AnIndex +04ad4dc40042f4462ab8232df5b96e0c *revdep/library/RAQSAPI/old/stringi/help/paths.rds +da78edef6e79d441bb2e7d828ef4f36f *revdep/library/RAQSAPI/old/stringi/help/stringi.rdb +bcd18b98f35fe570686ede3e1e829bf9 *revdep/library/RAQSAPI/old/stringi/help/stringi.rdx +c49b0945bc71da2c40ef33462cea79fa *revdep/library/RAQSAPI/old/stringi/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/stringi/html/R.css +b0b30e41fbb6604a57a0fcbd4543ecee *revdep/library/RAQSAPI/old/stringi/include/stringi.cpp +08ce5cba535973450777ececd0807c79 *revdep/library/RAQSAPI/old/stringi/include/stringi.h +63755a407a6625fd5e3ee7e5d754c6b3 *revdep/library/RAQSAPI/old/stringi/INDEX +470884eb27f0c65a5735fd25c336ab58 *revdep/library/RAQSAPI/old/stringi/libs/icu4c-69.1-data-bin-l-README.md +0716a23c570a084e047fade8fbbeaffd *revdep/library/RAQSAPI/old/stringi/libs/icudt69l.dat +002d2fdc32d17f0ec06e9a47f2c0c8d0 *revdep/library/RAQSAPI/old/stringi/libs/LICENSE +d986a79e888fb8854770613ca015acf9 *revdep/library/RAQSAPI/old/stringi/libs/x64/stringi.dll +1cf34834112f55805772bbaa156e2b4d *revdep/library/RAQSAPI/old/stringi/libs/x64/symbols.rds +ad05a2d317ad20ef97883f995f49f3ed *revdep/library/RAQSAPI/old/stringi/LICENSE +2edefe7093efb1818977269cb8db289e *revdep/library/RAQSAPI/old/stringi/MD5 +dff0c21365af97a4870480e08afc2958 *revdep/library/RAQSAPI/old/stringi/Meta/features.rds +268e0a5cd7ae7f7a2195b9213f5bc9db *revdep/library/RAQSAPI/old/stringi/Meta/hsearch.rds +271c5af96d78045e402471c6a1f52e36 *revdep/library/RAQSAPI/old/stringi/Meta/links.rds +1df22d20da46373d27e919929efb6f5c *revdep/library/RAQSAPI/old/stringi/Meta/nsInfo.rds +662d0e50182a83e241667992c0b63648 *revdep/library/RAQSAPI/old/stringi/Meta/package.rds +7ffa9fd924e32a442b96e2da8ff3afdf *revdep/library/RAQSAPI/old/stringi/Meta/Rd.rds +fbccc8447bec59bda28786a6a59b3442 *revdep/library/RAQSAPI/old/stringi/NAMESPACE +db7d0f233183fed025245f395f285d91 *revdep/library/RAQSAPI/old/stringi/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/stringi/R/stringi +7903699d04148e790e30c9ce4adacaeb *revdep/library/RAQSAPI/old/stringi/R/stringi.rdb +2a9981cc24472847b92e21ce22edfd51 *revdep/library/RAQSAPI/old/stringi/R/stringi.rdx +62c6670e61428e81751a76e1b9b4de1f *revdep/library/RAQSAPI/old/stringr/data/Rdata.rdb +f9b33526584f218a3f2f76203b465b8d *revdep/library/RAQSAPI/old/stringr/data/Rdata.rds +0ef89cc20a01f0289a35345e6de46676 *revdep/library/RAQSAPI/old/stringr/data/Rdata.rdx +4b578850e31982db5e40563a45fde642 *revdep/library/RAQSAPI/old/stringr/DESCRIPTION +e6910bb5ec8cd1f3b2c165c149317d9b *revdep/library/RAQSAPI/old/stringr/doc/from-base.html +0717e0dda865628a520b70efe4088ce5 *revdep/library/RAQSAPI/old/stringr/doc/from-base.R +6a6c3ca43f206912d436d5f2ff53b9f0 *revdep/library/RAQSAPI/old/stringr/doc/from-base.Rmd +7285a377c6854704ee15ec17bd7580ff *revdep/library/RAQSAPI/old/stringr/doc/index.html +db3a77d2a1ab8d55adc08e4a5d368bf6 *revdep/library/RAQSAPI/old/stringr/doc/regular-expressions.html +efc57c3ce213aa9c19f3e1aef8eafd48 *revdep/library/RAQSAPI/old/stringr/doc/regular-expressions.R +bee4d7614ef68fce3dc6772a0442a1ff *revdep/library/RAQSAPI/old/stringr/doc/regular-expressions.Rmd +316432d18fa01c2b44bb0a827b018e11 *revdep/library/RAQSAPI/old/stringr/doc/stringr.html +1e7c7daf88cc43a474c7fa95bd20e035 *revdep/library/RAQSAPI/old/stringr/doc/stringr.R +2e6abe80c39713fdd5778e6276185408 *revdep/library/RAQSAPI/old/stringr/doc/stringr.Rmd +a1c58d8b536f52916ebe8c602e952e77 *revdep/library/RAQSAPI/old/stringr/help/aliases.rds +4929f4c305241d53d93e4e67bdf7ce60 *revdep/library/RAQSAPI/old/stringr/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-questioning.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/stringr/help/figures/lifecycle-superseded.svg +7090c91ac9cc554962bd49006e492c20 *revdep/library/RAQSAPI/old/stringr/help/figures/logo.png +efb7ca96bfedc105ce20139c2585eb46 *revdep/library/RAQSAPI/old/stringr/help/paths.rds +672e059104d902c522e1ae81025a9473 *revdep/library/RAQSAPI/old/stringr/help/stringr.rdb +0df8ff5c953ba3a8dd5fa69af33053fa *revdep/library/RAQSAPI/old/stringr/help/stringr.rdx +0627aaf93bcba881b00d41211fe2e3d3 *revdep/library/RAQSAPI/old/stringr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/stringr/html/R.css +5f38e68c0f6148b954a6849fe553b173 *revdep/library/RAQSAPI/old/stringr/htmlwidgets/lib/str_view.css +e7c37a495d4ae965400eeb1000dee672 *revdep/library/RAQSAPI/old/stringr/htmlwidgets/str_view.js +1763429826b7f9745d2e590e4ca4c119 *revdep/library/RAQSAPI/old/stringr/htmlwidgets/str_view.yaml +82040caeb155bf2dd7659c5c739e6aad *revdep/library/RAQSAPI/old/stringr/INDEX +7ade021f2871274e95c9933ddcce8590 *revdep/library/RAQSAPI/old/stringr/LICENSE +7f8b3d53bc3995ddb6247d17073f3bc2 *revdep/library/RAQSAPI/old/stringr/MD5 +af22eba40b479015db800aae77f845a2 *revdep/library/RAQSAPI/old/stringr/Meta/data.rds +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/stringr/Meta/features.rds +5dfd87d246ff13bf357bbc60db984b60 *revdep/library/RAQSAPI/old/stringr/Meta/hsearch.rds +baa1489655f0513556b579022d2791d7 *revdep/library/RAQSAPI/old/stringr/Meta/links.rds +95f2871f53bcf19f525ea407236742cb *revdep/library/RAQSAPI/old/stringr/Meta/nsInfo.rds +e1a4a165fa67cd19b4a613dee6804222 *revdep/library/RAQSAPI/old/stringr/Meta/package.rds +437fcb0f937485a64f29333069ad9f77 *revdep/library/RAQSAPI/old/stringr/Meta/Rd.rds +587a8ec703725aea800b78dbc43ad728 *revdep/library/RAQSAPI/old/stringr/Meta/vignette.rds +53cac8267191c7135e60ff422a789b57 *revdep/library/RAQSAPI/old/stringr/NAMESPACE +d52176f7f5add8347e3faff3f5c5c647 *revdep/library/RAQSAPI/old/stringr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/stringr/R/stringr +1056bc064ffc0708912eef16970606c0 *revdep/library/RAQSAPI/old/stringr/R/stringr.rdb +6583087ffb3ea3251486b59258ce7809 *revdep/library/RAQSAPI/old/stringr/R/stringr.rdx +5e30b845c23e16d59ca0b3aa8130c9d6 *revdep/library/RAQSAPI/old/sys/DESCRIPTION +f9c2a93b365732e2ecdfa834fcc603d9 *revdep/library/RAQSAPI/old/sys/help/aliases.rds +f5c03fffe53caa927909483bc0888062 *revdep/library/RAQSAPI/old/sys/help/AnIndex +16c465d13b6d63d066748ed3a4f6f282 *revdep/library/RAQSAPI/old/sys/help/paths.rds +05580d6c1a7db4d1b58b94fec12182a0 *revdep/library/RAQSAPI/old/sys/help/sys.rdb +3b58ef21216d27a3182d80adede9ceb4 *revdep/library/RAQSAPI/old/sys/help/sys.rdx +66e168161560fc59e58976ce3a5e2267 *revdep/library/RAQSAPI/old/sys/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/sys/html/R.css +72c25cc809978faf4fc7ee5d5b08fd2b *revdep/library/RAQSAPI/old/sys/INDEX +bad475af8a0262b4afe53c0c6606e89b *revdep/library/RAQSAPI/old/sys/libs/x64/symbols.rds +68b57b18293c1336cb1673752defc0d4 *revdep/library/RAQSAPI/old/sys/libs/x64/sys.dll +f35c1dd7a6e913e967bd6e03dd8a3c18 *revdep/library/RAQSAPI/old/sys/LICENSE +2c1db72316118701279d6f1f6fe1b264 *revdep/library/RAQSAPI/old/sys/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/sys/Meta/features.rds +015773524049db359ffa96cba228b63f *revdep/library/RAQSAPI/old/sys/Meta/hsearch.rds +79826cbf4c0a48a87e2a44160a62e2fa *revdep/library/RAQSAPI/old/sys/Meta/links.rds +01c4e1f5cdf5644d9923333cfd30cee9 *revdep/library/RAQSAPI/old/sys/Meta/nsInfo.rds +9a1f531313950136f4db8eb2aeae8fca *revdep/library/RAQSAPI/old/sys/Meta/package.rds +beed8da41c8ceb4e4308179db07dc11d *revdep/library/RAQSAPI/old/sys/Meta/Rd.rds +9c1f8e2d8ed675addf415c3ef5be77f7 *revdep/library/RAQSAPI/old/sys/NAMESPACE +66be9d58ccce65e90d7381ac3a15f8a6 *revdep/library/RAQSAPI/old/sys/NEWS +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/sys/R/sys +81ddb0c916545e5380bcf7479db5cc5a *revdep/library/RAQSAPI/old/sys/R/sys.rdb +24b0ac254f2541f2e8ee6d604d103e11 *revdep/library/RAQSAPI/old/sys/R/sys.rdx +6c786db85c26a880352ad8593ad6250f *revdep/library/RAQSAPI/old/sys/utf8.txt +5cbe3f29bed1c09ac980f07d1efde6ce *revdep/library/RAQSAPI/old/sys/WORDLIST +4cb8b04a5569811d1fab9f05861542d4 *revdep/library/RAQSAPI/old/tibble/DESCRIPTION +ea1aebf1ebf265044bb924815c9b9efb *revdep/library/RAQSAPI/old/tibble/doc/digits.html +4b3d5d1d801a3fc12b15f269bb7ba0dd *revdep/library/RAQSAPI/old/tibble/doc/digits.R +c73870bdafa14576a97d801b49d8ff9f *revdep/library/RAQSAPI/old/tibble/doc/digits.Rmd +c3748215a65165c388d6ac2b61409ff4 *revdep/library/RAQSAPI/old/tibble/doc/extending.html +f92cf022d0cc1ee77ebf28d7c177cdad *revdep/library/RAQSAPI/old/tibble/doc/extending.R +93814367756b8935676717ad9c34fab1 *revdep/library/RAQSAPI/old/tibble/doc/extending.Rmd +d290a38dbf8c267a9ecfcc4fd28043c6 *revdep/library/RAQSAPI/old/tibble/doc/formats.html +9f46216d8a3e1851a119443787975d17 *revdep/library/RAQSAPI/old/tibble/doc/formats.R +67997d88f34301e69fa0f4df97f4ecaf *revdep/library/RAQSAPI/old/tibble/doc/formats.Rmd +d35f883a2975d90c7def1947ea3d025d *revdep/library/RAQSAPI/old/tibble/doc/index.html +efd892d1bbce87f94a587eeb8fdd385d *revdep/library/RAQSAPI/old/tibble/doc/invariants.html +7fae8e7b4739afc74a23cb051d2289d0 *revdep/library/RAQSAPI/old/tibble/doc/invariants.R +1d4b307a576275975bd3432aac12c800 *revdep/library/RAQSAPI/old/tibble/doc/invariants.Rmd +87336c471d66689559823a9c101f4913 *revdep/library/RAQSAPI/old/tibble/doc/numbers.html +e953b1ce9602e4472e6c3b59a9e1fe4b *revdep/library/RAQSAPI/old/tibble/doc/numbers.R +c4f421cb9a1e21f54b835386dc840821 *revdep/library/RAQSAPI/old/tibble/doc/numbers.Rmd +0703b269ce9c418ba9e030953e246cd1 *revdep/library/RAQSAPI/old/tibble/doc/tibble.html +31110d5bdbc3cf014558d1cc0ff1031d *revdep/library/RAQSAPI/old/tibble/doc/tibble.R +1c529ece54970f2f0a75b8ce75db6e08 *revdep/library/RAQSAPI/old/tibble/doc/tibble.Rmd +8a1eda4ae9c69b5240c707889d2653eb *revdep/library/RAQSAPI/old/tibble/doc/types.html +f77404efdec1daf51b5cf1424486c68a *revdep/library/RAQSAPI/old/tibble/doc/types.R +d2b52ddb18629851be651beaba8010e1 *revdep/library/RAQSAPI/old/tibble/doc/types.Rmd +890c559b0d9674ebe9a0e74917e3db7e *revdep/library/RAQSAPI/old/tibble/help/aliases.rds +537f1c5154ee86ed5ee20ace8a761be3 *revdep/library/RAQSAPI/old/tibble/help/AnIndex +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-questioning.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-stable.svg +d519c3283da75955a8cbaec351380d28 *revdep/library/RAQSAPI/old/tibble/help/figures/lifecycle-superseded.svg +2db3b0e7250ce7abb3301a26a21c743c *revdep/library/RAQSAPI/old/tibble/help/figures/logo.png +68320cc17bcd0d73a1211b2083f9f918 *revdep/library/RAQSAPI/old/tibble/help/paths.rds +c918e65d64349a3d3c6b441f2cf7ba7c *revdep/library/RAQSAPI/old/tibble/help/tibble.rdb +28c8c448bb4fb6bb78abe03cb5c38c5d *revdep/library/RAQSAPI/old/tibble/help/tibble.rdx +90113bf6b150bcbc58af100f668469a8 *revdep/library/RAQSAPI/old/tibble/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/tibble/html/R.css +ebc15dd5be6129fb366650fcf8f319bf *revdep/library/RAQSAPI/old/tibble/INDEX +056b12666661cb16e34dcd879a54d690 *revdep/library/RAQSAPI/old/tibble/libs/x64/symbols.rds +4b662e1dbf7cb2aa9e66d1336f0d3ed8 *revdep/library/RAQSAPI/old/tibble/libs/x64/tibble.dll +4ac396cdf32c44b3d07b7d6c9fd388d0 *revdep/library/RAQSAPI/old/tibble/LICENSE +0054fe772dcd7cb7dbd0916bcacff2f7 *revdep/library/RAQSAPI/old/tibble/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/tibble/Meta/features.rds +c91985ead1e17b9821aeda78015d8fbb *revdep/library/RAQSAPI/old/tibble/Meta/hsearch.rds +a77791e6929f29bb03ff65198674fa29 *revdep/library/RAQSAPI/old/tibble/Meta/links.rds +56ed6534fd6d5c555c264cccc7ce818a *revdep/library/RAQSAPI/old/tibble/Meta/nsInfo.rds +65348c754bf65796f3c689cf770b918c *revdep/library/RAQSAPI/old/tibble/Meta/package.rds +83a0445c9bef43db2a4211db748e653a *revdep/library/RAQSAPI/old/tibble/Meta/Rd.rds +2a5b94237c377f2981732a08ea28043e *revdep/library/RAQSAPI/old/tibble/Meta/vignette.rds +e189848f4dcd003a82e94fdd27c07789 *revdep/library/RAQSAPI/old/tibble/NAMESPACE +59ebf23969f8305403c24165b0a2cae7 *revdep/library/RAQSAPI/old/tibble/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/tibble/R/tibble +6c0119d929d079806c51c98edc04f919 *revdep/library/RAQSAPI/old/tibble/R/tibble.rdb +56cbd518fb3bf2f37fda716d090e3e99 *revdep/library/RAQSAPI/old/tibble/R/tibble.rdx +c1608d152e97fd21600bbdc61aee431d *revdep/library/RAQSAPI/old/tidyselect/DESCRIPTION +03116e158ed798fd4681762d6626fa61 *revdep/library/RAQSAPI/old/tidyselect/doc/index.html +f28f3b2f37d0f342316c82f3dd86fa7e *revdep/library/RAQSAPI/old/tidyselect/doc/syntax.html +da58b3ee012ebb31d2a89290ddfb0822 *revdep/library/RAQSAPI/old/tidyselect/doc/syntax.R +7cf98e5a8509189bbbbaddd52107fef8 *revdep/library/RAQSAPI/old/tidyselect/doc/syntax.Rmd +833d9cdf8a01e9d06d9601f7aaa87d39 *revdep/library/RAQSAPI/old/tidyselect/doc/tidyselect.html +cceffb1cc58a31bef9aa9e00fc3b626b *revdep/library/RAQSAPI/old/tidyselect/doc/tidyselect.R +5ae925284f8746747be64518c509bf94 *revdep/library/RAQSAPI/old/tidyselect/doc/tidyselect.Rmd +c093a6a60df266357d69414036b54f89 *revdep/library/RAQSAPI/old/tidyselect/help/aliases.rds +742e9628f31f524831e7a5c158dd855f *revdep/library/RAQSAPI/old/tidyselect/help/AnIndex +77403ff8d5454735eb087cb505ed0890 *revdep/library/RAQSAPI/old/tidyselect/help/paths.rds +922ca503a9387fa3797c909cd5cf56fa *revdep/library/RAQSAPI/old/tidyselect/help/tidyselect.rdb +8e942c9c12c1f492abfdaa68be15e86e *revdep/library/RAQSAPI/old/tidyselect/help/tidyselect.rdx +a58cc76c8f4b74c29a495672898b31dc *revdep/library/RAQSAPI/old/tidyselect/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/tidyselect/html/R.css +583389aa0912c12d466ae405fb97995a *revdep/library/RAQSAPI/old/tidyselect/INDEX +2d19204519c1403aa1c4d36dcbbd5a51 *revdep/library/RAQSAPI/old/tidyselect/LICENSE +da2a0d0e0edab74d0b4d1fa2556490d7 *revdep/library/RAQSAPI/old/tidyselect/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/tidyselect/Meta/features.rds +cffd12c3c0888c0fe8878f82430ee9a1 *revdep/library/RAQSAPI/old/tidyselect/Meta/hsearch.rds +66ef36f8c012a9774cd38722e0807b2f *revdep/library/RAQSAPI/old/tidyselect/Meta/links.rds +8143cbf9379f38532440ce2f8383ac42 *revdep/library/RAQSAPI/old/tidyselect/Meta/nsInfo.rds +d68209dc17aa484d915b629477c58f45 *revdep/library/RAQSAPI/old/tidyselect/Meta/package.rds +4bae98609775bbbcf4fdd22600673980 *revdep/library/RAQSAPI/old/tidyselect/Meta/Rd.rds +d8b55803002ee512050bf195f217c198 *revdep/library/RAQSAPI/old/tidyselect/Meta/vignette.rds +bb0487b56562a51a1ed2b1d6c6f6616f *revdep/library/RAQSAPI/old/tidyselect/NAMESPACE +d9b30d72c6d8c02a7121335bc3bae773 *revdep/library/RAQSAPI/old/tidyselect/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/tidyselect/R/tidyselect +946400fd75fc51ad7009f0d7f0376b49 *revdep/library/RAQSAPI/old/tidyselect/R/tidyselect.rdb +9d221964e56aede5a78350c7f5288bb2 *revdep/library/RAQSAPI/old/tidyselect/R/tidyselect.rdx +51a1f306432af6d161d57b6f2d94b790 *revdep/library/RAQSAPI/old/timechange/DESCRIPTION +33b49285a80fe371609b26c63b138e90 *revdep/library/RAQSAPI/old/timechange/help/aliases.rds +d5953af4ac7fe598543d9a97ac0ce158 *revdep/library/RAQSAPI/old/timechange/help/AnIndex +feae6343e135ff08bdca0655a1da7324 *revdep/library/RAQSAPI/old/timechange/help/paths.rds +15d6de7af49ed0473887de93e8ce69cb *revdep/library/RAQSAPI/old/timechange/help/timechange.rdb +e712f29f674103e912a94b63003a9bec *revdep/library/RAQSAPI/old/timechange/help/timechange.rdx +6641999ace2d1381ae5e0ccd14e66fc8 *revdep/library/RAQSAPI/old/timechange/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/timechange/html/R.css +d134af0f17028249039d59c174b500bb *revdep/library/RAQSAPI/old/timechange/INDEX +91412f3dcfa52ca90fc515326069d767 *revdep/library/RAQSAPI/old/timechange/libs/x64/symbols.rds +c4ba9db86a7ac9c6ae470d9771b1651c *revdep/library/RAQSAPI/old/timechange/libs/x64/timechange.dll +774f7633b06ead14f91cc2c07fec614c *revdep/library/RAQSAPI/old/timechange/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/timechange/Meta/features.rds +fb36b09273fb80c18ce8f56b0acebeb2 *revdep/library/RAQSAPI/old/timechange/Meta/hsearch.rds +b79ac5859106fab5f375c727f34fe982 *revdep/library/RAQSAPI/old/timechange/Meta/links.rds +3fce6279b91d6e2c886067a0c548993b *revdep/library/RAQSAPI/old/timechange/Meta/nsInfo.rds +1342c555ef4b8d2bb98249cf60df12d3 *revdep/library/RAQSAPI/old/timechange/Meta/package.rds +18619fcc131a7919da827032f742d510 *revdep/library/RAQSAPI/old/timechange/Meta/Rd.rds +016a72d7e6012ffa747f8f1571551f08 *revdep/library/RAQSAPI/old/timechange/NAMESPACE +6dc1b5bb7653ebfc4b511b22dcc5ac58 *revdep/library/RAQSAPI/old/timechange/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/timechange/R/timechange +98bb56cc1707b217b127c4d436340eb5 *revdep/library/RAQSAPI/old/timechange/R/timechange.rdb +6ec15658edc8636c94d57674a4af783a *revdep/library/RAQSAPI/old/timechange/R/timechange.rdx +dbb42559af9db70543a433003207e3d2 *revdep/library/RAQSAPI/old/utf8/DESCRIPTION +7315c668cbfb6ad763572c17ef4d90b2 *revdep/library/RAQSAPI/old/utf8/doc/index.html +a396d66c1fcef7eae325d626bf8a3e05 *revdep/library/RAQSAPI/old/utf8/doc/utf8.html +3d18f5ac90eaf6d379d9a43b161f5ba8 *revdep/library/RAQSAPI/old/utf8/doc/utf8.Rmd +aa4ac91721322d969784f16e8a1156c5 *revdep/library/RAQSAPI/old/utf8/help/aliases.rds +a53b71fe5c5e8f551d16be1db708821b *revdep/library/RAQSAPI/old/utf8/help/AnIndex +ed944667fd68947faefc7b1abefb5809 *revdep/library/RAQSAPI/old/utf8/help/paths.rds +d05642240b01c19abbeee8aef68e24a1 *revdep/library/RAQSAPI/old/utf8/help/utf8.rdb +1042c7bbd61c8e0f11f85e850e22e563 *revdep/library/RAQSAPI/old/utf8/help/utf8.rdx +bf6d7bb3b1315f945d93b0741a7890cc *revdep/library/RAQSAPI/old/utf8/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/utf8/html/R.css +e4a0d8ce544294ce6f1c0eb8d198e01b *revdep/library/RAQSAPI/old/utf8/INDEX +0c3b24618df711da25a2a79db5293f98 *revdep/library/RAQSAPI/old/utf8/libs/x64/symbols.rds +124127df737e33b7f96acb7087a4bf35 *revdep/library/RAQSAPI/old/utf8/libs/x64/utf8.dll +3b83ef96387f14655fc854ddc3c6bd57 *revdep/library/RAQSAPI/old/utf8/LICENSE +6ddbc6bd052e69f4ac2eaec8ded29fee *revdep/library/RAQSAPI/old/utf8/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/utf8/Meta/features.rds +afabd02d857f0a39397ff8d0b2ecc588 *revdep/library/RAQSAPI/old/utf8/Meta/hsearch.rds +89e4116949532a569a6d482aa37455e4 *revdep/library/RAQSAPI/old/utf8/Meta/links.rds +434e03253302fd565433ae0343938ffc *revdep/library/RAQSAPI/old/utf8/Meta/nsInfo.rds +1609fc8aef160762015033cb2c997a06 *revdep/library/RAQSAPI/old/utf8/Meta/package.rds +bbe029d92372fdf0374a993adcbbe1b9 *revdep/library/RAQSAPI/old/utf8/Meta/Rd.rds +4c6624feffde955713e64bb1a7bf1cc8 *revdep/library/RAQSAPI/old/utf8/Meta/vignette.rds +9eb610e029fc704406b2e7ba88b2038a *revdep/library/RAQSAPI/old/utf8/NAMESPACE +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/utf8/R/utf8 +0dfed2a3cd2930e6e799218806fb92e4 *revdep/library/RAQSAPI/old/utf8/R/utf8.rdb +f52138995983bc567ef18e04df2e025a *revdep/library/RAQSAPI/old/utf8/R/utf8.rdx +604472c23453f748c91a2b58359bd75d *revdep/library/RAQSAPI/old/vctrs/DESCRIPTION +374ee2b49766eaa26575f1c75518b4dd *revdep/library/RAQSAPI/old/vctrs/doc/index.html +0b71debf00a2c7fea85ea970c0c10bc6 *revdep/library/RAQSAPI/old/vctrs/doc/pillar.html +4d40df320b2e4c7062d437ca8a842532 *revdep/library/RAQSAPI/old/vctrs/doc/pillar.R +7dec628565582a504f5aa9744f865cd9 *revdep/library/RAQSAPI/old/vctrs/doc/pillar.Rmd +1da2a558a99b8550680fb8069956164f *revdep/library/RAQSAPI/old/vctrs/doc/s3-vector.html +43b3b1de0921944909ec4a9114eacfce *revdep/library/RAQSAPI/old/vctrs/doc/s3-vector.R +a4ea10221c80d1855953ac3c4f083fc2 *revdep/library/RAQSAPI/old/vctrs/doc/s3-vector.Rmd +2259cf636078d369305865f5b4956e1c *revdep/library/RAQSAPI/old/vctrs/doc/stability.html +deaacd36df590ff4a3d0f535bd24e3dc *revdep/library/RAQSAPI/old/vctrs/doc/stability.R +4839ddd2a359470622d6edcca6c49edf *revdep/library/RAQSAPI/old/vctrs/doc/stability.Rmd +907f82944fa0d02d6f02df63630f3e79 *revdep/library/RAQSAPI/old/vctrs/doc/type-size.html +0352c1b2b6bfe4ec421cc38492b8ec6b *revdep/library/RAQSAPI/old/vctrs/doc/type-size.R +72c63cb0dd9c179724530995e4cdf7f1 *revdep/library/RAQSAPI/old/vctrs/doc/type-size.Rmd +dafac2ade4984246795cfb3a56447d9d *revdep/library/RAQSAPI/old/vctrs/help/aliases.rds +62b28e61e42704774812203de9c4f476 *revdep/library/RAQSAPI/old/vctrs/help/AnIndex +69eb638d262c60d5bd5ed2aa4717190c *revdep/library/RAQSAPI/old/vctrs/help/figures/cast.png +f5627d4a9d3071aad2dec7dbd3d33eca *revdep/library/RAQSAPI/old/vctrs/help/figures/coerce.png +e01d20997a9c8d069ef28e3c6013bd8c *revdep/library/RAQSAPI/old/vctrs/help/figures/combined.png +cb1e46f469cfbbbde29c8b5113e1d789 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-archived.svg +c0d2e5a54f1fa4ff02bf9533079dd1f7 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-defunct.svg +a1b8c987c676c16af790f563f96cbb1f *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-deprecated.svg +c3978703d8f40f2679795335715e98f4 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-experimental.svg +952b59dc07b171b97d5d982924244f61 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-maturing.svg +27b879bf3677ea76e3991d56ab324081 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-questioning.svg +6902bbfaf963fbc4ed98b86bda80caa2 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-soft-deprecated.svg +53b3f893324260b737b3c46ed2a0e643 *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-stable.svg +1c1fe7a759b86dc6dbcbe7797ab8246c *revdep/library/RAQSAPI/old/vctrs/help/figures/lifecycle-superseded.svg +865c1e8576113b430bcb2d69bfdb0e76 *revdep/library/RAQSAPI/old/vctrs/help/figures/logo.png +25e2f330cc7176f22ad3cc5a3ba4dc22 *revdep/library/RAQSAPI/old/vctrs/help/figures/sizes-recycling.png +0c3de09d34b6b7e94e7671c08e9df3f8 *revdep/library/RAQSAPI/old/vctrs/help/figures/vec-count-deps.png +2995e7508f8f053600f8e21cec6b60c3 *revdep/library/RAQSAPI/old/vctrs/help/figures/vec-count-deps.svg +64389dce248447677ebe7e2415377535 *revdep/library/RAQSAPI/old/vctrs/help/paths.rds +e2d74aba93791df64422acb9c4a667ec *revdep/library/RAQSAPI/old/vctrs/help/vctrs.rdb +4624196e6d50f6cf8f421a70ad291d51 *revdep/library/RAQSAPI/old/vctrs/help/vctrs.rdx +d52971ea1a631613ed8960e87650668c *revdep/library/RAQSAPI/old/vctrs/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/vctrs/html/R.css +23d206cd5b3ad3c4a357ddb6551fcd35 *revdep/library/RAQSAPI/old/vctrs/include/vctrs.c +67efd743e1f714d4fdb6a27898469147 *revdep/library/RAQSAPI/old/vctrs/include/vctrs.h +424000de6fc0fd8813df9fcaf22e354e *revdep/library/RAQSAPI/old/vctrs/INDEX +d14dc5720ee787213457bb8427e96700 *revdep/library/RAQSAPI/old/vctrs/libs/x64/symbols.rds +6151dee6d0dc03aebefdd36da7a6b554 *revdep/library/RAQSAPI/old/vctrs/libs/x64/vctrs.dll +bb38d60fdc799f700b0f8537f9fc4110 *revdep/library/RAQSAPI/old/vctrs/LICENSE +c65f1485d6fde596ba638aedade360b9 *revdep/library/RAQSAPI/old/vctrs/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/vctrs/Meta/features.rds +cb85d1a9db1b0220fd9e6ac1a78b3280 *revdep/library/RAQSAPI/old/vctrs/Meta/hsearch.rds +1c40579f1687bd58753b1effebd27ca1 *revdep/library/RAQSAPI/old/vctrs/Meta/links.rds +ca18c951b9e4c513a606884f6793f31c *revdep/library/RAQSAPI/old/vctrs/Meta/nsInfo.rds +9e27c2597d93c53debfa6dd8ace8c1ad *revdep/library/RAQSAPI/old/vctrs/Meta/package.rds +227bd071713086fbad759b8120efa3c7 *revdep/library/RAQSAPI/old/vctrs/Meta/Rd.rds +71c6819adaf73a03605d335a479a09c9 *revdep/library/RAQSAPI/old/vctrs/Meta/vignette.rds +b29d26a3acc8fc3be7b570b00281774d *revdep/library/RAQSAPI/old/vctrs/NAMESPACE +037d069876c879d15cb47a7921d4ad2e *revdep/library/RAQSAPI/old/vctrs/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/vctrs/R/vctrs +d819f620cd20afbf496de46e013f0090 *revdep/library/RAQSAPI/old/vctrs/R/vctrs.rdb +466df485a6e57174b9b504c02433844f *revdep/library/RAQSAPI/old/vctrs/R/vctrs.rdx +43cc81e569685f0ede8af83150d4f016 *revdep/library/RAQSAPI/old/vctrs/WORDLIST +4e0d57f9210d1277dcdcca05b5197e76 *revdep/library/RAQSAPI/old/withr/DESCRIPTION +be0efca303e819de026097b004ce5799 *revdep/library/RAQSAPI/old/withr/doc/changing-and-restoring-state.html +083f07f7273b941c0bc91470ee2c3946 *revdep/library/RAQSAPI/old/withr/doc/changing-and-restoring-state.R +513119645a9dd924fef3cd504ef3b3e2 *revdep/library/RAQSAPI/old/withr/doc/changing-and-restoring-state.Rmd +5df16569e6ef94d5997da40a11891edf *revdep/library/RAQSAPI/old/withr/doc/index.html +232964cfc94ef6d259f8a824084ea463 *revdep/library/RAQSAPI/old/withr/help/aliases.rds +d26fbaa6d2c724f5e9bd8eb89610a21e *revdep/library/RAQSAPI/old/withr/help/AnIndex +ab471e54cdcde1b00fbfb165e9c3639b *revdep/library/RAQSAPI/old/withr/help/figures/logo.png +40af1efbfdf130062a304c44632ac021 *revdep/library/RAQSAPI/old/withr/help/figures/README-unnamed-chunk-3-1.png +878497e59792cbb63afaa7a0dfed02dd *revdep/library/RAQSAPI/old/withr/help/paths.rds +496fc69bdbaa5a5cc0a4abb43a54b688 *revdep/library/RAQSAPI/old/withr/help/withr.rdb +a0ad74e2a0246ce558374669b4f87385 *revdep/library/RAQSAPI/old/withr/help/withr.rdx +b91e68ecd46d35e9a94bf0af3c52f576 *revdep/library/RAQSAPI/old/withr/html/00Index.html +8b9362669af13540a86a3ac6cf22f99d *revdep/library/RAQSAPI/old/withr/html/R.css +8875089cb41cb021d5560cb4a0897ad5 *revdep/library/RAQSAPI/old/withr/INDEX +6d8b003cc83b1dfced7bd996b18429dc *revdep/library/RAQSAPI/old/withr/LICENSE +98c940a1d9e704e0b410ed8a86af0be0 *revdep/library/RAQSAPI/old/withr/MD5 +f191f333b866ab8dcb201f48270fe190 *revdep/library/RAQSAPI/old/withr/Meta/features.rds +459d2acf85cac33c153d454d29a02b74 *revdep/library/RAQSAPI/old/withr/Meta/hsearch.rds +ca5430b01e9e8dbaf359769998fd21e9 *revdep/library/RAQSAPI/old/withr/Meta/links.rds +153e55e50f739520d0e8f0744e43e1db *revdep/library/RAQSAPI/old/withr/Meta/nsInfo.rds +0e54f76d155e0f30d27a7b7938836e97 *revdep/library/RAQSAPI/old/withr/Meta/package.rds +671d00711a871e3332d6cecae25f7a31 *revdep/library/RAQSAPI/old/withr/Meta/Rd.rds +122fde171e3b5ab974a978249edddc0c *revdep/library/RAQSAPI/old/withr/Meta/vignette.rds +3d1b502d24fbf44cdade15005f4b62c5 *revdep/library/RAQSAPI/old/withr/NAMESPACE +02eb2c1332237874fbd9fe4ad7126926 *revdep/library/RAQSAPI/old/withr/NEWS.md +d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/withr/R/withr +15555fca7316565164b7811202ac04fb *revdep/library/RAQSAPI/old/withr/R/withr.rdb +42d6e483dff72b57e3a9ac38eeada563 *revdep/library/RAQSAPI/old/withr/R/withr.rdx 9566921a96ff55c1a51b6eb898d25884 *tests/spelling.R 846f989b5f8b7a32fa520e52b4675635 *tests/test-RAQSAPI.R.blob 84732d71bac50c96565c4894a24ecc59 *tests/testthat.R @@ -155,7 +1399,7 @@ f4618d7a4c9e7868f40c5ab3f9d927cc *tests/testthat/test-RAQSAPlistfunctions.R 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl 39365075c6f1d3ae375438054d27cb89 *vignettes/AQSAPI.bib -4b9af1f3b9da96988881ddf1c8d9ee9d *vignettes/EPA_Disclaimer.html +de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 1c570b4ec9c8d640788f0b17c88ecd77 *vignettes/figures/aqslogotransparent.png 3e50a3dc6b00b7861afe3dd8f8ede7c5 *vignettes/figures/RAQSAPIhexsticker.png diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index 23756bc..0551124 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -429,10 +429,7 @@ aqs <- function(service, filter = NA, user = NA, query = query ) - AQSresult <- httr::GET(url, - user_agent, - httr::config(ssl_cipher_list = 'DEFAULT@SECLEVEL=1') - ) + AQSresult <- httr::GET(url, user_agent) aqs_ratelimit() if (httr::http_type(AQSresult) != "application/json") { stop("API did not return json", call. = TRUE) @@ -1136,6 +1133,7 @@ aqsmultiyearparams <- function(parameter, bdate, edate, service, ...) stateFIPS = ellipsis_args$stateFIPS, countycode = ellipsis_args$countycode, sitenum = ellipsis_args$sitenum, + duration = ellipsis_args$duration, service = service, cbdate = ellipsis_args$cbdate, cedate = ellipsis_args$cedate, diff --git a/R/RAQSAPIlistfunctions.R b/R/RAQSAPIlistfunctions.R index 29d0f28..1964a52 100644 --- a/R/RAQSAPIlistfunctions.R +++ b/R/RAQSAPIlistfunctions.R @@ -440,6 +440,10 @@ aqs_fields_by_service <- function(service, return_header = FALSE) #' item list that contains header information returned #' from the API server mostly used for debugging #' purposes in addition to the data requested. +#' @note Not all sample durations that are available through AQS are available +#' through the AQS DataMart API, including certain calculated sample +#' durations. Only sample durations that are available through the +#' AQS DataMart API are returned. #' @return a tibble or an AQS_Data Mart_APIv2 S3 object of sample durations and #' their associated duration codes #' (groups of parameters, i.e. "criteria" or "all"). diff --git a/README.md b/README.md index 73139be..417b737 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--07--26-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--10--27-yellowgreen.svg)](/commits/master)” # EPA Disclaimer diff --git a/cran-comments.Rmd b/cran-comments.Rmd index 2c8ebac..b30e0a2 100644 --- a/cran-comments.Rmd +++ b/cran-comments.Rmd @@ -8,9 +8,8 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 *RAQSAPI 2.0.4 was not published on CRAN. - - There is an issue with curl connecting to the AQS Datamart API, on - windows platforms, as a temporary fix, RAQSAPI will default to using - the Schannel curl backend. + - fixed an issue where the duration parameter was being ignored in + aqs_sampledata_by_* functions. - modify QA Collocated Assessments by County and by Site unit tests and example code to reflect modified data. - update CITATION file to the new style citation. diff --git a/cran-comments.md b/cran-comments.md index 2c8ebac..b30e0a2 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -8,9 +8,8 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 *RAQSAPI 2.0.4 was not published on CRAN. - - There is an issue with curl connecting to the AQS Datamart API, on - windows platforms, as a temporary fix, RAQSAPI will default to using - the Schannel curl backend. + - fixed an issue where the duration parameter was being ignored in + aqs_sampledata_by_* functions. - modify QA Collocated Assessments by County and by Site unit tests and example code to reflect modified data. - update CITATION file to the new style citation. diff --git a/man/aqs_sampledurations.Rd b/man/aqs_sampledurations.Rd index 2c8e789..dc0b13c 100644 --- a/man/aqs_sampledurations.Rd +++ b/man/aqs_sampledurations.Rd @@ -25,6 +25,12 @@ associated duration codes. Returned values are not calculated durations such as 8 hour CO or O${_3}$ rolling averages, 3/6 day PM averages or Pb 3 month rolling averages. } +\note{ +Not all sample durations that are available through AQS are available +through the AQS DataMart API, including certain calculated sample +durations. Only sample durations that are available through the +AQS DataMart API are returned. +} \examples{ # Returns a tibble or an AQS_Data Mart_APIv2 S3 object of \dontrun{ aqs_sampledurations() } From 2f4c016ba9114679cd236f191428720dd9fbc53f Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 1 Dec 2023 15:40:14 -0500 Subject: [PATCH 03/24] add references to pyaqsapi --- MD5 | 18 +++++++------ README.Rmd | 3 +++ README.md | 50 ++++++++++++++++++++++++++--------- vignettes/AQSAPI.bib | 9 +++++++ vignettes/RAQSAPIvignette.Rmd | 3 +++ vignettes/pyaqsapi.Rmd | 36 +++++++++++++++++++++++++ 6 files changed, 98 insertions(+), 21 deletions(-) create mode 100644 vignettes/pyaqsapi.Rmd diff --git a/MD5 b/MD5 index 42aae67..600c0d7 100644 --- a/MD5 +++ b/MD5 @@ -1,12 +1,12 @@ d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json a4f38bdcd1e2b228600cb6e693648a12 *cran-comments.md a4f38bdcd1e2b228600cb6e693648a12 *cran-comments.Rmd -8fe7ddfb9b852c041024d63250b69e7d *DESCRIPTION +7b3092d9d1ec246090f159fd55deeb57 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R 754314a32bcdbb1835d90b0f59339b60 *dev/hexsticker.R -9088f302621cd20a9c66012367b9c2a2 *dev/install_RAQSAPI.R +6ff6ae2460202c94a0dab25c4cc178de *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -403,8 +403,8 @@ f7ea691da1baf266047ed7af4b0c4629 *RAQSAPI.Rcheck/tests/testthat/test-bypqao.R 3e2e78ef3cf7666c3c041ff1b5bec788 *RAQSAPI.Rcheck/tests/testthat/testthat-problems.rds a69de5455537022556f014579766be59 *RAQSAPI.Rproj cfb9487651a3162cdb4308fb94e30719 *RAQSAPI_2.0.5.tar.gz -210e4ced806d419fa4b5edbb7f3fc2c4 *README.md -10f9e33622104f2df281fb4119a09d36 *README.Rmd +0860b0b61066e79ce6540b84d1d3aa04 *README.md +b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml b7715aa47f5635cfb52f34937886aedf *revdep/library/RAQSAPI/old/askpass/DESCRIPTION @@ -1599,11 +1599,11 @@ f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R 051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R 014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R -8ec3157359d9a0fbdf126ed74f399ee1 *vignettes/Acknowledgements.html +e4d3a123b14a89ab800c5e143d19da61 *vignettes/Acknowledgements.html 49025d261826350f3050e677eab9dbac *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl -39365075c6f1d3ae375438054d27cb89 *vignettes/AQSAPI.bib +2afd7b01c6150e217d3989e7a704813e *vignettes/AQSAPI.bib de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 9f8f6638c5178a9bec62665b4cef5e1d *vignettes/figures/AQS_LOGO.png @@ -1612,6 +1612,8 @@ ce3de92ce1a1d0851726b5ae8b384b79 *vignettes/figures/RAQSAPIhexsticker.png 69224454907b49f3de5fcf3527a3ad3f *vignettes/InstallandSetup.Rmd 67dad9bb335f711013028746cf7ed61a *vignettes/Intro.html 07bc02844f0f6f2c93d40603e140f41b *vignettes/Intro.Rmd +c964de5f5bcde0fd3f1c7f6beaf6a4d5 *vignettes/pyaqsapi.html +033bd87a1e01afb5b3ceb828477c14ec *vignettes/pyaqsapi.Rmd bce644f7c50a618fee8429b3655e5fb9 *vignettes/RAQSAPIFunctions-Brief.html 1dbae57a3f574ccd77b4d2af2c76e831 *vignettes/RAQSAPIFunctions-Brief.Rmd 9b96ebd481321226caedaa7ab4472d05 *vignettes/RAQSAPIFunctions-Long.html @@ -1621,9 +1623,9 @@ f6a1f578b9267b1182c4c3845fc68fb0 *vignettes/RAQSAPIPurpose.html b676d49a421ed0b581e2b3269bac31e0 *vignettes/RAQSAPIPurpose.Rmd c0099b9c0fa4d49121ad8d61078d13a7 *vignettes/RAQSAPIusagetipsandprecautions.html 629b81e7f6056a9411e2ce16e4dfc5c8 *vignettes/RAQSAPIusagetipsandprecautions.Rmd -ddee30d7df25285648d9979febbe2192 *vignettes/RAQSAPIvignette.html +d967c391017eb8f22c7c7ceff7269cce *vignettes/RAQSAPIvignette.html 5f614b6e23d520d2260f9f7224fe648d *vignettes/RAQSAPIvignette.R -cc873a7101715766a6057c2cbb59609d *vignettes/RAQSAPIvignette.Rmd +1bccb2dcacdd37bdf82da7a99a4999ea *vignettes/RAQSAPIvignette.Rmd 3f74dfc92a4d9d85a467f20a1907fd87 *vignettes/TimelinessofAQSData.html 5d3445414bf02629a8a10b6dc05c47e7 *vignettes/TimelinessofAQSData.Rmd 06345a3820be1e248082b211e2bcb708 *vignettes/Troubleshooting.html diff --git a/README.Rmd b/README.Rmd index 375f2de..68ecf85 100644 --- a/README.Rmd +++ b/README.Rmd @@ -61,6 +61,9 @@ knitr::opts_chunk$set( ```{r child = "./vignettes/RAQSAPIFunctions-Brief.Rmd"} ``` +```{r child = "./vignettes/pyaqsapi.Rmd"} +``` + ```{r child = "./vignettes/Acknowledgements.Rmd"} ``` diff --git a/README.md b/README.md index 0a13603..914703c 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ Clinton Mccrowey, physical scientist - US EPA - [Data Mart aggregate functions](#data-mart-aggregate-functions) - [See the RAQSAPI vignette for more details](#see-the-raqsapi-vignette-for-more-details) + - [pyaqsapi - a port of RAQSAPI to the python 3 programming + environment](#pyaqsapi---a-port-of-raqsapi-to-the-python-3-programming-environment) - [Acknowledgements](#acknowledgements) - [References](#references) @@ -37,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--11--28-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--12--01-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -382,6 +384,18 @@ where \ is one of the 13 services listed above and RShowDoc(what="RAQSAPIvignette", type="html", package="RAQSAPI") ``` +## pyaqsapi - a port of RAQSAPI to the python 3 programming environment + +For users that feel more comfortable working within a python 3 +environment, [pyaqsapi](https://github.com/USEPA/pyaqsapi)4, +a port of RAQSAPI to the python 3 language has been released. Both +projects aim to maintain feature parity with the other and there are no +inherent advantages to using either project over the other, except for +the ability of working within the programming language environment of +choice. The API of both packages are very structured similarly, both +packages export the same data, use the same credentials and data source +to retrieve data. + # Acknowledgements RAQSAPI was included in the Rblogger’s March 2021: “Top 40” [New CRAN @@ -391,17 +405,17 @@ The RAQSAPI package borrows upon functions and code provided by sources not mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources with them RAQSAPI would not be possible. -- README badges are provided by R package `badgecreator`4. -- The R package `usethis`5 was used to generate GitHub +- README badges are provided by R package `badgecreator`5. +- The R package `usethis`6 was used to generate GitHub actions for Continuous integration (CI). -- Code cleanup was assisted by the R package `lintr`6 +- Code cleanup was assisted by the R package `lintr`7 - the function *install.packages* are provided by the R package - `utils`7 + `utils`8 - the function *install_github* are provided by the R package - `remotes`8 + `remotes`9 - .gitignore file borrowed examples from -- The RAQSAPI hexsticker was created using the `hexSticker`9 +- The RAQSAPI hexsticker was created using the `hexSticker`10 package for R # References @@ -433,9 +447,19 @@ Simple Data Frames](https://CRAN.R-project.org/package=tibble)*; -
+
(4) +Mccrowey, C. A Python 3 Package to +Retrieve Ambient Air Monitoring Data from the United States +Environmental Protection Agency’s (US EPA) Air Quality System (AQS) Data +Mart API V2 Interface, 2022. . + +
+ +
+ +(5) Hogervorst, R. M. *[Badgecreatr: Create Badges for ’Travis’, ’Repostatus’ ’Codecov.io’ Etc in Github Readme](https://CRAN.R-project.org/package=badgecreatr)*; 2019. @@ -444,7 +468,7 @@ Readme](https://CRAN.R-project.org/package=badgecreatr)*; 2019.
-(5) +(6) Wickham, H.; Bryan, J.; Barrett, M. *[Usethis: Automate Package and Project Setup](https://CRAN.R-project.org/package=usethis)*; 2021. @@ -453,7 +477,7 @@ Setup](https://CRAN.R-project.org/package=usethis)*; 2021.
-(6) +(7) Hester, J.; Angly, F.; Hyde, R. *[Lintr: A ’Linter’ for r Code](https://CRAN.R-project.org/package=lintr)*; 2020. @@ -462,7 +486,7 @@ Code](https://CRAN.R-project.org/package=lintr)*; 2020.
-(7) +(8) Team, R. C. *[R: A Language and Environment for Statistical Computing](https://www.R-project.org/)*; R Foundation for Statistical Computing: Vienna, Austria, 2019. @@ -471,7 +495,7 @@ Foundation for Statistical Computing: Vienna, Austria, 2019.
-(8) +(9) Csárdi, G.; Hester, J.; Wickham, H.; Chang, W.; Morgan, M.; Tenenbaum, D. *[Remotes: R Package Installation from Remote Repositories, Including @@ -481,7 +505,7 @@ Installation from Remote Repositories, Including
-(9) +(10) Yu, G. *[hexSticker: Create Hexagon Sticker in r](https://CRAN.R-project.org/package=hexSticker)*; 2020. diff --git a/vignettes/AQSAPI.bib b/vignettes/AQSAPI.bib index ffe7ea7..c4d19c7 100644 --- a/vignettes/AQSAPI.bib +++ b/vignettes/AQSAPI.bib @@ -137,3 +137,12 @@ @Manual{package:hexsticker note = {R package version 0.4.9}, url = {https://CRAN.R-project.org/package=hexSticker}, } + + @Misc{py3package:pyaqsapi, + title = {A python 3 package to retrieve ambient air monitoring data from + the United States Environmental Protection Agency’s (US EPA) Air + Quality System (AQS) Data Mart API v2 interface}, + author = {Clinton Mccrowey}, + year = {2022}, + url = {https://github.com/USEPA/pyaqsapi}, + } diff --git a/vignettes/RAQSAPIvignette.Rmd b/vignettes/RAQSAPIvignette.Rmd index 3a3562f..317c1b5 100644 --- a/vignettes/RAQSAPIvignette.Rmd +++ b/vignettes/RAQSAPIvignette.Rmd @@ -68,6 +68,9 @@ invisible(library(glue, warn.conflicts = FALSE, quietly = TRUE)) ```{r child = "Troubleshooting.Rmd", echo = FALSE} ``` +```{r child = "pyaqsapi.Rmd", echo = FALSE} +``` + ```{r child = "Acknowledgements.Rmd", echo = FALSE} ``` diff --git a/vignettes/pyaqsapi.Rmd b/vignettes/pyaqsapi.Rmd new file mode 100644 index 0000000..078b19d --- /dev/null +++ b/vignettes/pyaqsapi.Rmd @@ -0,0 +1,36 @@ +--- +title: "pyaqsapi - a port of RAQSAPI to the python 3 programming environment" +author: +- affiliation: |- + United States Environmental Protection Agency (US EPA), + Region III, + Air and Radiation Division, + Air Quality and Analysis Branch + name: Clinton Mccrowey +output: + rmarkdown::html_vignette: default +lang: en-US +bibliography: ./AQSAPI.bib +csl: ./acs-nano.csl +vignette: > + %\VignetteIndexEntry{pyaqsapi - a port of RAQSAPI to the python 3 programming environment} + %\VignetteEncoding{UTF-8} + %\VignetteDepends{knitr} + %\VignetteDepends{rmarkdown} + %\VignetteEngine{knitr::rmarkdown} +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` + +## pyaqsapi - a port of RAQSAPI to the python 3 programming environment + +For users that feel more comfortable working within a python 3 environment, +[pyaqsapi](https://github.com/USEPA/pyaqsapi) [@py3package:pyaqsapi], +a port of RAQSAPI to the python 3 language has been released. Both projects aim +to maintain feature parity with the other and there are no inherent advantages +to using either project over the other, except for the ability of working within +the programming language environment of choice. The API of both packages are +very structured similarly, both packages export the same data, use the same +credentials and data source to retrieve data. \ No newline at end of file From 0b62076da858ebfd827298657b9d715b42f9037a Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 1 Dec 2023 16:59:08 -0500 Subject: [PATCH 04/24] add bib and csl file to vignettes, fix man/depricated.Rd name --- MD5 | 30 ++++++++------- R/deprecated.R | 18 ++++----- man/{deprecated.Rd.Rd => deprecated.Rd} | 0 vignettes/Acknowledgements.Rmd | 2 + vignettes/Intro.Rmd | 2 + vignettes/RAQSAPIPurpose.R | 6 +++ vignettes/RAQSAPIPurpose.Rmd | 3 +- vignettes/RAQSAPIvignette.R | 49 +++++++++++++------------ vignettes/RAQSAPIvignette.Rmd | 1 + vignettes/TimelinessofAQSData.Rmd | 3 ++ vignettes/pyaqsapi.R | 3 ++ vignettes/pyaqsapi.Rmd | 6 +-- 12 files changed, 73 insertions(+), 50 deletions(-) rename man/{deprecated.Rd.Rd => deprecated.Rd} (100%) create mode 100644 vignettes/RAQSAPIPurpose.R create mode 100644 vignettes/pyaqsapi.R diff --git a/MD5 b/MD5 index 600c0d7..267b080 100644 --- a/MD5 +++ b/MD5 @@ -106,7 +106,7 @@ fb79be8f8717990d152ad5b23751a339 *man/aqs_states.Rd 47b7cbe49d382aac8348ee5cca982de6 *man/aqs_transactionsample_by_MA.Rd d2237cdfe2355d3365ffb7628e121a3d *man/aqs_transactionsample_by_site.Rd 320d2b475c628672e8fcb2db6c39d512 *man/aqs_transactionsample_by_state.Rd -f15ba2d7370da25a949470e01c852436 *man/deprecated.Rd.Rd +f15ba2d7370da25a949470e01c852436 *man/deprecated.Rd a1cbaf3f328e8d74e747faacf640c7fc *man/figures/lifecycle-archived.svg 6f521fb1819410630e279d1abf88685a *man/figures/lifecycle-defunct.svg 391f696f961e28914508628a7af31b74 *man/figures/lifecycle-deprecated.svg @@ -127,7 +127,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R 75cbb841598edc4dc4857950c6e4b0b5 *R/bypqao.R 6acae078848030131e628154099e5f53 *R/bysite.R 2e6e59d801dc3b6bd5e415ada7268469 *R/bystate.R -8198ed65b99926d0ed9b07c49a1bf8e2 *R/deprecated.R +5b01d32e630b9b68041a139e4ae6f748 *R/deprecated.R 87275ab3c5bd1af63ecfbd835ea8f53b *R/RAQSAPI-package.R 8bf50a551dbb3798f968436f95e3c343 *R/RAQSAPIlistfunctions.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R @@ -1599,8 +1599,8 @@ f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R 051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R 014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R -e4d3a123b14a89ab800c5e143d19da61 *vignettes/Acknowledgements.html -49025d261826350f3050e677eab9dbac *vignettes/Acknowledgements.Rmd +e4f9e3d5f1df30e56e5b5c18cf7149d3 *vignettes/Acknowledgements.html +2834ddbf1c676ec4f80eac63869ee66e *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl 2afd7b01c6150e217d3989e7a704813e *vignettes/AQSAPI.bib @@ -1610,24 +1610,26 @@ a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd ce3de92ce1a1d0851726b5ae8b384b79 *vignettes/figures/RAQSAPIhexsticker.png 44aa30dce806516fb33882e14edf4d80 *vignettes/InstallandSetup.html 69224454907b49f3de5fcf3527a3ad3f *vignettes/InstallandSetup.Rmd -67dad9bb335f711013028746cf7ed61a *vignettes/Intro.html -07bc02844f0f6f2c93d40603e140f41b *vignettes/Intro.Rmd +87c86671047d619e996c248050cce085 *vignettes/Intro.html +b57a206286bec0fb22bbde308149d452 *vignettes/Intro.Rmd c964de5f5bcde0fd3f1c7f6beaf6a4d5 *vignettes/pyaqsapi.html -033bd87a1e01afb5b3ceb828477c14ec *vignettes/pyaqsapi.Rmd +123ce2f4346764c747fe35c16ef61b97 *vignettes/pyaqsapi.R +733ccd06aa9a7988d1ea78f52c528e55 *vignettes/pyaqsapi.Rmd bce644f7c50a618fee8429b3655e5fb9 *vignettes/RAQSAPIFunctions-Brief.html 1dbae57a3f574ccd77b4d2af2c76e831 *vignettes/RAQSAPIFunctions-Brief.Rmd 9b96ebd481321226caedaa7ab4472d05 *vignettes/RAQSAPIFunctions-Long.html c65f35b91bfac8c4f16ee2319b95d4f5 *vignettes/RAQSAPIFunctions-Long.R e923e364682d337856051526b5b8b3a6 *vignettes/RAQSAPIFunctions-Long.Rmd -f6a1f578b9267b1182c4c3845fc68fb0 *vignettes/RAQSAPIPurpose.html -b676d49a421ed0b581e2b3269bac31e0 *vignettes/RAQSAPIPurpose.Rmd +d375e86106c359f735a25d53764b7f8e *vignettes/RAQSAPIPurpose.html +5bbe64951e61ada686bad5308c437b77 *vignettes/RAQSAPIPurpose.R +9d564369cb22e187ed61da9fafcac002 *vignettes/RAQSAPIPurpose.Rmd c0099b9c0fa4d49121ad8d61078d13a7 *vignettes/RAQSAPIusagetipsandprecautions.html 629b81e7f6056a9411e2ce16e4dfc5c8 *vignettes/RAQSAPIusagetipsandprecautions.Rmd -d967c391017eb8f22c7c7ceff7269cce *vignettes/RAQSAPIvignette.html -5f614b6e23d520d2260f9f7224fe648d *vignettes/RAQSAPIvignette.R -1bccb2dcacdd37bdf82da7a99a4999ea *vignettes/RAQSAPIvignette.Rmd -3f74dfc92a4d9d85a467f20a1907fd87 *vignettes/TimelinessofAQSData.html -5d3445414bf02629a8a10b6dc05c47e7 *vignettes/TimelinessofAQSData.Rmd +64cc3a12ebf9551805f96acfb86ba406 *vignettes/RAQSAPIvignette.html +0bfd7b471b0234189b915b536d09713f *vignettes/RAQSAPIvignette.R +95acca4cbbfe5ebbfcb4c0a3978038bf *vignettes/RAQSAPIvignette.Rmd +42a066ce73b20f2538877f8e4eac1d84 *vignettes/TimelinessofAQSData.html +fddf2cec564191b24c0213f260c0f932 *vignettes/TimelinessofAQSData.Rmd 06345a3820be1e248082b211e2bcb708 *vignettes/Troubleshooting.html 1fee66dbee4d04b47a0b7747ea282a5b *vignettes/Troubleshooting.Rmd 81dc9769ebde9b586474b28b17d08e72 *vignettes/UsingRAQSAPI.html diff --git a/R/deprecated.R b/R/deprecated.R index c63307e..b4bac15 100644 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -7,7 +7,7 @@ #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceeval_by_site <- function() { abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed @@ -26,7 +26,7 @@ aqs_qa_annualpeferomanceeval_by_site <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceeval_by_county <- function() { abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed @@ -44,7 +44,7 @@ aqs_qa_annualpeferomanceeval_by_county <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceeval_by_state <- function() { abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed @@ -62,7 +62,7 @@ aqs_qa_annualpeferomanceeval_by_state <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceeval_by_pqao <- function() { abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed @@ -82,7 +82,7 @@ aqs_qa_annualpeferomanceeval_by_pqao <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceeval_by_MA <- function() { abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been @@ -100,7 +100,7 @@ aqs_qa_annualpeferomanceeval_by_MA <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceevaltransaction_by_site <- function() { abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have @@ -118,7 +118,7 @@ aqs_qa_annualpeferomanceevaltransaction_by_site <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceevaltransaction_by_county <- function() { abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have @@ -136,7 +136,7 @@ aqs_qa_annualpeferomanceevaltransaction_by_county <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceevaltransaction_by_pqao <- function() { abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have @@ -153,7 +153,7 @@ aqs_qa_annualpeferomanceevaltransaction_by_pqao <- function() #' @family deprecated RAQSAPI functions #' @importFrom rlang abort #' @export -#' @rdname deprecated.Rd +#' @rdname deprecated aqs_qa_annualpeferomanceevaltransaction_by_MA <- function() { abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have diff --git a/man/deprecated.Rd.Rd b/man/deprecated.Rd similarity index 100% rename from man/deprecated.Rd.Rd rename to man/deprecated.Rd diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index c80f9e4..2ea6405 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -10,6 +10,8 @@ vignette: > %\VignetteDepends{knitr} %\VignetteDepends{rmarkdown} %\VignetteEngine{knitr::rmarkdown} +bibliography: AQSAPI.bib +csl: acs-nano.csl --- # Acknowledgements diff --git a/vignettes/Intro.Rmd b/vignettes/Intro.Rmd index cba4eb3..3dca8d6 100644 --- a/vignettes/Intro.Rmd +++ b/vignettes/Intro.Rmd @@ -9,6 +9,8 @@ vignette: > %\VignetteDepends{knitr} %\VignetteDepends{rmarkdown} %\VignetteEngine{knitr::rmarkdown} +bibliography: AQSAPI.bib +csl: acs-nano.csl --- | Warning: US EPA's AQS Data Mart API V2 is currently \ diff --git a/vignettes/RAQSAPIPurpose.R b/vignettes/RAQSAPIPurpose.R new file mode 100644 index 0000000..bbdaa36 --- /dev/null +++ b/vignettes/RAQSAPIPurpose.R @@ -0,0 +1,6 @@ +## ----setup, include = FALSE----------------------------------------------------------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) + diff --git a/vignettes/RAQSAPIPurpose.Rmd b/vignettes/RAQSAPIPurpose.Rmd index 1e9070b..f25a23e 100644 --- a/vignettes/RAQSAPIPurpose.Rmd +++ b/vignettes/RAQSAPIPurpose.Rmd @@ -9,7 +9,6 @@ author: name: Clinton Mccrowey output: rmarkdown::html_vignette: default -bibliography: AQSAPI.bib lang: en-US #csl: acs-nano.csl subtitle: RAQSAPI Purpose @@ -23,6 +22,8 @@ vignette: > %\VignetteDepends{knitr} %\VignetteDepends{rmarkdown} %\VignetteEngine{knitr::rmarkdown} +bibliography: AQSAPI.bib +csl: acs-nano.csl --- ```{r setup, include = FALSE} diff --git a/vignettes/RAQSAPIvignette.R b/vignettes/RAQSAPIvignette.R index 9c00baa..6e03350 100644 --- a/vignettes/RAQSAPIvignette.R +++ b/vignettes/RAQSAPIvignette.R @@ -1,4 +1,4 @@ -## ----SETUP, echo = FALSE, message = FALSE, warning = FALSE-------------------------------------------------------------------------------------------------- +## ----SETUP, echo = FALSE, message = FALSE, warning = FALSE---------------------------------------------------------------------------- invisible(library(glue, warn.conflicts = FALSE, quietly = TRUE)) #usethisurl <- "https://usethis.r-lib.org" @@ -7,7 +7,7 @@ invisible(library(glue, warn.conflicts = FALSE, quietly = TRUE)) #patsetuplink <- glue::glue("{usethisurl}{usethissetup}{usethispatsection}") -## ----RAQSAPIfun_all, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------- +## ----RAQSAPIfun_all, echo = FALSE, comment = NA--------------------------------------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>" ) invisible(library(magrittr, warn.conflicts = FALSE, quietly = TRUE)) invisible(library(stringr, warn.conflicts = FALSE, quietly = TRUE)) @@ -50,16 +50,16 @@ RAQSAPI_functions <- c( "aqs_monitors_by_state", "aqs_parameters_by_class", "aqs_pqaos", -"aqs_qa_annualPeferomanceeval_by_county", -"aqs_qa_annualPeferomanceeval_by_MA", -"aqs_qa_annualPeferomanceeval_by_pqao", -"aqs_qa_annualPeferomanceeval_by_site", -"aqs_qa_annualPeferomanceeval_by_state", -"aqs_qa_annualPeferomanceevaltransaction_by_county", -"aqs_qa_annualPeferomanceevaltransaction_by_MA", -"aqs_qa_annualPeferomanceevaltransaction_by_pqao", -"aqs_qa_annualPeferomanceevaltransaction_by_site", -"aqs_qa_annualPeferomanceevaltransaction_by_state", +"aqs_qa_annualperformanceeeval_by_county", +"aqs_qa_annualperformanceeval_by_MA", +"aqs_qa_annualperformanceeval_by_pqao", +"aqs_qa_annualperformanceeval_by_site", +"aqs_qa_annualperformanceeval_by_state", +"aqs_qa_annualperformanceevaltransaction_by_county", +"aqs_qa_annualperformanceevaltransaction_by_MA", +"aqs_qa_annualperformanceevaltransaction_by_pqao", +"aqs_qa_annualperformanceevaltransaction_by_site", +"aqs_qa_annualperformanceevaltransaction_by_state", "aqs_qa_blanks_by_county", "aqs_qa_blanks_by_MA", "aqs_qa_blanks_by_pqao", @@ -115,13 +115,13 @@ RAQSAPI_functions <- c( RAQSAPI_functions %>% cat(sep = " \n") -## ----SIGNUPANDCREDENTIALS, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------- +## ----SIGNUPANDCREDENTIALS, echo = FALSE, comment = NA--------------------------------------------------------------------------------- signupandcredentials <- paste(".sign_up", ".credentials", sep = '|') str_subset(string = RAQSAPI_functions, pattern = signupandcredentials) %>% cat(sep = " \n") -## ----METADATAFUNCTIONS, echo = FALSE, comment = NA---------------------------------------------------------------------------------------------------------- +## ----METADATAFUNCTIONS, echo = FALSE, comment = NA------------------------------------------------------------------------------------ metadatafunctions <- paste(".available", ".field_by_service", ".knownissues", sep = '|') @@ -129,7 +129,7 @@ metadatafunctions <- paste(".available", str_subset(string = RAQSAPI_functions, pattern = metadatafunctions) %>% cat(sep = " \n") -## ----LISTFUNCTIONS, echo = FALSE, comment = NA-------------------------------------------------------------------------------------------------------------- +## ----LISTFUNCTIONS, echo = FALSE, comment = NA---------------------------------------------------------------------------------------- listfunctions <- paste(".states", ".counties_by_state", ".sites_by_county", @@ -143,51 +143,54 @@ listfunctions <- paste(".states", str_subset(string = RAQSAPI_functions, pattern = listfunctions) %>% cat(sep = " \n") -## ----_by_Sitefunctions, echo = FALSE, comment = NA---------------------------------------------------------------------------------------------------------- +## ----_by_Sitefunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------ by_sitefunctions <- paste("_by_site", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_sitefunctions) %>% cat(sep = " \n") -## ----_by_countyfuncions, echo = FALSE, comment = NA--------------------------------------------------------------------------------------------------------- +## ----_by_countyfuncions, echo = FALSE, comment = NA----------------------------------------------------------------------------------- by_countyfunctions <- paste("._by_county", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_countyfunctions) %>% cat(sep = " \n") -## ----_by_STATEfunctions, echo = FALSE, comment = NA--------------------------------------------------------------------------------------------------------- +## ----_by_STATEfunctions, echo = FALSE, comment = NA----------------------------------------------------------------------------------- by_STATEfunctions <- paste("._by_state", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_STATEfunctions) %>% cat(sep = " \n") -## ----_by_MAfunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------ +## ----_by_MAfunctions, echo = FALSE, comment = NA-------------------------------------------------------------------------------------- by_MAfunctions <- paste("._by_MA", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_MAfunctions) %>% cat(sep = " \n") -## ----bycbsafunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------ +## ----bycbsafunctions, echo = FALSE, comment = NA-------------------------------------------------------------------------------------- by_cbsafunctions <- paste("._by_cbsa", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_cbsafunctions) %>% cat(sep = " \n") -## ----_by_pqaofunctions, echo = FALSE, comment = NA---------------------------------------------------------------------------------------------------------- +## ----_by_pqaofunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------ by_pqaofunctions <- paste("._by_pqao", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_pqaofunctions) %>% cat(sep = " \n") -## ----_by_BOXfunctions, echo = FALSE, comment = NA----------------------------------------------------------------------------------------------------------- +## ----_by_BOXfunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------- by_BOXfunctions <- paste("._by_box", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_BOXfunctions) %>% cat(sep = " \n") -## ----misc, echo = FALSE, comment = NA----------------------------------------------------------------------------------------------------------------------- +## ----misc, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------- misc_functions <- paste("aqs_removeheader", sep = '|') str_subset(string = RAQSAPI_functions, pattern = misc_functions) %>% cat(sep = " \n") +## ----setup, include=FALSE------------------------------------------------------------------------------------------------------------- +knitr::opts_chunk$set(echo = TRUE) + diff --git a/vignettes/RAQSAPIvignette.Rmd b/vignettes/RAQSAPIvignette.Rmd index 317c1b5..e44ccc3 100644 --- a/vignettes/RAQSAPIvignette.Rmd +++ b/vignettes/RAQSAPIvignette.Rmd @@ -13,6 +13,7 @@ abstract: RAQSAPI is a package for R that connects the R programming language air pollution data. output: rmarkdown::html_vignette: default +lang: en-US vignette: > %\VignetteIndexEntry{Introduction to the RAQSAPI package} %\VignetteEncoding{UTF-8} diff --git a/vignettes/TimelinessofAQSData.Rmd b/vignettes/TimelinessofAQSData.Rmd index 1e6d21e..af8fa10 100644 --- a/vignettes/TimelinessofAQSData.Rmd +++ b/vignettes/TimelinessofAQSData.Rmd @@ -3,12 +3,15 @@ title: RAQSAPI - About the timeliness of AQS Data author: Clinton Mccrowey physical scientist - US EPA output: rmarkdown::html_vignette: default +lang: en-US vignette: > %\VignetteIndexEntry{RAQSAPI - About the timeliness of AQS Data} %\VignetteEncoding{UTF-8} %\VignetteDepends{knitr} %\VignetteDepends{rmarkdown} %\VignetteEngine{knitr::rmarkdown} +bibliography: AQSAPI.bib +csl: acs-nano.csl --- # About the timeliness of AQS Data diff --git a/vignettes/pyaqsapi.R b/vignettes/pyaqsapi.R new file mode 100644 index 0000000..07a5e8b --- /dev/null +++ b/vignettes/pyaqsapi.R @@ -0,0 +1,3 @@ +## ----setup, include=FALSE------------------------------------------------------------------------------------------------------------- +knitr::opts_chunk$set(echo = TRUE) + diff --git a/vignettes/pyaqsapi.Rmd b/vignettes/pyaqsapi.Rmd index 078b19d..d5faa8b 100644 --- a/vignettes/pyaqsapi.Rmd +++ b/vignettes/pyaqsapi.Rmd @@ -10,14 +10,14 @@ author: output: rmarkdown::html_vignette: default lang: en-US -bibliography: ./AQSAPI.bib -csl: ./acs-nano.csl vignette: > %\VignetteIndexEntry{pyaqsapi - a port of RAQSAPI to the python 3 programming environment} %\VignetteEncoding{UTF-8} %\VignetteDepends{knitr} %\VignetteDepends{rmarkdown} %\VignetteEngine{knitr::rmarkdown} +bibliography: ./AQSAPI.bib +csl: ./acs-nano.csl --- ```{r setup, include=FALSE} @@ -33,4 +33,4 @@ to maintain feature parity with the other and there are no inherent advantages to using either project over the other, except for the ability of working within the programming language environment of choice. The API of both packages are very structured similarly, both packages export the same data, use the same -credentials and data source to retrieve data. \ No newline at end of file +credentials and data source to retrieve data. From 95d268ede710a093738508833586bc625a03a0c9 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Wed, 6 Dec 2023 16:48:54 -0500 Subject: [PATCH 05/24] new hexsticker for RAQSAPI --- MD5 | 12 ++++----- README.md | 32 ++++++++---------------- cran-comments.Rmd | 1 + cran-comments.md | 1 + vignettes/Acknowledgements.Rmd | 1 - vignettes/figures/RAQSAPIhexsticker.png | Bin 139849 -> 178061 bytes 6 files changed, 19 insertions(+), 28 deletions(-) diff --git a/MD5 b/MD5 index 267b080..998377c 100644 --- a/MD5 +++ b/MD5 @@ -1,6 +1,6 @@ d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json -a4f38bdcd1e2b228600cb6e693648a12 *cran-comments.md -a4f38bdcd1e2b228600cb6e693648a12 *cran-comments.Rmd +78f3339af946d3c1bb810468b4981aa7 *cran-comments.md +78f3339af946d3c1bb810468b4981aa7 *cran-comments.Rmd 7b3092d9d1ec246090f159fd55deeb57 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd @@ -403,7 +403,7 @@ f7ea691da1baf266047ed7af4b0c4629 *RAQSAPI.Rcheck/tests/testthat/test-bypqao.R 3e2e78ef3cf7666c3c041ff1b5bec788 *RAQSAPI.Rcheck/tests/testthat/testthat-problems.rds a69de5455537022556f014579766be59 *RAQSAPI.Rproj cfb9487651a3162cdb4308fb94e30719 *RAQSAPI_2.0.5.tar.gz -0860b0b61066e79ce6540b84d1d3aa04 *README.md +f74f9e39da6098cb10a02d51b25e7c65 *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1599,15 +1599,15 @@ f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R 051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R 014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R -e4f9e3d5f1df30e56e5b5c18cf7149d3 *vignettes/Acknowledgements.html -2834ddbf1c676ec4f80eac63869ee66e *vignettes/Acknowledgements.Rmd +2af1969551c714d9527088a1186ea420 *vignettes/Acknowledgements.html +e4818cf1094c1e272bf9c0d985055632 *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl 2afd7b01c6150e217d3989e7a704813e *vignettes/AQSAPI.bib de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 9f8f6638c5178a9bec62665b4cef5e1d *vignettes/figures/AQS_LOGO.png -ce3de92ce1a1d0851726b5ae8b384b79 *vignettes/figures/RAQSAPIhexsticker.png +52656f58a1ace48010f646376b988318 *vignettes/figures/RAQSAPIhexsticker.png 44aa30dce806516fb33882e14edf4d80 *vignettes/InstallandSetup.html 69224454907b49f3de5fcf3527a3ad3f *vignettes/InstallandSetup.Rmd 87c86671047d619e996c248050cce085 *vignettes/Intro.html diff --git a/README.md b/README.md index 914703c..2166d6f 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--12--01-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--12--06-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -405,17 +405,16 @@ The RAQSAPI package borrows upon functions and code provided by sources not mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources with them RAQSAPI would not be possible. -- README badges are provided by R package `badgecreator`5. -- The R package `usethis`6 was used to generate GitHub +- The R package `usethis`5 was used to generate GitHub actions for Continuous integration (CI). -- Code cleanup was assisted by the R package `lintr`7 +- Code cleanup was assisted by the R package `lintr`6 - the function *install.packages* are provided by the R package - `utils`8 + `utils`7 - the function *install_github* are provided by the R package - `remotes`9 + `remotes`8 - .gitignore file borrowed examples from -- The RAQSAPI hexsticker was created using the `hexSticker`10 +- The RAQSAPI hexsticker was created using the `hexSticker`9 package for R # References @@ -457,18 +456,9 @@ Mart API V2 Interface, 2022. .
-
- -(5) -Hogervorst, R. M. *[Badgecreatr: -Create Badges for ’Travis’, ’Repostatus’ ’Codecov.io’ Etc in Github -Readme](https://CRAN.R-project.org/package=badgecreatr)*; 2019. - -
-
-(6) +(5) Wickham, H.; Bryan, J.; Barrett, M. *[Usethis: Automate Package and Project Setup](https://CRAN.R-project.org/package=usethis)*; 2021. @@ -477,7 +467,7 @@ Setup](https://CRAN.R-project.org/package=usethis)*; 2021.
-(7) +(6) Hester, J.; Angly, F.; Hyde, R. *[Lintr: A ’Linter’ for r Code](https://CRAN.R-project.org/package=lintr)*; 2020. @@ -486,7 +476,7 @@ Code](https://CRAN.R-project.org/package=lintr)*; 2020.
-(8) +(7) Team, R. C. *[R: A Language and Environment for Statistical Computing](https://www.R-project.org/)*; R Foundation for Statistical Computing: Vienna, Austria, 2019. @@ -495,7 +485,7 @@ Foundation for Statistical Computing: Vienna, Austria, 2019.
-(9) +(8) Csárdi, G.; Hester, J.; Wickham, H.; Chang, W.; Morgan, M.; Tenenbaum, D. *[Remotes: R Package Installation from Remote Repositories, Including @@ -505,7 +495,7 @@ Installation from Remote Repositories, Including
-(10) +(9) Yu, G. *[hexSticker: Create Hexagon Sticker in r](https://CRAN.R-project.org/package=hexSticker)*; 2020. diff --git a/cran-comments.Rmd b/cran-comments.Rmd index f4121db..de38e77 100644 --- a/cran-comments.Rmd +++ b/cran-comments.Rmd @@ -7,6 +7,7 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - New hexstciker. - aqs_isavailable no longer accepts the return_header parameter, this function just returns a tibble and not a AQS_Data Mart_APIv2 object. - fixed an issue where the duration parameter was being ignored in diff --git a/cran-comments.md b/cran-comments.md index f4121db..de38e77 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -7,6 +7,7 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - New hexstciker. - aqs_isavailable no longer accepts the return_header parameter, this function just returns a tibble and not a AQS_Data Mart_APIv2 object. - fixed an issue where the duration parameter was being ignored in diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index 2ea6405..7b26fa3 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -21,7 +21,6 @@ RAQSAPI was included in the Rblogger's March 2021: “Top 40” [New CRAN Packa mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources with them RAQSAPI would not be possible. -* README badges are provided by R package `badgecreator`[@package:badgecreatr]. * The R package `usethis`[@package:usethis] was used to generate GitHub actions for Continuous integration (CI). * Code cleanup was assisted by the R package `lintr`[@package:lintr] diff --git a/vignettes/figures/RAQSAPIhexsticker.png b/vignettes/figures/RAQSAPIhexsticker.png index b54d773eee214e8823c7ed4dced5b3229a792719..220fbc61779ab19b9958d7b07c0f7a89dface16d 100644 GIT binary patch literal 178061 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

$wnP8DMKx>O{~GS|uwOiWsiPfp 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 BxxxSd literal 139849 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

f3W%xpd$zrCU7-+}5^HT7 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 From 54c6f2e1423ccc21c0f826409c3c52b96619c6d5 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 8 Dec 2023 08:48:28 -0500 Subject: [PATCH 06/24] add badgecreator back to aknowledgements remove hexSticker package --- MD5 | 8 +++---- README.md | 39 +++++++++++++++++----------------- vignettes/AQSAPI.bib | 8 ------- vignettes/Acknowledgements.Rmd | 3 +-- 4 files changed, 24 insertions(+), 34 deletions(-) diff --git a/MD5 b/MD5 index 998377c..fb3c5d9 100644 --- a/MD5 +++ b/MD5 @@ -403,7 +403,7 @@ f7ea691da1baf266047ed7af4b0c4629 *RAQSAPI.Rcheck/tests/testthat/test-bypqao.R 3e2e78ef3cf7666c3c041ff1b5bec788 *RAQSAPI.Rcheck/tests/testthat/testthat-problems.rds a69de5455537022556f014579766be59 *RAQSAPI.Rproj cfb9487651a3162cdb4308fb94e30719 *RAQSAPI_2.0.5.tar.gz -f74f9e39da6098cb10a02d51b25e7c65 *README.md +6e836e8891f62adad059f95c2434952a *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1599,11 +1599,11 @@ f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R 051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R 014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R -2af1969551c714d9527088a1186ea420 *vignettes/Acknowledgements.html -e4818cf1094c1e272bf9c0d985055632 *vignettes/Acknowledgements.Rmd +b61158a69282efb5764330a69903f09f *vignettes/Acknowledgements.html +c88632127a253c0c0252f83d6684e83f *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl -2afd7b01c6150e217d3989e7a704813e *vignettes/AQSAPI.bib +ac521e98550ad829bf3d9b1055022f66 *vignettes/AQSAPI.bib de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 9f8f6638c5178a9bec62665b4cef5e1d *vignettes/figures/AQS_LOGO.png diff --git a/README.md b/README.md index 2166d6f..732fa53 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--12--06-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202023--12--08-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -405,17 +405,16 @@ The RAQSAPI package borrows upon functions and code provided by sources not mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources with them RAQSAPI would not be possible. -- The R package `usethis`5 was used to generate GitHub +- README badges are provided by R package `badgecreator`5. +- The R package `usethis`6 was used to generate GitHub actions for Continuous integration (CI). -- Code cleanup was assisted by the R package `lintr`6 +- Code cleanup was assisted by the R package `lintr`7 - the function *install.packages* are provided by the R package - `utils`7 + `utils`8 - the function *install_github* are provided by the R package - `remotes`8 + `remotes`9 - .gitignore file borrowed examples from -- The RAQSAPI hexsticker was created using the `hexSticker`9 - package for R # References @@ -456,9 +455,18 @@ Mart API V2 Interface, 2022. .
-
+
(5) +Hogervorst, R. M. *[Badgecreatr: +Create Badges for ’Travis’, ’Repostatus’ ’Codecov.io’ Etc in Github +Readme](https://CRAN.R-project.org/package=badgecreatr)*; 2019. + +
+ +
+ +(6) Wickham, H.; Bryan, J.; Barrett, M. *[Usethis: Automate Package and Project Setup](https://CRAN.R-project.org/package=usethis)*; 2021. @@ -467,7 +475,7 @@ Setup](https://CRAN.R-project.org/package=usethis)*; 2021.
-(6) +(7) Hester, J.; Angly, F.; Hyde, R. *[Lintr: A ’Linter’ for r Code](https://CRAN.R-project.org/package=lintr)*; 2020. @@ -476,7 +484,7 @@ Code](https://CRAN.R-project.org/package=lintr)*; 2020.
-(7) +(8) Team, R. C. *[R: A Language and Environment for Statistical Computing](https://www.R-project.org/)*; R Foundation for Statistical Computing: Vienna, Austria, 2019. @@ -485,7 +493,7 @@ Foundation for Statistical Computing: Vienna, Austria, 2019.
-(8) +(9) Csárdi, G.; Hester, J.; Wickham, H.; Chang, W.; Morgan, M.; Tenenbaum, D. *[Remotes: R Package Installation from Remote Repositories, Including @@ -493,15 +501,6 @@ Installation from Remote Repositories, Including
-
- -(9) -Yu, G. *[hexSticker: Create -Hexagon Sticker in r](https://CRAN.R-project.org/package=hexSticker)*; -2020. - -
-
[^1]: RAQSAPI’s rate limit does not guarantee that the user will not go diff --git a/vignettes/AQSAPI.bib b/vignettes/AQSAPI.bib index c4d19c7..f7576b0 100644 --- a/vignettes/AQSAPI.bib +++ b/vignettes/AQSAPI.bib @@ -130,14 +130,6 @@ @Manual{package:remotes url = {https://CRAN.R-project.org/package=remotes}, } -@Manual{package:hexsticker, - title = {hexSticker: Create Hexagon Sticker in R}, - author = {Guangchuang Yu}, - year = {2020}, - note = {R package version 0.4.9}, - url = {https://CRAN.R-project.org/package=hexSticker}, - } - @Misc{py3package:pyaqsapi, title = {A python 3 package to retrieve ambient air monitoring data from the United States Environmental Protection Agency’s (US EPA) Air diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index 7b26fa3..3798463 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -21,6 +21,7 @@ RAQSAPI was included in the Rblogger's March 2021: “Top 40” [New CRAN Packa mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources with them RAQSAPI would not be possible. +* README badges are provided by R package `badgecreator`[@package:badgecreatr]. * The R package `usethis`[@package:usethis] was used to generate GitHub actions for Continuous integration (CI). * Code cleanup was assisted by the R package `lintr`[@package:lintr] @@ -29,5 +30,3 @@ with them RAQSAPI would not be possible. @package:remotes] * .gitignore file borrowed examples from https://github.com/github/gitignore/blob/master/R.gitignore -* The RAQSAPI hexsticker was created using the - `hexSticker`[@package:hexsticker] package for R From f914e50352810e11e8bec85b90999e21b0a529a4 Mon Sep 17 00:00:00 2001 From: Andy Chase Date: Wed, 20 Dec 2023 12:04:03 -0800 Subject: [PATCH 07/24] Change secret name in github action --- .github/workflows/R-CMD-check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 968ec10..26580fc 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -26,8 +26,8 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - RAQSAPIKEY: ${{ secrets.AQSKEY }} - RAQSAPIUSERNAME: ${{ secrets.AQSUSER }} + RAQSAPIKEY: ${{ secrets.RAQSAPIKEY }} + RAQSAPIUSERNAME: ${{ secrets.RAQSAPIUSERNAME }} R_KEEP_PKG_SOURCE: yes steps: From 6892ca09ea86812ec64f087bb7f888ad91162664 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Thu, 21 Dec 2023 09:22:08 -0500 Subject: [PATCH 08/24] add Rcheck files to .gitignore and .Rbuildignore --- .Rbuildignore | 5 +- .gitignore | 5 + MD5 | 295 +- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION | 97 - RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE | 142 - RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md | 8 - .../RAQSAPI/R/AQSAPI_helperfunctions.R | 1081 ------- .../00_pkg_src/RAQSAPI/R/RAQSAPI-package.R | 43 - .../RAQSAPI/R/RAQSAPIlistfunctions.R | 463 --- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R | 367 --- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R | 336 --- .../00_pkg_src/RAQSAPI/R/bycounty.R | 935 ------ RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R | 588 ---- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R | 524 ---- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R | 1018 ------- RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R | 908 ------ .../00_pkg_src/RAQSAPI/R/deprecated.R | 183 -- .../00_pkg_src/RAQSAPI/R/setupfunctions.R | 93 - RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R | 33 - .../00_pkg_src/RAQSAPI/build/stage23.rdb | Bin 258553 -> 0 bytes .../00_pkg_src/RAQSAPI/build/vignette.rds | Bin 617 -> 0 bytes .../00_pkg_src/RAQSAPI/inst/CITATION | 40 - .../00_pkg_src/RAQSAPI/inst/WORDLIST | 126 - .../00_pkg_src/RAQSAPI/inst/codecov.yml | 14 - .../00_pkg_src/RAQSAPI/inst/schemaorg.json | 74 - .../00_pkg_src/RAQSAPI/man/RAQSAPI.Rd | 63 - .../RAQSAPI/man/aqs_annualsummary_by_box.Rd | 121 - .../RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd | 103 - .../man/aqs_annualsummary_by_county.Rd | 120 - .../RAQSAPI/man/aqs_annualsummary_by_site.Rd | 132 - .../RAQSAPI/man/aqs_annualsummary_by_state.Rd | 110 - .../00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd | 31 - .../00_pkg_src/RAQSAPI/man/aqs_classes.Rd | 30 - .../RAQSAPI/man/aqs_counties_by_state.Rd | 35 - .../00_pkg_src/RAQSAPI/man/aqs_credentials.Rd | 40 - .../RAQSAPI/man/aqs_dailysummary_by_box.Rd | 116 - .../RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd | 98 - .../RAQSAPI/man/aqs_dailysummary_by_county.Rd | 118 - .../RAQSAPI/man/aqs_dailysummary_by_site.Rd | 126 - .../RAQSAPI/man/aqs_dailysummary_by_state.Rd | 107 - .../RAQSAPI/man/aqs_fields_by_service.Rd | 36 - .../00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd | 32 - .../00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd | 32 - .../00_pkg_src/RAQSAPI/man/aqs_mas.Rd | 29 - .../RAQSAPI/man/aqs_metadata_service.Rd | 32 - .../RAQSAPI/man/aqs_monitors_by_box.Rd | 92 - .../RAQSAPI/man/aqs_monitors_by_cbsa.Rd | 91 - .../RAQSAPI/man/aqs_monitors_by_county.Rd | 104 - .../RAQSAPI/man/aqs_monitors_by_site.Rd | 116 - .../RAQSAPI/man/aqs_monitors_by_state.Rd | 94 - .../RAQSAPI/man/aqs_parameters_by_class.Rd | 35 - .../00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd | 29 - .../man/aqs_qa_annualperformanceeval_by_MA.Rd | 88 - .../aqs_qa_annualperformanceeval_by_county.Rd | 104 - .../aqs_qa_annualperformanceeval_by_pqao.Rd | 89 - .../aqs_qa_annualperformanceeval_by_site.Rd | 125 - .../aqs_qa_annualperformanceeval_by_state.Rd | 88 - ..._annualperformanceevaltransaction_by_MA.Rd | 90 - ...ualperformanceevaltransaction_by_county.Rd | 105 - ...nnualperformanceevaltransaction_by_pqao.Rd | 91 - ...nnualperformanceevaltransaction_by_site.Rd | 127 - ...nualperformanceevaltransaction_by_state.Rd | 90 - .../RAQSAPI/man/aqs_qa_blanks_by_MA.Rd | 108 - .../RAQSAPI/man/aqs_qa_blanks_by_county.Rd | 118 - .../RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd | 107 - .../RAQSAPI/man/aqs_qa_blanks_by_site.Rd | 127 - .../RAQSAPI/man/aqs_qa_blanks_by_state.Rd | 107 - .../aqs_qa_collocated_assessments_by_MA.Rd | 102 - ...aqs_qa_collocated_assessments_by_county.Rd | 117 - .../aqs_qa_collocated_assessments_by_pqao.Rd | 101 - .../aqs_qa_collocated_assessments_by_site.Rd | 124 - .../aqs_qa_collocated_assessments_by_state.Rd | 105 - .../RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd | 101 - .../man/aqs_qa_flowrateaudit_by_county.Rd | 116 - .../man/aqs_qa_flowrateaudit_by_pqao.Rd | 102 - .../man/aqs_qa_flowrateaudit_by_site.Rd | 123 - .../man/aqs_qa_flowrateaudit_by_state.Rd | 104 - .../man/aqs_qa_flowrateverification_by_MA.Rd | 104 - .../aqs_qa_flowrateverification_by_county.Rd | 117 - .../aqs_qa_flowrateverification_by_pqao.Rd | 103 - .../aqs_qa_flowrateverification_by_site.Rd | 123 - .../aqs_qa_flowrateverification_by_state.Rd | 105 - .../RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd | 101 - .../man/aqs_qa_one_point_qc_by_county.Rd | 114 - .../man/aqs_qa_one_point_qc_by_pqao.Rd | 99 - .../man/aqs_qa_one_point_qc_by_site.Rd | 122 - .../man/aqs_qa_one_point_qc_by_state.Rd | 105 - .../RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd | 101 - .../RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd | 117 - .../RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd | 102 - .../RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd | 122 - .../RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd | 102 - .../man/aqs_quarterlysummary_by_box.Rd | 127 - .../man/aqs_quarterlysummary_by_cbsa.Rd | 103 - .../man/aqs_quarterlysummary_by_county.Rd | 120 - .../man/aqs_quarterlysummary_by_site.Rd | 126 - .../man/aqs_quarterlysummary_by_state.Rd | 103 - .../RAQSAPI/man/aqs_removeheader.Rd | 34 - .../RAQSAPI/man/aqs_revisionhistory.Rd | 29 - .../RAQSAPI/man/aqs_sampledata_by_box.Rd | 141 - .../RAQSAPI/man/aqs_sampledata_by_cbsa.Rd | 119 - .../RAQSAPI/man/aqs_sampledata_by_county.Rd | 136 - .../RAQSAPI/man/aqs_sampledata_by_site.Rd | 147 - .../RAQSAPI/man/aqs_sampledata_by_state.Rd | 126 - .../RAQSAPI/man/aqs_sampledurations.Rd | 31 - .../RAQSAPI/man/aqs_services_by_MA.Rd | 68 - .../RAQSAPI/man/aqs_services_by_box.Rd | 99 - .../RAQSAPI/man/aqs_services_by_cbsa.Rd | 79 - .../RAQSAPI/man/aqs_services_by_county.Rd | 87 - .../RAQSAPI/man/aqs_services_by_pqao.Rd | 68 - .../RAQSAPI/man/aqs_services_by_site.Rd | 109 - .../RAQSAPI/man/aqs_services_by_state.Rd | 80 - .../00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd | 41 - .../RAQSAPI/man/aqs_sites_by_county.Rd | 41 - .../00_pkg_src/RAQSAPI/man/aqs_states.Rd | 28 - .../man/aqs_transactionsample_by_MA.Rd | 100 - .../man/aqs_transactionsample_by_county.Rd | 99 - .../man/aqs_transactionsample_by_site.Rd | 123 - .../man/aqs_transactionsample_by_state.Rd | 85 - .../00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd | 80 - .../man/figures/lifecycle-archived.svg | 21 - .../RAQSAPI/man/figures/lifecycle-defunct.svg | 21 - .../man/figures/lifecycle-deprecated.svg | 21 - .../man/figures/lifecycle-experimental.svg | 21 - .../man/figures/lifecycle-maturing.svg | 21 - .../man/figures/lifecycle-questioning.svg | 21 - .../man/figures/lifecycle-soft-deprecated.svg | 21 - .../RAQSAPI/man/figures/lifecycle-stable.svg | 29 - .../man/figures/lifecycle-superseded.svg | 21 - .../00_pkg_src/RAQSAPI/tests/spelling.R | 3 - .../RAQSAPI/tests/test-RAQSAPI.R.blob | 59 - .../00_pkg_src/RAQSAPI/tests/testthat.R | 4 - .../RAQSAPI/tests/testthat/helper.R | 17 - .../tests/testthat/test-RAQSAPlistfunctions.R | 65 - .../RAQSAPI/tests/testthat/test-byCBSA.R | 63 - .../RAQSAPI/tests/testthat/test-byMA.R | 100 - .../RAQSAPI/tests/testthat/test-bybox.R | 80 - .../RAQSAPI/tests/testthat/test-bycounty.R | 155 - .../RAQSAPI/tests/testthat/test-bypqao.R | 103 - .../RAQSAPI/tests/testthat/test-bysite.R | 175 -- .../RAQSAPI/tests/testthat/test-bystate.R | 159 - .../tests/testthat/test-helperfunctions.R | 72 - .../00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib | 139 - .../RAQSAPI/vignettes/Acknowledgements.Rmd | 32 - .../RAQSAPI/vignettes/EPA_Disclaimer.Rmd | 31 - .../RAQSAPI/vignettes/InstallandSetup.Rmd | 47 - .../00_pkg_src/RAQSAPI/vignettes/Intro.Rmd | 57 - .../vignettes/RAQSAPIFunctions-Brief.Rmd | 88 - .../vignettes/RAQSAPIFunctions-Long.Rmd | 727 ----- .../RAQSAPI/vignettes/RAQSAPIPurpose.Rmd | 144 - .../RAQSAPIusagetipsandprecautions.Rmd | 60 - .../RAQSAPI/vignettes/RAQSAPIvignette.Rmd | 74 - .../RAQSAPI/vignettes/TimelinessofAQSData.Rmd | 20 - .../RAQSAPI/vignettes/Troubleshooting.Rmd | 29 - .../RAQSAPI/vignettes/UsingRAQSAPI.Rmd | 125 - .../00_pkg_src/RAQSAPI/vignettes/acs-nano.csl | 18 - .../vignettes/american-chemical-society.csl | 279 -- .../RAQSAPI/vignettes/figures/AQS_LOGO.png | Bin 108565 -> 0 bytes .../vignettes/figures/RAQSAPIhexsticker.png | Bin 139849 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI-Ex.R | 2581 ---------------- RAQSAPI.Rcheck/RAQSAPI-Ex.Rout | 2607 ----------------- RAQSAPI.Rcheck/RAQSAPI-Ex.timings | 86 - RAQSAPI.Rcheck/RAQSAPI/CITATION | 40 - RAQSAPI.Rcheck/RAQSAPI/DESCRIPTION | 98 - RAQSAPI.Rcheck/RAQSAPI/INDEX | 158 - RAQSAPI.Rcheck/RAQSAPI/NAMESPACE | 142 - RAQSAPI.Rcheck/RAQSAPI/NEWS.md | 8 - RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI | 27 - RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdb | Bin 176341 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdx | Bin 1938 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI/WORDLIST | 126 - RAQSAPI.Rcheck/RAQSAPI/codecov.yml | 14 - RAQSAPI.Rcheck/RAQSAPI/help/AnIndex | 104 - RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdb | Bin 364412 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdx | Bin 2214 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI/help/aliases.rds | Bin 846 -> 0 bytes .../help/figures/lifecycle-archived.svg | 21 - .../help/figures/lifecycle-defunct.svg | 21 - .../help/figures/lifecycle-deprecated.svg | 21 - .../help/figures/lifecycle-experimental.svg | 21 - .../help/figures/lifecycle-maturing.svg | 21 - .../help/figures/lifecycle-questioning.svg | 21 - .../figures/lifecycle-soft-deprecated.svg | 21 - .../RAQSAPI/help/figures/lifecycle-stable.svg | 29 - .../help/figures/lifecycle-superseded.svg | 21 - RAQSAPI.Rcheck/RAQSAPI/help/paths.rds | Bin 872 -> 0 bytes RAQSAPI.Rcheck/RAQSAPI/html/R.css | 130 - RAQSAPI.Rcheck/RAQSAPI/schemaorg.json | 74 - RAQSAPI.Rcheck/tests/spelling.R | 3 - RAQSAPI.Rcheck/tests/spelling.Rout | 25 - RAQSAPI.Rcheck/tests/spelling.Rout.save | 25 - RAQSAPI.Rcheck/tests/startup.Rs | 4 - RAQSAPI.Rcheck/tests/test-RAQSAPI.R.blob | 59 - RAQSAPI.Rcheck/tests/testthat.R | 4 - RAQSAPI.Rcheck/tests/testthat.Rout.fail | 116 - RAQSAPI.Rcheck/tests/testthat/helper.R | 17 - .../tests/testthat/test-RAQSAPlistfunctions.R | 65 - RAQSAPI.Rcheck/tests/testthat/test-byCBSA.R | 63 - RAQSAPI.Rcheck/tests/testthat/test-byMA.R | 100 - RAQSAPI.Rcheck/tests/testthat/test-bybox.R | 80 - RAQSAPI.Rcheck/tests/testthat/test-bycounty.R | 155 - RAQSAPI.Rcheck/tests/testthat/test-bypqao.R | 103 - RAQSAPI.Rcheck/tests/testthat/test-bysite.R | 175 -- RAQSAPI.Rcheck/tests/testthat/test-bystate.R | 159 - .../tests/testthat/test-helperfunctions.R | 72 - .../tests/testthat/testthat-problems.rds | Bin 77068 -> 0 bytes README.md | 2 +- cran-comments.Rmd | 2 +- cran-comments.md | 2 +- vignettes/RAQSAPIFunctions-Long.R | 24 +- vignettes/RAQSAPIPurpose.R | 2 +- vignettes/RAQSAPIvignette.R | 28 +- vignettes/pyaqsapi.R | 2 +- 213 files changed, 53 insertions(+), 27023 deletions(-) delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/AQSAPI_helperfunctions.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPI-package.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPIlistfunctions.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycounty.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/deprecated.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/setupfunctions.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/stage23.rdb delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/vignette.rds delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/CITATION delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/WORDLIST delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/codecov.yml delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/schemaorg.json delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/RAQSAPI.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_classes.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_counties_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_credentials.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_fields_by_service.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_mas.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_metadata_service.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_parameters_by_class.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_removeheader.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_revisionhistory.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledurations.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_box.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_cbsa.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_pqao.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sites_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_states.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_MA.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_county.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_site.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_state.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-archived.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-defunct.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-deprecated.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-experimental.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-maturing.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-questioning.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-soft-deprecated.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-stable.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-superseded.svg delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/spelling.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/test-RAQSAPI.R.blob delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/helper.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-RAQSAPlistfunctions.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byCBSA.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byMA.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bybox.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bycounty.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bypqao.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bysite.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bystate.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-helperfunctions.R delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Acknowledgements.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/EPA_Disclaimer.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/InstallandSetup.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Intro.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Brief.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Long.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIPurpose.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIusagetipsandprecautions.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIvignette.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/TimelinessofAQSData.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Troubleshooting.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/UsingRAQSAPI.Rmd delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/acs-nano.csl delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/american-chemical-society.csl delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/AQS_LOGO.png delete mode 100644 RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/RAQSAPIhexsticker.png delete mode 100644 RAQSAPI.Rcheck/RAQSAPI-Ex.R delete mode 100644 RAQSAPI.Rcheck/RAQSAPI-Ex.Rout delete mode 100644 RAQSAPI.Rcheck/RAQSAPI-Ex.timings delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/CITATION delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/DESCRIPTION delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/INDEX delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/NAMESPACE delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/NEWS.md delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdb delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdx delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/WORDLIST delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/codecov.yml delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/AnIndex delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdb delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdx delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/aliases.rds delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-archived.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-defunct.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-deprecated.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-experimental.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-maturing.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-questioning.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-soft-deprecated.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-stable.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-superseded.svg delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/help/paths.rds delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/html/R.css delete mode 100644 RAQSAPI.Rcheck/RAQSAPI/schemaorg.json delete mode 100644 RAQSAPI.Rcheck/tests/spelling.R delete mode 100644 RAQSAPI.Rcheck/tests/spelling.Rout delete mode 100644 RAQSAPI.Rcheck/tests/spelling.Rout.save delete mode 100644 RAQSAPI.Rcheck/tests/startup.Rs delete mode 100644 RAQSAPI.Rcheck/tests/test-RAQSAPI.R.blob delete mode 100644 RAQSAPI.Rcheck/tests/testthat.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat.Rout.fail delete mode 100644 RAQSAPI.Rcheck/tests/testthat/helper.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-RAQSAPlistfunctions.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-byCBSA.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-byMA.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-bybox.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-bycounty.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-bypqao.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-bysite.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-bystate.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/test-helperfunctions.R delete mode 100644 RAQSAPI.Rcheck/tests/testthat/testthat-problems.rds diff --git a/.Rbuildignore b/.Rbuildignore index 8424125..02191d1 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,4 +1,3 @@ -.Rcheck$ ^.Rproj$ ^.Rproj.user ^.gitignore @@ -34,6 +33,7 @@ dev/install_RAQSAPI.R ^.github$ ^.github/workflows/R-CMD-check\.yaml$ ^.Rprofile$ + #Set up hte loocal environment for unit tests tests/testthat/local.R dev/* @@ -42,3 +42,6 @@ dev/* codemeta.json ^revdep$ ^LICENSE\.md$ + +# Output files from R CMD check +/*.Rcheck/ diff --git a/.gitignore b/.gitignore index af9cf26..2459c62 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,8 @@ dev/contributing.Rmd #Set up hte loocal environment for unit tests tests/testthat/local.R dev/.experimental.R + +# Output files from R CMD check +/*.Rcheck/ +/doc/ +/Meta/ diff --git a/MD5 b/MD5 index fb3c5d9..405198c 100644 --- a/MD5 +++ b/MD5 @@ -1,6 +1,6 @@ d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json -78f3339af946d3c1bb810468b4981aa7 *cran-comments.md -78f3339af946d3c1bb810468b4981aa7 *cran-comments.Rmd +41bc862202d75db51f4feb1f17fb2021 *cran-comments.md +41bc862202d75db51f4feb1f17fb2021 *cran-comments.Rmd 7b3092d9d1ec246090f159fd55deeb57 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd @@ -132,278 +132,9 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R 8bf50a551dbb3798f968436f95e3c343 *R/RAQSAPIlistfunctions.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R -8f51fe5ddf897afb20925542060627f7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/stage23.rdb -12aced1f7b2dd6f0d2c8054e24271e0b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/vignette.rds -f8f0232f6b4566f337a42b9d5815aebf *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION -3c41777493d242206848842b6ba74fde *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/CITATION -e20df979617a9f8c55da8b1506da4078 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/codecov.yml -e4d3a123b14a89ab800c5e143d19da61 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Acknowledgements.html -49025d261826350f3050e677eab9dbac *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Acknowledgements.Rmd -de323c3deb36e066a7583c5b756ae49b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/EPA_Disclaimer.html -a79d926b2ab509e6a9e575539b205280 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/EPA_Disclaimer.Rmd -f2ae2ad47d08797f778439b01a3a9417 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/InstallandSetup.html -69224454907b49f3de5fcf3527a3ad3f *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/InstallandSetup.Rmd -8cefad4a9367dfd29b6622140d4f6973 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Intro.html -a629c5720b68a384451709002c95a499 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Intro.Rmd -bce644f7c50a618fee8429b3655e5fb9 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Brief.html -1dbae57a3f574ccd77b4d2af2c76e831 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Brief.Rmd -cc0f370ba9e854f2f15d0ad4711559fe *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.html -298d5dd5fb37b777a3235c0aeb3733bb *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.R -85c580fbdeb29023fb03126654384923 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIFunctions-Long.Rmd -912519b2b60dc147b4cbb934d0da2588 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.html -ea8eab93de05207476b4c5f91642b478 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.R -b676d49a421ed0b581e2b3269bac31e0 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIPurpose.Rmd -145f6d07d3e1b62d2109d2b42885ef35 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIusagetipsandprecautions.html -629b81e7f6056a9411e2ce16e4dfc5c8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIusagetipsandprecautions.Rmd -9f28ab420df5c1cf26c369678b33910d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.html -f699388355cf6bf668200349774ad51c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.R -cc873a7101715766a6057c2cbb59609d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/RAQSAPIvignette.Rmd -252489c90ef30ae2026cb9a50fc6ad35 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/TimelinessofAQSData.html -5d3445414bf02629a8a10b6dc05c47e7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/TimelinessofAQSData.Rmd -4a6f61ae81515d8b770f30841ef17fc1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Troubleshooting.html -1fee66dbee4d04b47a0b7747ea282a5b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/Troubleshooting.Rmd -88eec7c1fd07d51e6bd2007f68098b15 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/UsingRAQSAPI.html -969189538d2ec6a0e10ea6d7350ab612 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/doc/UsingRAQSAPI.Rmd -dd65d70b425fb86f7c8b6d8841a837d8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/schemaorg.json -44650d3802ce6c4eccbbfc02684e51a2 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/WORDLIST -bb220ff3f4bcd893aa398e4c8c8cae65 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_box.Rd -c573c6798acca4ff4685ecd719ec2bb8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd -83ae0d7a99af595a6c7bc6434c0a150c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_county.Rd -f08db27eded1c54408da341540c26cea *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_site.Rd -9787dae337bb0fef010e7a1c53222bca *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_state.Rd -c902f26fabddfa0a6c5712967c8459a8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd -11146e4177f407a62384a26c4e46e24d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_classes.Rd -635b9f68a7502c2fe986d1c960b1c6aa *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_counties_by_state.Rd -0284a9ae6039270e4df20f55d70795d3 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_credentials.Rd -ed4aa24a77ccec72bafd04e13da9a633 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_box.Rd -e88ab16e7a5d2fb2b97321e19385cb73 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd -a9bd30bd63cb0d87950a29dacd09b863 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_county.Rd -e1d0feac3f5dbd4bd00a0f22d9e0f29b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_site.Rd -9c6d1be4343c66028c05f79825e99f1d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_state.Rd -7f8cd4e7da4cd163bf26e7a42ab7f0dd *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_fields_by_service.Rd -cb7e75393a961f4e24295c6fe41cd7ca *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd -9dc10c75742f0ae7c5ab84491b97ab9e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd -1c54447803b06ad16803869121215bba *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_mas.Rd -5dd208dfb069b56487671b3914c25b87 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_metadata_service.Rd -e0839a2a0cf675efca6d8c28cd08969a *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_box.Rd -1342361e95bfabe2446c540972831fd7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_cbsa.Rd -d4bb1ac4b1d1d03e018070e0dc22707b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_county.Rd -ce6df8130162058c316f6948df11952b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_site.Rd -fbcb7b0e9cc9fff0f35ca06870685bb2 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_state.Rd -92d9f7d8687715b6326f576877613e3f *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_parameters_by_class.Rd -ea076f228e88f88cd02ac4085f5f5f9c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd -35956c4b388bf52a5f47439e2da30a3c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_county.Rd -8d3c09175b73cdf5bebbeb45c0fe6192 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_MA.Rd -d33768a55f365072c3e3dee9e858b815 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_pqao.Rd -e5ef33a9ba316d06c9723b4e83be9be4 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_site.Rd -c273c50e3ee2426e9010eefdf66602e8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_state.Rd -20f133f3b85058cf576efa679a4581e7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_county.Rd -512a8426dc86b61f6de03db7f2984b2a *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_MA.Rd -7a1880e0f79e808cf6dea9a3000d79b7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_pqao.Rd -0a422f05de4fca8f10b3d9a33bdbcb83 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_site.Rd -442ad40c59960725670c9a54530014fe *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_state.Rd -08c77dc2b18c4c3c729f4eace49b2d33 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_county.Rd -35efc7bb2119310f4ee13a3086429e07 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_MA.Rd -5badb7a29dd665bbdc5e054213aff75e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd -822b2cecf1083dc1830a9847226beb5e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_site.Rd -9ed6bea911ff7034dfbb4416a1a354de *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_state.Rd -66c193970593756529011f7859519856 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_county.Rd -ac7c11700cccee1e122ee096d6eaef18 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_MA.Rd -02d8c754a69ec086a78d532548f2d299 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_pqao.Rd -b12509db8c4dac180f964362eebb7060 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_site.Rd -79616bd31337c718e01d9f061988e93c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_state.Rd -97dab4a117408d1e088dc7de46095fc5 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_county.Rd -f182f2d7e8d8dc9001478f34eff53e3e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd -28065194126899e73db92cc87815135c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_pqao.Rd -07ba9d9be387b0e574243789f6f3ba03 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_site.Rd -ac81b00199d6f992a6d8d54e9585a606 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_state.Rd -7b8f9aa2d83cbd1b9613d098f5be21a6 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_county.Rd -a6edf6900c0776e2f0388a77123b7883 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_MA.Rd -f3d030fa171ca3807fcfd6da3efc5b87 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_pqao.Rd -487f3f6780db3abaee35613a6296837c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_site.Rd -870cfb752059c2363134f5043311d7e8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_state.Rd -54a3e89136e58b5c9be307b456e4c098 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_county.Rd -ab0222ba19fec3f73d3e5138d1885fa7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd -846a89e4af9c0c0e4d2b0bb923d3c5e9 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_pqao.Rd -573988e51ec1b91182e132dda32b6a2c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_site.Rd -dee3fbfb48fae4536d9975271f9be4e8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_state.Rd -94bc713c1a7eab6e6729af4e2a6f3cfd *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd -068f77df379848df4604ab77ebaf4b68 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd -d46ca1fc46943740de7baa971356c004 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd -67d9a5bda83c84a2cf14ff0f2ea51ecc *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd -026eb2e3e5d0ce00921c8ac8829fe09e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd -945fe6e74a42cfc211257e6c5f5e7ca7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_box.Rd -82fddc7840ae24f9f040ff08d7c6423d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_cbsa.Rd -5df0804ce29c18fa576e7099daac482a *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_county.Rd -8f35870dea3914136de44218963e5199 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_site.Rd -df82f66b78af737d2d9e180c772b409e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_state.Rd -f92e4ebc11fcde5a90eee4b6bba3e92d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_removeheader.Rd -b3f77634f7bfcc8880835f3b661f3cdc *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_revisionhistory.Rd -4fc8724dfb6626267d7af14b6c9a9718 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_box.Rd -93b75aebaddfa6c32d0318dda74b3545 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_cbsa.Rd -813b7610185a2d005d4977853884c6bb *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_county.Rd -8529539ef5cacae55d7c397d76353610 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_site.Rd -790936a23ea07e6e4352f64b912e7e18 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_state.Rd -8918f1e4ab12ad6d751bf86ef20ff963 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledurations.Rd -aef83261096f38ebf2c99612f20b2b9a *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_box.Rd -7f1a7aca904fa8d811ec90aa278e7d16 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_cbsa.Rd -27b4116ca20e9779f112ed03c3ca3a67 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_county.Rd -90f52d167bbcb955641360608e237c5e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_MA.Rd -479fae9da1baaccf38d95d7c31b05101 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_pqao.Rd -5504e84d1b2fb49ff2229f8378d6d519 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_site.Rd -2b14aa85862521c521bb7200fd5ef3e1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_state.Rd -c939541fab3e5ef289eca9be9f8eaeee *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd -0c4ad0c0172e3807839a69740315b8b1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sites_by_county.Rd -d4e249969b096762b6fb2919819f209b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_states.Rd -901d85b050efd6cbaccbbffb114c29a9 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_county.Rd -153a0957483467a73cc2ea3d81cc66b7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_MA.Rd -3609a3c6a63209e2ad160f09da3124ba *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_site.Rd -9ddf5a536ea48e691d162a9444388119 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_state.Rd -34bc825920e9617d287d3b0f3726aca5 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd -32e735dca18b1b6247e46c5a9c95f70b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-archived.svg -926dda7c74d388ae3fd7476122ffa0ba *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-defunct.svg -8b9317939d546a8bd0ae4da30c658f78 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-deprecated.svg -e1c8d33150e179ed17231c575895092b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-experimental.svg -44654a4153801346834ce7e52a8b5175 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-maturing.svg -4c06af5b86c85bd056c98ba391c3f82e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-questioning.svg -b299be1b0cc513f05fa0a8f952f76c38 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-soft-deprecated.svg -383d1a195cfb97ae7af9a37a877b88eb *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-stable.svg -6920593141a53e9e05a9d7c6fd393650 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-superseded.svg -59180a647874cd072cc1311797f581f3 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/RAQSAPI.Rd -3fefa6fab6ae613528f4cecf39cfaf8c *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE -94c65e3824d4fd9ffa90ec73fed63596 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md -a79461f449d190cef2bb420c23befc5f *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/AQSAPI_helperfunctions.R -a3558975d0256839b174ab7868833075 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R -bd8b36cc7325d4fc8b8ed894f0046678 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R -253ea551f88c65c1c49feff3cb33f552 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycounty.R -d82b1ff8ee144afca1879e5b8dc58840 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R -75cbb841598edc4dc4857950c6e4b0b5 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R -6acae078848030131e628154099e5f53 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R -2e6e59d801dc3b6bd5e415ada7268469 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R -8198ed65b99926d0ed9b07c49a1bf8e2 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/deprecated.R -d7ceafa78f5ba2098f567b9c9150da20 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPI-package.R -c9fd9ac3f73645262f4c6665c370a9a8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPIlistfunctions.R -443b6c1736f4b067a7c58b498a3ff5b1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/setupfunctions.R -6e659bb3bbf313dc819d4c029f0b22d0 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R -9566921a96ff55c1a51b6eb898d25884 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/spelling.R -846f989b5f8b7a32fa520e52b4675635 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/test-RAQSAPI.R.blob -cb0e705ce06ab9db6aad083e91041d31 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat.R -56891c92989166a785013a8953da96a3 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/helper.R -37d187be50c130b4e8a8c6d2bb0d9fa5 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bybox.R -c883634140b22f5fb97c08f909ce377e *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byCBSA.R -50d37429e9bf99ad5be17e09d92e16e8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bycounty.R -19a199f8020db0329fe289a41aa71598 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byMA.R -f7ea691da1baf266047ed7af4b0c4629 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bypqao.R -41e407548ac72ec4f41e678d23a566dd *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bysite.R -051416af24d0386f084eb13a14053ce1 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bystate.R -014b81fb9c8d2350e1347841f41b24a3 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-helperfunctions.R -8392bc0bfa62b60485a925a2517475a6 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-RAQSAPlistfunctions.R -49025d261826350f3050e677eab9dbac *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Acknowledgements.Rmd -3fda843a5be3fb9e19364871ff7f8cf6 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/acs-nano.csl -d05384e174a4be63a451f1380a7a58da *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/american-chemical-society.csl -39365075c6f1d3ae375438054d27cb89 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib -a79d926b2ab509e6a9e575539b205280 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/EPA_Disclaimer.Rmd -9f8f6638c5178a9bec62665b4cef5e1d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/AQS_LOGO.png -ce3de92ce1a1d0851726b5ae8b384b79 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/RAQSAPIhexsticker.png -69224454907b49f3de5fcf3527a3ad3f *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/InstallandSetup.Rmd -a629c5720b68a384451709002c95a499 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Intro.Rmd -1dbae57a3f574ccd77b4d2af2c76e831 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Brief.Rmd -85c580fbdeb29023fb03126654384923 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Long.Rmd -b676d49a421ed0b581e2b3269bac31e0 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIPurpose.Rmd -629b81e7f6056a9411e2ce16e4dfc5c8 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIusagetipsandprecautions.Rmd -cc873a7101715766a6057c2cbb59609d *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIvignette.Rmd -5d3445414bf02629a8a10b6dc05c47e7 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/TimelinessofAQSData.Rmd -1fee66dbee4d04b47a0b7747ea282a5b *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Troubleshooting.Rmd -969189538d2ec6a0e10ea6d7350ab612 *RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/UsingRAQSAPI.Rmd -f5af51ca5e0b1b8540079b5b2b5ca20e *RAQSAPI.Rcheck/00check.log -07fb36037740409ac121bbd630f28361 *RAQSAPI.Rcheck/00install.out -3a8cb09cc75247f0009062724828672f *RAQSAPI.Rcheck/RAQSAPI-Ex.pdf -535860dffff3ed91e1763704a3ca01da *RAQSAPI.Rcheck/RAQSAPI-Ex.R -d82ce08c7c4030e27b709e94ea9dab47 *RAQSAPI.Rcheck/RAQSAPI-Ex.Rout -567991937fe8be52e3cdaa8074c88dff *RAQSAPI.Rcheck/RAQSAPI-Ex.timings -3c41777493d242206848842b6ba74fde *RAQSAPI.Rcheck/RAQSAPI/CITATION -e20df979617a9f8c55da8b1506da4078 *RAQSAPI.Rcheck/RAQSAPI/codecov.yml -f16588181676c79a2bf49e9379f21e43 *RAQSAPI.Rcheck/RAQSAPI/DESCRIPTION -e4d3a123b14a89ab800c5e143d19da61 *RAQSAPI.Rcheck/RAQSAPI/doc/Acknowledgements.html -49025d261826350f3050e677eab9dbac *RAQSAPI.Rcheck/RAQSAPI/doc/Acknowledgements.Rmd -de323c3deb36e066a7583c5b756ae49b *RAQSAPI.Rcheck/RAQSAPI/doc/EPA_Disclaimer.html -a79d926b2ab509e6a9e575539b205280 *RAQSAPI.Rcheck/RAQSAPI/doc/EPA_Disclaimer.Rmd -a553d4099ca5eaf93be8144a660f2726 *RAQSAPI.Rcheck/RAQSAPI/doc/index.html -f2ae2ad47d08797f778439b01a3a9417 *RAQSAPI.Rcheck/RAQSAPI/doc/InstallandSetup.html -69224454907b49f3de5fcf3527a3ad3f *RAQSAPI.Rcheck/RAQSAPI/doc/InstallandSetup.Rmd -8cefad4a9367dfd29b6622140d4f6973 *RAQSAPI.Rcheck/RAQSAPI/doc/Intro.html -a629c5720b68a384451709002c95a499 *RAQSAPI.Rcheck/RAQSAPI/doc/Intro.Rmd -bce644f7c50a618fee8429b3655e5fb9 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Brief.html -1dbae57a3f574ccd77b4d2af2c76e831 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Brief.Rmd -cc0f370ba9e854f2f15d0ad4711559fe *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.html -298d5dd5fb37b777a3235c0aeb3733bb *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.R -85c580fbdeb29023fb03126654384923 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIFunctions-Long.Rmd -912519b2b60dc147b4cbb934d0da2588 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.html -ea8eab93de05207476b4c5f91642b478 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.R -b676d49a421ed0b581e2b3269bac31e0 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIPurpose.Rmd -145f6d07d3e1b62d2109d2b42885ef35 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.html -629b81e7f6056a9411e2ce16e4dfc5c8 *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIusagetipsandprecautions.Rmd -9f28ab420df5c1cf26c369678b33910d *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.html -f699388355cf6bf668200349774ad51c *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.R -cc873a7101715766a6057c2cbb59609d *RAQSAPI.Rcheck/RAQSAPI/doc/RAQSAPIvignette.Rmd -252489c90ef30ae2026cb9a50fc6ad35 *RAQSAPI.Rcheck/RAQSAPI/doc/TimelinessofAQSData.html -5d3445414bf02629a8a10b6dc05c47e7 *RAQSAPI.Rcheck/RAQSAPI/doc/TimelinessofAQSData.Rmd -4a6f61ae81515d8b770f30841ef17fc1 *RAQSAPI.Rcheck/RAQSAPI/doc/Troubleshooting.html -1fee66dbee4d04b47a0b7747ea282a5b *RAQSAPI.Rcheck/RAQSAPI/doc/Troubleshooting.Rmd -88eec7c1fd07d51e6bd2007f68098b15 *RAQSAPI.Rcheck/RAQSAPI/doc/UsingRAQSAPI.html -969189538d2ec6a0e10ea6d7350ab612 *RAQSAPI.Rcheck/RAQSAPI/doc/UsingRAQSAPI.Rmd -13e02279a4fd899df229994925f3f670 *RAQSAPI.Rcheck/RAQSAPI/help/aliases.rds -4aaac915765781881d14d007a1d8b8c1 *RAQSAPI.Rcheck/RAQSAPI/help/AnIndex -32e735dca18b1b6247e46c5a9c95f70b *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-archived.svg -926dda7c74d388ae3fd7476122ffa0ba *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-defunct.svg -8b9317939d546a8bd0ae4da30c658f78 *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-deprecated.svg -e1c8d33150e179ed17231c575895092b *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-experimental.svg -44654a4153801346834ce7e52a8b5175 *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-maturing.svg -4c06af5b86c85bd056c98ba391c3f82e *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-questioning.svg -b299be1b0cc513f05fa0a8f952f76c38 *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-soft-deprecated.svg -383d1a195cfb97ae7af9a37a877b88eb *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-stable.svg -6920593141a53e9e05a9d7c6fd393650 *RAQSAPI.Rcheck/RAQSAPI/help/figures/lifecycle-superseded.svg -2b2cfe7171ff5a0e9c35214fb2e57424 *RAQSAPI.Rcheck/RAQSAPI/help/paths.rds -984d67a7f6ecf5948c161ce0b1357cb3 *RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdb -721852fa3fededb2f3daf964ffef6a93 *RAQSAPI.Rcheck/RAQSAPI/help/RAQSAPI.rdx -c57cbd3f9b8dd0562aecb7365e66c19e *RAQSAPI.Rcheck/RAQSAPI/html/00Index.html -a8edcce19d02f8a205d00dc812f36639 *RAQSAPI.Rcheck/RAQSAPI/html/R.css -0fc456b08e2158655be64acd9c89fcdc *RAQSAPI.Rcheck/RAQSAPI/INDEX -f191f333b866ab8dcb201f48270fe190 *RAQSAPI.Rcheck/RAQSAPI/Meta/features.rds -8e6557ca03dc7d7484f868a1e095a51e *RAQSAPI.Rcheck/RAQSAPI/Meta/hsearch.rds -49f5e7f30eb02491d2f179f929310c34 *RAQSAPI.Rcheck/RAQSAPI/Meta/links.rds -66138d6feddc9983e3bdcb273bd65fc6 *RAQSAPI.Rcheck/RAQSAPI/Meta/nsInfo.rds -1d43371d61c6a331d77e30d151c5a115 *RAQSAPI.Rcheck/RAQSAPI/Meta/package.rds -8c3072c9db066c449b550f4de87e0e08 *RAQSAPI.Rcheck/RAQSAPI/Meta/Rd.rds -12aced1f7b2dd6f0d2c8054e24271e0b *RAQSAPI.Rcheck/RAQSAPI/Meta/vignette.rds -3fefa6fab6ae613528f4cecf39cfaf8c *RAQSAPI.Rcheck/RAQSAPI/NAMESPACE -94c65e3824d4fd9ffa90ec73fed63596 *RAQSAPI.Rcheck/RAQSAPI/NEWS.md -c8bda207ff1759df0deb7a69220778a7 *RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI -36d69a2778a803f2bd6a7ad605ac2dc7 *RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdb -e77fe25730503615857c360a01f2d17a *RAQSAPI.Rcheck/RAQSAPI/R/RAQSAPI.rdx -dd65d70b425fb86f7c8b6d8841a837d8 *RAQSAPI.Rcheck/RAQSAPI/schemaorg.json -44650d3802ce6c4eccbbfc02684e51a2 *RAQSAPI.Rcheck/RAQSAPI/WORDLIST -9566921a96ff55c1a51b6eb898d25884 *RAQSAPI.Rcheck/tests/spelling.R -0771ddcf9420162924460f9361ff8826 *RAQSAPI.Rcheck/tests/spelling.Rout -f4e07eb82b9a00bae0c0177f4b861511 *RAQSAPI.Rcheck/tests/spelling.Rout.save -4dcaf6e4698de3f0f55bad64d77cde5b *RAQSAPI.Rcheck/tests/startup.Rs -846f989b5f8b7a32fa520e52b4675635 *RAQSAPI.Rcheck/tests/test-RAQSAPI.R.blob -cb0e705ce06ab9db6aad083e91041d31 *RAQSAPI.Rcheck/tests/testthat.R -7fbe889570d84987c39539878f32733a *RAQSAPI.Rcheck/tests/testthat.Rout.fail -56891c92989166a785013a8953da96a3 *RAQSAPI.Rcheck/tests/testthat/helper.R -37d187be50c130b4e8a8c6d2bb0d9fa5 *RAQSAPI.Rcheck/tests/testthat/test-bybox.R -c883634140b22f5fb97c08f909ce377e *RAQSAPI.Rcheck/tests/testthat/test-byCBSA.R -50d37429e9bf99ad5be17e09d92e16e8 *RAQSAPI.Rcheck/tests/testthat/test-bycounty.R -19a199f8020db0329fe289a41aa71598 *RAQSAPI.Rcheck/tests/testthat/test-byMA.R -f7ea691da1baf266047ed7af4b0c4629 *RAQSAPI.Rcheck/tests/testthat/test-bypqao.R -41e407548ac72ec4f41e678d23a566dd *RAQSAPI.Rcheck/tests/testthat/test-bysite.R -051416af24d0386f084eb13a14053ce1 *RAQSAPI.Rcheck/tests/testthat/test-bystate.R -014b81fb9c8d2350e1347841f41b24a3 *RAQSAPI.Rcheck/tests/testthat/test-helperfunctions.R -8392bc0bfa62b60485a925a2517475a6 *RAQSAPI.Rcheck/tests/testthat/test-RAQSAPlistfunctions.R -3e2e78ef3cf7666c3c041ff1b5bec788 *RAQSAPI.Rcheck/tests/testthat/testthat-problems.rds a69de5455537022556f014579766be59 *RAQSAPI.Rproj cfb9487651a3162cdb4308fb94e30719 *RAQSAPI_2.0.5.tar.gz -6e836e8891f62adad059f95c2434952a *README.md +5c9c15faa5fe536401b1aa571134cf3b *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1608,29 +1339,29 @@ de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 9f8f6638c5178a9bec62665b4cef5e1d *vignettes/figures/AQS_LOGO.png 52656f58a1ace48010f646376b988318 *vignettes/figures/RAQSAPIhexsticker.png -44aa30dce806516fb33882e14edf4d80 *vignettes/InstallandSetup.html +b24e9687826a95a586a2d6696af8f800 *vignettes/InstallandSetup.html 69224454907b49f3de5fcf3527a3ad3f *vignettes/InstallandSetup.Rmd 87c86671047d619e996c248050cce085 *vignettes/Intro.html b57a206286bec0fb22bbde308149d452 *vignettes/Intro.Rmd c964de5f5bcde0fd3f1c7f6beaf6a4d5 *vignettes/pyaqsapi.html -123ce2f4346764c747fe35c16ef61b97 *vignettes/pyaqsapi.R +ad142c2e81fca7371499f09e294c1dba *vignettes/pyaqsapi.R 733ccd06aa9a7988d1ea78f52c528e55 *vignettes/pyaqsapi.Rmd -bce644f7c50a618fee8429b3655e5fb9 *vignettes/RAQSAPIFunctions-Brief.html +8774f9c513ba8110c612b8ccfb9603e3 *vignettes/RAQSAPIFunctions-Brief.html 1dbae57a3f574ccd77b4d2af2c76e831 *vignettes/RAQSAPIFunctions-Brief.Rmd 9b96ebd481321226caedaa7ab4472d05 *vignettes/RAQSAPIFunctions-Long.html -c65f35b91bfac8c4f16ee2319b95d4f5 *vignettes/RAQSAPIFunctions-Long.R +d7c4cb348a250e4f40d1d510cec2df3d *vignettes/RAQSAPIFunctions-Long.R e923e364682d337856051526b5b8b3a6 *vignettes/RAQSAPIFunctions-Long.Rmd d375e86106c359f735a25d53764b7f8e *vignettes/RAQSAPIPurpose.html -5bbe64951e61ada686bad5308c437b77 *vignettes/RAQSAPIPurpose.R +2a912d01a36839facb5c2c6dff2d1c7f *vignettes/RAQSAPIPurpose.R 9d564369cb22e187ed61da9fafcac002 *vignettes/RAQSAPIPurpose.Rmd -c0099b9c0fa4d49121ad8d61078d13a7 *vignettes/RAQSAPIusagetipsandprecautions.html +145f6d07d3e1b62d2109d2b42885ef35 *vignettes/RAQSAPIusagetipsandprecautions.html 629b81e7f6056a9411e2ce16e4dfc5c8 *vignettes/RAQSAPIusagetipsandprecautions.Rmd -64cc3a12ebf9551805f96acfb86ba406 *vignettes/RAQSAPIvignette.html -0bfd7b471b0234189b915b536d09713f *vignettes/RAQSAPIvignette.R +86688e02359b803ca9421cd43458bef1 *vignettes/RAQSAPIvignette.html +0ceeb543649151ff7b85d59748bacebc *vignettes/RAQSAPIvignette.R 95acca4cbbfe5ebbfcb4c0a3978038bf *vignettes/RAQSAPIvignette.Rmd 42a066ce73b20f2538877f8e4eac1d84 *vignettes/TimelinessofAQSData.html fddf2cec564191b24c0213f260c0f932 *vignettes/TimelinessofAQSData.Rmd -06345a3820be1e248082b211e2bcb708 *vignettes/Troubleshooting.html +4a6f61ae81515d8b770f30841ef17fc1 *vignettes/Troubleshooting.html 1fee66dbee4d04b47a0b7747ea282a5b *vignettes/Troubleshooting.Rmd -81dc9769ebde9b586474b28b17d08e72 *vignettes/UsingRAQSAPI.html +2f01e9fde3b3c8b82aafc174e2b66833 *vignettes/UsingRAQSAPI.html 969189538d2ec6a0e10ea6d7350ab612 *vignettes/UsingRAQSAPI.Rmd diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION deleted file mode 100644 index adc8d8b..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/DESCRIPTION +++ /dev/null @@ -1,97 +0,0 @@ -Type: Package -Package: RAQSAPI -Version: 2.0.5 -Title: A Simple Interface to the US EPA Air Quality System Data Mart - API -Description: Retrieve air monitoring data and associated metadata from the US - Environmental Protection Agency's Air Quality System service using functions. - See for details about - the US EPA Data Mart API. -Encoding: UTF-8 -Authors@R: c(person(given="Clinton", family="Mccrowey", - email="mccrowey.clinton@epa.gov", - role=c("cre", "aut"), - comment="United States Environmental Protection - Agency Region 3 Air and Radiation Division"), - person(given="Timothy", family="Sharac", role=c("ctb","rev"), - email=NULL, - comment="United States Environmental Protection Agency"), - person(given = "Nick", family = "Mangus", email = NULL, - role=c("rev"), - comment="United States Environmental Protection Agency"), - person(given = "Doug", family = "Jager", - email=NULL, role=c("ctb", "rev"), - comment="United States Environmental Protection Agency"), - person(given = "Ryan",family = "Brown", - email=NULL, role=c("ctb", "rev"), - comment="United States Environmental Protection Agency"), - person(given = "Daniel", family = "Garver", - email=NULL, role=c("ctb", "rev"), - comment="United States Environmental Protection Agency"), - person(given = "Benjamin", family = "Wells", - email=NULL, role=c("ctb", "rev"), - comment="United States Environmental Protection Agency"), - person(given = "Hayley", family= "Brittingham", - email = NULL, role=c("crr", "ctr"), - comment="Neptune and Company"), - person(given = "Jeffrey", family = "Hollister", - email = "hollister.jeff@epa.gov", role = c("rev"), - comment = c("United States Environmental Protection Agency", - ORCID = "0000-0002-9254-9740" - ) - ), - person(given = "Edward", family = "Andrews", - email = "edward.s.andrews@wv.gov", - role = c("rev", "ctb"), - comment = "West Virginia Department of Environmental Protection, Division of Air Quality" - ) - ) -URL: , - -BugReports: https://github.com/USEPA/RAQSAPI/issues -Depends: R (>= 4.0.0) -Imports: dplyr, glue, httr2, lifecycle, lubridate, magrittr, purrr, - rlang, stringr, tibble -Suggests: covr, devtools, goodpractice, keyring, knitr, markdown, - rmarkdown, roxygen2, spelling, testthat (>= 3.0.0), usethis, - withr -SystemRequirements: package manual requires pandoc (>= 1.14) - http://pandoc.org -RoxygenNote: 7.2.3 -VignetteBuilder: knitr -BuildVignettes: true -ByteCompile: true -License: MIT -License_is_FOSS: yes -NeedsCompilation: no -License_restricts_use: no -Language: en-US -Collate: 'AQSAPI_helperfunctions.R' 'bysite.R' 'bycounty.R' 'bystate.R' - 'byma.R' 'bypqao.R' 'bycbsa.R' 'bybox.R' - 'RAQSAPIlistfunctions.R' 'setupfunctions.R' 'zzz.R' - 'RAQSAPI-package.R' 'deprecated.R' -Copyright: United States Environmental Protection Agency -RdMacros: lifecycle -Roxygen: list(markdown = TRUE) -Config/testthat/edition: 3 -X-schema.org-keywords: United State Environmental Protection Agency, - Environmental-data-retrieval, Air-Quality-System, AQS-Datamart, - Air-monitoring, Environmental-monitoring -Packaged: 2023-08-18 13:51:20 UTC; runneradmin -Author: Clinton Mccrowey [cre, aut] (United States Environmental Protection - Agency Region 3 Air and Radiation Division), - Timothy Sharac [ctb, rev] (United States Environmental Protection - Agency), - Nick Mangus [rev] (United States Environmental Protection Agency), - Doug Jager [ctb, rev] (United States Environmental Protection Agency), - Ryan Brown [ctb, rev] (United States Environmental Protection Agency), - Daniel Garver [ctb, rev] (United States Environmental Protection - Agency), - Benjamin Wells [ctb, rev] (United States Environmental Protection - Agency), - Hayley Brittingham [crr, ctr] (Neptune and Company), - Jeffrey Hollister [rev] (United States Environmental Protection Agency, - ), - Edward Andrews [rev, ctb] (West Virginia Department of Environmental - Protection, Division of Air Quality) -Maintainer: Clinton Mccrowey diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE deleted file mode 100644 index 15456b6..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NAMESPACE +++ /dev/null @@ -1,142 +0,0 @@ -# Generated by roxygen2: do not edit by hand - -export(aqs_annualsummary_by_box) -export(aqs_annualsummary_by_cbsa) -export(aqs_annualsummary_by_county) -export(aqs_annualsummary_by_site) -export(aqs_annualsummary_by_state) -export(aqs_cbsas) -export(aqs_classes) -export(aqs_counties_by_state) -export(aqs_credentials) -export(aqs_dailysummary_by_box) -export(aqs_dailysummary_by_cbsa) -export(aqs_dailysummary_by_county) -export(aqs_dailysummary_by_site) -export(aqs_dailysummary_by_state) -export(aqs_fields_by_service) -export(aqs_isavailable) -export(aqs_knownissues) -export(aqs_mas) -export(aqs_monitors_by_box) -export(aqs_monitors_by_cbsa) -export(aqs_monitors_by_county) -export(aqs_monitors_by_site) -export(aqs_monitors_by_state) -export(aqs_parameters_by_class) -export(aqs_pqaos) -export(aqs_qa_annualpeferomanceeval_by_MA) -export(aqs_qa_annualpeferomanceeval_by_county) -export(aqs_qa_annualpeferomanceeval_by_pqao) -export(aqs_qa_annualpeferomanceeval_by_site) -export(aqs_qa_annualpeferomanceeval_by_state) -export(aqs_qa_annualpeferomanceevaltransaction_by_MA) -export(aqs_qa_annualpeferomanceevaltransaction_by_county) -export(aqs_qa_annualpeferomanceevaltransaction_by_pqao) -export(aqs_qa_annualpeferomanceevaltransaction_by_site) -export(aqs_qa_annualperformanceeval_by_MA) -export(aqs_qa_annualperformanceeval_by_county) -export(aqs_qa_annualperformanceeval_by_pqao) -export(aqs_qa_annualperformanceeval_by_site) -export(aqs_qa_annualperformanceeval_by_state) -export(aqs_qa_annualperformanceevaltransaction_by_MA) -export(aqs_qa_annualperformanceevaltransaction_by_county) -export(aqs_qa_annualperformanceevaltransaction_by_pqao) -export(aqs_qa_annualperformanceevaltransaction_by_site) -export(aqs_qa_annualperformanceevaltransaction_by_state) -export(aqs_qa_blanks_by_MA) -export(aqs_qa_blanks_by_county) -export(aqs_qa_blanks_by_pqao) -export(aqs_qa_blanks_by_site) -export(aqs_qa_blanks_by_state) -export(aqs_qa_collocated_assessments_by_MA) -export(aqs_qa_collocated_assessments_by_county) -export(aqs_qa_collocated_assessments_by_pqao) -export(aqs_qa_collocated_assessments_by_site) -export(aqs_qa_collocated_assessments_by_state) -export(aqs_qa_flowrateaudit_by_MA) -export(aqs_qa_flowrateaudit_by_county) -export(aqs_qa_flowrateaudit_by_pqao) -export(aqs_qa_flowrateaudit_by_site) -export(aqs_qa_flowrateaudit_by_state) -export(aqs_qa_flowrateverification_by_MA) -export(aqs_qa_flowrateverification_by_county) -export(aqs_qa_flowrateverification_by_pqao) -export(aqs_qa_flowrateverification_by_site) -export(aqs_qa_flowrateverification_by_state) -export(aqs_qa_one_point_qc_by_MA) -export(aqs_qa_one_point_qc_by_county) -export(aqs_qa_one_point_qc_by_pqao) -export(aqs_qa_one_point_qc_by_site) -export(aqs_qa_one_point_qc_by_state) -export(aqs_qa_pep_audit_by_MA) -export(aqs_qa_pep_audit_by_county) -export(aqs_qa_pep_audit_by_pqao) -export(aqs_qa_pep_audit_by_site) -export(aqs_qa_pep_audit_by_state) -export(aqs_quarterlysummary_by_box) -export(aqs_quarterlysummary_by_cbsa) -export(aqs_quarterlysummary_by_county) -export(aqs_quarterlysummary_by_site) -export(aqs_quarterlysummary_by_state) -export(aqs_removeheader) -export(aqs_revisionhistory) -export(aqs_sampledata_by_box) -export(aqs_sampledata_by_cbsa) -export(aqs_sampledata_by_county) -export(aqs_sampledata_by_site) -export(aqs_sampledata_by_state) -export(aqs_sampledurations) -export(aqs_sign_up) -export(aqs_sites_by_county) -export(aqs_states) -export(aqs_transactionsample_by_MA) -export(aqs_transactionsample_by_county) -export(aqs_transactionsample_by_site) -export(aqs_transactionsample_by_state) -importFrom(dplyr,arrange) -importFrom(dplyr,between) -importFrom(dplyr,bind_cols) -importFrom(dplyr,bind_rows) -importFrom(dplyr,mutate) -importFrom(dplyr,rename) -importFrom(dplyr,rename_at) -importFrom(dplyr,select) -importFrom(dplyr,select_if) -importFrom(dplyr,vars) -importFrom(glue,glue) -importFrom(httr2,req_options) -importFrom(httr2,req_perform) -importFrom(httr2,req_retry) -importFrom(httr2,req_throttle) -importFrom(httr2,req_url_path_append) -importFrom(httr2,req_user_agent) -importFrom(httr2,request) -importFrom(httr2,resp_body_json) -importFrom(lifecycle,badge) -importFrom(lifecycle,deprecate_soft) -importFrom(lubridate,'%within%') -importFrom(lubridate,NA_Date_) -importFrom(lubridate,day) -importFrom(lubridate,is.Date) -importFrom(lubridate,mdy) -importFrom(lubridate,month) -importFrom(lubridate,today) -importFrom(lubridate,year) -importFrom(lubridate,years) -importFrom(lubridate,ymd) -importFrom(lubridate,ymd_hm) -importFrom(magrittr,`%<>%`) -importFrom(magrittr,`%>%`) -importFrom(purrr,pmap) -importFrom(rlang,`!!`) -importFrom(rlang,`:=`) -importFrom(rlang,abort) -importFrom(rlang,call_name) -importFrom(rlang,format_error_bullets) -importFrom(rlang,is_character) -importFrom(stringr,str_c) -importFrom(stringr,str_detect) -importFrom(tibble,as_tibble) -importFrom(tibble,tibble) -importFrom(utils,tail) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md deleted file mode 100644 index c67c71d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/NEWS.md +++ /dev/null @@ -1,8 +0,0 @@ -% News.md for RAQSAPI -% Clinton Mccrowey Physical Scientist - EPA Region III - Air and Radiation Division - Air Quality Analysis Branch - - -# Please see the cran-comments.md document. diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/AQSAPI_helperfunctions.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/AQSAPI_helperfunctions.R deleted file mode 100644 index a4f1470..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/AQSAPI_helperfunctions.R +++ /dev/null @@ -1,1081 +0,0 @@ -user_agent <- "RAQSAPI library for R" -server <- "AQSDatamartAPI" - - -#' @title checkaqsparams -#' @description \lifecycle{experimental} -#' a helper function used to check the validity of parameters being -#' sent to the API -#' @param ... variables to be checked. Must be one of the parameters -#' being exported RAQSAPI functions. All other -#' variables will be ignored. -#' @note This function will only check the variables exported by RAQSAPI meant -#' to be used in RAQSAPI functions. This function is not meant to be -#' called directly by the end user or to be called outside of RAQSAPI. -#' variables will remain unchanged. -#' Escaping of variables is provided by the AQS DataMart API, this -#' function is provided to assist users from receiving confusing -#' results from incorrect parameters but should not be used to verify -#' that parameters are properly escaped. -#' @importFrom lubridate is.Date -#' @importFrom rlang abort format_error_bullets call_name -#' @importFrom dplyr between -#' @importFrom glue glue -#' @importFrom magrittr `%<>%` -#' @importFrom stringr str_detect -#' @return NULL -#' @noRd -checkaqsparams <- function(...) -{ - #Note: the variable errmessage does not follow this project's style - # This is to ensure that the output string format looks nice. - errmessage <- vector() - error <- FALSE - ellipsis_args <- list(...) - names(ellipsis_args) <- names(match.call(expand.dots = FALSE)$...) - - if ("parameter" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$parameter) != 5 | - !is.character(ellipsis_args$parameter) | - !str_detect(ellipsis_args$parameter, "^[:digit:]+$") - ) - { - error <- TRUE - errmessage %<>% c("x" = - "parameter must be a 5 digit number (represented as a character string)" - ) - } - } - - if ("stateFIPS" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$stateFIPS) != 2 | - !is.character(ellipsis_args$stateFIPS) - ) - { - error <- TRUE - errmessage %<>% c("x" = - "stateFIPS must be a two digit number (represented as a character string), - please pad stateFIPS less than 2 digits with leading zeros" - ) - } - } - - if ("countycode" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$countycode) != 3 | - !is.character(ellipsis_args$countycode)) - { - error <- TRUE - errmessage %<>% c("x" = - "countycode must be a three digit number (represented as a character - string), please pad countycode less than three digits with leading zeros" - ) - } - } - - if ("sitenum" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$sitenum) != 4 | - !is.character(ellipsis_args$sitenum)) - { - error <- TRUE - errmessage %<>% c("x" = - "sitenum must be a four digit number (represented as a character string), - please pad sitenum less than four digits with leading zeros" - ) - } - } - - if ("MA_code" %in% names(ellipsis_args)) - { - if ((nchar(ellipsis_args$MA_code) != 4 | - nchar(ellipsis_args$MA_code) != 3) | - !is.character(ellipsis_args$MA_code)) - { - error <- TRUE - errmessage %<>% c("x" = - "MA_code must be a three or four digit number (represented as a character - string), please pad MA_code less than three or four digits with - leading zeros" - ) - } - } - - if ("pqao_code" %in% names(ellipsis_args)) - { - if ((nchar(ellipsis_args$pqao_code) != 4 | - nchar(ellipsis_args$pqao_code) != 3) | - !is.character(ellipsis_args$pqao_code)) - { - error <- TRUE - errmessage %<>% c("x" = - "pqao_code must be a three or four digit number (represented as a - character string), please pad pqao_code less than three or four digits - with leading zeros" - ) - } - } - if ("cbsa_code" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$cbsa_code) != 5 | - !is.character(ellipsis_args$cbsa_code)) - { - error <- TRUE - errmessage %<>% c("x" = - "cbsa_code must be a five digit number (represented as a character - string), please pad cbsa_code less than five digits with leading zeros" - ) - } - } - if ("POC" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$POC) != 1 | - !is.character(ellipsis_args$POC)) - { - error <- TRUE - errmessage %<>% c("x" = - "POC must be a single digit number (represented as a character string)" - ) - } - } - if ("bdate" %in% names(ellipsis_args)) - { - if (!is.Date(ellipsis_args$bdate)) - { - error <- TRUE - errmessage %<>% c("x" = "bdate must be an R date object") - } - } - if ("edate" %in% names(ellipsis_args)) - { - if (!is.Date(ellipsis_args$edate)) - { - error <- TRUE - errmessage %<>% c("x" = "edate must be an R date object") - } - } - if ("cbdate" %in% names(ellipsis_args)) - { - if (!is.Date(ellipsis_args$cbdate) & !is.null(ellipsis_args$cbdate)) - { - error <- TRUE - errmessage %<>% c("x" = "cbdate must be an R date object") - } - } - if ("cedate" %in% names(ellipsis_args)) - { - if (!is.Date(ellipsis_args$cedate) & !is.null(ellipsis_args$cedate)) - { - error <- TRUE - errmessage %<>% c("x" = "cedate must be an R date object") - } - } - if ("email" %in% names(ellipsis_args)) - { - if (!isValidEmail(ellipsis_args$email)) - { - error <- TRUE - errmessage %<>% c("x" = "invalid email address entered") - } - } - if ("minlat" %in% names(ellipsis_args)) - { - if ((!between(as.double(ellipsis_args$minlat), -90, 90)) | - !is.character(ellipsis_args$minlat)) - { - error <- TRUE - errmessage %<>% c("x" = - "minlat must be a numeric (expressed as a string) between -90 and 90" - ) - } - } - if ("maxlat" %in% names(ellipsis_args)) - { - if ((!between(as.double(ellipsis_args$maxlat), -90, 90)) | - !is.character(ellipsis_args$minlat)) - { - error <- TRUE - errmessage %<>% c("x" = - "maxlat must be a numeric (expressed as a string) between -90 and 90" - ) - } - } - if ("minlon" %in% names(ellipsis_args)) - { - if ((!between(as.double(ellipsis_args$minlon), -180, 180)) | - !is.character(ellipsis_args$minlon) - ) - { - error <- TRUE - errmessage %<>% c("x" = - "minlon must be a numeric (expressed as a string) between -180 and 180" - ) - } - } - if ("maxlon" %in% names(ellipsis_args)) - { - if ((!between(as.double(ellipsis_args$maxlon), -180, 180)) | - !is.character(ellipsis_args$maxlon) - ) - { - error <- TRUE - errmessage %<>% c("x" = - "maxlon must be a numeric (expressed as a string) between -180 and 180" - ) - } - } - if ("duration" %in% names(ellipsis_args)) - { - if (nchar(ellipsis_args$duration) != 1 | - !is.character(ellipsis_args$duration) & - ellipsis_args$duration %in% 1:9 | - ellipsis_args$duration %in% LETTERS[1:26] - ) - { - error <- TRUE - errmessage %<>% c("x" = - "duration must be a character from '1' to '9' or 'A' to 'Z' - (represented as a character string)" - ) - } - } - if ("return_header" %in% names(ellipsis_args)) - { - if (!is.logical(ellipsis_args$return_header)) - { - error <- TRUE - errmessage %<>% c("x" = "return_header must be of type logical") - } - } - if (error) - { - callingfunction <- rlang::call_name(sys.call(sys.parent(2))) - if (is.null(callingfunction)) callingfunction <- "Unknown Environment" - callingfunction <- glue(" in: {callingfunction}") - c("i" = callingfunction, errmessage) %>% abort - } -} - - -#' @title format.terms.for.api -#' @description a helper function that accepts a named list of -#' parameters and returns a string vector of -#' separator separated variables for use in -#' sending parameters to AQS RESTFUL API calls, -#' All NA and NULL values will be removed. This -#' function is not intended for use by end users. -#' @param x a named list of variables, all values will be coerced to -#' strings. -#' @param separator a string that should be used to separate variables -#' in the return value -#' @return a string that is properly formatted for use in AQS RESTFUL API -#' calls. -#' @importFrom magrittr `%>%` -#' @noRd -format_variables_for_api <- function(x, separator="&") -{ - if (length(x) == 0) { - return("") - } - #first check for NULLs, if found remove them - - x[vapply(x, is.null, FUN.VALUE = NA)] <- NULL - #don't forget to remove NAs - x[vapply(x, is.na, FUN.VALUE = NA)] <- NULL - x <- purrr::map_chr(x, as.character) - stringr::str_c(names(x), "=", x, collapse = separator) %>% - return() -} - - -#' @title format_multiple_params_for_api -#' @description a helper function that accepts a list of parameters -#' and returns a string vector of separator separated variables -#' for use in sending parameters to AQS RESTFUL API calls, All -#' NA and NULL values will be removed. This function is not -#' intended for use by end users and is specifically designed -#' for use with API code with multiple pollution codes for other -#' use cases use the generic form of this function use the -#' helper function @seealso format_variables_for_api. -#' @param x a named list of variables, all values will be coerced to -#' strings. -#' @param separator a string that should be used to separate variables -#' in the return value. -#' @return a string that is properly formatted for use in AQS RESTFUL API -#' calls. -#' @noRd -format_multiple_params_for_api <- function(x, separator=",") -{ - if (length(x) == 0) { - return("") - } - #first check for NULLs, if found remove them - - x[vapply(x, is.null, FUN.VALUE = NA)] <- NULL - #don't forget to remove NAs - x[vapply(x, is.na, FUN.VALUE = NA)] <- NULL - x <- purrr::map_chr(x, as.character) - paste0(x, collapse = separator) -} - - -#' @title aqs -#' @description a helper function sends a AQS RESTful request to the AQS API -#' and returns the result as a aqs data type. This helper -#' function is used to abstract the call to AQS API away from -#' functions that need it's result. This helper function is not -#' meant to be called directly from external functions. -#' @param service the service requested by the AQS API encoded as a string; -#' For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param filter a string which represents the filter used in conjunction with -#' the service requested. For a list of available services -#' and filters @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param user A string which represents the registered user name used to -#' connect to the AQS API. Note that the '@' character needs -#' to be escaped with the '/' character. -#' @param user_key the AQS API user key used to grant the registered user access -#' to the AQS API. -#' @param variables A named list a variables used to send to the AQS API. -#' @seealso \url{https://aqs.epa.gov/aqsweb/documents/data_api.html} -#' for the variables that are required for each -#' service/filter combination. -#' @param return_header If false (default) only reurns data requested. -#' If true returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @importFrom magrittr `%<>%` `%>%` -#' @importFrom dplyr mutate select arrange bind_cols -#' @importFrom lubridate ymd_hm -#' @importFrom glue glue -#' @importFrom tibble as_tibble -#' @importFrom httr2 request req_user_agent req_url_path_append resp_body_json -#' req_perform req_options req_retry req_throttle -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @noRd -aqs <- function(service, filter = NULL, user = NA, - user_key = NA, variables = NULL, AQS_domain = "aqs.epa.gov") -{ - if (is.null(user) | is.null(user_key)) - {stop("please enter user credentials before using RAQSAPI functions,\n - please refer to \'?aqs_credentials()\' for useage infomation \n" - ) - } - - user_agent <- glue("User:{user} via RAQSAPI-{packageVersion('RAQSAPI')} - library for R") - - AQSpath <- glue("https://{AQS_domain}/data/api/{service}/{filter}?") %>% - glue(format_variables_for_api(c(list(email = I(user), key = user_key), - variables))) %>% - request() %>% - req_throttle(rate = 10/60, realm = "RAQSAPI") %>% - req_retry(max_tries = 5, backoff = ~10) %>% - req_options(ssl_verifypeer = 0) #%>% - #req_user_agent(string = user_agent) - - AQStemp <- AQSpath %>% - req_perform() %>% - resp_body_json() - AQSresult <- vector("list", length = 2) - AQSresult[[1]] <- AQStemp$Header %>% - bind_cols() %>% - suppressMessages() - AQSresult[[2]] <- AQStemp$Data %>% - bind_cols() %>% - suppressMessages() - - names(AQSresult) <- c("Header", "Data") - - AQSresult <- structure(.Data = AQSresult, class = "AQS_DATAMART_APIv2") - #aqs_ratelimit() - return(AQSresult) - -} - - -#' @title isValidEmail -#' @description a helper function that checks the input string has the form -#' \\\.\ with length -#' of at least 2 can be used to check if the input has the form -#' of a valid e-mail address. -#' @param email a string which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @note since this code relies on using regex the implementation is not perfect -#' and may not work as expected all the time but overall generally works -#' as expected. -#' @return Boolean -#' @noRd -isValidEmail <- function(email) { - grepl("\\<[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\>", - as.character(email), - ignore.case = TRUE) -} - - -#' @title aqs_services_by_site -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by site then calls the aqs and returns the -#' result. This helper function is not meant to be called -#' directly from external functions. -#' @family Aggregate _by_site functions -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' @param stateFIPS a R character object which represents the 2 digit state -#' FIPS code (with leading zero) for the state being -#' requested. @seealso [aqs_states()] for the list of -#' available FIPS codes. -#' @param countycode a R character object which represents the 3 digit state -#' FIPS code for the county being requested (with leading -#' zero(s)). @seealso [aqs_counties_by_state()] for the -#' list of available county codes for each state. -#' @param sitenum a R character object which represents the 4 digit site number -#' (with leading zeros) within the county and state being -#' requested. -#' @param duration an optional R character string that represents the -#' parameter duration code that limits returned data -#' to a specific sample duration. The default value of -#' NA_character_ results in no filtering based on -#' duration code.Valid durations include actual sample -#' durations and not calculated durations such as 8 -#' hour CO or $O_3$ rolling averages, 3/6 day PM -#' averages or Pb 3 month rolling averages. -#' @seealso [aqs_sampledurations()] for a list of all -#' available duration codes. -#' @param service a string which represents the services provided by the AQS -#' API. For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, sitenum, - duration = NA_character_, service, - cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "bySite", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - state = stateFIPS, - county = countycode, - site = sitenum, - duration = duration, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_services_by_county -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by county then calls the aqs and returns the -#' result. This helper function is not meant to be called -#' directly from external functions. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be -#' returned. -#' @param stateFIPS a R character object which represents the 2 digit state -#' FIPS code (with leading zero) for the state being -#' requested. @seealso [aqs_states()] for the list of -#' available FIPS codes. -#' @param countycode a R character object which represents the 3 digit state -#' FIPS code for the county being requested (with leading -#' zero(s)). @seealso [aqs_counties_by_state()] for the -#' list of available county codes for each state. -#' @param duration an optional R character string that represents the -#' parameter duration code that limits returned data -#' to a specific sample duration. The default value of -#' NA_character_ results in no filtering based on -#' duration code.Valid durations include actual sample -#' durations and not calculated durations such as 8 -#' hour CO or $O_3$ rolling averages, 3/6 day PM -#' averages or Pb 3 month rolling averages. -#' @seealso [aqs_sampledurations()] for a list of all -#' available duration codes. -#' @param service a string which represents the services provided by the AQS API -#' For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_county <- function(parameter, bdate, edate, - stateFIPS, countycode, service, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "byCounty", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - state = stateFIPS, - county = countycode, - duration = duration, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - - -#' @title aqs_services_by_state -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by State then calls the aqs and returns the -#' result. This helper function is not meant to be called -#' directly from external functions. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' @param stateFIPS a R character object which represents the 2 digit state -#' FIPS code (with leading zero) for the state being -#' requested. @seealso [aqs_states()] for the list of -#' available FIPS codes. -#' @param duration an optional R character string that represents the -#' parameter duration code that limits returned data -#' to a specific sample duration. The default value of -#' NA_character_ results in no filtering based on -#' duration code.Valid durations include actual sample -#' durations and not calculated durations such as 8 -#' hour CO or $O_3$ rolling averages, 3/6 day PM -#' averages or Pb 3 month rolling averages. -#' @seealso [aqs_sampledurations()] for a list of all -#' available duration codes. -#' @param service a string which represents the services provided by the -#' AQS API. For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_state <- function(parameter, bdate, edate, stateFIPS, - duration = NA_character_, service, - cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - - aqs(service = service, - filter = "byState", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - state = stateFIPS, - duration = duration, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_services_by_box -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by a box formed by minimum/maximum -#' latitude/longitude coordinates then calls the aqs -#' and returns the result. This helper function is not meant -#' to be called directly from external functions. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' @param minlat a R character object which represents the minimum latitude of -#' a geographic box. Decimal latitude with north begin -#' positive. Only data north of this latitude will be -#' returned. -#' @param maxlat a R character object which represents the maximum latitude of -#' a geographic box. Decimal latitude with north begin -#' positive. Only data south of this latitude will be -#' returned. -#' @param minlon a R character object which represents the minimum longitude -#' of a geographic box. Decimal longitude with east begin -#' positive. Only data east of this longitude will be -#' returned. -#' @param maxlon a R character object which represents the maximum longitude -#' of a geographic box. Decimal longitude with east begin -#' positive. Only data west of this longitude will be -#' returned. Note that -80 is less than -70. -#' @param duration an optional R character string that represents the -#' parameter duration code that limits returned data -#' to a specific sample duration. The default value of -#' NA_character_ results in no filtering based on -#' duration code.Valid durations include actual sample -#' durations and not calculated durations such as 8 -#' hour CO or $O_3$ rolling averages, 3/6 day PM -#' averages or Pb 3 month rolling averages. -#' @seealso [aqs_sampledurations()] for a list of all -#' available duration codes. -#' @param service a string which represents the services provided by the -#' AQS API. For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning date of last -#' change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, duration = NA_character_, - service, cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "byBox", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - minlon = minlon, - maxlon = maxlon, - minlat = minlat, - maxlat = maxlat, - duration = duration, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_services_by_cbsa -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by cbsa then calls the aqs and returns the -#' result. This helper function is not meant to be called -#' directly from external functions. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' @param cbsa_code a R character object which represents the 5 digit AQS Core -#' Based Statistical Area code (the same as the census code, -#' with leading zeros) -#' @param duration an optional R character string that represents the -#' parameter duration code that limits returned data -#' to a specific sample duration. The default value of -#' NA_character_ results in no filtering based on -#' duration code.Valid durations include actual sample -#' durations and not calculated durations such as 8 -#' hour CO or $O_3$ rolling averages, 3/6 day PM -#' averages or Pb 3 month rolling averages. -#' @seealso [aqs_sampledurations()] for a list of all -#' available duration codes. -#' @param service a string which represents the services provided by the AQS -#' API For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - duration = NA_character_, service, - cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "byCBSA", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - cbsa = cbsa_code, - duration = duration, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_services_by_pqao -#' -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by Primary Quality Assurance Organization (pqao) -#' then calls the aqs and returns the result. -#' This helper function is not meant to be called directly from -#' external functions. -#' -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' -#' @param pqao_code a R character object which represents the 4 digit AQS -#' Primary Quality Assurance Organization code -#' (with leading zeroes). -#' -#' @param service a string which represents the services provided by the -#' AQS API. For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_pqao <- function(parameter, bdate, edate, pqao_code, - service, cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "byPQAO", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - pqao = pqao_code, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_services_by_MA -#' @description a helper function that abstracts the formatting of the inputs -#' for a call to aqs away from the calling function for -#' aggregations by Monitoring Agency (MA) -#' then calls the aqs and returns the result. -#' This helper function is not meant to be called directly from -#' external functions. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be -#' returned. -#' @param MA_code a R character object which represents the 4 digit AQS -#' Monitoring Agency code (with leading zeroes). -#' @param service a string which represents the services provided by the AQS API -#' For a list of available services @seealso -#' \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services} -#' @param cbdate a R date object which represents a "beginning -#' date of last change" that indicates when the data was last -#' updated. cbdate is used to filter data based on the change -#' date. Only data that changed on or after this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param cedate a R date object which represents an "end -#' date of last change" that indicates when the data was last -#' updated. cedate is used to filter data based on the change -#' date. Only data that changed on or before this date will be -#' returned. This is an optional variable which defaults -#' to NA_Date_. -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_services_by_MA <- function(parameter, bdate, edate, MA_code, service, - cbdate = NA_Date_, cedate = NA_Date_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = service, - filter = "byMA", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(param = format_multiple_params_for_api(parameter), - bdate = format(bdate, format = "%Y%m%d"), - edate = format(edate, format = "%Y%m%d"), - agency = MA_code, - cbdate = cbdate, - cedate = cedate - ), - AQS_domain = AQS_domain - ) -} - -#' @title aqs_metadata_service -#' @description A helper function for functions which use the metaData service -#' from the AQS API. This function is not intended to be called -#' directly by the end user -#' @param filter a character string representing the filter being applied -#' @param service a character string representing the service -#' @param AQS_domain a R string object containing the domain that should be -#' used in constructing the API call. -#' @return a AQS_DATAMART_APIv2 S3 object that is the return value from the -#' AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -aqs_metadata_service <- function(filter, service = NA_character_, - AQS_domain = "aqs.epa.gov") -{ - aqs(service = "metaData", - filter = filter, - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(service = service), - AQS_domain = AQS_domain - ) -} - - -#' @title renameaqsvariables -#' @description \lifecycle{experimental} -#' This is a helper function not intended to be called directly -#' by the end user. Renames the two columns returned in the $Data -#' portion of a RAQSAPI_v2 object from "value"and -#' "value_represented" to name1 and name2 respectively. -#' @importFrom dplyr rename rename_at vars -#' @importFrom rlang `:=` `!!` -#' @param aqsobject A RAQSAPI_v2 object -#' @param name1 a character string representing the new name of the first -#' column of the $Data portion of the RAQSAPI_v2 object. -#' @param name2 a character string representing the new name of the second -#' column of the $Data portion of the RAQSAPI_v2 object. -#' @noRd -renameaqsvariables <- function(aqsobject, name1, name2) -{ -if (is.null(aqsobject)) - { - return(aqsobject) - } else if(inherits(x = aqsobject, what = "AQS_DATAMART_APIv2")) - { - #using tidyevaluation and substitute operator - aqsobject$Data %<>% dplyr::rename(!!name1 := 1) - aqsobject$Data %<>% dplyr::rename(!!name2 := 2) - - } else if (all(inherits(x = aqsobject[[1]], what = "AQS_DATAMART_APIv2"))) - { - #using tidyevaluation and substitute operator - aqsobject %<>% lapply("[[", "Data") %>% - dplyr::rename(!!name1 := 1) - aqsobject %<>% lapply("[[", "Data") %>% - dplyr::rename(!!name2 := 2) - } - return(aqsobject) -} - - -#' @title aqsmultiyearparams -#' @description \lifecycle{experimental} -#' This is a helper function intended to build a tibble of -#' parameters used to generate the inputs to the purrr::map -#' functions used with functional calls to services_by_* -#' functions. This function is not intended for end use by the -#' user. -#' @param parameter a character list or a single character string -#' which represents the parameter code of the air -#' pollutant related to the data being requested. -#' @param bdate a R date object which represents that begin date of the data -#' selection. Only data on or after this date will be returned. -#' @param edate a R date object which represents that end date of the data -#' selection. Only data on or before this date will be returned. -#' @param ... Other parameters returned to the calling function. -#' @importFrom rlang abort -#' @importFrom utils tail -#' @importFrom stringr str_c -#' @importFrom tibble tibble -#' @importFrom lubridate year ymd month day years -#' @importFrom glue glue -#' @importFrom dplyr select_if -#' @importFrom magrittr `%>%` `%<>%` -#' @noRd -aqsmultiyearparams <- function(parameter, bdate, edate, service, ...) -{ - ellipsis_args <- list(...) - if (bdate > edate) - { - return(rlang::abort(message = "bdate > edate")) - } else if (year(bdate) == year(edate)) - { - bdatevector <- bdate - edatevector <- edate - - } else if (year(bdate) < year(edate)) - { - bdatevector <- c(bdate, seq.Date(from = ymd( - glue("{year(bdate) + 1}-1-1") - ), - to = edate, by = "year") - ) - if (month(edate) != 12 && day(edate) != 31) - { - edatevector <- c(seq.Date(from = ymd(glue("{year(bdate)}-12-31" - ) - ), - to = edate, by = "year"), edate) - } else - { - edatevector <- seq.Date(from = ymd(glue("{year(bdate)}-12-31")), - to = edate, by = "year") - } - } - if (length(bdatevector) > length(edatevector)) - { - edatevector %<>% c(ymd(tail(edatevector, n = 1)) + years(1)) - } - params <- tibble(parameter = format_multiple_params_for_api(parameter), - bdate = bdatevector, - edate = edatevector, - stateFIPS = ellipsis_args$stateFIPS, - countycode = ellipsis_args$countycode, - sitenum = ellipsis_args$sitenum, - service = service, - cbdate = ellipsis_args$cbdate, - cedate = ellipsis_args$cedate, - minlat = ellipsis_args$minlat, - maxlat = ellipsis_args$maxlat, - minlon = ellipsis_args$minlon, - maxlon = ellipsis_args$maxlon, - cbsa_code = ellipsis_args$cbsa_code, - pqao_code = ellipsis_args$pqao_code, - MA_code = ellipsis_args$MA_code, - filter = ellipsis_args$filter, - AQS_domain = ellipsis_args$AQS_domain - ) - params %>% - #remove all columns that have all NA values - dplyr::select_if(function(x) {!all(is.na(x))}) %>% - return() -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPI-package.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPI-package.R deleted file mode 100644 index 44fd030..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPI-package.R +++ /dev/null @@ -1,43 +0,0 @@ -#' @importFrom lubridate today year mdy '%within%' NA_Date_ -#' @importFrom lifecycle deprecate_soft badge - - -#' @title RAQSAPI: A R Interface to The United States Environmental Protection -#' Agency's Air Quality System Data Mart RESTful API server. -#' -#' @description RAQSAPI is a package for R that connects the R programming -#' environment to the United State's Environmental protection agency's -#' Air Quality System (AQS) Data Mart API for retrieval of air -#' monitoring data. -#' -#' There are two things that you must do before using this package. -#' 1) If you have not done so yet register your username with Data Mart -#' 2) Every time this library is reloaded AQS_API_credentials() function -#' must be called before continuing. -#' -#' please use vignette(RAQSAPI) for more details about this package. -#' -#' EPA Disclaimer: -#' This software/application was developed by the U.S. Environmental Protection -#' Agency (USEPA). No warranty expressed or implied is made regarding the -#' accuracy or utility of the system, nor shall the act of distribution -#' constitute any such warranty. The USEPA has relinquished control of the -#' information and no longer has responsibility to protect the integrity, -#' confidentiality or availability of the information. Any reference to specific -#' commercial products, processes, or services by service mark, trademark, -#' manufacturer, or otherwise, does not constitute or imply their endorsement, -#' recommendation or favoring by the USEPA. The USEPA seal and logo shall not -#' be used in any manner to imply endorsement of any commercial product or -#' activity by the USEPA or the United States Government. -#' @docType package -#' @name RAQSAPI -#' @keywords internal -"_PACKAGE" -NULL - - -## usethis namespace: start -#' @importFrom lifecycle deprecate_soft -#' @importFrom lifecycle deprecated -##' importFrom lifecycle deprecate_soft badge -## usethis namespace: end diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPIlistfunctions.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPIlistfunctions.R deleted file mode 100644 index 29d0f28..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/RAQSAPIlistfunctions.R +++ /dev/null @@ -1,463 +0,0 @@ -#' @section list functions - - -#' @title aqs_isavailable -#' @description \lifecycle{stable} -#' returns a tibble or an AQS_Data Mart_APIv2 S3 object -#' explaining the status of the AQS API. -#' @importFrom magrittr `%>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object which details the status -#' of the AQS API (The status information is located in the header) -#' @examples -#' # Check if the AQS API is up, running and accepting requests. -#' \dontrun{ aqs_isAvailable() } -#' @export -aqs_isavailable <- function(return_header = FALSE) -{ - if (!return_header) - { - aqs(service = "metaData", - filter = "isAvailable", - user = getOption("aqs_username"), - user_key = getOption("aqs_key") - )$Header %>% - return() - } else - { - aqs(service = "metaData", - filter = "isAvailable", - user = getOption("aqs_username"), - user_key = getOption("aqs_key") - ) - } -} - - -#' @title aqs_knownissues -#' @description \lifecycle{stable} -#' Returns a table of any known issues with system functionality -#' or the data. These are usually issues that have been -#' identified internally and will require some time to correct -#' in Data Mart or the API. This function implements a direct -#' API call to Data Mart and returns data directly from the API. -#' Issues returned via this function do not include any issues -#' from the RAQSAPI R package. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains -#' information involving known issues with the Data Mart API. -#' @examples -#' # Retrieve a tibble of known issues directly from the AQS data mart API -#' \dontrun{aqs_knownissues()} -#' @export -aqs_knownissues <- function(return_header = FALSE) -{ - issues <- aqs_metadata_service(filter = "issues", service = NULL) - if (!return_header) issues %<>% aqs_removeheader - return(issues) - -} - - -#' @title aqs_counties_by_state -#' @description \lifecycle{stable} -#' Returns a table of all counties in within the -#' stateFIPS provided. -#' @importFrom magrittr `%<>%` -#' @param stateFIPS a R character object which represents the 2 digit state -#' FIPS code (with leading zeros) for the state being -#' requested. @seealso [aqs_states()] for the list of -#' available FIPS codes. -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of all counties in the -#' requested state. -#' @examples -#' # Returns a tibble all the counties -#' # in North Carolina the county FIPS codes (county codes) for -#' # each. -#' \dontrun{aqs_counties_by_state(stateFIPS = "37")} -#' @export -aqs_counties_by_state <- function(stateFIPS, return_header = FALSE) -{ - counties <- aqs(service = "list", - filter = "countiesByState", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(state = stateFIPS) - ) - counties %<>% renameaqsvariables(name1 = "county_code", - name2 = "county_name") - if (!return_header) counties %<>% aqs_removeheader - return(counties) - -} - - -#' @title aqs_sites_by_county -#' @description \lifecycle{stable} -#' Returns data containing a table of all air monitoring sites -#' with the input state and county FIPS code combination. -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of all air monitoring -#' sites with the requested state and county FIPS codes. -#' @examples # Returns an AQS_Data Mart_APIv2 S3 object witch returns all sites -#' # in Hawaii County, HI -#' \dontrun{aqs_sites_by_county(stateFIPS = "15", -#' countycode = "001") -#' } -#' @export -aqs_sites_by_county <- function(stateFIPS, countycode, return_header = FALSE) -{ - sites <- aqs(service = "list", - filter = "sitesByCounty", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(state = stateFIPS, - county = countycode - ) - ) - sites %<>% renameaqsvariables(name1 = "site_number", name2 = "site_name") - if (!return_header) sites %<>% aqs_removeheader - return(sites) - -} - - -#' @title aqs_classes -#' @description \lifecycle{stable} -#' Returns a table of Parameter classes (groups of parameters, -#' i.e. "criteria" or "all"). The information from this function -#' can be used as input to other API calls. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of Parameter classes -#' (groups of parameters, i.e. "criteria" or "all"). -#' @examples # Returns a tibble of parameter classes (groups of parameters, i.e. -#' # "criteria" or all") -#' \dontrun{ aqs_classes() } -#' @export -aqs_classes <- function(return_header = FALSE) -{ - classes <- aqs(service = "list", - filter = "classes", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - - if (!return_header) classes %<>% aqs_removeheader - return(classes) -} - - -#' @title aqs_parameters_by_class -#' @description \lifecycle{stable} -#' Returns parameters associated with the input class. -#' @importFrom magrittr `%<>%` -#' @param class a R character object that represents the class requested, -#' @seealso [aqs_classes()] for retrieving -#' available classes. The class R character object must be a -#' valid class as returned from aqs_classes(). The class must -#' be an exact match to what is returned from aqs_classes() -#' (case sensitive). -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing the -#' parameters associated with the class requested. NULL is returned -#' for classes not found. -#' @examples # Returns a tibble of AQS parameters in the criteria class -#' \dontrun{ aqs_parameters_by_class(class = "CRITERIA") } -#' @export -aqs_parameters_by_class <- function(class, return_header = FALSE) -{ - parameters <- aqs(service = "list", - filter = "parametersByClass", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = list(pc = class) - ) - if (!return_header) parameters %<>% aqs_removeheader - return(parameters) -} - - -#' @title aqs_mas -#' @description \lifecycle{stable} -#' Returns a table of monitoring agencies (MA). -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of monitoring agencies -#' and their associated agency code. -#' @examples # Returns a tibble or an AQS_Data Mart_APIv2 S3 object -#' # of monitoring agencies and their respective -#' # monitoring agency codes. -#' \dontrun{aqs_mas()} -#' @export -aqs_mas <- function(return_header = FALSE) -{ - mas <- aqs(service = "list", - filter = "mas", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - mas %<>% renameaqsvariables(name1 = "MA_code", name2 = "MonitoringAgency") - if (!return_header) mas %<>% aqs_removeheader - return(mas) -} - - -#' @title aqs_pqaos -#' @description \lifecycle{stable} -#' Returns a table of primary quality assurance -#' organizations (pqaos). -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of pqaos and -#' their associated pqao code. -#' @examples # Returns a tibble of primary quality assurance -#' # organizations (pqaos) -#' \dontrun{ aqs_pqaos() } -#' @export -aqs_pqaos <- function(return_header = FALSE) -{ - pqaos <- aqs(service = "list", - filter = "pqaos", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - pqaos %<>% renameaqsvariables(name1 = "PQAO_code", name2 = "PQAO") - if (!return_header) pqaos %<>% aqs_removeheader - return(pqaos) -} - - -#' @title aqs_cbsas -#' @description \lifecycle{stable} -#' Returns a table of all Core Based Statistical Areas (cbsa) -#' and their associated cbsa_codes. for constructing other -#' requests. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of all Core Based -#' Statistical Areas (cbsa) and their cbsa_codes for constructing -#' other requests. -#' @examples # Returns a tibble of Core Based Statistical Areas (cbsas) -#' # and their respective cbsa codes -#' \dontrun{ aqs_cbsas() } -#' @export -aqs_cbsas <- function(return_header = FALSE) -{ - cbsas <- aqs(service = "list", - filter = "cbsas", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - - cbsas %<>% renameaqsvariables(name1 = "CBSA_code", name2 = "CBSA_name") - if (!return_header) cbsas %<>% aqs_removeheader - return(cbsas) -} - - -#' @title aqs_states -#' @description \lifecycle{stable} -#' Returns a table of US states, US territories, and the -#' district or Columbia with their respective FIPS codes. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns an AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of states and their -#' associated FIPS codes. -#' @examples # Returns a tibble of states and their FIPS codes -#' \dontrun{aqs_states()} -#' @export -aqs_states <- function(return_header = FALSE) -{ - states <- aqs(service = "list", - filter = "states", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - states %<>% renameaqsvariables(name1 = "stateFIPS", name2 = "state") - if (!return_header) states %<>% aqs_removeheader - return(states) -} - - -#' @title aqs_removeheader -#' @description \lifecycle{stable} -#' Coerces a single AQS_Data_Mart_APIv2 S3 object or -#' a list of AQS_Data_Mart_APIv2 S3 objects into a single tibble -#' object. This function decouples the $Data from the AQSAPI_v2 -#' object and returns only the $Data portion as a tibble. If the -#' input is a list of AQSAPI_v2 objects combines the $Data -#' portion of each AQS_Data_Mart_APIv2 S3 object into a single -#' tibble with $Header information discarded. Else returns the -#' input with no changes. -#' @note Since this function returns only the $Data portion of RAQSAPI_v2 -#' objects this means that the $Header information will not be present in the -#' object being returned. -#' @param AQSobject An object of AQSAPI_v2 or a list of AQSAPI_v2 objects. -#' @importFrom dplyr bind_rows -#' @return a tibble of the combined $data portions of the input -#' AQS_Data_Mart_APIv2 S3 object with the $Header portion discarded. -#' @examples -#' \dontrun{ AQSobject <- aqs_removeheader(AQSobject)} -#' @export -aqs_removeheader <- function(AQSobject) -{ - if (is.null(AQSobject)) - { - return(AQSobject) - } else if (isa(x = AQSobject, what = "AQS_DATAMART_APIv2")) - #if (class(AQSobject) %in% "AQS_DATAMART_APIv2") - { - AQSobject <- AQSobject$Data - } else if (isa(x = AQSobject[[1]], what = "AQS_DATAMART_APIv2") && - is.list(AQSobject)) - { - AQSobject %<>% lapply("[[", "Data") %>% - dplyr::bind_rows() - } - - return(AQSobject) -} - - -#' @title aqs_revisionhistory -#' -#' @description \lifecycle{stable} -#' Returns the change history to the AQS Data Mart API. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that is the return value -#' from the AQS API. A AQS_Data Mart_APIv2 is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data -#' returned. -#' @examples -#' # Returns a DataFrame of the EPA AQS Data Mart API revision history -#' # \dontrun{aqs_revisionHistory()} -#' @export -aqs_revisionhistory <- function(return_header = FALSE) -{ - history <- aqs(service = "metaData", - filter = "revisionHistory", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL - ) - if (!return_header) history %<>% aqs_removeheader - return(history) -} - -#' @title aqs_fieldsbyservice -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object with the list and definitions of fields in the -#' service requested. -#' @importFrom magrittr `%<>%` -#' @param service a string which represents the services provided by the AQS -#' API. For a list of available services -#' @seealso \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services -#' } -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @examples # Returns a tibble containing a list and definitions -#' # of fields in the Sample Data service -#' \dontrun{aqs_fieldsbyservice(service = "sampleData")} -#' -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object with containing the list -#' and definitions of fields requested service -#' @export -aqs_fields_by_service <- function(service, return_header = FALSE) -{ - fields <- aqs_metadata_service(filter = "fieldsByService", service = service) - if (!return_header) fields %<>% aqs_removeheader - return(fields) -} - - -#' @title aqs_sampledurations -#' @description \lifecycle{stable} -#' Returns a table of sample durations and their -#' associated duration codes. Returned values are not calculated -#' durations such as 8 hour CO or O${_3}$ rolling averages, 3/6 -#' day PM averages or Pb 3 month rolling averages. -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of sample durations and -#' their associated duration codes -#' (groups of parameters, i.e. "criteria" or "all"). -#' @examples # Returns a tibble or an AQS_Data Mart_APIv2 S3 object of -#' \dontrun{ aqs_sampledurations() } -#' @export -aqs_sampledurations <- function(return_header = FALSE) -{ - AQS_domain <- "aqs.epa.gov" - - durations <- aqs(service = "list", - filter = "duration", - user = getOption("aqs_username"), - user_key = getOption("aqs_key"), - variables = NULL, - AQS_domain = AQS_domain - ) - - if (!return_header) durations %<>% aqs_removeheader - return(durations) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R deleted file mode 100644 index 911aca5..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bybox.R +++ /dev/null @@ -1,367 +0,0 @@ -#' @section by_box aggregate functions - - -#' @title aqs_monitors_by_box -#' @description \lifecycle{stable} -#' Returns a table of monitors and related metadata sites with the provided -#' parameter, aggregated by latitude/longitude bounding box (_by_box) for -#' bdate - edate time frame. -#' @note All monitors that operated between the bdate and edate will be returned -#' @family Aggregate _by_box functions -#' @inheritParams aqs_services_by_box -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -#' latitude/longitude bounding box (_by_box). -#' @examples # Returns a tibble of all ozone -#' # monitors in the vicinity of central Alabama that operated in -#' # 1995 -#' \dontrun{aqs_monitors_by_box(parameter="44201", -#' bdate=as.Date("19950101", -#' format="%Y%m%d"), -#' edate=as.Date("19951231", -#' format="%Y%m%d"), -#' minlat="33.3", -#' maxlat="33.6", -#' minlon="-87.0", -#' maxlon="-86.7" -#' ) -#' } -#' @export -aqs_monitors_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, minlat, maxlat, minlon, maxlon, - return_header) - - # aqs_monitors_by_* functions don't call aqsmultiyearparams() since the - # monitors API call accepts multiple years of data on the server, purrr::map - # is used so that the output is consistent with other RAQSAPI functions. - params <- tibble(parameter = parameter, - bdate = bdate, - edate = edate, - minlat = minlat, - maxlat = maxlat, - minlon = minlon, - maxlon = maxlon, - service = "monitors" - ) %>% - dplyr::select_if(function(x) {!all(is.na(x))}) - - monitors <- purrr::pmap(.l = params, .f = aqs_services_by_box) - if (!return_header) monitors %<>% aqs_removeheader - return(monitors) -} - - -#' @title aqs_sampledata_by_box -#' @description \lifecycle{stable} -#' Returns sample data where the data is aggregated by -#' latitude/longitude bounding box (_by_box). -#' If return_header is FALSE (default) this function returns a -#' single dataframe with the requested data. If return_header -#' is TRUE returns a list of AQSAPI_v2 objects where each index -#' of the list is an individual RAQSAPI_v2 object returned from -#' each successive call to the AQS API. RAQSAPI_v2 objects are -#' two item list where the $Data portion contains data that -#' contains sample air monitoring data at a site with the input -#' parameter and cbsa_code provided for bdate - edate time -#' frame. The $Header is a tibble of header information from the -#' API call /(useful for debugging/). This function returns NULL -#' is bdate > edate. -#' @note The AQS API only allows for a single year of sampledata to be retrieved -#' at a time. This function conveniently extracts date information from -#' the bdate and edate parameters then makes repeated calls to the -#' AQSAPI retrieving a maximum of one calendar year of data at a time. -#' Each calendar year of data requires a separate API call so multiple -#' years of data will require multiple API calls. As the number of years -#' of data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_box functions -#' @inheritParams aqs_services_by_box -#' @importFrom magrittr `%<>%` -#' @importFrom purrr pmap -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -#' for all monitors within the input latitude/longitude bounding box -#' for a single parameter. An AQS_Data Mart_APIv2 is a 2 item named -#' list in which the first item /(/$Header/) is a tibble of header -#' information from the AQS API and the second item /(/$Data/) is a -#' tibble of the data returned. -#' @examples # Returns a tibble containing all ozone samples -#' # in the vicinity of central Alabama between -#' # May 1, 2015 - May 2, 2017 -#' \dontrun{aqs_sampledata_by_box(parameter = "44201", -#' bdate = as.Date("20150501", -#' format = "%Y%m%d"), -#' edate = as.Date("20170502", -#' format = "%Y%m%d"), -#' minlat = "33.3", -#' maxlat = "33.6", -#' minlon = "-87.0", -#' maxlon = "-86.7" -#' ) -#' } -#' @export -aqs_sampledata_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, minlat, maxlat, minlon, maxlon, - duration, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - minlat = minlat, - maxlat = maxlat, - minlon = minlon, - maxlon = maxlon, - duration = duration, - service = "sampleData", - cbdate = cbdate, - cedate = cedate - ) - - sampledata <- purrr::pmap(.l = params, .f = aqs_services_by_box) - if (!return_header) sampledata %<>% aqs_removeheader - return(sampledata) -} - - -#' @title aqs_annualsummary_by_box -#' @description \lifecycle{stable} -#' Returns multiple years of data where annual data is -#' aggregated at the bounding box level. Returned is an annual -#' summary within the input parameter, latitude/longitude -#' bounding box provided for bdate - edate time frame. Variables -#' returned include mean value, maxima, percentiles, and etc. If -#' return_header is FALSE (default) the object returned is a -#' tibble, if TRUE an AQS_API_v2 object. -#' @note The AQS API only allows for a single year of annualsummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_box functions -#' @inheritParams aqs_services_by_box -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -#' summary data for the box (area) requested. A AQS_Data Mart_APIv2 -#' is a 2 item named list in which the first item ($Header) is a -#' tibble of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble containing ozone annual summaries -#' # in the vicinity of central Alabama for the first two days -#' # of May, 2015 -#' \dontrun{aqs_annualsummary_by_box(parameter = "44201", -#' bdate = as.Date("20150501", -#' format = "%Y%m%d"), -#' edate = as.Date("20170502", -#' format = "%Y%m%d"), -#' minlat = "33.3", -#' maxlat = "33.6", -#' minlon = "-87.0", -#' maxlon = "-86.7" -#' ) -#' } -#' @export -aqs_annualsummary_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, minlat, maxlat, minlon, maxlon, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - minlat = minlat, - maxlat = maxlat, - minlon = minlon, - maxlon = maxlon, - service = "annualData", - cbdate = cbdate, - cedate = cedate - ) - - annualsummary <- purrr::pmap(.l = params, .f = aqs_services_by_box) - if (!return_header) annualsummary %<>% aqs_removeheader - return(annualsummary) - -} - - -#' @title aqs_dailysummary_by_box -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object containing daily summary data bounded within a -#' latitude/longitude bounding box -#' @note The AQS API only allows for a single year of dailysummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_box functions -#' @inheritParams aqs_services_by_box -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object that contains daily -#' summary statistics for the given parameter for an area bounded -#' within a latitude/longitude bounding box. An AQS_Data Mart_APIv2 is -#' a 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item ($Data) -#' is a tibble of the data returned. -#' @examples #Returns a tibble of ozone daily summaries in the vicinity of -#' # central Alabama for the first two days of May 2015 -#' -#' \dontrun{aqs_dailysummary_by_box(parameter = "44201", -#' bdate = as.Date("20140501", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20160502", -#' format = "%Y%m%d" -#' ), -#' mqinlat ="33.3", -#' maxlat = "33.6", -#' minlon = "-87.0", -#' maxlon = "-86.7" -#' ) -#' } -#' @export -aqs_dailysummary_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, minlat, maxlat, minlon, maxlon, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - minlat = minlat, - maxlat = maxlat, - minlon = minlon, - maxlon = maxlon, - service = "dailyData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_box) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_quarterlysummary_by_box -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object of quarterly summary data aggregated by and area within -#' a latitude/longitude bounding box. -#' @note The AQS API only allows for a single year of quarterly summary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' -#' Also Note that for quarterly data, only the year portion of the bdate -#' and edate are used and all 4 quarters in the year are returned. -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_box -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -#' summary statistics for an area within a latitude/longitude -#' bounding box. An AQS_Data Mart_APIv2 is a 2 item named list in -#' which the first item ($Header) is a tibble of header information -#' from the AQS API and the second item ($Data) is a tibble of the -#' data returned. -#' @examples # Returns a tibble containing ozone quarterly summaries -#' # in the vicinity of central Alabama for each quarter in -#' # between 2015 - 2017 -#' \dontrun{aqs_quarterlysummary_by_box(parameter = "44201", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' minlat = "33.3", -#' maxlat = "33.6", -#' minlon = "-87.0", -#' maxlon = "-86.7" -#' ) -#' } -#' @export -aqs_quarterlysummary_by_box <- function(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - AQS_domain <- "aqs.epa.gov" - checkaqsparams(parameter, bdate, edate, minlat, maxlat, - minlon, maxlon, cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - minlat = minlat, - maxlat = maxlat, - minlon = minlon, - maxlon = maxlon, - service = "quarterlyData", - cbdate = cbdate, - cedate = cedate, - AQS_domain = AQS_domain - ) - - quarterlysummary <- purrr::pmap(.l = params, .f = aqs_services_by_box) - if (!return_header) quarterlysummary %<>% aqs_removeheader - return(quarterlysummary) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R deleted file mode 100644 index b036bc9..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycbsa.R +++ /dev/null @@ -1,336 +0,0 @@ -#' @section by_cbsa (By Core Based Statistical Area, as defined by the US Census Bureau) aggregate functions - - -#' @title aqs_monitors_by_cbsa -#' @description \lifecycle{stable} -#' Returns a table of monitors at all sites with the provided -#' parameter, aggregated by Core Based Statistical Area (CBSA) for -#' bdate - edate time frame. -#' @note All monitors that operated between the bdate and edate will be returned -#' @family Aggregate _by_cbsa functions -#' @inheritParams aqs_services_by_cbsa -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list -#' that contains header information returned from the -#' API server mostly used for debugging purposes in -#' addition to the data requested. -#' @examples # returns a tibble of $NO_{2}$ monitors -#' # for Charlotte-Concord-Gastonia, NC cbsa that were operating -#' # on Janurary 01, 2017 -#' \dontrun{aqs_monitors_by_cbsa(parameter="42602", -#' bdate=as.Date("20170101", -#' format="%Y%m%d"), -#' edate=as.Date("20170101", -#' format="%Y%m%d"), -#' cbsa_code="16740" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that is the return value -#' from the AQS API. A AQS_Data Mart_APIv2 object is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_monitors_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, cbsa_code, cbdate, cedate, - return_header) - # aqs_monitors_by_* functions don't call aqsmultiyearparams() since the - # monitors API call accepts multiple years of data on the server, purrr::pmap - # is used so that the output is consistent with other RAQSAPI functions. - params <- tibble(parameter = parameter, - bdate = bdate, - edate = edate, - cbsa_code = cbsa_code, - service = "monitors", - cbdate = cbdate, - cedate = cedate) %>% - dplyr::select_if(function(x) {!all(is.na(x))}) - - monitors <- purrr::pmap(.l = params, .f = aqs_services_by_cbsa) - if (!return_header) monitors %<>% aqs_removeheader - return(monitors) -} - - -#' @title aqs_sampledata_by_cbsa -#' @description \lifecycle{stable} -#' Returns sample data where the data is aggregated at the Core -#' Based Statistical Area (cbsa) level. If return_header is -#' FALSE (default) this function returns a single dataframe with -#' the requested data. If return_header is TRUE returns a list -#' of AQSAPI_v2 objects where each index of the list is an -#' individual RAQSAPI_v2 object returned from each successive -#' call to the AQS API. RAQSAPI_v2 objects are two item list -#' where the $Data portion contains data that contains -#' sample air monitoring data at a site with the input -#' parameter and cbsa_code provided for -#' bdate - edate time frame. The $Header is a tibble of -#' header information from the API call /(useful for -#' debugging/). This function returns NULL is bdate > edate. -#' @note The AQS API only allows for a single year of sampledata to be retrieved -#' at a time. This function conveniently extracts date information from -#' the bdate and edate parameters then makes repeated calls to the -#' AQSAPI retrieving a maximum of one calendar year of data at a time. -#' Each calendar year of data requires a separate API call so multiple -#' years of data will require multiple API calls. As the number of years -#' of data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. Fortunately this operation has a linear run time -#' /(Big O notation: O/(n + 5 seconds/)/) -#' @family Aggregate _by_cbsa functions -#' @inheritParams aqs_services_by_cbsa -#' @importFrom magrittr `%<>%` -#' @importFrom purrr pmap -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -#' for all monitors matching cbsa_code for the given parameter. An -#' AQS_Data Mart_APIv2 is a 2 item named list in which the first item -#' /(/$Header/) is a tibble of header information from the AQS API and -#' the second item /(/$Data/) is a tibble of the data returned. -#' @examples # returns tibble which contains $NO_{2}$ data -#' # for Charlotte-Concord-Gastonia, NC cbsa for -#' # Janurary 1, 2015 - Janurary 01, 2017 -#' \dontrun{aqs_sampledata_by_cbsa(parameter = "42602", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d"), -#' edate = as.Date("20170101", -#' format = "%Y%m%d"), -#' cbsa_code = "16740" -#' ) -#' } -#' @export -aqs_sampledata_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, cbsa_code, duration, cbdate, - cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - cbsa_code = cbsa_code, - duration = duration, - service = "sampleData", - cbdate = cbdate, - cedate = cedate - ) - - sampledata <- purrr::pmap(.l = params, .f = aqs_services_by_cbsa) - if (!return_header) sampledata %<>% aqs_removeheader - return(sampledata) -} - - -#' @title aqs_annualsummary_by_cbsa -#' @description \lifecycle{stable} -#' Returns multiple years of data where annual data is -#' aggregated at the Core Based Statistical Area (CBSA) level. -#' Returned is an annual summary -#' matching the input parameter, and cbsa_code -#' provided for bdate - edate time frame. Variables returned -#' include mean value, maxima, percentiles, and etc. If -#' return_header is FALSE (default) the object returned is a -#' tibble, if TRUE an AQS_API_v2 object. -#' @note The AQS API only allows for a single year of annualsummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_cbsa functions -#' @inheritParams aqs_services_by_cbsa -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -#' summary data for the cbsa_code requested. A AQS_Data Mart_APIv2 is -#' a 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item ($Data) -#' is a tibble of the data returned. -#' @examples # Returns a tibble of annual summary $NO_{2}$ -#' # data the for Charlotte-Concord-Gastonia, NC cbsa on -#' # Janurary 01, 2017 -#' \dontrun{aqs_annualsummary_by_cbsa(parameter = "42602", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' cbsa_code = "16740" -#' ) -#' } -#' @export -aqs_annualsummary_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, cbsa_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - cbsa_code = cbsa_code, - service = "annualData", - cbdate = cbdate, - cedate = cedate - ) - - annualsummary <- purrr::pmap(.l = params, .f = aqs_services_by_cbsa) - if (!return_header) annualsummary %<>% aqs_removeheader - return(annualsummary) - -} - - -#' @title aqs_dailysummary_by_cbsa -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object containing daily summary data aggregated by cbsa -#' (Core Based Statistical Area) code. -#' @note The AQS API only allows for a single year of dailysummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_cbsa functions -#' @inheritParams aqs_services_by_cbsa -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -#' summary statistics for the given parameter for a single cbsa_code. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble of $NO_{2}$ daily summary -#' # data the for Charlotte-Concord-Gastonia, NC cbsa on -#' # Janurary 01, 2017 -#' \dontrun{aqs_dailysummary_by_cbsa(parameter = "42602", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190101", -#' format = "%Y%m%d" -#' ), -#' cbsa_code = "16740" -#' ) -#' } -#' @export -aqs_dailysummary_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, cbsa_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - cbsa_code = cbsa_code, - service = "dailyData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_cbsa) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_quarterlysummary_by_cbsa -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object of quarterly summary data aggregated by stateFIPS. -#' @note The AQS API only allows for a single year of quarterly summary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' -#' Also Note that for quarterly data, only the year portion of the bdate -#' and edate are used and all 4 quarters in the year are returned. -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_cbsa -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -#' summary statistics for the given parameter for a stateFIPS. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble of $NO_{2}$ quartyerly summary -#' # data the for Charlotte-Concord-Gastonia, NC cbsa for -#' # each quarter in 2017. -#' \dontrun{aqs_quarterlysummary_by_cbsa(parameter = "42602", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' cbsa_code = "16740" -#' ) -#' } -#' @export -aqs_quarterlysummary_by_cbsa <- function(parameter, bdate, edate, cbsa_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - AQS_domain <- "aqs.epa.gov" - checkaqsparams(parameter, bdate, edate, cbsa_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - cbsa_code = cbsa_code, - service = "quarterlyData", - cbdate = cbdate, - cedate = cedate, - AQS_domain = AQS_domain - ) - - quarterlysummary <- purrr::pmap(.l = params, .f = aqs_services_by_cbsa) - if (!return_header) quarterlysummary %<>% aqs_removeheader - return(quarterlysummary) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycounty.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycounty.R deleted file mode 100644 index c05fa49..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bycounty.R +++ /dev/null @@ -1,935 +0,0 @@ -#' @section by_county aggregate functions - -#' @title aqs_monitors_by_county -#' @description \lifecycle{stable} -#' Returns a table of monitors and related metadata at sites with the -#' provided parameter, stateFIPS and county_code for -#' bdate - edate time frame. -#' @note All monitors that operated between the bdate and edate will be returned -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -#' selected county -#' @examples # returns an aqs_v2 S3 object containing all SO2 monitors in -#' # Hawaii County, HI that were operating between May 01-02, 2015. -#' \dontrun{aqs_monitors_by_county(parameter="42401", -#' bdate=as.Date("20150501", format="%Y%m%d"), -#' edate=as.Date("20150502", format="%Y%m%d"), -#' stateFIPS="15", -#' countycode="001" -#' ) -#' } -#' @export -aqs_monitors_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - # aqs_monitors_by_* functions don't call aqsmultiyearparams() since the - # monitors API call accepts multiple years of data on the server, purrr::pmap - # is used so that the output is consistent with other RAQSAPI functions. - params <- tibble(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "monitors", - cbdate = cbdate, - cedate = cedate) %>% - dplyr::select_if(function(x) {!all(is.na(x))}) - - monitors <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) monitors %<>% aqs_removeheader - return(monitors) -} - - -#' @title aqs_sampledata_by_county -#' @description \lifecycle{stable} -#' Returns a single tibble with the requested data. If -#' return_header is TRUE returns a list -#' of AQSAPI_v2 objects where each index of the list is an -#' individual RAQSAPI_v2 object returned from each successive -#' call to the AQS API. RAQSAPI_v2 objects are two item list -#' where the $Data portion contains data that contains -#' sample air monitoring data at a site with the input -#' parameter, stateFIPS and county_code provided for -#' bdate - edate time frame. The $Header is a tibble of -#' header information from the API call /(useful for -#' debugging/). This function returns NULL is bdate > edate. -#' @note The AQS API only allows for a single year of sampledata to be retrieved -#' at a time. This function conveniently extracts date information from -#' the bdate and edate parameters then makes repeated calls to the -#' AQSAPI retrieving a maximum of one calendar year of data at a time. -#' Each calendar year of data requires a separate API call so multiple -#' years of data will require multiple API calls. As the number of years -#' of data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @importFrom purrr pmap -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -#' for all monitors matching stateFIPS and county_code for the given -#' parameter. An AQS_Data Mart_APIv2 is a 2 item named list in which -#' the first item /(/$Header/) is a tibble of header information from -#' the AQS API and the second item /(/$Data/) is a tibble of the data -#' returned. -#' @examples # returns all FRM/FEM PM2.5 data for Wake County, NC between -#' # January 1, 2015 - February 28, 2016 -#' \dontrun{aqs_sampledata_by_county(parameter = "88101", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d"), -#' edate=as.Date("20160228", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183" -#' ) -#' } -#' @export -aqs_sampledata_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - duration, cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - duration = duration, - service = "sampleData", - cbdate = cbdate, - cedate = cedate - ) - - sampledata <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) sampledata %<>% aqs_removeheader - return(sampledata) -} - - -#' @title aqs_annualsummary_by_county -#' @description \lifecycle{stable} -#' Returns multiple years of data where annual data is -#' aggregated at the county level. Returned is an annual summary -#' matching the input parameter, stateFIPS, and county_code -#' provided for bdate - edate time frame. Variables -#' returned include mean value, maxima, percentiles, and etc. If -#' return_header is FALSE (default) the object returned is a -#' tibble, if TRUE an AQS_API_v2 object. -#' @note The AQS API only allows for a single year of annualsummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If -#' TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -#' summary data for the countycode and stateFIPS requested. -#' A AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns an aqs S3 object with annual summary FRM/FEM -#' # PM2.5 data for Wake County, NC between January -#' # and February 2016 -#' \dontrun{aqs_annualsummary_by_county(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180228", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183" -#' ) -#' } -#' @export -aqs_annualsummary_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "annualData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_qa_blanks_by_county -#' @description \lifecycle{stable} -#' Returns a table of blank quality assurance data. -#' Blanks are unexposed sample collection devices (e.g., -#' filters) that are transported with the exposed sample devices -#' to assess if contamination is occurring during the transport -#' or handling of the samples. Data is aggregated at the county level. -#' @note The AQS API only allows for a single year of qa_blank data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If -#' TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -#' assurance blank sample data for all monitors within the input -#' stateFIPS and countycode. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns a tibble with PM2.5 blank data for -#' # Colbert County, AL for January 2018 -#' \dontrun{aqs_qa_blanks_by_county(parameter = "88101", -#' bdate = as.Date("20170101", -#' format="%Y%m%d"), -#' edate = as.Date("20190131", -#' format="%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "033" -#' ) -#' } -#' @export -aqs_qa_blanks_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaBlanks", - cbdate = cbdate, - cedate = cedate - ) - - blanks <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) blanks %<>% aqs_removeheader - return(blanks) -} - - -#' @title aqs_dailysummary_by_county -#' @description \lifecycle{stable} -#' Returns multiple years of data where daily data is -#' aggregated at the site level. Returned is a daily summary -#' matching the input parameter, stateFIPS and county_code -#' provided for bdate - edate time frame. Variables returned include -#' mean value, maxima, percentiles, and etc. -#' @note The AQS API only allows for a single year of dailysummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -#' summary statistics for the given parameter for a single countycode -#' and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns an aqs S3 object of daily summary FRM/FEM PM2.5 data -#' # for Wake County, NC between January and February 2016 -#' \dontrun{aqs_dailysummary_by_county(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20170228", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183" -#' ) -#' } -#' @export -aqs_dailysummary_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "dailyData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_qa_collocated_assessments_by_county -#' @description \lifecycle{stable} -#' Returns a table of collocated assessment data aggregated by -#' matching input parameter, stateFIPS and county_code provided -#' for bdate - edate time frame. -#' @note The AQS API only allows for a single year of collocated assessments -#' data to be retrieved at a time. This function conveniently extracts -#' date information from the bdate and edate parameters then makes -#' repeated calls to the AQSAPI retrieving a maximum of one calendar -#' year of data at a time. Each calendar year of data requires a -#' separate API call so multiple years of data will require multiple API -#' calls. As the number of years of data being requested increases so -#' does the length of time that it will take to retrieve results. There -#' is also a 5 second wait time inserted between successive API calls to -#' prevent overloading the API server. This operation has a linear run -#' time of /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance collocated assessment data for monitors within a county. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble with collocated assessment data -#' # for FRM PM2.5 in Madison County, AL for January 2015 -#' \dontrun{aqs_qa_collocated_assessments_by_county(parameter = "88101", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20150131", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "01", -#' countycode = "089" -#' ) -#' } -#' @export -aqs_qa_collocated_assessments_by_county <- function(parameter, bdate, edate, - stateFIPS, countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaCollocatedAssessments", - cbdate = cbdate, - cedate = cedate - ) - - colocatedsummary <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) colocatedsummary %<>% aqs_removeheader - return(colocatedsummary) -} - - -#' @title aqs_qa_flowrateverification_by_county -#' @description \lifecycle{stable} -#' Returns a table containing flow rate Verification data for a -#' parameter code aggregated matching input parameter, stateFIPS, -#' and county_code, provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate verifications to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance flow rate verification data for monitors within a county. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of flow rate verification data for -#' # Colbert County, AL for January 2018 -#' \dontrun{aqs_qa_flowrateverification_by_county(parameter = "88101", -#' bdate = as.Date("20180101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190131", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "01", -#' countycode = "033" -#' ) -#' } -#' @export -aqs_qa_flowrateverification_by_county <- function(parameter, bdate, edate, - stateFIPS, countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaFlowRateVerifications", - cbdate = cbdate, - cedate = cedate - ) - - frv <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) frv %<>% aqs_removeheader - return(frv) -} - - -#' @title aqs_qa_flowrateaudit_by_county -#' @description \lifecycle{stable} -#' Returns a table containing flow rate audit -#' data aggregated by parameter code, stateFIPS and countycode -#' for bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -#' audit data for the requested countycode and stateFIPS. An -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples #Returns a tibble of flow rate audit data for -#' # Jefferson County, AL for January 2018 -#' \dontrun{aqs_qa_flowrateaudit_by_county(parameter = "88101", -#' bdate = as.Date("20170101", -#' format="%Y%m%d"), -#' edate = as.Date("20190131", -#' format = "%Y%m%d"), -#' tateFIPS = "01", -#' countycode = "073" -#' ) -#' } -#' @export -aqs_qa_flowrateaudit_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaFlowRateAudits", - cbdate = cbdate, - cedate = cedate - ) - - fra <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) fra %<>% aqs_removeheader - return(fra) -} - - -#' @title aqs_qa_one_point_qc_by_county_ -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 object -#' containing one point QC check data aggregated by county_code. -#' @note The AQS API only allows for a single year of one point qc data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -#' qc data within a county. A AQS_Data_Mart_APIv2 object is a -#' 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples #returns a tibble of One Point QC data for ozone -#' # in Barnstable County, MA for January 2018 -#' \dontrun{aqs_qa_one_point_qc_by_county(parameter= "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = a s.Date("20180131", -#' format = "%Y%m%d"), -#' stateFIPS = "25", -#' countycode = "001" -#' ) -#' } -#' @export -aqs_qa_one_point_qc_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaOnePointQcRawData", - cbdate = cbdate, - cedate = cedate - ) - - opqcc <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) opqcc %<>% aqs_removeheader - return(opqcc) -} - - -#' @title aqs_qa_pep_audit_by_county -#' @description \lifecycle{stable} -#' Returns a table of Performance Evaluation Program (PEP) audit -#' data aggregated by parameter code, stateFIPS and countycode -#' for the time frame between bdate and edate. -#' @note The AQS API only allows for a single year of pep audit data -#' to be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @inheritParams aqs_services_by_county -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance PEP audit data within a county. A AQS_Data_Mart_APIv2 -#' object is a 2 item named list in which the first item ($Header) is -#' a tibble of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # returns a tibble with PEP Audit data for FRM -#' # PM2.5 in Madison County, AL for 2017 -#' \dontrun{aqs_qa_pep_audit_by_county_multiyear(parameter = "88101", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20171231", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "01", -#' countycode = "089" -#' ) -#' } -#' @export -aqs_qa_pep_audit_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaPepAudits", - cbdate = cbdate, - cedate = cedate - ) - - pepaudit <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) pepaudit %<>% aqs_removeheader - return(pepaudit) -} - - -#' @title aqs_transactionsample_by_county -#' @description \lifecycle{stable} -#' Returns transactionsample data - aggregated by county -#' in the AQS Submission Transaction Format (RD) sample (raw) data -#' for a parameter code aggregated by matching input parameter, -#' stateFIPS and countycode provided for bdate - edate time frame. -#' Includes data both in submitted and standard units -#' @note The AQS API only allows for a single year of transaction data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of -#' data at a time. Each calendar year of data requires a separate API -#' call so multiple years of data will require multiple API calls. -#' As the number of years of data being requested increases so does the -#' length of time that it will take to retrieve results. There is also a -#' 5 second wait time inserted between successive API calls to prevent -#' overloading the API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples -#' \dontrun{ # Returns all FRM/FEM transaction data for -#' # Wake County, NC between on Feb 28, 2016. -#' aqs_transactionsample_by_county(parameter = "88101", -#' bdate = as.Date("20160228", -#' format = "%Y%m%d"), -#' edate = as.Date("20160228", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -#' (raw) data in the AQS submission transaction format (RD) -#' corresponding to the inputs provided. -#' @export -aqs_transactionsample_by_county <- function(parameter, bdate, edate, - stateFIPS, countycode, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "transactionsSample" - ) - - transactionsample <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) transactionsample %<>% aqs_removeheader - return(transactionsample) -} - - -#' @title aqs_qa_annualperformanceeval_by_county -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by county for a parameter code aggregated by -#' matching input parameter, countycode and stateFIPS -#' provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluation data to be retrieved at a time. This -#' function conveniently extracts date information from the bdate -#' and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation data -#' # (raw) for ozone in Baldwin County, AL for 2017 in RD format. -#' \dontrun{ aqs_qa_annualperformanceeval_by_county(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "003" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceeval_by_county <- function(parameter, bdate, - edate, stateFIPS, - countycode, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "qaAnnualPerformanceEvaluations" - ) - - qaape <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) qaape %<>% aqs_removeheader - return(qaape) -} - - -#' @title aqs_qa_annualperformanceevaltransaction_by_site -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by site for a parameter code aggregated by matching -#' input parameter, countycode and stateFIPS provided for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluations transaction data to be retrieved at a -#' time. This function conveniently extracts date information from the -#' bdate and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_county -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation data -#' # (raw) for ozone in Baldwin County, AL for 2017 in RD format. -#' \dontrun{aqs_qa_annualperformanceevaltransaction_by_county(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "003" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data in the RD format for a single -#' monitoring site for the countycode and stateFIPS requested -#' for the time frame between bdate and edate in the AQS. An -#' AQS_Data_Mart_APIv2 is a 2 item named list in which the first item -#' ($Header) is a tibble of header information from the AQS API and -#' the second item ($Data) is a tibble of the data returned. -#' @export -aqs_qa_annualperformanceevaltransaction_by_county <- function(parameter, bdate, - edate, stateFIPS, - countycode, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "transactionsQaAnnualPerformanceEvaluations" - ) - - tqaape <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) tqaape %<>% aqs_removeheader - return(tqaape) -} - - -#' @title aqs_quarterlysummary_by_county -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object of quarterly summary data aggregated by cbsa -#' (Core Based Statistical Area) code. -#' @note The AQS API only allows for a single year of quarterly summary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' -#' Also Note that for quarterly data, only the year portion of the bdate -#' and edate are used and all 4 quarters in the year are returned. -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_county -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -#' summary statistics for the given parameter for a single countycode -#' and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns a tibble containing quarterly summaries for -#' # FRM/FEM PM2.5 data for Wake County, NC for each quarter of 2016 -#' \dontrun{aqs_quarterlysummary_by_county(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20170228", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183" -#' ) -#' } -#' @export -aqs_quarterlysummary_by_county <- function(parameter, bdate, edate, stateFIPS, - countycode, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "quarterlyData", - cbdate = cbdate, - cedate = cedate - ) - - quarterlysummary <- purrr::pmap(.l = params, .f = aqs_services_by_county) - if (!return_header) quarterlysummary %<>% aqs_removeheader - return(quarterlysummary) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R deleted file mode 100644 index aeab85f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/byma.R +++ /dev/null @@ -1,588 +0,0 @@ -#' @section by_ma aggregate functions - - -#' @title aqs_qa_blanks_by_MA -#' @description \lifecycle{stable} -#' Returns a table of blank quality assurance data. -#' Blanks are unexposed sample collection devices (e.g., -#' filters) that are transported with the exposed sample devices -#' to assess if contamination is occurring during the transport -#' or handling of the samples. Data is aggregated by monitoring agency -#' code (MA_code). -#' @note The AQS API only allows for a single year of qa_blank data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -#' assurance blank sample data for all monitors within the input -#' MA_code. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # Returns a tibble containing PM2.5 blank data in -#' # January 2018 where the Monitoring Agency is the Alabama -#' # Department of Environmental Management (agency 0013) -#' \dontrun{aqs_qa_blanks_by_MA(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20190131", -#' format = "%Y%m%d"), -#' MA_code = "0013" -#' ) -#' } -#' @export -aqs_qa_blanks_by_MA <- function(parameter, bdate, edate, MA_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaBlanks", - cbdate = cbdate, - cedate = cedate - ) - - blanks <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) blanks %<>% aqs_removeheader - return(blanks) -} - - -#' @title aqs_qa_collocated_assessments_by_MA -#' @description \lifecycle{stable} -#' Returns a table of collocated assessment data aggregated by -#' matching input parameter, and monitoring agency (MA) code -#' provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of collocated assessments -#' data to be retrieved at a time. This function conveniently extracts -#' date information from the bdate and edate parameters then makes -#' repeated calls to the AQSAPI retrieving a maximum of one calendar -#' year of data at a time. Each calendar year of data requires a -#' separate API call so multiple years of data will require multiple API -#' calls. As the number of years of data being requested increases so -#' does the length of time that it will take to retrieve results. There -#' is also a 5 second wait time inserted between successive API calls to -#' prevent overloading the API server. This operation has a linear run -#' time of /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance collocated assessment data for monitors within a -#' monitoring agency. An AQS_Data Mart_APIv2 is a 2 item named list -#' in which the first item ($Header) is a tibble of header information -#' from the AQS API and the second item ($Data) is a tibble of the -#' data returned. -#' @examples # Returns a tibble containing collocated assessment -#' # data for FRM PM2.5 January 2013 where the Monitoring Agency is -#' # the Alabama Department of Environmental Management -#' # (agency 0013) -#' \dontrun{aqs_qa_collocated_assessments_by_MA(parameter="88101", -#' bdate = as.Date("20130101", -#' format = "%Y%m%d"), -#' edate = as.Date("20150131", -#' format="%Y%m%d"), -#' MA_code = "0013" -#' ) -#' } -#' @export -aqs_qa_collocated_assessments_by_MA <- function(parameter, bdate, - edate, MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaCollocatedAssessments", - cbdate = cbdate, - cedate = cedate - ) - - colocatedsummary <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) colocatedsummary %<>% aqs_removeheader - return(colocatedsummary) -} - - -#' @title aqs_qa_flowrateverification_by_MA -#' @description \lifecycle{stable} -#' Returns a table containing flow rate Verification data for a -#' parameter code aggregated by matching input parameter, and -#' monitoring agency (MA) code provided for bdate - edate time -#' frame. -#' @note The AQS API only allows for a single year of flow rate verifications to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance flow rate verification data for monitors within a -#' Monitoring agency. An AQS_Data Mart_APIv2 is a 2 item named list in -#' which the first item ($Header) is a tibble of header information -#' from the AQS API and the second item ($Data) is a tibble of the -#' data returned. -#' @examples -#' # Returns a tibble containing collocated assessment -#' # data for FRM PM2.5 January 2013 where the Monitoring Agency is -#' # the Alabama Department of Environmental Management (agency 0013) -#' \dontrun{aqs_qa_flowrateverification_by_MA(parameter = "88101", -#' bdate = as.Date("20130101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20150131", -#' format = "%Y%m%d" -#' ), -#' MA_code = "0013" -#' ) -#' } -#' @export -aqs_qa_flowrateverification_by_MA <- function(parameter, bdate, edate, - MA_code, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaFlowRateVerifications", - cbdate = cbdate, - cedate = cedate - ) - - frv <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) frv %<>% aqs_removeheader - return(frv) -} - - -#' @title aqs_qa_flowrateaudit_by_MA -#' @description \lifecycle{stable} -#' Returns a table containing flow rate audit -#' data aggregated by parameter code and monitoring agency code -#' (_by_MA) for bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -#' audit data for the requested MA_code. An -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples -#' # returns a tibble of flow rate audit data -#' # for FRM PM2.5 January 2016 - Januray 2018 where the Monitoring Agency is -#' # the Jefferson County, AL Department of Health (agency 0550) -#' \dontrun{aqs_qa_flowrateaudit_by_MA(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' MA_code = "0550" -#' ) -#' } -#' @export -aqs_qa_flowrateaudit_by_MA <- function(parameter, bdate, edate, MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaFlowRateAudits", - cbdate = cbdate, - cedate = cedate - ) - - fra <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) fra %<>% aqs_removeheader - return(fra) -} - - -#' @title aqs_qa_one_point_qc_by_MA -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 object -#' containing one point QC check data aggregated by monitoring -#' agency code (_by_MA). -#' @note The AQS API only allows for a single year of one point qc data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -#' qc data for a single monitoring agency. A AQS_Data_Mart_APIv2 -#' object is a 2 item named list in which the first item ($Header) -#' is a tibble of header information from the AQS API and the second -#' item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of ozone One Point QC data -#' # in January 2018 where the Monitoring Agency is the -#' # Massachusetts Department of Environmental Protection -#' # (agency 0660) -#' \dontrun{aqs_qa_one_point_qc_by_MA(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' MA_code = "0660" -#' ) -#' } -#' @export -aqs_qa_one_point_qc_by_MA <- function(parameter, bdate, edate, MA_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaOnePointQcRawData", - cbdate = cbdate, - cedate = cedate - ) - - opqcc <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) opqcc %<>% aqs_removeheader - return(opqcc) -} - - -#' @title aqs_qa_pep_audit_by_MA -#' @description \lifecycle{stable} -#' Returns a table of Performance Evaluation Program (PEP) audit -#' data aggregated by monitoring agency code (_by_MA) for the -#' time frame between bdate and edate. -#' @note The AQS API only allows for a single year of one point pep audit data -#' to be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance PEP audit data for a monitoring agency. A -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples # Returns a tibble of PEP audit data for -#' # June 2017 where the Monitoring Agency is the Alabama Department -#' # of Environmental Management (agency 0013) -#' \dontrun{aqs_qa_pep_audit_by_MA(parameter = "88101", -#' bdate = as.Date("20170601", -#' format = "%Y%m%d"), -#' edate = as.Date("20170630", -#' format = "%Y%m%d"), -#' MA_code = "0013" -#' ) -#' } -#' @export -aqs_qa_pep_audit_by_MA <- function(parameter, bdate, edate, MA_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaPepAudits", - cbdate = cbdate, - cedate = cedate - ) - - pepaudit <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) pepaudit %<>% aqs_removeheader - return(pepaudit) -} - - -#' @title aqs_transactionsample_MA -#' @description \lifecycle{stable} -#' Returns transactionsample data - aggregated by Monitoring agency (MA) -#' in the AQS Submission Transaction Format (RD) sample (raw) data for -#' a parameter code aggregated by matching input parameter, and -#' monitoring agency (MA) code provided for bdate - edate time -#' frame. Includes data both in submitted and standard units -#' -#' @note The AQS API only allows for a single year of transaction data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of -#' data at a time. Each calendar year of data requires a separate API -#' call so multiple years of data will require multiple API calls. -#' As the number of years of data being requested increases so does the -#' length of time that it will take to retrieve results. There is also a -#' 5 second wait time inserted between successive API calls to prevent -#' overloading the API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_MA -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a tibble of ozone transaction sample data for all monitors -#' #operated by South Coast Air Quality Management District collected -#' #on May 15, 2015 -#' \dontrun{aqs_transactionsample_by_MA(parameter = "44201", -#' bdate = as.Date("20150515", -#' format = "%Y%m%d"), -#' edate = as.Date("20150515", -#' format = "%Y%m%d"), -#' MA_code = "0972" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -#' (raw) data in the AQS submission transaction format (RD) -#' corresponding to the inputs provided. -#' @export -aqs_transactionsample_by_MA <- function(parameter, bdate, edate, MA_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, MA_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "transactionsSample" - ) - - transactionsample <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) transactionsample %<>% aqs_removeheader - return(transactionsample) -} - - -#' @title aqs_qa_annualperformanceeval_by_MA -#' @description \lifecycle{stable} -#' Returns quality assurance performance evaluation data - aggregated by -#' by Monitoring agency (MA) for a parameter -#' code aggregated by matching input parameter and MA_code for the -#' time frame between bdate and edate. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluation data to be retrieved at a time. This -#' function conveniently extracts date information from the bdate -#' and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples -#' # Returns a tibble containing annual performance evaluation data -#' # for ozone where the monitoring agency is the Alabama Department -#' # of Environmental Management (MA_code 0013). -#' \dontrun{aqs_qa_annualperformanceeval_by_MA(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' MA_code = "0013" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for all monitoring sites for with -#' the MA_code requested for the time frame between bdate and edate. -#' An AQS_Data_Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @export -aqs_qa_annualperformanceeval_by_MA <- function(parameter, bdate, edate, - MA_code, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, MA_code, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = "qaAnnualPerformanceEvaluations" - ) - - qaape <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) qaape %<>% aqs_removeheader - return(qaape) -} - - -#' @title aqs_qa_annualperformanceevaltransaction_by_MA -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by Monitoring agency (MA) -#' for a parameter code aggregated by matching input parameter and -#' MA_code provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluations transaction data to be retrieved at a -#' time. This function conveniently extracts date information from the -#' bdate and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_MA functions -#' @inheritParams aqs_services_by_MA -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation data -#' # for ozone in where the MA is the Alabama Department of -#' # Environmental Management (MA_code 0013) for 2017 in RD format. -#' \dontrun{aqs_qa_annualperformanceevaltransaction_by_MA(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' MA_code = "0013" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data in the AQS submissions transaction -#' format (RD)for all sites matching the MA_code requested for the -#' time frame between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 -#' item named list in which the first item ($Header) is a tibble of -#' header information from the AQS API and the second item ($Data) is -#' a tibble of the data returned. -#' @export -aqs_qa_annualperformanceevaltransaction_by_MA <- function(parameter, bdate, - edate, MA_code, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, MA_code, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - MA_code = MA_code, - service = - "transactionsQaAnnualPerformanceEvaluations" - ) - - tqaape <- purrr::pmap(.l = params, .f = aqs_services_by_MA) - if (!return_header) tqaape %<>% aqs_removeheader - return(tqaape) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R deleted file mode 100644 index 178d1d7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bypqao.R +++ /dev/null @@ -1,524 +0,0 @@ -#' @section by_pqao aggregate functions - -#' @title aqs_qa_blanks_by_pqao -#' @description \lifecycle{stable} -#' Returns a table of blank quality assurance data. -#' Blanks are unexposed sample collection devices (e.g., -#' filters) that are transported with the exposed sample devices -#' to assess if contamination is occurring during the transport -#' or handling of the samples. Data is aggregated by -#' Primary Quality Assurance Organization (PQAO). -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance blank data for monitors within a pqao. An -#' AQS_Data Mart_APIv2 is a 2 item named list in which the first item -#' ($Header) is a tibble of header information from the AQS API and -#' the second item ($Data) is a tibble of the data returned. -#' @examples # Returns tibble of PM2.5 blank data in -#' # January 2018 where the PQAO is the Alabama Department of -#' # Environmental Management (agency 0013) -#' \dontrun{aqs_qa_blanks_by_pqao(parameter = "88101", -#' bdate = as.Date("20180101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' pqao_code = "0013" -#' ) -#' } -#' @export -aqs_qa_blanks_by_pqao <- function(parameter, bdate, edate, pqao_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaBlanks", - cbdate = cbdate, - cedate = cedate - ) - - blanks <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) blanks %<>% aqs_removeheader - return(blanks) -} - - -#' @title aqs_qa_collocated_assessments_by_pqao -#' @description \lifecycle{stable} -#' Returns a table of collocated assessment data aggregated by -#' matching input parameter, and Primary Quality Assurance -#' Organisation (PQAO) code provided for bdate - edate -#' time frame. -#' @note The AQS API only allows for a single year of collocated assessments -#' data to be retrieved at a time. This function conveniently extracts -#' date information from the bdate and edate parameters then makes -#' repeated calls to the AQSAPI retrieving a maximum of one calendar -#' year of data at a time. Each calendar year of data requires a -#' separate API call so multiple years of data will require multiple API -#' calls. As the number of years of data being requested increases so -#' does the length of time that it will take to retrieve results. There -#' is also a 5 second wait time inserted between successive API calls to -#' prevent overloading the API server. This operation has a linear run -#' time of /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance collocated assessment data for monitors within a pqao. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble of collocated assessment -#' # data for FRM PM2.5 in January 2013 where the PQAO is the Alabama -#' # Department of Environmental Management (agency 0013) -#' \dontrun{aqs_qa_collocated_assessments_by_pqao(parameter = "88101", -#' bdate = as.Date("20130101", -#' format = "%Y%m%d"), -#' edate = as.Date("20150131", -#' format = "%Y%m%d"), -#' pqao_code = "0013" -#' ) -#' } -#' @export -aqs_qa_collocated_assessments_by_pqao <- function(parameter, bdate, edate, - pqao_code, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaCollocatedAssessments", - cbdate = cbdate, - cedate = cedate - ) - - colocatedsummary <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) colocatedsummary %<>% aqs_removeheader - return(colocatedsummary) -} - - -#' @title aqs_qa_flowrateverification_by_pqao -#' @description \lifecycle{stable} -#' Returns a table containing flow rate Verification data for a -#' parameter code aggregated by matching input parameter, and -#' Primary Quality Assurance Organization (PQAO) code provided -#' for bdate - edate time. -#' @note The AQS API only allows for a single year of flow rate verifications to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance flow rate verification data for monitors within a pqao. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of flow rate verification -#' # data for January 2018 where the PQAO is the Alabama Department -#' # of Environmental Management (agency 0013) -#' \dontrun{aqs_qa_flowrateverification_by_pqao(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190131", -#' format = "%Y%m%d" -#' ), -#' pqao_code = "0013" -#' ) -#' } -#' @export -aqs_qa_flowrateverification_by_pqao <- function(parameter, bdate, edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaFlowRateVerifications", - cbdate = cbdate, - cedate = cedate - ) - - frv <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) frv %<>% aqs_removeheader - return(frv) -} - - -#' @title aqs_qa_flowrateaudit_by_pqao -#' @description \lifecycle{stable} -#' Returns a table containing flow rate audit -#' data aggregated by parameter code and Primary Quality -#' Assurance Organization (PQAO) code for bdate - edate -#' time frame. -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -#' audit data for the requested pqao_code. An -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples # Returns a tibble of flow rate audit data for January -#' # 2018 where the PQAO is the Jefferson County, AL Department of -#' # Health (agency 0550). -#' \dontrun{aqs_qa_flowrateaudit_by_pqao(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' pqao_code = "0550" -#' ) -#' } -#' @export -aqs_qa_flowrateaudit_by_pqao <- function(parameter, bdate, edate, pqao_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaFlowRateAudits", - cbdate = cbdate, - cedate = cedate - ) - - fra <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) fra %<>% aqs_removeheader - return(fra) -} - - -#' @title aqs_qa_one_point_qc_by_pqao -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 object containing Quality -#' assurance data - collocated assessment raw data aggregated by Primary -#' Quality Assurance Organization (PQAO) code. -#' @note The AQS API only allows for a single year of one point qc data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -#' qc data within a pqao. A AQS_Data_Mart_APIv2 object is a -#' 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item -#' @examples -#' # returns a tibble of ozone One Point QC -#' # data for Jan 2017 - January 2018 where the PQAO is the Massachusetts -#' # Department of Environmental Protection (agency 0660) -#' \dontrun{aqs_qa_one_point_qc_by_pqao(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' pqao_code = "0660" -#' ) -#' } -#' @export -aqs_qa_one_point_qc_by_pqao <- function(parameter, bdate, edate, pqao_code, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaOnePointQcRawData", - cbdate = cbdate, - cedate = cedate - ) - - opqcc <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) opqcc %<>% aqs_removeheader - return(opqcc) -} - - -#' @title aqs_qa_pep_audit_by_pqao -#' @description \lifecycle{stable} -#' Returns a table of Performance Evaluation Program (PEP) audit -#' data aggregated by Primary Quality Assurance Organization -#' (PQAO) code for the time frame between bdate and edate. -#' @note The AQS API only allows for a single year of pep audit data -#' to be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item list that contains header -#' information returned from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance PEP audit data for a Primary Quality Assurance -#' Organization. A AQS_Data_Mart_APIv2 object is a 2 item named list -#' in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns a tibble of PEP audit data for -#' # June 2017 where the pqao is the Alabama Department of -#' # Environmental Management (agency 0013) -#' \dontrun{aqs_qa_pep_audit_by_pqao(parameter = "88101", -#' bdate = as.Date("20170601", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190630", -#' format = "%Y%m%d"), -#' pqao_code = "0013" -#' ) -#' } -#' @export -aqs_qa_pep_audit_by_pqao <- function(parameter, bdate, edate, pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaPepAudits", - cbdate = cbdate, - cedate = cedate - ) - - pepaudit <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) pepaudit %<>% aqs_removeheader - return(pepaudit) -} - - -#' @title aqs_qa_annualperformanceeval_by_pqao -#' @description \lifecycle{stable} -#' Returns quality assurance performance evaluation data - aggregated by -#' Primary Quality Assurance Organization (PQAO) for a parameter -#' code aggregated by matching input parameter and pqao_code for the -#' time frame between bdate and edate. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluation data to be retrieved at a time. This -#' function conveniently extracts date information from the bdate -#' and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation data -#' # for ozone where the PQAO is the Alabamaba Department of -#' # Environmental Management (pqao_code 0013). -#' \dontrun{ aqs_qa_annualperformanceeval_by_pqao(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' pqao_code = "0013" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' pqao_code requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceeval_by_pqao <- function(parameter, bdate, edate, - pqao_code, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "qaAnnualPerformanceEvaluations" - ) - - qaape <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) qaape %<>% aqs_removeheader - return(qaape) -} - - -#' @title aqs_qa_annualperformanceevaltransaction_by_pqao -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by Primary Quality Assurance Organization (PQAO) -#' for a parameter code aggregated by matching input parameter and -#' pqao_code provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluations transaction data to be retrieved at a -#' time. This function conveniently extracts date information from the -#' bdate and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_pqao functions -#' @inheritParams aqs_services_by_pqao -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a tibble containing annual performance evaluation data for -#' # ozone in where the PQAO is the Alabama Department of -#' # Environmental Management (pqao_code 0013) for 2017 in RD format. -#' \dontrun{aqs_qa_annualperformanceevaltransaction_by_pqao(parameter = -#' "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' pqao_code = "0013" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceevaltransaction_by_pqao <- function(parameter, - bdate, edate, - pqao_code, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, pqao_code, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - pqao_code = pqao_code, - service = "transactionsQaAnnualPerformanceEvaluations" - ) - - tqaape <- purrr::pmap(.l = params, .f = aqs_services_by_pqao) - if (!return_header) tqaape %<>% aqs_removeheader - return(tqaape) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R deleted file mode 100644 index c9a54bd..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bysite.R +++ /dev/null @@ -1,1018 +0,0 @@ -#' @section by_site aggregate functions - - -#' @title aqs_monitors_by_site -#' @description \lifecycle{stable} -#' Returns a table of monitors and related metadata at sites with the -#' provided parameter, stateFIPS, county_code, and sitenum for -#' bdate - edate time frame. -#' @note All monitors that operated between the bdate and edate will be returned -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @importFrom tibble tibble -#' @importFrom dplyr select_if -#' @importFrom purrr pmap -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -#' selected stateFIPS, county, and sitenum combination. -#' @examples -#' #Returns a tibble of the SO2 monitors at Hawaii -#' # Volcanoes NP site (\#0007) in Hawaii County, HI that were operating -#' # between May 1 , 2015-2019. (Note, all monitors that operated between the -#' # bdate and edate will be returned). -#' \dontrun{ -#' aqs_monitors_by_site(parameter = "42401", -#' bdate = as.Date("20150501", -#' format="%Y%m%d"), -#' edate = as.Date("20190501", -#' format="%Y%m%d"), -#' stateFIPS = "15", -#' countycode = "001", -#' sitenum = "0007" -#' ) -#' } -#' -#' @export -aqs_monitors_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, cbdate, cedate, - return_header) - # aqs_monitors_by_* functions don't call aqsmultiyearparams() since the - # monitors API call accepts multiple years of data on the server, purrr::pmap - # is used so that the output is consistent with other RAQSAPI functions. - params <- tibble(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - service = "monitors", - sitenum = sitenum, - cbdate = cbdate, - cedate = cedate) %>% - dplyr::select_if(function(x) {!all(is.na(x))}) - - monitors <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) monitors %<>% aqs_removeheader - return(monitors) -} - - -#' @title aqs_qa_flowrate audit_by_site -#' @description \lifecycle{stable} -#' Returns a table containing flow rate audit -#' data aggregated by parameter code, stateFIPS, countycode and -#' site number for bdate - edate time frame. -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -#' audit data for the requested sitenum, countycode and stateFIPS. An -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples # returns a tibble of flow rate audit data -#' # for the Wylam site (#2003) in Jefferson County, AL -#' # for January 2018: -#' \dontrun{aqs_qa_flowrateaudit_by_site(parameter = "88101", -#' bdate = as.Date("20150101", -#' format="%Y%m%d"), -#' edate = as.Date("20180131", -#' format="%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "073", -#' sitenum = "2003" -#' ) -#' } -#' @export -aqs_qa_flowrateaudit_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaFlowRateAudits", - cbdate = cbdate, - cedate = cedate - ) - - fra <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) fra %<>% aqs_removeheader - return(fra) -} - - -#' @title aqs_qa_one_point_qc_by_site -#' @description \lifecycle{stable} -#' Returns a table of one point QC raw data -#' aggregated by parameter code, stateFIPS, countycode and -#' site number. -#' @note The AQS API only allows for a single year of one point qc data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -#' qc data for the requested site. A AQS_Data_Mart_APIv2 object is a -#' 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # returns a tibbble of One Point QC data for -#' # ozone at the Truro National Seashore site (\#0002) in -#' # Barnstable County, MA for January 2018: -#' \dontrun{aqs_qa_one_point_qc_by_site(parameter = "44201", -#' bdate = as.Date("20180101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' stateFIPS = "25", -#' countycode = "001", -#' sitenum = "0002" -#' ) -#' } -#' @export -aqs_qa_one_point_qc_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, - sitenum, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaOnePointQcRawData", - cbdate = cbdate, - cedate = cedate - ) - - opqcc <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) opqcc %<>% aqs_removeheader - return(opqcc) -} - - -#' @title aqs_qa_pep_audit_by_site -#' @description \lifecycle{stable} -#' Returns a table of Performance Evaluation Program (PEP) audit -#' data aggregated by parameter code, stateFIPS, countycode and -#' site number for the time frame between bdate and edate. -#' @note The AQS API only allows for a single year of pep audit data -#' to be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance PEP audit data within a site. A AQS_Data_Mart_APIv2 -#' object is a 2 item named list in which the first item ($Header) is -#' a tibble of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of pep Audit data for FRM PM2.5 -#' # at the Huntsville Old Airport site (\#0014) in Madison County, -#' # AL for 2017 - 2019. -#' \dontrun{aqs_qa_pep_audit_by_site(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20191231", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "089", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_qa_pep_audit_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaPepAudits", - cbdate = cbdate, - cedate = cedate - ) - - pepaudit <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) pepaudit %<>% aqs_removeheader - return(pepaudit) -} - - -#' @title aqs_sampledata_by_site -#' @description \lifecycle{stable} -#' Returns multiple years of data where sample data is -#' aggregated at the site level. If return_header is -#' FALSE (default) returns a single data frame with -#' the requested data. If return_header is TRUE returns a list -#' of AQSAPI_v2 objects where each index of the list is an -#' individual RAQSAPI_v2 object returned from each successive -#' calls to the AQS API. RAQSAPI_v2 objects are two item list -#' where the $Data portion contains data that contains -#' sample air monitoring data at a site with the input -#' parameter, stateFIPS and county_code provided for -#' bdate - edate time frame. The $Header is a tibble of -#' header information from the API call /(useful for -#' debugging/). Returns NULL is bdate > edate. -#' @note The AQS API only allows for a single year of sampledata to be retrieved -#' at a time. This function conveniently extracts date information from -#' the bdate and edate parameters then makes repeated calls to the -#' AQSAPI retrieving a maximum of one calendar year of data at a time. -#' Each calendar year of data requires a separate API call so multiple -#' years of data will require multiple API calls. As the number of years -#' of data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @param return_header If FALSE (default) returns a single data frame with the -#' data requested. If TRUE returns a AQSAPI_v2 object -#' which is a two item list that contains header -#' information returned from the API server mostly used -#' for debugging purposes in addition to the data -#' requested. This is mostly useful for debugging -#' purposes, in case the user wishes to see the header -#' information from each api call. -#' @importFrom magrittr `%>%` `%<>%` -#' @importFrom purrr pmap -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -#' for a single site with the input parameter. An AQS_Data Mart_APIv2 -#' is a 2 item named list in which the first item /(/$Header/) is a -#' tibble of header information from the AQS API and the second item -#' /(/$Data/) is a tibble of the data returned. -#' @examples #Returns a table of ozone monitoring data for the Millbrook School -#' # site (/#0014) in Wake County, NC for June 18, 2017. -#' \dontrun{ -#' aqs_sampledata_by_site(parameter = "44201", -#' bdate = as.Date("20170618", -#' format = "%Y%m%d"), -#' edate = as.Date("20190618", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_sampledata_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - duration, cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - duration = duration, - service = "sampleData", - cbdate = cbdate, - cedate = cedate - ) - - sampledata <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) sampledata %<>% aqs_removeheader - return(sampledata) -} - - -#' @title aqs_annualsummary_by_site -#' @description \lifecycle{stable} -#' Returns multiple years of data where annual data is -#' aggregated at the site level. Returned is an annual summary -#' matching the input parameter, stateFIPS, county_code, and -#' sitenum provided for bdate - edate time frame. The data -#' returned is summarized at the annual level. Variables -#' returned include mean value, maxima, percentiles, and etc. If -#' return_header is FALSE (default) the object returned is a -#' tibble, if TRUE an AQS_API_v2 object. -#' @note The AQS API only allows for a single year of annualsummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested as a -#' single tibble. If TRUE returns a list of AQSAPI_v2 -#' objects which is a two item list that contains header -#' information returned from the API server mostly used -#' for debugging purposes in addition to the data -#' requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing annual -#' summary data for the sitenum, countycode and stateFIPS requested. -#' A AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble of annual summary ozone -#' # data for the Millbrook School site (\#0014) in Wake County, -#' # NC for 2017 (Note, for annual data, only the -#' # year portion of the bdate and edate are used and only whole -#' # years of data are returned. For example, bdate = 2017-12-31 and -#' # edate = 2018-01-01 will return full data for 2017 and 2018 ) -#' \dontrun{ -#' aqs_annualsummary_by_site(parameter = "44201", -#' bdate = as.Date("20170618", -#' format="%Y%m%d"), -#' edate = as.Date("20190618", -#' format="%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_annualsummary_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "annualData", - cbdate = cbdate, - cedate = cedate - ) - - annualdata <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) annualdata %<>% aqs_removeheader - return(annualdata) -} - - -#' @title aqs_qa_blanks_by_site -#' @description \lifecycle{stable} -#' Returns a table of blank quality assurance data. -#' Blanks are unexposed sample collection devices (e.g., -#' filters) that are transported with the exposed sample devices -#' to assess if contamination is occurring during the transport -#' or handling of the samples. Data is aggregated at the site level. -#' @note The AQS API only allows for a single year of qa_blank data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -#' assurance blank sample data for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples #Returns a tibble of PM2.5 blank -#' # data for the Muscle Shoals site (#0014) in Colbert County, AL -#' # for January 2018 -#' \dontrun{ -#' aqs_qa_blanks_by_site(parameter = "88101", -#' bdate = as.Date("20170101", -#' format="%Y%m%d"), -#' edate = as.Date("20190131", -#' format="%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "033", -#' sitenum = "1002" -#' ) -#' } -#' @export -aqs_qa_blanks_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaBlanks", - cbdate = cbdate, - cedate = cedate - ) - - blanks <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) blanks %<>% aqs_removeheader - return(blanks) -} - - -#' @title aqs_dailysummary_by_site -#' @description \lifecycle{stable} -#' Returns multiple years of data where dailysummary data is -#' aggregated at the site level. Returned is a daily summary -#' matching the input parameter stateFIPS, countycode, and sitenum -#' provided for bdate - edate time frame. Data is aggregated at the -#' state level. Variables returned include mean value, maxima, -#' percentiles, and etc. -#' @note The AQS API only allows for a single year of dailysummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -#' summary statistics for the given parameter for a single site. An -#' AQS_Data Mart_APIv2 is a 2 item named list in which the first item -#' ($Header) is a tibble of header information from the AQS API and -#' the second item ($Data) is a tibble of the data returned. -#' @examples #Returns a tibble of daily summary ozone -#' # data for the Millbrook School site (\#0014) in Wake County, -#' # NC for June 18, 2017. -#' \dontrun{ -#' aqs_dailysummary_by_site(parameter = "44201", -#' bdate = as.Date("20160618", -#' format = "%Y%m%d"), -#' edate = as.Date("20190618", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_dailysummary_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, cbdate = NA_Date_, - cedate = NA_Date_, return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "dailyData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_qa_collocated_assessments_by_site -#' @description \lifecycle{stable} -#' Returns a table of collocated assessment data aggregated by -#' matching input parameter, stateFIPS, county_code, and -#' sitenum provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of collocated assessments -#' data to be retrieved at a time. This function conveniently extracts -#' date information from the bdate and edate parameters then makes -#' repeated calls to the AQSAPI retrieving a maximum of one calendar -#' year of data at a time. Each calendar year of data requires a -#' separate API call so multiple years of data will require multiple API -#' calls. As the number of years of data being requested increases so -#' does the length of time that it will take to retrieve results. There -#' is also a 5 second wait time inserted between successive API calls to -#' prevent overloading the API server. This operation has a linear run -#' time of /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance collocated assessment data for monitors within a site. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples #returns a tibble of collocated assessment data -#' # for FRM PM2.5 at the Huntsville Old Airport site (\#0014) -#' # in Madison County, AL for January 2015: -#' \dontrun{aqs_qa_collocated_assessments_by_site(parameter = "88101", -#' bdate = as.Date("20150101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20150131", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "01", -#' countycode = "089", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_qa_collocated_assessments_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaCollocatedAssessments", - cbdate = cbdate, - cedate = cedate - ) - - colocatedsummary <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) colocatedsummary %<>% aqs_removeheader - return(colocatedsummary) -} - - -#' @title aqs_qa_flowrateverification_by_site -#' @description \lifecycle{stable} -#' Returns a table containing flow rate Verification data for a -#' parameter code aggregated matching input parameter, stateFIPS, -#' county_code, and sitenum provided for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate verifications to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance flow rate verification data for monitors at a site. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of flow rate verification -#' # data for the Muscle Shoals site (#1002) in Colbert County, AL -#' # for January 2018: -#' \dontrun{aqs_qa_flowrateverification_by_site(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "033", -#' sitenum = "1002" -#' ) -#' } -#' @export -aqs_qa_flowrateverification_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "qaFlowRateVerifications", - cbdate = cbdate, - cedate = cedate - ) - - frv <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) frv %<>% aqs_removeheader - return(frv) -} - - -#' @title aqs_transactionsample_by_site -#' @description \lifecycle{stable} -#' Returns transactionsample data aggregated by site -#' in the AQS Submission Transaction Format (RD) sample (raw) data for -#' a parameter code aggregated by matching input parameter, sitenum, -#' countycode and stateFIPS provided for bdate - edate time frame. -#' Includes data both in submitted and standard units -#' @note The AQS API only allows for a single year of transaction data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of -#' data at a time. Each calendar year of data requires a separate API -#' call so multiple years of data will require multiple API calls. -#' As the number of years of data being requested increases so does the -#' length of time that it will take to retrieve results. There is also a -#' 5 second wait time inserted between successive API calls to prevent -#' overloading the API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a AQS_Data Mart_APIv2 S3 object of the returns -#' \dontrun{ # returns all ozone transaction data for the -#' # Millbrook School site (#0014) in Wake County, NC for -#' # June 18, 2017 -#' aqs_transactionsample_by_site(parameter = "44201", -#' bdate = as.Date("20170618", -#' format = "%Y%m%d"), -#' edate = as.Date("20170618", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183", -#' sitenum = "0014" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -#' (raw) data in the AQS submission transaction format (RD) -#' corresponding to the inputs provided. -#' @export -aqs_transactionsample_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - cbdate = cbdate, - cedate = cedate, - service = "transactionsSample" - ) - - transactionsample <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) transactionsample %<>% aqs_removeheader - return(transactionsample) -} - - -#' @title aqs_qa_annualperformanceeval_by_site -#' @description \lifecycle{stable} -#' Returns quality assurance performance evaluation data - aggregated by -#' site for a parameter code aggregated by matching input -#' parameter, sitenum, countycode and stateFIPS provided for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluation data to be retrieved at a time. This -#' function conveniently extracts date information from the bdate -#' and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a tibble containing annual performance evaluation data for -#' # ozone at the Fairhope site in Baldwin County, AL for 2017 -#' \dontrun{ aqs_qa_annualperformanceeval_by_site(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "003", -#' sitenum = "0010" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceeval_by_site <- function(parameter, bdate, edate, - stateFIPS, countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - service = "qaAnnualPerformanceEvaluations" - ) - - qaape <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) qaape %<>% aqs_removeheader - return(qaape) -} - - -#' @title aqs_qa_annualperformanceevaltransaction_by_site -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by site for a parameter code aggregated by matching -#' input parameter, sitenum, countycode and stateFIPS provided for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluations transaction data to be retrieved at a -#' time. This function conveniently extracts date information from the -#' bdate and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_site functions -#' @inheritParams aqs_services_by_site -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a tibble containing annual performance evaluation data -#' # (raw) for ozone at the Fairhope site in Baldwin County, AL for -#' # 2017 in RD format. -#' \dontrun{aqs_qa_annualperformanceevaltransaction_by_site(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "01", -#' countycode = "003", -#' sitenum = "0010" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' annual performance evaluation data in the RD format for a single -#' monitoring site for the sitenum, countycode and stateFIPS requested -#' for the time frame between bdate and edate in the AQS. An -#' AQS_Data_Mart_APIv2 is a 2 item named list in which the first item -#' ($Header) is a tibble of header information from the AQS API and -#' the second item ($Data) is a tibble of the data returned. -#' @export -aqs_qa_annualperformanceevaltransaction_by_site <- function(parameter, bdate, - edate, stateFIPS, - countycode, sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header - ) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - service = "transactionsQaAnnualPerformanceEvaluations" - ) - - tqaape <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) tqaape %<>% aqs_removeheader - return(tqaape) -} - - -#' @title aqs_quarterlysummary_by_site -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 object of quarterly summary -#' data aggregated by site with the provided parameternum, stateFIPS, -#' county_code, and sitenum for bdate - edate time frame. -#' @note The AQS API only allows for a single year of quarterly summary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' -#' Also Note that for quarterly data, only the year portion of the bdate -#' and edate are used and all 4 quarters in the year are returned. -#' @family Aggregate _by_county functions -#' @inheritParams aqs_services_by_site -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -#' summary statistics for the given parameter for a single countycode -#' and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns a tibble containing quarterly summaries for -#' # FRM/FEM PM2.5 data for Millbrook School in Wake County, NC -#' # for each quarter of 2016 -#' \dontrun{aqs_quarterlysummary_by_site(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20160331", -#' format = "%Y%m%d"), -#' stateFIPS = "37", -#' countycode = "183", -#' sitenum = "0014" -#' ) -#' } -#' @export -aqs_quarterlysummary_by_site <- function(parameter, bdate, edate, stateFIPS, - countycode, sitenum, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE) -{ - AQS_domain <- "aqs.epa.gov" - checkaqsparams(parameter, bdate, edate, stateFIPS, countycode, sitenum, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - countycode = countycode, - sitenum = sitenum, - service = "quarterlyData", - cbdate = cbdate, - cedate = cedate, - AQS_domain = AQS_domain - ) - - quarterlysummary <- purrr::pmap(.l = params, .f = aqs_services_by_site) - if (!return_header) quarterlysummary %<>% aqs_removeheader - return(quarterlysummary) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R deleted file mode 100644 index efba492..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/bystate.R +++ /dev/null @@ -1,908 +0,0 @@ -#' @section by_state aggregate functions - - -#' @title aqs_monitors_by_state -#' @description \lifecycle{stable} -#' Returns a table of monitors and related metadata at sites with the -#' provided parameter, and stateFIPS for bdate - edate time frame. -#' @note All monitors that operated between the bdate and edate will be returned -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from the -#' selected state -#' @examples # returns a tibble of SO2 monitors in Hawaii -#' # that were operating on May 01, 2017 -#' \dontrun{aqs_monitors_by_state(parameter="88101", -#' bdate=as.Date("20170101", -#' format="%Y%m%d"), -#' edate=as.Date("20171231", -#' format="%Y%m%d"), -#' stateFIPS="01" -#' ) -#' } -#' -#' @export -aqs_monitors_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - # aqs_monitors_by_* functions don't call aqsmultiyearparams() since the - # monitors API call accepts multiple years of data on the server, purrr::pmap - # is used so that the output is consistent with other RAQSAPI functions. - params <- tibble(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "monitors", - cbdate = cbdate, - cedate = cedate) %>% - dplyr::select_if(function(x) {!all(is.na(x))}) - - monitors <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) monitors %<>% aqs_removeheader - return(monitors) -} - - -#' @title aqs_sampledata_by_state -#' @description \lifecycle{stable} -#' Returns sample data where the data is aggregated at the state -#' level. If return_header is FALSE (default) this function -#' returns a single dataframe with the requested data. If -#' return_header is TRUE returns a list of AQSAPI_v2 objects -#' where each index of the list is an individual RAQSAPI_v2 -#' object returned from each successive call to the AQS API. -#' RAQSAPI_v2 objects are two item list where the $Data portion -#' contains data that contains sample air monitoring data at a -#' site with the input parameter and stateFIPS provided for -#' bdate - edate time frame. The $Header is a tibble of header -#' information from the API call /(useful for debugging/). This -#' function returns NULL is bdate > edate. -#' @note The AQS API only allows for a single year of sampledata to be retrieved -#' at a time. This function conveniently extracts date information from -#' the bdate and edate parameters then makes repeated calls to the -#' AQSAPI retrieving a maximum of one calendar year of data at a time. -#' Each calendar year of data requires a separate API call so multiple -#' years of data will require multiple API calls. As the number of years -#' of data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @importFrom purrr pmap -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -#' for all monitors matching stateFIPS for the given parameter. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item /(/$Header/) is a tibble of header information from the -#' AQS API and the second item /(/$Data/) is a tibble of the data -#' returned. -#' @examples # Returns a tibble with all benzene samples from -#' # North Carolina collected from May 15th, 1995 - May 15, 1999 -#' \dontrun{aqs_sampledata_by_state(parameter = "45201", -#' bdate = as.Date("19950515", -#' format="%Y%m%d" -#' ), -#' edate = as.Date("19990515", -#' format = "%Y%m%d"), -#' stateFIPS = "37" -#' ) -#' } -#' @export -aqs_sampledata_by_state <- function(parameter, bdate, edate, stateFIPS, - duration = NA_character_, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, duration, cbdate, - cedate, return_header) - -params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - duration = duration, - service = "sampleData", - cbdate = cbdate, - cedate = cedate - ) - - sampledata <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) sampledata %<>% aqs_removeheader - return(sampledata) -} - - -#' @title aqs_annualsummary_by_state -#' @description \lifecycle{stable} -#' Returns multiple years of data where annual data is -#' aggregated at the state level. Returned is an annual summary -#' matching the input parameter and stateFIPS -#' provided for bdate - edate time frame. The data -#' returned is summarized at the annual level. Variables -#' returned include mean value, maxima, percentiles, and etc. If -#' return_header is FALSE (default) the object returned is a -#' tibble, if TRUE an AQS_API_v2 object. -#' @note The AQS API only allows for a single year of annualsummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -#' summary data for the stateFIPS requested. A AQS_Data Mart_APIv2 is -#' a 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item ($Data -#' is a tibble of the data returned. -#' @examples # returns a tibble of all benzene annualy -#' # summaries from North Carolina collected for 1995 -#' \dontrun{aqs_annualsummary_by_state(parameter = "45201", -#' bdate = as.Date("19950515", -#' format="%Y%m%d" -#' ), -#' edate = as.Date("19950515", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "37" -#' ) -#' } -#' @export -aqs_annualsummary_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "annualData", - cbdate = cbdate, - cedate = cedate - ) - - annualsummary <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) annualsummary %<>% aqs_removeheader - return(annualsummary) -} - - -#' @title aqs_qa_blanks_by_state -#' @description \lifecycle{stable} -#' Returns a table of blank quality assurance data . -#' Blanks are unexposed sample collection devices (e.g., -#' filters) that are transported with the exposed sample devices -#' to assess if contamination is occurring during the transport -#' or handling of the samples. Data is aggregated at the state level. -#' @note The AQS API only allows for a single year of qa_blank data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -#' assurance blank sample data for all monitors within the input -#' stateFIPS. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @examples # returns a tibble which contains PM2.5 blank data -#' # for Alabama for January 2018 -#' \dontrun{aqs_qa_blanks_by_state(parameter = "88101", -#' bdate = as.Date("20180101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' stateFIPS = "01" -#' ) -#' } -#' @export -aqs_qa_blanks_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaBlanks", - cbdate = cbdate, - cedate = cedate - ) - - blanks <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) blanks %<>% aqs_removeheader - return(blanks) -} - - -#' @title aqs_dailysummary_by_state -#' @description \lifecycle{stable} -#' Returns multiple years of data where daily data is -#' aggregated at the state level. Returned is a daily summary -#' matching the input parameter and stateFIPS provided for bdate - edate -#' time frame. Data is aggregated at the state level. Variables returned -#' include mean value, maxima, percentiles, and etc. -#' @note The AQS API only allows for a single year of dailysummary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -#' summary statistics for the given parameter for a single stateFIPS. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of all benzene daily -#' # summaries from North Carolina collected on May 15th, 1995 -#' \dontrun{aqs_dailysummary_by_state(parameter = "45201", -#' bdate = as.Date("19950515", -#' format="%Y%m%d" -#' ), -#' edate = as.Date("19970515", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "37" -#' ) -#' } -#' @export -aqs_dailysummary_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "dailyData", - cbdate = cbdate, - cedate = cedate - ) - - dailysummary <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) dailysummary %<>% aqs_removeheader - return(dailysummary) -} - - -#' @title aqs_qa_collocated_assessments_by_state -#' @description \lifecycle{stable} -#' Returns a table of collocated assessment data aggregated by -#' matching input parameter and stateFIPS provided for bdate - -#' edate time frame. -#' @note The AQS API only allows for a single year of collocated assessments -#' data to be retrieved at a time. This function conveniently extracts -#' date information from the bdate and edate parameters then makes -#' repeated calls to the AQSAPI retrieving a maximum of one calendar -#' year of data at a time. Each calendar year of data requires a -#' separate API call so multiple years of data will require multiple API -#' calls. As the number of years of data being requested increases so -#' does the length of time that it will take to retrieve results. There -#' is also a 5 second wait time inserted between successive API calls to -#' prevent overloading the API server. This operation has a linear run -#' time of /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance collocated assessment data for monitors within a state. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of collocated -#' # assessment data for FRM2.5 for January 2013 -#' \dontrun{aqs_qa_collocated_assessments_by_state(parameter="88101", -#' bdate = as.Date("20130101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20150131", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "01" -#' ) -#' } -#' @export -aqs_qa_collocated_assessments_by_state <- function(parameter, bdate, edate, - stateFIPS, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaCollocatedAssessments", - cbdate = cbdate, - cedate = cedate - ) - - colocatedsummary <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) colocatedsummary %<>% aqs_removeheader - return(colocatedsummary) -} - - -#' @title aqs_qa_flowrateverification_by_state -#' @description \lifecycle{stable} -#' Returns a table containing flow rate Verification data for a -#' parameter code aggregated matching input parameter, and -#' stateFIPS, provided for bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate verifications to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance flow rate verification data for monitors within a state. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns a tibble of flow rate verification data for the state of -#' # Alabama for 2017-2019 -#' \dontrun{aqs_qa_flowrateverification_by_state(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190131", -#' format="%Y%m%d" -#' ), -#' stateFIPS = "01" -#' ) -#' } -#' @export -aqs_qa_flowrateverification_by_state <- function(parameter, bdate, edate, - stateFIPS, cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaFlowRateVerifications", - cbdate = cbdate, - cedate = cedate - ) - - frv <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) frv %<>% aqs_removeheader - return(frv) -} - - -#' @title aqs_qa_flowrateaudit_by_state -#' @description \lifecycle{stable} -#' Returns a table containing flow rate audit -#' data aggregated by parameter code and stateFIPS for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of flow rate audit data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -#' audit data for the requested stateFIPS. An -#' AQS_Data_Mart_APIv2 object is a 2 item named list in which the -#' first item ($Header) is a tibble of header information from the -#' AQS API and the second item ($Data) is a tibble of the data -#' returned. -#' @examples # returns a tibble of flow rate audit -#' # data for Alabama in January 2018 -#' \dontrun{aqs_qa_flowrateaudit_by_state(parameter = "88101", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20180131", -#' format = "%Y%m%d"), -#' stateFIPS = "01" -#' ) -#' } -#' @export -aqs_qa_flowrateaudit_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaFlowRateAudits", - cbdate = cbdate, - cedate = cedate - ) - - fra <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) fra %<>% aqs_removeheader - return(fra) -} - - -#' @title aqs_qa_one_point_qc_by_state -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object containing Quality assurance data - flow rate audit -#' raw data aggregated by state FIPS. -#' @note The AQS API only allows for a single year of one point qc data to -#' be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -#' qc data within a state. A AQS_Data_Mart_APIv2 object is a -#' 2 item named list in which the first item ($Header) is a tibble -#' of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of one point QC check -#' # data for ozone in Massachusettes in January 2018 -#' \dontrun{aqs_qa_one_point_qc_by_state(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d" -#' ), -#' edate = as.Date("20190131", -#' format = "%Y%m%d" -#' ), -#' stateFIPS = "25" -#' ) -#' } -#' @export -aqs_qa_one_point_qc_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaOnePointQcRawData", - cbdate = cbdate, - cedate = cedate - ) - - opqcc <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) opqcc %<>% aqs_removeheader - return(opqcc) -} - - -#' @title aqs_qa_pep_audit_by_state -#' @description \lifecycle{stable} -#' Returns a table of Performance Evaluation Program (PEP) audit -#' data aggregated by parameter code, and stateFIPS for the time -#' frame between bdate and edate. -#' @note The AQS API only allows for a single year of one point pep audit data -#' to be retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate_by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. If TRUE -#' returns a AQSAPI_v2 object which is a two item -#' list that contains header information returned from -#' the API server mostly used for debugging purposes in -#' addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -#' assurance PEP audit data within a state. A AQS_Data_Mart_APIv2 -#' object is a 2 item named list in which the first item ($Header) is -#' a tibble of header information from the AQS API and the second item -#' ($Data) is a tibble of the data returned. -#' @examples # returns a tibble of PEP audit data for PM2.5 in Alabama 2017 -#' \dontrun{aqs_qa_pep_audit_by_state_multiyear(parameter="88101", -#' bdate=as.Date("20160101", -#' format="%Y%m%d"), -#' edate=as.Date("20171231", -#' format="%Y%m%d"), -#' stateFIPS="01" -#' ) -#' } -#' @export -aqs_qa_pep_audit_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE - ) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, cbdate, cedate, - return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaPepAudits", - cbdate = cbdate, - cedate = cedate - ) - - pepaudit <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) pepaudit %<>% aqs_removeheader - return(pepaudit) -} - - -#' @title aqs_transactionsample_by_state -#' @description \lifecycle{stable} -#' Returns transactionsample data - aggregated by state -#' in the AQS Submission Transaction Format (RD) sample (raw) data for -#' a parameter code aggregated by matching input parameter, and -#' stateFIPS provided for bdate - edate time frame. Includes data both -#' in submitted and standard units -#' @note The AQS API only allows for a single year of transaction data to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of -#' data at a time. Each calendar year of data requires a separate API -#' call so multiple years of data will require multiple API calls. -#' As the number of years of data being requested increases so does the -#' length of time that it will take to retrieve results. There is also a -#' 5 second wait time inserted between successive API calls to prevent -#' overloading the API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_state -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples #Returns a AQS_Data Mart_APIv2 S3 object of -#' \dontrun{ # Returns a tibble containing benzene transaction sample -#' # data for North Carolina on May 15, 1995 -#' aqs_transactionsample_by_state(parameter = "45201", -#' bdate = as.Date("19950515", -#' format = "%Y%m%d"), -#' edate = as.Date("19950515", -#' format = "%Y%m%d"), -#' stateFIPS = "37" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -#' (raw) data in the AQS submission transaction format (RD) -#' corresponding to the inputs provided. -#' @export -aqs_transactionsample_by_state <- function(parameter, bdate, edate, stateFIPS, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "transactionsSample" - ) - - transactionsample <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) transactionsample %<>% aqs_removeheader - return(transactionsample) -} - -#' @title aqs_qa_annualperformanceeval_by_state -#' @description \lifecycle{stable} -#' Returns quality assurance performance evaluation data - aggregated by -#' state for a parameter code aggregated by matching input -#' parameter, countycode and stateFIPS provided for -#' bdate - edate time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluation data to be retrieved at a time. This -#' function conveniently extracts date information from the bdate -#' and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_state -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation -#' # data for ozone in Alabamba for 2017. -#' \dontrun{ aqs_qa_annualperformanceeval_by_state(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "01" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceeval_by_state <- function(parameter, bdate, edate, - stateFIPS, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaAnnualPerformanceEvaluations" - ) - - qaape <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) qaape %<>% aqs_removeheader - return(qaape) -} - - -#' @title aqs_qa_annualperformanceevaltransaction_by_state -#' @description \lifecycle{stable} -#' Returns AQS submissions transaction format (RD) of the annual -#' performance evaluation data (raw). Includes data pairs for -#' QA - aggregated by state for a parameter code aggregated by -#' matching input parameter and stateFIPS provided for bdate - edate -#' time frame. -#' @note The AQS API only allows for a single year of quality assurance -#' Annual Performance Evaluations transaction data to be retrieved at a -#' time. This function conveniently extracts date information from the -#' bdate and edate parameters then makes repeated calls to the AQSAPI -#' retrieving a maximum of one calendar year of data at a time. Each -#' calendar year of data requires a separate API call so multiple years -#' of data will require multiple API calls. As the number of years of -#' data being requested increases so does the length of time that it -#' will take to retrieve results. There is also a 5 second wait time -#' inserted between successive API calls to prevent overloading the API -#' server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_state -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @importFrom magrittr `%<>%` -#' @examples # Returns a tibble containing annual performance evaluation data -#' # for ozone in Alabmba for 2017 in RD format. -#' \dontrun{ -#' aqs_qa_annualperformanceevaltransaction_by_state(parameter = "44201", -#' bdate = as.Date("20170101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d") -#' stateFIPS = "01" -#' ) -#' } -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -#' performance evaluation data. for single monitoring site for the -#' sitenum, countycode and stateFIPS requested for the time frame -#' between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -#' list in which the first item ($Header) is a tibble of header -#' information from the AQS API and the second item ($Data) is a -#' tibble of the data returned. -#' @export -aqs_qa_annualperformanceevaltransaction_by_state <- function(parameter, bdate, - edate, stateFIPS, - return_header = FALSE) -{ - checkaqsparams(parameter, bdate, edate, stateFIPS, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "qaAnnualPerformanceEvaluations" - ) - - tqaape <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) tqaape %<>% aqs_removeheader - return(tqaape) -} - - -#' @title aqs_quarterlysummary_by_state -#' @description \lifecycle{stable} -#' Returns a tibble or an AQS_Data Mart_APIv2 S3 -#' object of quarterly summary data aggregated by stateFIPS. -#' @note The AQS API only allows for a single year of quarterly summary to be -#' retrieved at a time. This function conveniently extracts date -#' information from the bdate and edate parameters then makes repeated -#' calls to the AQSAPI retrieving a maximum of one calendar year of data -#' at a time. Each calendar year of data requires a separate API call so -#' multiple years of data will require multiple API calls. As the number -#' of years of data being requested increases so does the length of time -#' that it will take to retrieve results. There is also a 5 second wait -#' time inserted between successive API calls to prevent overloading the -#' API server. This operation has a linear run time of -#' /(Big O notation: O/(n + 5 seconds/)/). -#' -#' Also Note that for quarterly data, only the year portion of the bdate -#' and edate are used and all 4 quarters in the year are returned. -#' @family Aggregate _by_state functions -#' @inheritParams aqs_services_by_state -#' @importFrom magrittr `%<>%` -#' @param return_header If FALSE (default) only returns data requested. -#' If TRUE returns a AQSAPI_v2 object which is a two -#' item list that contains header information returned -#' from the API server mostly used for debugging -#' purposes in addition to the data requested. -#' @return a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -#' summary statistics for the given parameter for a stateFIPS. -#' An AQS_Data Mart_APIv2 is a 2 item named list in which the first -#' item ($Header) is a tibble of header information from the AQS API -#' and the second item ($Data) is a tibble of the data returned. -#' @examples # Returns an aqs S3 object containing quarterly summaries for -#' # FRM/FEM PM2.5 data for North Carolina for each quater of 2016 -#' \dontrun{aqs_quarterlysummary_by_state(parameter = "88101", -#' bdate = as.Date("20160101", -#' format = "%Y%m%d"), -#' edate = as.Date("20171231", -#' format = "%Y%m%d"), -#' stateFIPS = "37" -#' ) -#' } -#' @export -aqs_quarterlysummary_by_state <- function(parameter, bdate, edate, stateFIPS, - cbdate = NA_Date_, cedate = NA_Date_, - return_header = FALSE) -{ - AQS_domain <- "aqs.epa.gov" - checkaqsparams(parameter, bdate, edate, stateFIPS, - cbdate, cedate, return_header) - - params <- aqsmultiyearparams(parameter = parameter, - bdate = bdate, - edate = edate, - stateFIPS = stateFIPS, - service = "quarterlyData", - cbdate = cbdate, - cedate = cedate, - AQS_domain = AQS_domain - ) - - quarterlysummary <- purrr::pmap(.l = params, .f = aqs_services_by_state) - if (!return_header) quarterlysummary %<>% aqs_removeheader - return(quarterlysummary) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/deprecated.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/deprecated.R deleted file mode 100644 index c63307e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/deprecated.R +++ /dev/null @@ -1,183 +0,0 @@ -#' @title aqs_qa_annualpeferomanceeval_by_site -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceeval_by_site <- function() -{ - abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed - to aqs_qa_annualperformance* functions, please use these - functions instead." - ) -} - - -#' @title aqs_qa_annualpeferomanceeval_by_county -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceeval_by_county <- function() -{ - abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed - to aqs_qa_annualperformance* functions, please use these - functions instead." - ) -} - -#' @title aqs_qa_annualpeferomanceeval_by_state -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance* functions, please use these functions -#' instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceeval_by_state <- function() -{ - abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed - to aqs_qa_annualperformance_by* functions, please use these - functions instead." - ) -} - -#' @title aqs_qa_annualpeferomanceeval_by_pqao -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceeval_by_pqao <- function() -{ - abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been renamed - to aqs_qa_annualperformance_by* functions, please use these - functions instead." - ) -} - - -#' @title aqs_qa_annualpeferomanceeval_by_MA -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed -#' to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceeval_by_MA <- function() -{ - abort(message = "aqs_qa_annualpeferomanceeval_by* functions have been - renamed to aqs_qa_annualperformance* functions, please use - these functions instead." - ) -} - -#' @title aqs_qa_annualpeferomanceevaltransaction_by_site -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceevaltransaction_by_site <- function() -{ - abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have - been renamed to aqs_qa_annualperformancetransaction_by* - functions, please use these functions instead.") -} - - -#' @title aqs_qa_annualpeferomanceevaltransaction_by_county -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceevaltransaction_by_county <- function() -{ - abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have - been renamed to aqs_qa_annualperformancetransaction_by* - functions, please use these functions instead.") -} - - -#' @title aqs_qa_annualpeferomanceevaltransaction_by_pqao -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceevaltransaction_by_pqao <- function() -{ - abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have - been renamed to aqs_qa_annualperformancetransaction_by* - functions, please use these functions instead.") -} - -#' @title aqs_qa_annualpeferomanceevaltransaction_by_MA -#' @description \lifecycle{deprecated} -#' aqs_qa_annualpeferomanceeval_by* functions have been renamed to -#' aqs_qa_annualperformance_by* functions, please use these -#' functions instead. -#' -#' @family deprecated RAQSAPI functions -#' @importFrom rlang abort -#' @export -#' @rdname deprecated.Rd -aqs_qa_annualpeferomanceevaltransaction_by_MA <- function() -{ - abort(message = "aqs_qa_annualpeferomanceevaltransaction_by* functions have - been renamed to aqs_qa_annualperformancetransaction_by* - functions, please use these functions instead.") -} - - -#' @title aqs_ratelimit -#' @description \lifecycle{depricated} -#' @description a helper function that should not be called externally, used -#' as a primitive rate limit function for aqs. -#' @param waittime the number of seconds, encoded as a numeric, that the API -#' should wait after performing a API query -#' (defaults to 5 seconds, as recommended by the AQS team). -#' @note Although this function is designed to prevent users from exceeding -#' allowed data limits, it can not garuntee that the user exceed rate -#' limits. Users are advised to monitor their own usage to ensure that -#' data limits are not exceeded. Use of this package is at the users own -#' risk. The maintainers of this code assume no responsibility due to -#' anything that may happen as a result of using this code. -#' @return NULL -#' @noRd -aqs_ratelimit <- function(waittime=5L) -{ - Sys.sleep(waittime) -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/setupfunctions.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/setupfunctions.R deleted file mode 100644 index a005229..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/setupfunctions.R +++ /dev/null @@ -1,93 +0,0 @@ -#' @section RAQSAPI setup functions - - -#' @title aqs_credentials -#' @description \lifecycle{stable} -#' Sets the user credentials for the AQS API. This function -#' needs to be called once and only once every time this library -#' is re-loaded. Users must have a valid username and key which -#' can be obtained through the use of the aqs_sign_up function, -#' @seealso [aqs_sign_up()] to sign up for AQS data mart -#' credentials. -#' @importFrom rlang is_character -#' @param username a R character object which represents the email account that -#' will be used to connect to the AQS API. -#' @param key the key used in conjunction with the username given to connect to -#' AQS Data Mart. -#' @return None -#' @examples -#' #to authenticate an existing user the email address -#' # "John.Doe@myemail.com" and key = "MyKey" -#' # after calling this function please follow the instructions that are sent -#' # in the verification e-mail before proceeding. -#' \dontrun{aqs_credentials(username = "John.Doe@myemail.com", -#' key = "MyKey") -#' } -#' @export -aqs_credentials <- function(username = NA_character_, key = NA_character_) -{ - # nocov - #The code simply stores the credentials as a R option. Since the - #Data Mart server only issues a "key" and not a "password" we don't need to - #worry about securing the credentials with complicated code such as involving - #salt and hashes and etc. - if (!is.na(username) || - !is.na(key) || - !is_character(username) || - !is_character(key) - ) - { - options(aqs_username = username) - options(aqs_key = key) - #credentials <- options(list(aqs_username = username, aqs_key = key)) - #on.exit(options(credentials), add = TRUE) - } else {warning("Please enter a valid username and key \n") } -} #no cov end - - -#' @title aqs_sign_up -#' @description \lifecycle{stable} -#' Use this service to register as a new user or to reset an -#' existing user's key. A verification email will be sent to the -#' email account specified. To reset a password: If the request is -#' made with an email that is already registered, a new key will -#' be issued for that account and emailed to the listed address. -#' Usage is the same in either case. Refer to the email -#' message for further instructions before continuing. -#' @param email a R character object which represents the email account that -#' will be used to register with the AQS API or change an -#' existing user's key. A verification email will be sent to -#' the account specified. Follow the instructions -#' in the verification e-mail before proceeding to use any other -#' functionality of the AQS API. Register your credential -#' with the @3 [aqs_credentials()] before using the -#' other functions in this library. -#' @note The '@' character needs to be escaped with the '/' character. -#' @importFrom glue glue -#' @importFrom magrittr `%>%` -#' @importFrom httr2 request -#' @importFrom glue glue -#' @examples # to register a new user or generate a new key with the email -#' # address "John.Doe/@myemail.com" -#' \dontrun{aqs_sign_up(email = "John.Doe/@myemail.com")} -#' # after calling this function please follow the instructions that -#' # are sent in the verification e-mail before proceeding. -#' @return None -#' @export -aqs_sign_up <- function(email) -{ #nocov start - #We do not want aqs_sign_up registering new users as part of - #the unit testing proceedures. - - user_agent <- glue("User:{email} via RAQSAPI-{packageVersion('RAQSAPI')} - library for R") - - url <- glue("https://aqs.epa.gov/data/api/signup?email={email}") %>% - request() %>% - req_perform() - #for some reason user_agent isn't working - #%>% - #req_user_agent(string = user_agent) - glue("A verification email will be sent to {email} \n") %>% - message() -} #nocov end diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R deleted file mode 100644 index 63078d3..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/R/zzz.R +++ /dev/null @@ -1,33 +0,0 @@ -#nocov start -.onLoad <- function(libname, pkgname) - { - utils::globalVariables(names = c("env.RAQSAPI", "AQSObject", "datetime"), - package = "RAQSAPI") - env.RAQSAPI <- Sys.getenv() - Sys.setenv("_R_CHECK_LENGTH_1_CONDITION_" = "TRUE") - invisible() -} - -.onUnLoad <- function(libname, pkgname) -{ - Sys.setenv(env.RAQSAPI) - invisible() -} - -#' @title .onAttach -#' @description prints out a friendly reminder message to the user when -#' the RAQSAPI library is loaded. -#' @inheritParams base .onAttech -#' @return NULL -#' @noRd -.onAttach <- function(libname, pkgname) - { - RAQSAPIstartupmessage <- paste("Use the function", - "RAQSAPI::aqs_credentials(username, key)", - "before using other RAQSAPI functions", - "See ?RAQSAPI::aqs_credentials for more information", - sep = "\n" - ) - packageStartupMessage(RAQSAPIstartupmessage) - } -#nocov end diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/stage23.rdb b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/stage23.rdb deleted file mode 100644 index 0be6e42bc2ba6bcfeab9c6a4ec845fee97d644e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258553 zcma&NbyQo?!=_u@p+JG+P~4%#-6`(w1oz@jDOQ|9ad!)B=w4WgaD}>3lK^=Q=}(2=9A+?5XRd5F~uL z)uueD>1+rSZ~tf+c=+HrUe-qAd!J}n;rG;V@Gw*FQD*j-)OwuU&i`yWelDMUz4P_V z$&)2{bv|oO1*hxF*+xZZ=pfsgM*wdrp52MuXMo5v!K3_P%XDvJAlLhs3cTv0u+0>$ zt4nfH^83wNAtJ*z$bxP(x;{gC)VVwuYs3uv@fqKcqRjw!QO_oua$%E>N6OFo846e zcAkjZJ^i{ieg+Rbw5mT|1@Ju??*Ia7>*o-;VC4*@9|DX2huGfaAYqoDtOhx);sBcuS`R< z1-Ln^JA`+fm5@s^13<11l^_*&jeE;cp*zZzFSrYho{8MOa1`>qnBE2%HEtcM=X@~d z^uKvY7^bB6yb}6pYo9jGH-q0NbM|7uPKpW_^nPrd&5~EOiem9VI%D3hUu?q0b3*&R z_sNcmsMQm0Qe3ONazV|Lh0kIV1!n{T(?D4<7pq03dcFt$Yo=OS&ZGqwqyAHobh+=f zi-Gb|MA+iunlyB`Q9A$m(YL7H^?aj3CJu0SB#!I+t3a29E-~7|Abp);De{bZJ8=pA zcG+XDEEM1f0UG|;Z6Fr(kWuX3eqPE9v-fRz#~QzLj~>*g(pEV+sJT^-L~`?fr+%=p z4*{@PHj2B1hU2?DOh~cqr}3cyi~5F;?j2aAKZTAuwf3G!jgk``r%xJ%6m%K@rXKQxwN`7R>?rHaK98~bib1Mo?FTUh z13^cqfv5+dGwnJ}-*?hVURW1G4#7|RBZON*-Klh5b&v560dc+wms9;CjD7!^EEqtzHZ$gjyM+fQ6x zIJ=a4F){Q4DebLo*}ps6bzC)RAi-sKvM}f7iV~^noZ<71aKlQCVey3?y^)BRy&dtl zj94GwNPq5<_)b|?gpXXTt(ZY#_j8qm8qPH*2luqni`n!?3wznm__p_!V*KfxM=4#a zH}{UU1MbylnV5u$F}1BV%BsD^Bm-ucQY0*D7=N5r_G(SH!rd!9WL<}-9Fc6d9QmT) z1!{{5>dx?n60N7IS-Io!AKJM6o+)z!FL$_W&9m8f&dvPE4pF8QnR7g7VKsDLG%TAn z2=>1wP95NB&62LF&c=`IKx@Iu3W@BZqsXqb$rQtIRw$`HiB$5UZpo5DqFF)GwYlx) z^%7?c7xq168HMG|p7F_ePWp=dQ!}w}D^)5Xiyb)yCx&H^P*>G6D^G|F} z6RH^Ib5{y^FT4v)hfRs{EeJCGTU*kckr+>_P_yx@W?3vwjVGhO-#p+QS2qXnJeHI~ z-bKJk3P55SI4H1JaN;GyPx2<6__WG_^fVgF6HtTNYZqT#^l1elDXeGX1a=4~0I?4u zr9v_0+$_NMZh3GcHgb*0BqvOu2ZsK5$FM(TJGnleGWPeAv!{%yxAwWVF4j+=#q|1{ zGd}ZY*F@rt?%x*eTjm8YlkVSIm%KbtEXBOwE@IpU1f=WuR!~ssV?0yDlFvT9KZU28 zWgcwHRIw)?6krUf{_0P3DycmFGsSayi`0+|9rjUR^?WDmz)OaR zq}a}-Jp*1>+;z*aif?t1jme#dKQFVH&j#0m$3!N%Q|Jpo%|kE~R!Us>^UgFm)}?rD z?`-n5sARt}{##`*XR#_Ai8>Kh6eEF^d0(*T^SN`%m2NvAt_J2;$)RZgnK9-d-l7~W z0_K|>v4CO-_}-cQRvYr8RK_P@m??}TSOsg|$KM2Rl)T+X>0%Eiu!>DP_o7_#x zL?THf=0@JNnPg)YS+!02U_moYHLb1%vq3%GigDlA3HwWrq*r%G23;O<%4~s`3bRjG zfI8L?cG>ic{mGcuPrKZ$1a~5zSZUlfd6d;hV%YEt(T)$rs9`FPln`gjDH<@ucW8Km zo2O^9cy2c|?Z)0!lOCKoT64v&+>eF!oz9M^Nd=B%Cfz~9F~ACF9hL@~PIYiup5*Qn z+I*l{WTa_D`pQFbSgqw0HItQfAW4PpKs&e(mfR{9oI-Y_M#O8L>61)!+hVNG zdp8rFCf%I(s$iM!Yw~4s#H~0DFY~WPg_5*gVcV|&{!imC+XQq&K&kth>UPen5&F8$|=u`S3>IPQa{J!k_;UnbZ zn}HQ|BL}RT*v(QA5pcF6-Y9G^LOC#{sx4!DqT8rxUePhsbbbv$zQ9_xP?TcTCI;Ek zAkzg-Hf5;|1BfCfW=9-n<3tlwcw3Zx7cvPVkCAbI?08A_DNl7JgRtSkugQ_~4vm1tpY0T|G{IYj0TE zC3Pi34kZ!I<6WKKD|~E-UieFG(TU!Y^GHl{(@S=4C4rW4xE5o8sAxx?do?Sm9vvoH zX_L&lYOEt`#}^STJCV7SuiOc)plLjTQh|ySgYoM=rSr>E3#WdT0LEm<;-W=K!$E9Z zv{KCW%j(k&|FI0N8{xyt_*Q@DeRx#0**l+zVj4mC`}j)ns|c`<1%v_2sI|wrI!p0D zXS@#TT^JuuvAe#mGaqgL<@rSlvx0tlCGlv%^3e?dG^$3d4;5Dj`Z?quvFtH{=EQlG zy*8Y_!P@mvC@)2OIOG@Ju`e>Z7nY4l{^BOLue`~sy(_CO_>^h__87Tti4y5B5_b&nPe!;>qLs<^$ZUzR6p!;YkXf9m{q2 z4FTzhAMu`FKAwb(Qj7Q;?mPB+Vych`K6~qF>^mP$8L%4Y|1ur%;brrgb5^__cDIEA zR^}%@ay9LmIblB!BnpT5fab!@ zwQ51LNz3ioXW&o`(}y!|CDS zP(QgkO}D0d8>u|P{D-BhkMEs&-ZU;+Ey-IIC%9(il!+YRpVnY1G6-&2Q!gb_+oAKw z&WL3M-Ox|O8J8s7&6}w1MH}@N$XO_k z&7B08x_QYbgZzBg(w^OQ{Oxc~;;vNSf(5uz>uHldro?o03Ri)fzNx!l;&|l{`A?md zw1F_b;;w_4%8_~42v3nzta{8~e+GgpA+}?t_49lB;V47|LH=ny}6fNBEneJZa zN?GHm=<=C`PgJ7*d}8?3FcYmp00^J)&;0R7m_Cy>NuwjCzN}V?arY}h!MF?1 zeK5MEP_3xuiBq_mZ+31pTRB)1xFIv@eXs39T0_Ixghav?Epn!Hto@Vq>vPQ3!g$A(vi=-Zjj3rJo&z@IvO5@92y$=ohJ91cc-~h-!LbF;nN5-EqM!5n4-5479Zg^|OjPd$j20Ds!T4Ebh3) zbrF_Cpm*W#_~aoW?v8p6JxKN05v6x%u$vr>L?{L+C$KoQq-qZZbMs|)fZ49}QXV|d zo8Rh&mLjtGIhEFCFYp2oz^syIxW@qj#8xP8o3vXv{eUi&PKHH2#`9)bjrR2(!&aYB zS}x~(u`=>1`BfXZB+ZzY1+hz#Q1*`e_c!}-8~?VNJ7Akw)(W*=|M3FprP#^a<)`0M zu~_KLEU1B`CwGS_^6pkG&!=X`sD9Q0;+c&X5zj~hDX_^{E%zJ#9OOg>sGW8-8L7L2 zHy(bHHG8{OoeI?ND>b>7Q9S$zJCwGbY4Pvo@Rbf7{efyY!Y;hU?GTMGF?H&8uLejZ zJoB5Km0MAAj*#<_9&S`rV)0rf0krldT;DHFb5H9NA;l|r9j%mpF7%Bo^2?x|^=Y$x zO%Q8x3*Bx;r$Kpuj>Bs@OU}L7u>PXf;CiBQ8Dh51YSqHUigCZ5(6l2sOIZf8zLUS( zC0sM!b!S#aueAfl)V2BENH*^fve-OhjuYkJeH7*6@n^FtJggbC3uuu30ODPiEv%ul zf5B+NXHOBTm0A)8c`}epuA~!tJfyPL?#SP=Y1%ouDH(W5)t?>_k5e~nYI|rrhwsEX zeXmW5X=KeYkQkC*nY$=eCRht7Z#|Fn0FHOaced$PR#ppiettM)ksK+K(@!Ce)vQp( zB@Qq)a|p+nk*_t)xrjO@ZE$V2#LOJcKR^P=9i3e%*ta|TpSY9y-3jcDW0A-mF+3H8 z?aIVm|0bJdh$5v%!d+&yW_Eh^TA^>Gs~j5O=L>dI(Bt^z*dSpSU>#WLB37izMEl-A z1~*wt(nGeGjM2zFDw}F)5*(3&Fa1(-4P0xoXguWvHcw*w@YWoPD2bA7Fp84pMEy8} zQQ@1iC(z}PY2@0FcE++utFF;0zi|jA>ywJFVYClZK$$}xFHZG9 za!ZXXktyI<%Y~G@!p&o0;@oR*+NFqOW`bjFhqISP(ZTMAz6?Zlo(;r;F5QGqH!Hhp zz?7Utv7qN=r4FjL;t$)6&F@HJxn4eZ_wu(92=xrRbar>pciGTjtXjDRB?1JZoN(lL z+cn%H$$JT(e(*M8o>lYzsL8X-aam&Fn9cGt&gUk0ohksby-1%vv+}gN?C-4|Cdu)o zW@Q;NcOaGB_I{r2)vASMXx(?lfar^2OtF{ZQK}`&p;b6=3qJ3%ydaCtxQ8Gg+ANzj2l9;^WJQ zTCeFK3nOfhB<%?-bY#8SQa)*~A#LE4zdeC_a#s5<6jnrViN?k#Rbt>pOr&gD+iB#` ze46dF!pvOflbxQ)Y{ZgWY)RtTTJxSyu8DXs8F*^ad>z_P>u-KIny9bcR!xw^Trqq9 zLtg)=bll^Q)2T6AY@AZR-YAC-vgz0(z;V(F6Q!bqU_$>^Mr>;9ATrkU`CMQ}{Q2&7 z%|_zv@l+Kh@bz&mFfQahX-OV|>DZxIIzMJ8+VP0(V&46%r0+m^%e%;HlbzcshH1{H z*Y{lgI(Zx^3of=E3LRJkd&YI+B`6qH3sYmKPh36^Cr_J_I#EZVj6P9haH|HTe@+|r zEqn$`nGM)@j2-mY^Ie*yQN{7A2xo){=Zjyt>}3U%DsX>?IOALt#&!%iU=|Ps5Ia08 zG#nV--$y$LCR%;Wo{m@XQk1SH^I4K0Tfe@H?hTs`SeC?qq*PO~F^aUr{<u#uir>b}b4R?FJcl2S(ChVZ|(WwaurLoifY8i4%xi;^(CD9&3KoWPq)E2gMpXVn~ z&BH)F|1I@*jPLW$=(t$YHkzaofE6n|+(*^6gY(2jt^GIUKh6Y(){2_kA706x0;@R# ztGnD=U#uI~->uHuZ51WYe>{ke1(n&m=Y#_`g?3f!J?bMV2vxQaY9Forkz8IIFX@mO}T&JYj(Fid8Y^7u^B zp>lA4V`h4KFpVeEZ;bOc4mO6@GY2;!IbHHok8Eb|E0mn-jfecX z-~`C;q@dLHpS)R$KRzOkh!laMr%B)sYcB{!10~a(mVMcH#rlGa=bK3}tqL-rR{o|8 zl$tha$>p}-vOuY+);C{K`xb$({`N&#)`YP>zy_Jeoj5~l*jQ5RX1t0WjeJnF{3jAg z0Cx5_Ke>#J0DWXkx^WvGueWB}^t&*s+ngZ;?*A(yrE1T2h*w^)G#5YJ|6rUwV|2D) z*DxNtBsjWi@F^`ukcTo9!}r-XeC`G{8IeajBSS?Sv4ynh_~xsxt7^NDjZa^$q!-D> z7Y84>2sU0?9KNr;D4}zp+6atJpIWNB*xiy0Wialtwo1m<*YXE@Gl6pXJqjOO8No=m z&uPt?Q!1{QKMFmEB54~W*i(CuclLF^E3INrihmX#|H$&a=UxwrIk`eBdBQ{XjL^6+ zs@`VMwBZE?Bl>5Tbe|UnM@D#7BMc!pOyAoU892_8=7@hwUaU<>Eh(Yu)iFxA#6F`Q zlb9f0ai=vu7va^FOq7()uzND996P5 z?qGm;Er%ng?llhMOVwAex?)P^H#0|-jAc&Bxxv|=i|QS7th4@$PU8MII>|?gP~l=M zgfhchwrsQgaDbAx&=&vrTekGh7j|g3d{l+RBm2}9G9xeyXp=eZBgwi{SIwJEw*#K~og@4xkcb z|8X@3$+(wr=+n}Q`^VKN%%2>Dr%>W$pQq#6L_6Ilh$q7Q_uLtXLSe04qw1oGQA0lA zZhq2$ed2OJtd1qA4`(STuim^LnXEJPVnjk&$YK2T? zViY(UrN@DbT`zUPOXF5d`XA3~{Qz9l8P>(Bktg6IE7etj#Yozl!LMlX1P#lNy1+CX zDi>YHo%KF1>>}f}N=d@gMH&ZAap|&8u;ytgnkE0h*L_+eKUTj6V0=3qSa>_$&U52K zlj~+LxCs<8>u;$k?J`vETeDtVDb_^rG@+=Qr=BNk${%1CJZziP>}UgwzWFFMkP-AHsgIO^ef17Y?eAZys7tz3HwkDbNiuqN0~_mE~=hx>R7&$9^2TyDzaf z8a9PBb6}_luTcV#i3a4ZQEYg`Sgpm3+7H*qsyWJg^t|1v3)Y+EAJ#>|d51mCOKcyH zooCyh0S5aQF)MTE3_!yMpuq0agXz(GaSKS@1Am>`IUMXkOyyFV`#!#{j%Wu9Y#^5M z^PI`cvHMai?VpcV&l!VJXqQ+7#{KlvM-LgR#^L68`N~Jj{9n-6RAx##yB(~LJhn$c z4?ene9FALUytjRfD;aI^q|5fHj%V!bz?1|#TnneP{vebRM7AeI6_auNZP|>eDqzAD zqk5wpsSV>N?Amc8;tGE&=7594KeIHcpez^vlTBr(_v1NiH&N#HWx$0>LV~ei87p(? zteE-?9+@s5M{&EenjdKdV{mcB>g@hzqZM~h@MK3R;*#5%amK=2*!p75%=o4G+PVs* z>YOBBmZ3zK5m1P2(e=YP08OUvON*-}Rx4??`q!O=l76z5{RI@vk6T#e?P-&Xe^HZs zH5`H!S1=O93jaPr$?X>;x$-&@isRR%ybv!49b&b6A);R}_Ott*#XzbAM(Y6IZ@XZ{ z8i+e5(WY7h9=Tw*pqT6Yz8D-UF5+HV$9$6o-@o&KkLxZE&utZtA#|# z(9I5rgt|AJSo1s%P(hoZC!0*5ALLbaq_a@b;?_%`@`llt zaXQ_$7n8BBRS@ZQ&(d91Pbx7Gfzuk;!1qkyG%5446aetoeK|Q-UVo*lZw=XA2L15@ zel)-cdtJ$s@5nVvVRS5%Sn#U2=JI$UYAmZ{W$S(oRW&4&A^Ut?N_k)!SKQeb&Pgm2 z$eBIm7>-Z9qe3&-If2#2L#n(aW&?ADLM{mwMQ9u5FSL^!fMxi#FMH9_*ormhkjY>T;WX1jc3{}oR6&TiC1xU{^VhT zS7iR(@Igg&O_wN2@)?2hAGP@AT%*k&kw=3M{F5aX>&00?BVx~T1uf>|rbha*=heU+qb?KBP(RRAi-)9q? zXd4Tg55jE_N$SNltt(kOlKM6(#_h$fMv-dy*uku+9GuX~Ndc3J4(!@oT+P z(l7Dl=iezL-X;BxyBh4r1`u!^UrdX?Sr>`PdWIJYc+hVAMA_OYCXlg~U4AxmQHe?n zu-zR1$?iAa5zeBFEA}I_jHJ*!Yrmyo7G+1n#f6#_s3E%JnF@%)tG^sz-7o76tbJ&m$=gJNpIzQR0vB!ROqueQ<{H!oH9SerSS?wrB7_QaOBIWEi;ro=77A(+lN-W^2GF zB-&kQ#d)3yBs!%c&#oj+T$k0Emu!+5vPY3~2nEhT*z5G$Q&$)u_$}&ptNxQKDrJ7z zAO66a7YQ6xh51CIbD6k)%A#OMXH&)&YUYH``*;=A@`FjG!Cb0N`wNRw%AWc_ z*^fn)yuM!n@#BPyGy=C#j-YIn3rrJo2Y0-iVbxKst!KHWpTmLR+{PlaqN@m{K=KC& z%mXB4DuwKc?#@4!q3$VK%^YN5jQYKwz4nfZPD`4vcH&o)T+zn7$ny`p(MW$fFA0aM zwiS6TW{vjt4$QA?repdmk(o&sW`@{ja=uMJa+o^%CIGtSnhq~>3?d*MFBDs9W z_%~SG*6238JePIxXf6gMQ?wq&-M zhf(LJr$^GrZm#~yMKi{{ut|Tg&Ipa-(?)xNl`Pmb- zR5mHpq-wO>G+%9}St*AM4dlMA?q5^d5EyY;c}*@QG{{e_t0^tH!wUu1ylKf*t&s-}7-HW`jQ72h^|7k7E~J=UqdPjtb+5mjHJ$lPI`HlX z(A+E#`40W!({W>V@q=V?4GTlF%Q$;w^p}QrDLel7h+@1L-g+6g*pwtk{&%|z31jv( zl5i&Jiow4 z0o>PMnehdhYK*ky_7TGoekF2Yn5HYcH>$Rv<%7B@em~hK>IE3)`@VUfXncE_V@+#{ z6jG+ZX|p$<1-s8sfNGv*>`7FK0;(E*WS=oWFz%fM6k|Jb)MwhDir4yQ+LYdz!aQ=$ zd@sA3&ai2?I7|Rx!XnH|^rKi=A%Q9`?%gd8Q@@kL35VKu?|-$Bj32FL8Z{V0v!2*r z*E35t7U1ZrVs_VR^z}`6DsCCUeI+@mzy?y9@qqJVAH7`BCm61E@xu@RAOl z*N>=78w02T^2Z5RJdkg=i7&+f=uEyK{fg%p{8`~4!=oocHZbO$Le3wnX=BxhKA_C4 zD0OgQm-qlvFwzIlCfeuFJ^7yt^W5obwN;0xV};>PD*{NitDF3wRV?_P6KpX2^}c`t>ZJ z*Bb^v!s&m|v1%-Vrs&4@=4s@hndo@C;qs7GXUY(DF!rf6k~_&e0Fq+;L42dMyZh`X z^eNg<73Ju4AQJ$YH&M1exvCSnckhA=6gS<^tB^OoIAs0yny+j4kYId^ao5H1Z>SUD zwMp82Up~N)L=;s^>C zqX<#QJH$OplC&LX8;#i%_NtpsR9+RR4kbK3bh{j0OhsHQc<`-#)({(0ww~yz5gKF# zK4mwLa((#B=V4W-`+{y6VnvxVcPiA#9M_d^AM4X;Cy}+s2+5ymq?zyVR%ej^V?5P| z>?8rc4fp@8|1i*8+4{+LQE9E<0EHZyPl1E3W%fVEb6C8Ub`nEgU`dhhC2MnmlYL}( z-{mEIU0r-0iv9X{DU^req{v>-c*Z`u>2NQxH~DDf?vUUfIA4ePxxN!i`@M30Y9Dun zpiMp^;Cor_242L0rYC{mvFjmY{ZiR7rqDY1Jf?to>iW(7nYr(4{xl{#mKmn$DWYt9PGbX>pK81mb(BggtizaQvd zV6LAk%9YO6#Tu8UZ;uA*c*3E~-_rpu$I8uX?lSNoWN(eW+MnQ4b1;3t<3Vmm)&-{j z>S8pPqK4h-CNVGC;1PQb@xl!Zwt0){#C>?cmerj&(uLj*t1I+HHKB!UIl)G&Uqhr@ z5Jjev1x0Y?;~W;dvN$EI>P@j6`~(~T$E(<)oZKWkMDMmRy;yF?7(P})i$D0#wwz!{ zBhbC3psJOtk@766s%_(El429OD@|sYU{>dTvT0R_Hl^`#_&!dMUH4&p(iXzCW2;3f z(+2u>ns6#>QXrfc?uFu3@gtXlXUowY`E2;2`vTnty?N2O(uCH$X->!9E1xo%BYww8?q4UXwA9q!dJPU|T_8TG21pVvu(RS9GiNwppy(h)%uHko-o@ z3$JeaE1gxF@KMqkk@@o|Gr}?r?0nFt_#{L@zU6Dv>X6+k&TWU3kuH>W1l{95 zLB~};nKHId*E!{k3>VFr*wuUGd(0!c@z&wDBd!!1VL#D8 zQRHopdD#=}U)KL6k@S##5u<4rsIov%y~(8ShzFMAMbI7I(3)_msL|@R8IrTJF&w3V z)ef4cV2XKgN!AYq;iUVX8m+pNJrS;B4A}+;@QgkqChMO=Zs#KR=GR{JG#VF-O^ZVK zhG?;TahPwkbr?2ih7d7*w^@>r4G?X!ZiaM^s%zAGQHJCs+Kc=~$!j0?&@63*2)1w6Mj@h1qsP zm!q&V1%iR25yaBnkJgybA!b+U2f?dXf!ZxT)FiEGq*nc^|f*)O=|;c36>QAKBt zJ9aCfpvBMK@NXIy`FocBt-HRT4!Fgs>;Lt$9kGZf$p4~fDcVO5_niJ_ktOQ(6;a3kWb)uVy)<@lydp40r`sDC)vidE8bNC z&+^sWMnaoTd_Xli#?{;_o|8O|`1mQrMlGCNe7fy=%!=c@CvK)3K6{NdCwHN&r&8PA z^6g3EcO^aZLKF~-!EWUVaIKrogpqMj_LG21#6D2 zce$rh#(n3$dzj0x62U)QVO$IZ>l-(e)Yr_^9*YY!Symh!Kk=YR0}CMUn%pXTY5+hl zL3};@KFkS;45)T_q61B_{nIYK-T$-;eg&6L%*^F+fA2*}>C%pa`x|={*Lc^Z=pv@r z$S!IMG6bS8iH8xA@{0Ls>*~sRSBOE-KLO3Wv>N!r_VD+{5D3)3-yA*A?(qC@+zIP1hOtRL~!&7;=|Z*(DfFUSZAMQJ-qxf zcXtF6E+l<_M6eq3bFYCw@P^2t-t;_F##>FCKi!%D07Br?q6YC)mey3?$GCe-i_d-6 zEFS(-I(~^Z!8LO?)(XF~8v6zKs zGi_=1No(`HUy=F2CLtGB%J?*Z0jQ^Pa0 zH!^GZl!xBBNz#K2G-Yp17z5P)*1PYB{%3eQ(iqlLoPkg{vzZs+#q_fo{*yE^KSPHA z-W3knzY;S#?O784rn&eWJD!`YZWbA_@&2o1Lv^~Qgv!sh&ajPQ?{U2tffGIk^d6WO z1~(nh<~P&7=C>qNCY05eQ$Gt?fIJ>{1rCo_`6~`n8rlvR+?0Du;&W_yt_@PES~KJQ zv|6gO!)!9a$DA(y*FRN`42S&xP-{F1{mY2Nf0f9?fy$+cRKhCZm8$qN-a{3p9#2_U zBmU-a78q1=oX~VISAhEg+Cjbv|2jz_GUIq?ga0cEI5epHG+amAAMw|{xQwrOL1P|r z@_&nYD98SHd;f`f+e|xDBY$(A7BuIL7D990^MA{EAcvRwOFze|e*K_pzIBVC6ir>H z`(5>J-JyEKL#m$fm`DNCc4%k05ry3TrpnrwjTDmlzXiNuA6I*1^Ad}V8@ba$RYyHx zs&`EGE%n)0Wp~wo(@G5X-w#{7BLr+ikPQ&eq`JB9L9Wk9sXiDREuhc&TNr;ni2=8- zWaoIuQ@k|V=qEpULrdNY3J6jc;Wp>&WZNzWu9xqJqCu5PV=R`|j+Q<4IvqZ&QAoYa zqCV-g2|Ph;lwD(%>B8Iu72m$Wa-Z>UAC{xq-|r@NYsVWGi2&5U$b7A)>;g9)QmztM zv=L6-Vcub02srS2R}vqAqhmO}jW0%5%FAk|$_^=Q5d1zw{v=pOh8M{q%4#m+sdk?D zPp!QzVCZM?d&_g4usswW@Y}Xyir1RKhw0a_e2HHsQ0Qe09A+iUx)5ZX^~uQf>`=U{g4viYegsx$vy!=%_d z9H(d|G67xYembkJBj{(-AB>?9#;iAGH z+M;2>l$HujxWP{fZNTbYhn5qT@IHxEOg!(lyXP$}X@vmX$V%`jPq9S=TAy3}n!y~c zFs|Y;j5H_F>CuB_e=#QUm)L=`NMp}-l^;X4<}GM&4LvZYt*LjJSSvvEKS1X8zoKsY zm@{oejliIKv$vm7jqNvz$FQMeW!3b#E=aXPi+-zNZ&|5qn)wyuk91v97E%Hh;g*m-A>K#BGLG9LrO2p?4?`iupCp5?O|Qb)N2!wuo@ zZuwDfK@z11?6mJr2sjscoUDh$KeU|%*e&9qBZ9BsPV5RDUTN-d(gkYTmp4xcMq`|@ zI!?l*CmM0JkKFePnobOAD;$A;9^Baq$14Xs4yE{2ljk<@ppfMF+Y+!#=!4P%au(gq zEIRMj+hw_>0Hfeby8|Ij=`c&{-5FNt z-2(N1`_a=TC@~56!|r76RqnkpG%T$it_a(Vv`0C$KkL$W-Qnzq3UU(x4~O%$4yDX( z_@2>n@(2n=3ZX^O@^B}AEaNl$#AYW#;v>=w!`Il{!1`lu8>xowT`UY2m$w>v4E=hO z=oBa~2Hz}vU@8QAVk=Kk({CPAdkFVIa(F*ZaAhFWdW?aYXrKH`WINexK{VC=DgobM5N& z8?Cw?9X=`e%$yf0KL^74i*IZjH0dr}EMLMk4Vdk;T`TgC6n&Gf{eu|PM45`WuLBH4 zeQM^4>DGDgdOk%2WY;(Jswp|L_uv4SMmYgX|q#D%YyU#Tk)o21Qfl4^H=r% zn>kdjcEh1Edoh#hgn^!5t_ zG>zl#l82P%%wAMBbIF~xf$EhAJi*CC|LhT^GJF_pqOHRc>pF*h+>d#!J3vUl{uZob!pR8~nfRW!%S zkg6TwKAHRZ(F04Qy?{?F+hAx=W=NdQs@QSFZX<|q!++@ZTD!l)dg>mR6mcvjx`SAs zoGE6z(EXnH4mX_`-PabIr&!9d3^atq{(6>^D>bri%)RvCQ-`xtOIxVn(*ef4hYpgl zxa%z{kM9Pn*GcGhiK9`H)oCzCUJG&7q0pS*Nu~Hf!vV>UA|n_>aaYF`fDpTK=2Bv* zmROt$GJc_~yK>YI>Kx;qpx^D6Hz!4E{ngqZ0|tCnhFn8V~U6Lk6|Q@ki-2Y zx6OIkbP~^VJpo+@;DyzGw$_s{buG>n#rI4b)Z4>X7@oKTP!{A}P97!?UmT=O$<#5x zXw@tjBb3*|^ufEY=%O0VilV~dO&j5f22bBVwz1$-oHVVk786%v(91XEy03pOqr6ec`n#>qqVdA?QZ+|!A5l~m^m{PyMx6!m?=rSNi zW?}?>gWy1CqNhJAP5LBFFue%s)T|QfH3ui8i z=OU%79)ZE`IN8CK4F^B#XV*-!La5?p9!$$5P2PEt)eRfkd@FiEJcL$E-qJahX}loh zf{Pm}ieh`zqM(bB#e3@HPO~VSgTIF2t2C^vnF2%9STorlnS=z@Gx$=x<8|MUs)wi z=%OG#8k-bC!5H+!Fk?5vx1;Ow^(mhIXH@WMJ4yIGbCL+m-?kvn!W3pO#My2Y6@gyE zcGiqw36r{JqU;|_9k z^X{l|v+cA3Z?d}U6;x_n{ffse=Y?H29DD=s`&?b4Do!~Rcyl8M?;;9J^x*r?kZWhb z#SIji!YGMmvpZG~npSHzJs4T3o?*SGHw|ktd;J=Ob91c~jcoA7(u?Wl@2H4Vf9Vqm zdxw54fSHNX6`q1lRZ9KYiCwuDdx&a3;~+5D8wYiGvW`ddgEJW~qHfvbP}<+Y7asY` zXJbY6q6;?ILCOmEGzT{4{VcNTKjqozPoD4T@*FHYf*#jQGei74x@lmky3yI3Uj?Es zyY!zsx{EFbzwR5Z2S|i5uDp}%tH|$v!O~$c#jKkqGn_DcMXLOHhGPy|l$kM$=(bqL z87NLCxkzY(v$F7|1i2pLX6eby|L2HzDQ!!A0VD_#8^OMc-=t%(a<*0 zx7soxI#X50*JFlWWlz?05$R^&GL*HCfqZUxtxF97AzH8Zdj_LG55d;CSnV_E{qhLi zWXFwdrp#J;fX>U&8vV1qopig`Q7H2lagrmqiz5n?QiJDT)Fyvcxgug<&^XuC$Cy#$RVn4iFMe)(Evh*rF6@5*L*XEt z&UrRY={l`ZO{Gm_(krZaJ{wR~zYf>+^R@ysk<%NEZS-F`- zTk`#wrfAq+K*gJ_hG0715w$hUuy1H64wPwj{$Dc95((pCG^d~L72p+dT}nSdWunH` zT@_~ODoG^!NVuKUeVSZ@*P1v|tSnS@!olhUBgw*-=ZYg6g%tz-;~Aq!uTUM_7F#}} z+H?F)Ko56!$kipaL(WMACf^B!9^iL_B29&!8--tE56v)2e+wIo+vdm>%g}M@L-6jE z(Hi3&f{obcx|kMN?XnpBtPR$LR#+ZR^Ey{vsg&8Ovda?Gh!B~=KIO}EuHX&$`7NlE z%;GrT(=l;X>dB03pp4?D)-30s^<`#2@raMvbHI$5zxl7Av*h95LFbi|vYKWe$(E7~ zfg3W6xHNONzXdcN9Y8<}GEbX&70>{h!+!{97@*3zw{wxZ0kPz1?KGFegkJV3kcx=^ zN7&hOf!@7DmzV24=HKHHCcoC^!o9pEODg7#*~8nPQngC9H20OlUL~|AB*XwPWW&UpflLAgtPq6!G*g2`%vJ|B%pFGyYRT`{p!g6NTh|RO^McykDB{KJkH_E)y$! zduZQqel%41arRYyiUi3*wLeRWs@E~Klji+bvhv-Eu(>IB8+3%ZuVEKY?%|nn?fKsP zgwQbeoohSUExD^kkAhwg=+tu-zMP1@U*V$Z7m;&b@PViIny&=~Wb|3}o7kW&7P zWgBJ5U^}5+R;k8b)A6N4Oiw@<+W5dF<+zuWAQ3GguK^_{=rL6aC__s%m4ngm5}Pww z`>BcD%JBeY2s0pqoH|VLlUS1zNEtE;0F)tD%5=?7U&!8KgR93rw2evK4ksR2IfBvB zt6SgLnvb&W1{n9QKN3vO*+@KLFs&3p2_wN%x8M@W;rC^TSBTQSD zVWtN}lkXwnL|B#b%(8_4(1nz~lJx{&$}&ND-DOQDvgkN;&d&>4pU)2_=Jn9(C?Zj{ zqzrt>MQ56arl~C8Vq`>;B3u%^5*Xy=km1mebamPfdj~Fx=Q&{J& zmn(;pJ}$E9)KkH&+n;F~gN0UquCI`IhcSoNE8?nhWp1_;ZN1G{J4*wW-)4+XK_HN@ zwB38~qmxa&NS`+|gl!}VD5BR1-Er}*x=4{nPnYb4XCDQTbT@>3C5W3@(?Jc7bkF@z zq7WaRiTdg8IB`z#hL*EV<=Q|x&GhM4qNHWioTiEZV4r^xx8K-Xf|i)f<`8dzV%e;E zDoUuR>UHdze9*WKP%2SMytS+Kc1%EN-1yQP$Hc5=t05cIqoECME-FiS&Ju4ufUiXr z5k!-9r_Rc|kGYE!L+J&3mtFrJ1)rNtxCXYBSUG$r&d%+t3Ads}Psw=29_i+8X0INU9Lxj+p&gh za4}R1u0}@9nivPTd-vR0v!!_#75j!wft!^~8~gEOhZHCfz+QPWnJ@gXqz`s=P4!5y zm?~|%6g|BlFVW4bMx&Gc%WOKmq{(NF(&xGLsI0L^zNea-yXEMc>hf9acya8~YU-+P zA+LP^z3^(g`_D$k7rQf+2%!K|>B+*2R{{Z``W(NiJ{<_0F7lUut3HnZNPDP$S*@l# zUa%>hKAiqs|HZ?4NZoNbM{ z#x!BKX-#g(lx)d>^E3>69<4b(jSYz$b03r)_KQcTD$6?-=g337u}OJk5YZZ>sSk~} z!Edikx0gPpBMKzSUfcg{#=0-$YvB8^fxxh}#dDcmWhcFRnnP1HPNjd{-TM#2JuH|Fq83?7j&}%~g@CT3pUle0GyT(U z%P6*biPKp7MTOWPKVil2|Ki}!VW014N8Tt zDExaWoHD?QQ_Ju~;>Z~T2!%&?fI{K!2bg>4@Ro0u0n&i&D`_BW@BfQ5kfRpZsTw!E z&3fC;wm>_pIlGW7O|1ftD7kr&BCOMTbjJcah3iv$9OFB%!3`n}P!jx28o;QG`yZqM z8u|bdeVJacr#G$%9!pIF4Id67^Q$DL^iW^*VLDjPwpG~(QgjC+23SWB6f8*$3MFNR zJh5vD;%QYo^Hdofg#iuDH@cpb1zYaC93<`BwQ=De&!Zg}=VL`(qoiw+AC*MO4m@2X?a(jHltu(25~(i9L)ATuKkR}$GN z(~d&EH2MvZ&`dj;uZ{H6pGIu}C(u3&-~=KD4wYuNukPN`34ACmXT5T#DwN-qudPVN z!|`OV=TpUvo!%$7B*vhiT`nukkmKAhxI-uc$Q>S1DJhmCQ$7L6{N8*8SU9*yFyRID zki3ZzDGS~N=@_)fri_$7QSRF6v2M1^8hE~U?lgJ`H&Z>sZv@>CuTH8OC{~{sYqY~C zbxQWfFO;J6eTpZ$M(9U{|JaLImhQ@sK<&f3^o2~O%2VO|ZNG&-YNvk zh7guM0f0&rBf^(-)Js7AJ22}t|1F3=o?l}nN+SmRC|MdGsWb*w%nt{V4__J3=ns_A zN!NW5BaIkfrGHTrE2Zgz(>zMVuXvPXc4J+xJ%x!9RLx1PRFLZr7U@9(XAn?r9x_L< zr_MwOgVl!Y-O`Yzi4%iM6ig0Go16vAA?yTSxOeg73o&(s zS^qyIg!8-0*H0cqntCJx_vAOddGxGC#eFemE}%@%H(6(>ohE~xofDZMWwp;4G^$o7 zBS$jMP!!Go_F!T`pkG08d4~vG-Oji20uQhPDav3>4~^E#6*zEq*tsF`9|bM&{|F|P zcWT2`2(>MsOagfzzmIpblT6Dh|4S?hNyar_dp-|gPgTkm>Z?v*0@_X~-8|1^^&BfG zfnzDnHhM%0O5pSwUC0a>%zn-fLXV-m|6HZ)LkJx48EvX|xoKUx%G_x%-jgkn{lG1U zF$75s-`mzb7*#u|`jws-wcj%${e;&r|DD9FjnXS+cJf|p#jg1Aumh*xLfD7Bix;V@ z?DpirqUYl9)R*oD?$IiscK~^tlLU0cYgPhG`K084Spsg@fe@3x6`59+ zsGn(ELT8m(@I29gr~KIX8Wg1?ePa5i3v<0+Z_az559AK!)Ea30n|1z3FkO}Hoewk^ zFi%*rt2l^x5Djl?QJ^&Br4EX#tXw6VtUfLQbcbRAYv~@Tee{6T zZ$i{a{hYV)acvj6H__iN12Cxz^Gw6g!iW6PA7lMj!XwA8fE(~hZ#~YQ0ue@15vTB8 zK`yosmHD}vl(?@F=(=lgF~)Mt5~hkWzl)--bv||}N26aiD|~%dLF}90o%`tw2C94V zR4n@!P%3(XuU0(nPF&Ecz6*?*{vlkVQgkZ}obF3iJo@P}#Y!&YwA!M}s?q6wDO9LH zd*tV)Xz5mIj=Ksh&U6>`WTa|R!)jV z!)2vF`B{9!1jx4%6}qED7)N8`6*jqsdxuTRltzOYZm`g#=-k_<+yIV@oN&g>PP%BC z3CWJ<5_!t|3#Uz%i%5QbLI>Sc$8h_UP{BAx3bNR1E>04;3&QNVWNR1IKn_fPlB{z= z#`>uf;2BxhU?mk7?_LWzJlFa31oyvfz=lhGPHs>OHDISA*u97p6=Pt&&55WY=yT%T z494eR-K>mp3Vpf>mz&Qhv_rn;pxbxgfvr@l*>7L1VF|DzM(Eql(zV1mgg2ZgL8bf& zbC*$%rl&H8@b+CL_`bWko0f!aXnN(5O!)KA5ZA=&i3g<4w_IIUf~kCATRJ3!FXC0I ze1UuIePgwKrE`0KM|Uq*4gYbN1NZD>^Yo9%c`+&Z7Pi;EgYz|$3FB$@-N2k;i^z*? z!&>)V`+l;5>1L7Gi);%kTJB4Mj-A1!9x2o$KjR;c6G;=!f z{>$#l(5vI(aY2Iss(p+(n_gx@W%5*For@TaG?|ryo1t{ z=xYM+&^^U!n60sSz7;<6nVZvo+DG3B1Z;K?GpDSjHhPXK;Yk;a+d#DVdQrjiBZcbJ z^)g!wzt`@-tUTUvqnhR!zF07?aU){Igj@4^wH&^2aZyS=OEuT2 zA#F%JO~eAi_awj!Z()ulGTlWZ)zM*2Z|I51z5T^+;{CqB8h5nwIbE1 zeyCvwR5Q;Sg9@JKY_?`^HXGaUN7+Si6OxF8~@wr{Lo-DD(uZ~fHLP{829s6uUvVf&V9RjAWhyV{xy)?>*t$D39!-%c7 zRZ_YcLX^ibQ&#KIs>l=1=?vbUZ zGS~3T+=tYh`K#q8+1MM?wdaEVpA{#z;b{-M&jqcTs*b)x7N~_AEsgEw78Tpii7J?% z&LC8C9<*jI-gy^%eMmJZ@ok9ooKq*LtYpP0w(`f~NK1q*)cq7*cTcpB?btPa?s7kH z|HZJ}X8uFJ=~^pJ7pa7HFGBQlC~D*Hmg(W_Xm<;(R=$i|(sxkEJjV6=M*v*raz-!R zuqJX^?ex3>prPX>oOn-M;O*h2L?US9qLDZLC z>~6Eky@0zUt9w#~zx(mKVesz;E_w%7lGW)M5;er6^&y+uZ5Qyo?d z>;Yzhp^gnV5zDhfH=MK~j&vsDX`t9QXvit8g_8-seG0wCR&bZwEUJa+TsNXxi)ezh z19$M?=!_3sLZ_a6m$d*4DRV*P2PbBdGhwqbnzl<)q zHC6me8c5JRuxEySI??NeI8OS;GsfkW`TR%FFi;_p&#X^_TN&49*)gyz`_J=pN__Iq1Rt_BE^FbMbYVVJp0MqVS07} zj^qS-`Yf`#R%h|G+-P`7S!z_P8TM>iic%i)54OIF6s@u*FwR&;*G%)4t+EhHu7WS& z=!+z4%>ARavZvJ2G;$203!ACB-owaA8MWz^zK)g&#C<$JzIb3@`pm2RDM4$UD;H|} zA^RvXWIfmx{pPuzjCou-GV_^Gp?)zhl>w_fWm+#L`8FG`i{}s4mKHR2M%hp7)bz!X zf9YIprGp+r?3v&rLK&>;L~!nmMUA-~i!rvAsegW%oEnTICtzYS3~_g0$LN_&avfN4 z=ziC!V1)@KW{{M1D!{-Ok6@i*YYV$v?S#^uxnN#@Rk?Z@E&OutEy!8>9Q6639BGr% zQfpjj`QI>;M%dG;S?yjD47CS*{Cjc*8#e8w;%usy_w(rVoeRI_17~;AatxdP$f>0n zx@!jBfB{oW>9SNzmfA;1VB2tcPSMkmRvvaLSq0Myy-2}fW6XuN5ULxPS@^0van7`b z9IB6Yfm}Ls<4$Se20xLMvEzm_2#+W8c0Z2GOT5#MBq$_vkGe=8aeds6Zz2i}bDUy! zJ>L9=u3Brf`8s(ZM(t0~1U|@wIKYon-mh``psn^a5vi`PXlMCQWNgk;8+SS`@fe;d zh4A!6#zxT9ecg3yhNAR{Dl`-;;OU#Ri4++is&XdSrFPg8z+-|nWOxeD|=T9na2 z(`3erx1DZ|)npBrCfYw#hIKE6S2na|3H;;`+$duxys_vUW{Q^i(IpqBnDtaGu2>(k zl}f(xuA19FlcjxH+`PqnU~q9HFN;R{%iLa#Uc9nT-$?nHdCxhpmwCFx#|q(qDn+|c9Fb|!Blqk5LWj3& zv_ndaE^=PLcdHP%TPPFW#j6Qw4Q}!8X4mKEcr1xXv_B-BA--ryWvqu04(NDyx1TWP z@q2a4-hLr6pi^{|wwa@lyNg!Ohg(^HQL?U0U6|qKfmL%?G4xqiiYcu9PIDJ551b7A z#g1r92wbR}Vo-TIqlNf>2+^;1=fgz*dG``hni3NJqS=A`67tLzxrg9`Sgl9^`Z;H4 zw9AfjUi@^{2c#M87cbYKGQ<`yH=tJf>gU6**NSG@AQn>nbyU?D?0PJkX7x!oBkd9k z!RVH1Thn}3FB80dd!E;P4j%I}m~VOeZxC@4a+uvz#p)uN8}k&*S9Pl$1;Mz}er;Rx zT=$x=H&98sA3!^KE{~e3BHpq<_IE!q!-W~V{8AKs@t>_ zaiUNG;PZAfMAt1+)AG*aj6^B_e2rni)n>5XM3L%=5+)pN`>F^+bpsscOV?Sv%4X+b zhE749xH+Fokxr6+;a-nzh-$4A^JK};)V#60mk=bhmP`GR<+ME2R-{?m1~1H)Rqqa{ z{(BwAkPE_1vzE7Ef?l*O5&~_Q)<_FF|whlVT)W+0muMZg3Rff80|O|FJawzH*qm znO&!uU$wBrAFo6ncGLq<+k97x*pMW-p3C1M&ZNN$|EL0&^8+VY9it*paEipN)GOlJ z{|qK_%mb=|{4%eUuJrSE1h81L0|?dt7t*DYxABfny_P-!5g#Z5hvwCNjNM-5aF!NoXS5-CNgf{xj*x^<`3z>(~4H+UD zJ5J%Db9E7DA8#O|+wKl{<_E<$d_=?#a*VmUkwSNw&8&|~-m8ljxdT7={>d(WdU?hA zhD#ca;1{K!t!EM=FJ=2XA!|0jxEq0$+*P?euKcw>?;kS3RhBm?OL__q9Se z;>V84y4l@6KOVl4a28n?7ZElbXRSUB{d}h=wcityJc|mDT#^T)+{w4xb``gx)r1g# zqB+DZUf$)+ zFnavv7PYrqV0LZC!tnv#tBq;!xRD@pO*AEAFP4rYz-$69#<$@QD&Xt72=*qDEVgR( zSLAa?bysVKe8KL8C=<8GaS%&F=Il8}uiRV~lH}5^8o@mJ9Y$ zZ2MkyiuCLUQFL#Izq0njPW1^e!&%i-CU}#>GciC=bCF%4 z*7dqYf$I1&60+j)li*W>YoV1AA-X#x<9ZJXAI|yWP`0*%yW1tH$xCN&4gSza?Ut%j zNE=QEmx0BK{+pz$!SK-#VHcRulNB8IXC`KOc9KO6(ac)znA5yf4SCp}-rF{lY3ZWd zmRC>moepcy$N{y}%;a8Hq0)Y7gXdvsx!%OdkHT?YxJ)6RAInpYI?dFN;=iv{#=GQ7 zCi}0ZCxxn9Np7;^Kb_q`g38S62P8dh%`{x=v0E-!1mEn4jPjQuHZP4~3R_zHo?+)b z4++{Zn!{$^~+ z&DHwQ&D5(AJzcs&uq|=K4qF))I%={Q;vDF4#)JYa<&zn z01ea?KQGesv#3}rWY++2sm=75{c}fvpC3B*Klu3!|KjIsmOcJ?!aKb^2NIK{NXTzq zwtHK^e+MvbpV>^Za<0e*&}KKC(a++a9wj9-- zS%W6>pRTlCT$$plEnWR=aaGT;JYOuw(m7`0kY*#xVl#*yxh7`t$)B57hDDP7q#74C z>Ci*&qj$1-5Z?W$Q9%<7)=jC5X^KYn9N!4AsR0=1Dds1+&>RKKlSj6WQAv3mwxaRB zdD^_jED#W>IoFSlve@pd$Q`B|`o`-V6h05*#zEHz=5Jq8YyIlJfA{C(R^P(07pc*c z%h^MpY+@8a>-m$9VYBznrTW6=aJcNUVB#Z$I%IYeX@=$RP;T5p8a~k}M5~`{>v!uC zt%R*j!=a*{`Kqxd&!_;DM~6?>^vpn`sBu9|!nGA`YDl6&Fcwbw#KF)xq5jvjSeYiA zx`(sIL9{^9SXyeoMxpY#dTTiS^5Do)wBRciXCGw+po_5?aX$cFH2^Lo6kc$Z|6vbl z!C&PhZdFDN@(;RmIqWaf#Q4HS8dNWvsl=Hp_D9&6dnfIK2?FZ2cmf#dobT-z(aJ5{$aq-?!eq$v=WM)ogaSh&Q$djPXwDRJez7vV=g{36v&Hlxt0qGy%C(_<5RR8JR2yLmoLe@g?rG>S!cYL;Dl)zO=)$Qj7YmoYa(eVbk%1zI6X1^a}S-8Si@g+vP+ z;tkcq7dSg^2aAUzFiF)GDmu+S6Q;MsD=ArAOV5Is-ara9J5|%wq9Q5EP3p0+6a(mp z@4s9wmPn*$kP?^tIqFHxm)wQyTfZp^->X4oS6Z3nP9m&6Tx(U z)hq++MuM7xZvyFm+KeqUXl&8x2Y1X0N{*@;q^aX2%%DIN_kyoq zH+W((c$=IfIZdOrTd?Yjy`)H}A7TIS89lK*)q6^1*Ao%?O#^T(b#^|q1AFW9=5VHx zB2OV7_RF$*CIqxWr)QB=f`4G#yJbuysmlbBI%i|_EK67l%N69BRd~iIFubH#RotkB z7b2^wzK``5Y+E1Mj`@B1qc=9SlkXAuj zQvDAZJ z6BF%sg{Kbk|0R>Mny)cY^Hkn9GZeg9wb-sJ3YlqoI%Q2Im%5U*^=czSIt@8=ux%AoKKtXIU z%HSJR^8hi{eEw=4c#5L5?K5TVR15%!8_g1}YL(LW61dQjbVxF62w-muxZczQfogzz zE9Fke00+`xmeM?U20oFi`5NT(F~^J+RYvGJT*d93{nwr_E%$=HnwSJ?n);~~Cfb|e>(N9g zFT__Y%Q&qa9iFB*bX7D$nXVmuU@b;*nK2=;pYO>sYhvO66aJmZ@chEuZgQ01!&HKx zO|JtCav++%%!z=g2YeF*N*2(FHnz6XU8HwiQ|pL|uPWWCtN6PN{nJG`X+-dnB8s31 zf_y)QNz4(3usR3sI0iG7yVBLeyPv=f$Zl$AIlxfkY7aI+1VcPD2DydjO%4UxtfmK+q`bB8O>c$se>9tErCM zHOs)z^gH(_nM)jW3Ob;$Ec1bFCxpF3SEy$d6LcY{m%KFpQS(D2hDYC7_Of_hgZVds zTc<_-UBm!E(cIMc9b}BCx0hUz+IqYs7@pV;L|nkSEO}6$dX8eWuo%E)${O#o!I2o9xqAOSN0K z;f_TXokhX*U%px^ND|59iP$b>d+DM@5t)x%>AL%OcBm5aD z{#5?}pU?mB4s8Ez4FFim5s*nVm-Dv*7e~mj1df9kO^1+CSm@HdkWq4$^;N)$Z#hNc zUnf4WzfOF{fs#${Vf=SYQ>PR$P?sS(k};q%UqnbL24swLB)LTek@FnIF#DNAf00*G zOmTT00_;9G+>e;XAN~$}ca^E0T<5m>i!ht2Ut^x?64E#0Xsf>E3KB<46w~Sor zJM#BGIWz%aCHo^8Ddf+E3HSnEFffwv1)K%qWs%36GS+9|CcuKbzs2uB*WPtkzPQ+e z-55`!&J;l}ZVEcg`L;CpJyd&qk^Jx%`evD4|AjkY0;Q3mplqu7Qv@9==NjLrmiy4b zp`Y|?Zg0&3W~p$f7|89pAZH48cz?XxAnAXlt6q|V_Ii-FzL zs0@m9cwa>H$m75_+C~6aR2}e>LM=OkjwdHjCsG;Wq;MHG4D4o-p5xUJH6>&T+@CJ1`fJy(Ib|QZSzVU-l3uQp9Nvfv`B_@|7fGD1*9B}M#sm;5}dBY z*Cf>QbuO^bQ+zQQU7$bWbH!~oH7`{KEZDA-SJ7OxazX#*RBN1yzAvisAsj2gdCps3 zZIEUDZT86s{bc0>O6gA2R91-@f9DB;IDx(X4JPZp{G7MHulA9(iq1Wni{5Wz%TGyd zLCe^;sZ;q3`ZvLTbqxkk3L+CqzN2Svj2@-3>wS?|$IF(th{z?Az8etF-n!^jX;O$CH#R=(>a}^iJY24h zHk>Brakh(GyoJ}rNJ-n((iaxDJ{jApCO_(8rNq}baCY6$?_p52$Pcqk&(b~P-3@;_ zCs|wwmPR$_)%EAjZu**7W9`A?`Y0BOwGgkQ_5r5@$vm;*AG}M}fIq%4Xh9zZZ&^1F zx6n5iYQ@(xGZf&c<i9n#jleQEHJw?XR@1SBt z3@_d0oRbn!KG7AmvvU3HU(nPRdDgP1?`7Wgddcjc@$n<%f3#doNfsH)LJ1{1EjWZ` z?VtJ`X&FCpOtOQ@vfK5MMCq>j+p0fBcGGr@zukc^7>>|Ig}e(wp&YL{gA|{EHC&;M zM^$E{a`t&Ne9;jK>>)gjc=V+rPR+T*lEt5ksqyS|p* z^&<*g4>Ay8YRg*Ag4pDoFPDR)2dXluJTqoc9CM0C$e)oNewbCRxPwEZ$^CBDl#rPL$(6hGd%m{uM|t)eIuU3d9qD& z=|?owF#Y#u;%pfa)n{Jliysm~^jlDv3|+}s@r-sp8EyGmek z(im?wydn`E9t>`_zySph50^Ja$;orIaRCT|34!kA?e&?>3T)uC8*qT3N?`6LD;DB3y z++R680To8&9zud*8P60?FHw}&_>Bj5>2eYZ)CWneauS3Q2xFwsiFwZ(>?EiM+T=NJ zYt_6=uQMk2xo=-bb@Ev7?*hm&;cUKRf4B!%UzC#|&;Y^7-46)*qiO%E-?MNw)Jf1S zHDR6CQo5N~G*FsTCk9oWn;s_W{l3#ARM>Zm^Oy^0*Dg4)B4mV~loINE9^O|dMeoO{ zH{w_8({9bggTqX)5d#A6Ilmw}eHvuZK?Q;6ZLB4+^XBF>3J}nkr@Mn_WlL&&=rFip z-02_wc}S4U0;Gp24V4_u%vwzx+beEMtNU2138-|D8=yrC{PC$-j0va#CT#Sn?w=fm z&CY5BAA``bTGLyWzSt`QCl2qF(&hv6ONb}}+ZcJ_x zi}P6XyyrxYIT@Wnc)u!B6+fgG^xbzCEqNvH_x$6DTl`HXm*Tw~n&Cs|dyyg4pU?pk7HirtYg(q6G9BYSN72Q;)@B|gMqP_fX$G?Gim5HOdE^VIeWnR$p zRQqcK_~9$7^2G9=tjc={JDY#9Dm!6PTWPp-VthjXn^hU&`!~u2T>bQ?(qAZ(BhLQ~ zW%2+i=@XDi`|$WVXnu4^&3R{A;hX#|e)V(tgP5i6POgaZs8(lLt?Xj;7F319$Lk7; zyRKTdcPI{=S4|o+M;I4`Y1vJ8mMNPckclUIfQH{Ci!7NfxSo*D_hA-qD|%HZC@8Bn z=lQaO?NYwI1shRsK=w_$^tQJ`ed^oDQ@>N<_Q`_yzUE&x!*lOQ=hBAz zn=!b)eh)gr@BwR$V(bdMP{^JG-x9iZr2KoG!JkWh0JqsWjpjaq=LtYgrz}z?U7N#r z!Y;r*%e80XL&Gj@p{VaR;jgKa&;lA)fT2wMziwqNsp$ z<&-mwC#oTO62PM`^Fc~flu!XTrr<_F!q$8KBE5gKd{!p6I%NsMvr{~V$lQ`CDdu$Q zgnY876#ho=q0M-r?AoTmtMJ<8yO^;vs)w-lAdVJ~TasQTl#Y_GyziQdEo@>O#nfUv_Y+ZVxwC(gQR4*00ar!2<-=ojg@RLOkf zqh5utHG`d$HEQ{Y_;2Eo+q>atTa|il6T4IL?-z|fq-j{9Wn!Lx=ejb}$EBA%u5MXR zyy(9XrkXTsT2>0k)J4mK3nfc=v<(?L+Q5wq3|PyRTRedPBt7D{~5+j`k=vhB2EBvZS$1zSII@_H+^$*u(6d*)i7%Vf(&)DALy@{f^^ zy{~v)-3#+MoMM<-18V;Db^^&`OVWMpp6^#3==AU8Y;_YxT$&MkgLX!!87_r%xrV9a zFN8p_4(oDZS)n*5sVo5wNca9Z+-fZcr4$9|Pv?aFRK1o`X_>{3AnfI$0f4<+x+I`p zs=IHFb5VG}zfzqjblxxRAm%vvXz&i(Fg{i6)WkB6T}QO$Exau>&CIeuXTovu?PUS= zJo-%Oo;E-jy(vMHn`5CM+sxg7_V3ghOo{vv6A=x&<(EX9+M*{J;Zq5{NX(MND9&d~ zmf#D;0j4pa=l<|B)*4PuMP?dkQAYtGU@?GhN%%Yd)0fcr)?zgOi;m=*mHXM2+ka`p6_Uso+BW+JHlgVTm!2|Z ze{L38!~Mf$w7tjLntHPOxjcwD#`OMkv+^_2nry!XUYyOpBQH@Z}*e zZ3^Q>x-MNH)~<^CXUnPq(Ubfqw8l$@#4ney4(ByQqkJ&=5tpG#HDGzB=y|>L_9`T( z6WRDr;-%Ez#LHRzf*|0#x8z5be8lzp8^Cacz(aM92Y8i!n%tN00NjW!{&gc<)472 z8&Jy9eW(dk{6W~#eR6ls*Jn@?mk==RYtSZS!T@OJ2(2SYb*t&JwplG)W&NBWY~Y^} zMwV=eNdYS9`=@{T*@WhApEaW@GNN6=s31g_p8~{+bXm*=mRej~_R}TywKpG-_&I;0unojAJ+TQik zbe-0TyrRXiY~8u_M|T%wY*DG7=Q;wtSn&`t0mC!;g+Xe>c<(-MStr8Eyr~m=$C+Bz z^)LEm`oGaH9g+b0C3rqw2Op;rYfc8Jr|<1Dw9(q~5=SsU@KHb;ECa9i3Wu_r0|NW=K|rW89jI^VRTZofWUYGRc<=x64Isjq zV5ckB;P1ASeiJd+HQ#yTuZ8fRE&YuE%>TbF{fZi_8G`nhM+%V)b`b%Vkg(oXUt2a2 ziC9riu6cdg*TrEuy}IcSMzhpJ{AJD0m!&#C#!9s7wayRzYU#gQ`A18CK7&!Lr|gS6 zjpobSC!5{G?`sbY@)T>zm4}%GOFjI^Hv7rZPj+Z$A7u}ET{2CD?#L?hD3xs@#Pn$;NkuJY2& zlGC58fe-JZJR+wYf2MYOAJemd^+h!fhEF>%4XF3#!y)IC!M-ZAcI|XQvvE7Mcs#Io zir(#Pg(N@mXhuz8@k17jz4^*hXIr(Fm1>E>Fq(YEbLB|r*TiX&*nA@UM~nZE>h*C z`-^`GY5m{)%h(ykr8bmNe66_eNNhn~`CcOPR<2}Al1GNf-<5p@bHvryL)_Qs`Wq0V zZ0JJkhkac#Mu+R%Xe#+&ej?sgQy>w&{7n8%0t z!qDjH{}E~?fB3t+kG#B}_IG*zZ8&EAlEy!~`@OIrT*2gd#>{d689zzq+y8lQ^tpMx zH$w8zbLTELfbNZ>U9_-^his)F4AO z0h^d)iTw%Z1$Sr6HhEdqq>hP!QRzQRqNk?v83<@Ywgo&=KjEZ?bAx*!-PP6Wpq#aR zSRDS+>)PQOvuZv$V7UCb!Ne-!t<{K$k*z}gz87QueqJ! zb&jdocYQ@*Mr`~S0yF;q4S|U&)LOvdbVU6_+ZE1spy~iexh!Wc!PjRI-KmdIKS`%e z$dvRi<$oEuF7y7P=CK-mWPiPKx1yPJT(W&P>4TRdN4BkEM#E0RWdVAn{17#9+Z#K) z>Sy!bW3dF~58F-X3D|Ry#Lc35XM-$3;@JDhPt^hI(fd>-ewDZ%i{DgX+0v?Siz7-e z+u|ByqRy~FVEcTxK-fcPw-;{B}z?1}?+^!2g;?*`49$U*Ni)F_UBp$-_*q#DLvkuasdH6ypkw**MuH67M8WU*gXwbl6mVsbBEcg(-7DhLr4f zz@eat`rl9o!*n3zs!7U|HT`iM#=eCEs@uEjiFMY8S#ItkSw5{W{G(%gr!wtt6{)6{ zRy!n7Y^T+jpn4c++0*jKB*|gJ*HwO-?QbG{dpCHK$IO(G6fWLMTq@O!LU>LrjbiCc z&DoK?`yk?F48N`ms-yD-fI4VmWa``YQQ;-DDL}T(uc!k^2gban=oINFN&g@n*ws&P z6WVNg{k5C!$2@2^9Vk8$H8&Wl=nCqaA;|%;{nAfXGNr+P$M!+=pPH>H)p_X``wGH~ zhZfJolP_f|P@wFD8wO?6h_xR}`h)7F4FzCE*NrHJ-y3UsjsG1a!T0=CJiQtUA;_^% zKXF?hZFZ!iuEDx9o^_#WMJ=ns>ZYsDg^ALqTk($N^p{#|q@C-8N4k-y7imb(_sU&w z4OT+Gdx%^Mo`@13w)S9w3wTlG527{F9BZN%MEi{!(|c;`;zpQn&yo7J301A5&o1QW zy^^{v5%ILbQlYgjMqF*@mNxrseTe+;Npp`s4te2dtXvd5_l+tYS}8~+TUU<9Zoj-s z`+pca>#(TP$7`z~9nxKr(%m854MR85-Hmi9U6Rt>-Hmj2N=pk$hwo?5-S6(NuJ@l^ znAN>@m)V(T&U4Ov!``6lk11QvPX#O6^y+x6i)+Z2wnx^1{}nxqjtOGI-M1oGDiwjg8Us@!pNCWW~JNsa~A`c?h-g8#WQbTB-K)8dI|<39?hT>|Td_IcFu9QHyiD zL@jBcQ>}U+q5LT<)S7=m{g?-sI_QZP2zHeo#~(Uk`Fix2J$hB?0h$Z~ZOt#DyieOVRqyMKxAATKog^p1tQ3~Z^Pi#|Q~Hk3y1_IB-74JB%$bmrL5Qb!km7*to; zv^$*Ck*3=uHswpZZ?$N&yWQrld!HyjS=N=JixzbkP@VLJ}-qGUERko`NKnS zF{ZR>qiQ>Lhvg6aLQKTMu5hYF-6UAGTa_o;&73La_0HVN=Nnr3nf1jN{cKi18cvTCwp70U9{ApKxPOg464F zgZMrnG9lpw+f5GU=uCfF3_kQU@P$nPQ!6Fenu`)<4NzKPgGeo82?+Z#zKHbD94^aP z$YG6qoI{4rMYb9#Zf5NqvN(r2f(_cjlaz8LuGa238fZ}u9+Qi^ApXi1?(oAbMj$^P?gNF9Zi^D$uZc5`}>JMnwECxT)v$yeSHqcn7nzx*5 zaasbfHky=3M!*#^diBJu%=z?wotr+eXWs$%sITAgrd*YJ=Ub(|m${RJ!+~a`&FQ0z z(Xnv-Vj}YB4I%d{xIKcD+Yj~oKh8;}cil;~$z@kt4dvzKRwa(=!(@D)^9VgwuNC@0 zSHE-Tq)N@nAX-?<;Bo4ftP7CqnUsNUwvG@8dtRco#}Ag@SsL_2k`d96QB{86CS%<@ zy6rsK5Baj{?9c0N5*ZapJt8wEvl>6219K7x9#YP2x!Zbxt2vAo3BSE}F=@5@ z;XfEp)7!|jtSDJxVXdtGB0H{rK>+$tKRmj2%@O4)8C1ftt!0Gq0rq8siR@)fTa|6P z1lmJUs@l#?g&#{+6U)V?HEIFwx0ENWH&Fu)SDi^uilwUvK6`nD;B=8oTVe^S){o_q zE>C_HXa!*P;25;LS9ub^q0^r9zxLFigP%Lfo zgS_%btCe&1>ez_CnEI|#`VBMxMf08NJ_SAs*|uXI5I|uO>rL1w1bLNM)FKH%RKg}^i{UPo; zsPdZe1u(jIq98UcR0W`YuLfxyg~4<_EaDPG>{WydUYvspB(b?-Eu&QIj&IF)avGC% zzCl%}azYt0>%YGe%s2?yK=m{Ksyd)H&9S0qPzp2y4|Wg%*9lUZUuiwszDc99tL z)C_S(Jvd&ypiLO+c-9J|as0M2^>4bQp!pxVWSeoRSrZ}uDVb?DMlb-Gj znnb=*f5-jLgF+JNzk{dq&&(Fj6aE92Ecg5kmvn&;lN!h=P2qhe#khco4F(|kK@k7p zD^R|5fNFV8O3sQ^Be+4S$2V%1Q|EaDJ9FiLFJJRxHYnX@Zo6Td)e|2%mek(q4)w7pdFF2#04;t zFnHwX{^q8(6(YpYt&lfLx0kml>{5jovEtLZMfWtFumfoQ#}}MObpYhykQR==>n-fK zFniN43C213C!Gq^CDHklPNj~W*rERx7A#Y#D1DNt6wa!(;2tt1K18^`h{h|;E_#Ie z0sIt7YfY0_X4e7fPY#G>P~o=;=nHXbYo{C|_~8x>Yja-ar*Kr^@X_NAUfZLto2I## z5~8Dr6V{rh1|DE}{*yE58)E-xb8+<|3Cv2ZoNDfT2u4tCd=nb1CK~a;08k_Wt{`7? zTHhnqlibFlCMv%V)o-|yCOYBrn*%0*`2@o?W)s7~_Li~2>sBynqQetbW7$wjH)P5e z`f?EZ`>CRUI`iqz$FvguzIqV#@&fZ(z0xl2g!0oJMoU)DCkTgTyN`}x_M z3~=BCYtv}k3K%8dLs)20gQNhgG^Ah$&)beW=G&=&UyuUKIkuYGH9n#9iP*x2$foe? zAv8Ik0l;y)mZQ{RhF)?7=uL{$hG^cmczD~@3k!p)c3tbn(+t}cT3ULJRtIwnhibPv z^^_F*mHlqRpL5;@t7q_%6~sI4ERZ6G$r50H3rirR26j^%LH%!ki{a73+Q0oRwiYcL z?4KShcdzpxYw*0TEetl!hB=4P`U@Hzwbz2@d__8zo8DnwKOV=ywqjKM9bhE_0oIE% zs$>k?^nV6ei0765e+O8y{|T@NmZ@m>h-?$u(tnwB6`I#BZzSrnVP6(wL_wpE7>;z+ zu88oq?))0J5MIw?x^w>2{Y=CK9AJ%XeWSDa9bhS(p7(PY>chAqL zCM28?qu6H2QeaR06y6RAe$^N-RW+la{YAxS3(l{=^>eZ8O(0R+bF?JG)pLcg9+0ZT z&^jn5FF4||KP~e5EpQRZ`2QBTU{KmvJqcWTgVg>9fy*(7m-^-!_6amO{{)&$-TxC|jpRahA~okGJ~fA973i1YQZh2b6CZ%3xAl{nzY6tUf0 zh{4o|MS6qQK#glLMiToINnly@i!lh#u@r7aT@xTg!x zhFJb8)v^u4BDl}?Z8gG|IHa8~H7`(rJiJzNuLNN5D!Sf#NVJZOCG;LC64*bS$EHQS zrv!6Df*iZcSx7==NPrcMD*0-_A1|VC@;U3DXsUJhOR3pc;uU!J3OKfib<*(6lx6m5 z+K7h%=G0~0Q5p{KMNJBfV83w^fq9!F9zU%}!?g%lg%*l=z>XgC2Q8U)^uMDe&9nX| zw4@i@O_7W8xbuGTFzkL8-yR7TG6&R_^X=jnyJ5zKDW94ZD*0< z@T>YyICX9F-@>ULm;Vw@RZlF8R*^)fCyr^0|00S&9E^peqn`mI~4DNbX z0?Fa@r$ko_U`p;k&CD}_SBs8(VYs(_UvFs!1TM=udIn;D0+(at<@pCMHa(Z_Nn&k< z>yi_R+PSNH)HcvQR6O3OErFCZ_w&2j(ify)$z|whF&t}gt`H~57B0E=R*loyMR?n0 zg1J39K_1u7VX0j4TtGP@bZr+0_sY_K9Q9q336Qvq;~HbU@|r`WW}IFT75(&@N>Y3v z5Q<3Py;M$AANtp+v7}mg;spLoKRL4LQ%U_Ol3h(DH-UQq3qA@bsIH zp6cPn5TFH%dtjJ+l+&$Mt zW!1-{%OzLe)>;ne%ZiPC!s{E zK1rtBnS`uq{V9%|GA*58h9VPa#HiPJgQZ$68a!uGfzXi(F`-fdHeKi`0s$0Gh z8@N5*yoyStB`|*H)xosN?^r!Dc=2bwLq_ZW9m@DY@&_(YPS{_$%Sw9hhfkxmZSma7 zPn1dB0593p8|TEw>Q5qLx)qS|p7FBDPR~>wlJH7OoVK;BXNobTRKML+&lCtIF;XZc zy}qacgd5PE`?3>S3mjYY`spf*MOa&~I&h`Kun8Y2Qw48N9+YIWSns4R1 z(SP+IxEr2NIThv{VNQJLx%8qj(*20}ZUg%+gIrM0&f?-~Mm}rR z7BDn5jb`oP7QEZ$kKf>4<9oIlPVh45U9fkrN)BfM&@iVTi3%P|XeRKONNypsm`Lh% ze7jrA?`0jPt-@>e^Rkqj5Wn6eLrP9!R8Vy6qgFHHSVcj9_;!6$U^O*t5NVTd^5GMF z>S9jJf)*%B>#N-LvvUY*z7r)(OP4&HcV$7EGu&G7sQLIuF2>HuFKxSlDK{>jlPjGy z=Z@IQM~uvXn~XYn2>Pd;!+V}w>5$8g9zc_+cWv45mun=N#JwEUEEF(N%%kS`P^o-> z@42XDACVdU&eg?b@l9Ft7HN($X;TMBN1L4I4x~C%=*!Z@D*(9zNE z=wwAk>IAM}8|X~!PQh*=bx6>{Tv^;Ve`GGiQuDHE(3Uo%qPsSi@bb6V>gt?*q6MmLqIPbD8L`JRFBux1dLfsu1%?bF zy6b1Qs^L~3%!M2qVC1`<0m%rGO=t@kJ!v2>GQ0w+p0_Bg-bk?9L|Yw`7qJZ-I&dJm zhs}KJlU*Ubs)gLZBf@Vh5I)komhb1&NiIC0oiTjy`Y00Nfcf~Q&mm`f>CmR}!Gz`~ z&1LfsU>jP#pxOX(dT7R)YVTeeD8tHg#pt$?7|&y_pYfI^=b)P7Wp|`3&8}htt!qtC zato8~BijSO$hU0|{ro!IQKjFuGf4?$@0x$r*A+xYKBR-0k+nnt6IA$!-DPT5``D_F zP-je<-|Rh4=T}2QeupZ~HcQUR^QK8*y!yE5($2(h3@@0G zq!^@`J+my0lYCNv5ZTxWqggI~y1%28@A_5r&WZl-SyMSmtKGQVpIH+bFl$nXnccy; z7GMEPAjRQn&jAz2PT$j<$z!Y2wv?e|%65St`q!R`Gwfi4<>Z-?bz?B>uO?v*1;M_5 z)=?nuKwI4Eb9@!OC^u;>)X5{D6lsf4_1vD6Mbukyfr*};bg?Td;zJ|RMDn9Qb z_A)7a?l`FDzVCird;Qp_DoMf>g|4B{lGoa)qb^k-hrNDAmvgS><;<`Y9sVH^cb(LN zGC^u}V^g2UHb%o&uj+#G`T6n%4C z)xCOEF&j&qr5M3GCVoCHwpjcd-VKRF38Lrx@9*EXuxBnZ3-D^jp=}SQ+Ij^Z8J^$H zIJ-Nyi$9>jNps0MW9H86--lgdI+7Zl_RoEhBCV!=c*X{!r!{(}?s`>}rzF>G@QAP* zctxk&BG1L+XmoTGoRafrKdSn)N$mio+^8&EY)uD&Y8eW9`T#HDo08di0?4PASftHR`t&PM zt;%+&cnzpuH;CstWpzYnQu|H4gWAYaHE>^-gVLXyo_IAC)z-r=S)%>r3dkl{QmTwZ zlTd&*h8|<1vfMy~Fc=~!)Lyun4d-qj+Q|t7V5SPc0vF(rWCA9%e|p@=$f-QO)0fdC z7T)!UA8~Hm^t_OwQ>dGHr~Xv9o@#jd3T8XTM;(xHyaWm}{NBN?YjR0A_C>W8cgFz$z zFt}wlpu*6pvR_##RKbw6#v}L@>bWO@=&X}8qZ%M^o!(Eif!zh`W!r1w{Ga5u$=WOC zpTG}tLb&H6=L7YcXKR68(~bK+5Yswu)Y$i-niJMEx(syyqr%uy>>?9ggfk#?O)91P zL{L)$bVYCq>jL9y)UiNPoX_2}kujxr_WWKByxhX{Z0|ATSV?IR5+v=`$u8a~?^K7S zB$3azZKU}dA$eO24tk`F+S8u?^60AZFdn`4G`RLtN79kHkrBKB^1AY_+q}8B>cCV* zbiojl;zU~9F7xp3D({v67j2;2be<5BNhCDlZbz&7YJk<1$sC7;MV;FB1)y@|u&Jcf zuLPSbEOjcO;K}g=tQ^o{^~)?P6}sW05v_!_%Mt(@sKv3+cBwNWCZK_}`rII;MFX%v z3uiTe4*fi>HZ9K>Ygif&8T!&b3EpFiu>E>4Q%hqCR?W47F zTn;}Kx2$9J#HcbMTC!|Rhf>CQD$q9l9OKs2(q|G!bs3#=A3r;iL?h2+fU+PQ=|Cv? z%jptPq|cWWsKpognZ4h+8I%_W6&HbP@$!#|#&yM$79`YPSE|*OHWx9BGapmkvM4XMK$*^vu_j23*Yr=JI@A=^SzT6!q ztk|XcS{-KnjL)q`;wcGq$C0$3!w7hkB(;|Eq(dI-&j$1toa14ZPB|9QY!f~_by`Ik4$d306P6%w)$W~8@!!@;&14IY_o^YF`dCuF#z zXLCg!Fvj&deH63~5&;l^*Yo1z*XVjJet~*oUdWs1s^>Sud17U03V5x0Th2UZ@17mA zxeI;Qf7B&@xI!5auf-GeSRm)6*8dXmOk)yT4AD*{6HPhdUak!imSXF5hxFKU4RIez z00qw!vyQRsuE~AgLVH@F{}=e(sLNpIb;mHX08D)#lN@&V$d9tGEqo$ANjtP3n(Y^l zFu3$EH^-MvNIT$dZNp#{rwCh-0gy)8v)+JbG{`JWQoh{T4O2i`Dt+O?|}C-IRCr?49>CRd43Ph zKd*oX=L#pl;2dGd`e|?;;1D6z3%LVYeWbGqgPwaQN;Ry}xX9f2kcu*&=fz|}$pFEp zM}G3zuAAu|-w&jh(rLs`gb4WNgOfmv5FSjaDSDNBCIhToq799q18;UAd)-G0I zz2kng8(=Kbrtq?kAlW(2b7-Llt&B0Y&K+!I7@rE+n5@?vp2ZU}Y1`Q!VTho{G)4no z1qXk!Vft9u%hw5fOvrDzJ6>`EBTKlV6q6Cfcc$N86Ie7XNSP|GxUXhkh`E4&Y&$W0 z?tb-oGLJnFZtB#0q z?HeJ%7VbPxUwdOe3Q)1fp63Mazt`F1enw@0HyS+f^PH0j-2H5FG49Rf_SudOBdejW z_t15=f`RLN;9<|5){lBD7qn-uweVic zp$DZ5pA~JKJy%Z_#oH5n<}VxOebWez$>vL<_k*A37C6ut|doKC77IF1zQPB?Y1C#(!H?8U-5C zKh6WQjOq=KwP@t|l}+en z%k|0-ydPp0a680NUOW%6$LMbs$RDtf&i#8ycoaXf6iRj9MW0%hFcF{PyJH4r28A6f zu-7zJomCR7nvQau);LHa#DO+NtcboNY_mW?`x{eAP@lnnCN7wTXkm|`1Kv&9CT4G< zd776&dS8U_`Ue%=X=QYeZGd-2J6jWJ(ThfBL@=83rZPVAhe2A2mRduPfPejzsgga< z{Z}=1Zw8p|Pe;fN!Zeo_`v8_|41mXmfZ?$OQWFwCGf_)b9Z0G^E*qR~Z<^YQHuRLH znBX<^JhG1hzbr*I=g1{lb=hjmC0TK~unG9z@?-Y00m!=M<8qeqGJ=^c6abrAMZzfA zF%0==yzNqG%^PkLqJc9G{N~vHxccR+RyxxYmj#}_g~Cz}@>L{j&inmFqTif7Q@$30 zrB#AQr&d(3*RO1>hqFPLM>RxXQu2&sJ7g(5_uF?$52}97d-DnnPZ(p|nuk$~YqB%| zPO65fWnqit+XK=weFeNabn=fALzkK{Z<(1~*lP`KR9K5lhw*vfom+dqT++U||0v}i zP!7G|KNJa4DN}eOI~q^#Das*A_YxJPBKhbItuUAMco`!64Fdn-wntZoJ7kiLYg4f_ zVZ5_L9!85`Z+-rWn|FQnH#cuSGBeCquU_iY_fr<|d>k1T4zcdLj=$3J}&?6`DG-neOmXGFLX zuQOHQVqq?t!6uIF9;aZjj`m#+9Qqyq5>lpdr-rjD5EpV>4r_6`R75CAFRssnWfNQ$ zRPE)m!ati3@esFv(JGI9{M)P-MktE*9?9 zQq`5Ir3jbVH$E^}PE*c+x9h{;Tp`!E)n2w|qiXi;+DCqaHPNJ}#Ym>~YMa7jyzcq? zh>aQ0j}^OC+jO_mT6rrb@7op*MOVEqpZpSQHlzm_>Jo5O5Wcu!BESUQk@QiVYWou& zwGIwRo*;zI34R4eo*$fNkM9v(A;gKJ%sApwIyMS{W7;h60%rg!kO7K63Eym~)F4dm z5oe*zZ&!bH+~M`#G(K$D4nXD7J|JExXqEE#UgJ<)<2g81^Q(NaSnAJB`Gqg+i@;+umT}LI`}kdzw-)Sk0Aio10iO9aN=9AE zow$)$&NuPogh{I{aVm3G^E;HGWxHLUz&7Q3{2nao6rFY8kLQmF-B{Gjr6ueGHO?db_}=s7ksYa0+g`*VPYKE$ zbIb!QD`HlYR(q=9?qZ)aY3o=)R7~u%A3l;>#pKoOanp zU$M8Dtjj$$wco*pojqQ64HE8T%y9J~oq77DZHI?^!+#D}ofT7&sy1itq$kwH!&p{k zG#|`G`uioCCc=};@wAlxIO8|l`(|6U4`6$b<2>O6Irb(`AK$fBCr+IWq4N1Pdl-37 z1N$O3qfg)ax%-!hQwG&vf881SBEVZyx-fn7t7QqBqrJ>@?g<|#2H*n$jlh>WSehoo z9f0ukmei)rjlxKcM|mZ=L2dKUP3CMobQmJ0UV(27qqf%-UWzg&M^T5Vt| zHeeCAZaJ9g7OX#+E0=KGjMNJB?+BzQAX(O>4~md?=NJCUI75HvF-R zk&~9k*xTGMKuZmt^wziyLCmD_p2BgPg#~WtY+)g{*B5 zpGBxzE6OBo->!vS(4fmvm9Bl1&0FTGa-fWf+)6FYp9)Y&-FjbqYemghF1;6xabX@w zAXf@jy)8hD@2-$b%G+taOXM-DYbv<{sLqZFLp(0_bjBcrFwu+zrzrjZ-~s)OUYA4Q ztOa<24K65XK##3$pMRo5HIkLAM9 zex4+!s#%z++E!y#Sc4x{UG~oEkq%~r@$@ddylnE!Z>c$2dw@??nU)-v>78`qV^Hn@ za^riAuEyD-U87JA9K1&NK+QLfVVmhb?fRPVDnrBU_}p2I4$Sa$pa$a2khOUV7fNY~ zOQ`^XuY6EiE@a9VhUCHg&k8x}zbfP{Gzlq|l@;Oh=bGtacwA+>$4Xu*z+k}TxZ~Pn9)Ek5`T0H{F-m9L>B0tl6 z>yx#*GEd++TUI)kW+AbhFHOJfvyIv2T(I(bxcmAhLG${T)hA-<2Lu3-M**4f`l4i3 z>TAql4Cj;x?P4W%B(wh$I?xBx7;O6}mi3ZwZmkjYQ#iy{uxY&$qncY8j8SUL1YqcH zhrkpXAKdiaBH)2Z*k(5rHNrRW{lc@CbK)k>jSoy-PRp$cPCp>K=2XIUCpW0bBDo6Y z8Q3-QAXf)wcG*$7X_|1Ye1rki_Ki840Pdk+4H;TTfwa|C@NIys@D zJ*9r6KJ=@ulflJ*#vfAZYXcaNm?@)N)2vv(HpwZd;hjQun7;bgk>lkVdS21t?XX$}eaG20 zT{`$lf|tjr(Elz+MTM;ITDChzSo=P|HhA<6fIgYG{|kMx{t6HWc;4p=E2L)HUkwID z0F3xoQJc|a1Rdu6;rO0hDfYqb71$kbLdD?s50wnEOjkp^^n9_uin|2OZQ3+Vec#_< z)@)na`u-y^N{F~sIlY@P8o$>Z>fP#rEoI}&p1s0(SdU1yXc5!7aGQnSr!V5rxM=Y= z^r6bOVB+_y-hKA=2uFd^?zSfVm8#Jt_8ek4fcpJ9G|s($vjE|xJ+l~a=Rhx*HbuwD z6spW^GPB58418zvv6ooR94igGcTl41XP6I^J!(QI>}GCrgDlb}Ix(W&_Hf(DT>7_W z)|D0*uJ)3;pu^Tgm{|VjGx?>^qeRbZP{R4_++h#;wGQ85gWktCz6eLdavpxn8bFkzj#-Rr|!gKdlldNy}{EF;Kz3M_^cN%q!ktjAq6CWdC8w%zzY z*fD}1^5>)W*+ShGF{_@Zl`<=yL>9_s2XkeIQ@xPP2Vc0fLd``u@6jY)9k}Q92K{Wr z#*)fudd$FUaJo+Wv>L|JHhE#k{rCh$#ph0% z9Bbxj(uZ%V*?$0Hc$;k3sOK$_pN<-9=3ii6;kciy`<=RqHLXV%UWE&AFx&qS^HIvU ze+`3{;@A>fbRBvx^VlCsd&TkfuHUS0&tp3S8a0>Lt3ugeHO_#gD zL&MGB4PAeyx=4}MnZWl8kdX#-G7T6ljdDd}OYv3Zp!vaff(hm`nJ>=B&|4tP==G1^ zo?ETw-8gniM*}Lh791M*BJ4_(DEiPD+6#tCIk3Y-?#=e^uTe^FHcc-Rr69%p_DE8X zieM9OvD7IIWR!wS^GT^6{ofCTw82Wpb~^XO)W$OYh@KMA@J^5N4Zl@GyV%_tBlIX9 zMyHZ=8VontBVX7j%yDVvsa5`Krg%B2lBA!3Unj%1rlt?}2%7@OChRxfn|j=AJ(^NQ zIH*%EAXOe26Ml)O1b>)f^;%sd?Az(QA(aonI1KvrO9Ah@1K+lJXtB}|%o zQ-muA@J|YXBa`$jaWCZXA4SD<6x0EUnlLWnjC6T0Kl_9nE1Y;6)KZT3=jP#qloG)z z&3a?&*TR$1b9M;lOx6xX6qX9x@tW08&iwmimI}5k%vo1X*x5-HUD~Mxgc4r4xC z@)he%rx!{by<}vQU|2HR!4NTrktABMAOJow_Xofyxv+@J(zx140fD=kOCF z0fak0D*)0G@}7aXW5VWS5gI87!&8_;UT~FW3Qve_J}hy6tCt4`>jY@dDmXoSMp@87 zwrM8!UUO5uU#JEb#m z;PXWHXn4N{c=00^qa&Jd(e#^?R;u}%l=jH3+-?+AIoniGIY{{zFKs!5ul<@zd3(|B z{)gIXjG6i7O`aXPLDieN??RsFkF!sDSWajoV)Pem`_vPKv2c030vCu$WVG#ujmO~8 zRH8VKFFQBrHQ#GKKqUKwTLU^gVHhu)je!nNgIG0OC>Qa_8^&q4y1PVdrK7QEHh5hW zIUzi`Q6oQv?6voHd49C6T^zh8?=VD9?u2MIpwFr;K}=|Yb~@3QRz?8kriD#$2$Jck zz@z;Z(N4y)UU5<1CJt7}v3}56VEOt|qOl{sOo{2Z2XTO-R*StSOibn>dPrm|pLcTm zEw`!4Zv-!%rv@Uu9{?9w)B@llOpD!nOw%xg#TsL*SV4w&oYM-xEbG!dAB9hRI@P?^ zaBMnZhM19Jw{<(PrY1lW#I*P4OtRZ*=&7e1%Ed6;`mBby73wC1{YQy?%;|AC)84x< zd4F0186+gpP31O`_J*M3AJw%5Z=H*E=5oE~thVpWUy<^{-&oxSxa$6wdd*49DRMon zhGXws@e6Q-%o~m-zQ_Ld4OSOmC236Lj|ul8qPxq9`)2mNT4NgsvI1M%3^`e3b#}Fi zc-lRM_j%4Qy-I~9f@SfiCu;>6;3Q5P16575u?c43d3Q~>Z<5y}GBGN|I$mdkEv;c> zA?_78*s^pr;mKj0D`i(Y_KAm97?|pDtCo!$+v=MZilm}ag9pSEl#H%;*RmxRL4%NY z*c#ytZzB{MgPB;Dzg-q1?Nlhw&xKyPK z9A{b@(5rUy*}X*L<%_XI_#=*NY6 zMW}?I^I(jW$j#(yVT(|&PtwIxPN(_zNk+nQ>dpJ;`+d6bdM~d7$^(`$9JpzlXflXC z2F$FjcT^FH(T5^;C&W$<;7Bxn9|&KwCI3n6IaGpwj3mlB1aQV`Uj_xj^R7NOkm-Io z+CD+I(M=lPKfZfALy*xK%2n(NO@}M=nsjuDG0x7fzYq8bL8h%xns}zzf*EJKaX+kf z>YMp^ce86uEPI7h{DF}ICinHKX<21Q4sB@TgWYIR0?kD;&spUr7ERq$Z-blyvPKBR z;&8}O(3RQiWv3nzhLq9fYsbs@)wdI}%9%0j-qh_6D`$9s)M79rt@&x?5lumD!iVk0 zn=PwCiWra#_ZG(L^FoY^E3TbYJOUGP&(D$VTFn;$q=4t=q5;qU;qvEnOq3sj5FJqu z@Z9YxyrGvUCVezBedY!W)DVPy(%s>k@-@FB2_R0JJLmYmCiV#pL~mw~rKosH=fL(gVNms;m%yf3Xd}gjoD)Ee*JU zjuZwhA&`H|1ill$q5#fN`-cnVR(yREsQYO#2*+HzdoH_-1KAM38H9(&y! z=P-(Kf~ahv6lD?k@*ACiW|ao%6f=maF0=^(!rkZrC4EPnhTSrd#E7q+%`(uxsJ%uL zR!)qV=J;Yq<|2Jo%8nV%y_P6n3UW-VOonDp_3lGjQG0-Ud(D!r`LM^0NS_}1tEeh+ zCx<1N4B7ynje-IQvE_N!*R-NYM^QpEtmM_974x1bWdG76xq4HsG`w2`4QDQ;ry=cR}U#VA`ylFi)Y#)$~E zjr!Y-Zt=Tc-hMnILk&+0w&r2BsvE&HybLuM=vm4gF|L0_{f6E%5Q^hr1QT4dHleNQ zd#>=BmBZwXas4%15E|UDmyz`^Nc5&y7=)MelZV_e@Ep@?v*p~b941u$Me(FI~x+VA6{OBSRq3ds~l18s*! z2)R%t2X(4BZPhn<@ySnf>c}i8&SK<>eikhSTt7j5nMyA(<267j{}Y`=kil0+OKB7M zzWy=hnxJGA5{hPB&GZY)EcK1m!BS5E)T#z9?{fM9UU(%_Rajn+DGQTMwh0X*(jC*d z#Z9ti;M5EJ_Wbtz=tUvQBq13p&e^h-gHV!O(Cl*4@JDRQAVVYFnStVx3^9SP3uoEN zAl5+AM|APu=r%rX9saphCr9icH+(Hb=`R zk+=N8|2lB175NnJ_XNLtPHYmqz!y9+IH9I9cijH^mzw$JbX0E| z{|m6cU(92udA4t!BC!V99(d23YJR(*T?z*Wx6pYQT~R_^xsxjYLQl{q;qilPAHnnX z;CoHqq@lZPD-KfJ_2=t?J_WLrQO*IYDOF5jm0YPY&gpiIMieAGL3(d1NJqYZ^-`g# zf7TTJup-$f{}i9`D!=^Vly6s;=J<1W5;NALbjw;AKw^m>LJ=O|a@&LZ} zf8e#UDsfAiW76B(SdEv}!(5am(@X_#*+0GSZRL4dsvjD^K=qz5Vt$^-w)_D&Z8=se zNp-ROu1imQ6$AV9S>&>pP)`(GhcOf|1vkwRpy0B=KJC&adG=P&CFF5biHFl1r}bqE zooUuWJ_Q#Pl7Kn58&k}~pYnfNsML>U*nKi;XA8JnjN>}n5@)pT3ngF zp*O-c_PNoqOS|8QYrXaum&Uo_7=dF!?EHd#82H;=!+ZkAHI#V`htKhjW2-M#wLn(a zETRX&j$@<#*c-t1W16VdG|}Z?LeRhJJ@l1UtcWUI`BJv`qbDz&GEq#odBekX-mHAxnHtTSzGoO7` zT;UW=;aTyju~XS>;?5Z^U}$2QA7iPOh9&7*Vm8rHmel`=n=j*rSpCR0dHE*4es`dm z-#s0DVqEVhLGdph8umUF3u>x$ zdB_VwvgMe-wkNqWy6ax^_e1M6pUKDrQvoIAlcztCu6Qg{^jvZ%~;nL^wevl&g zZxNCP+cUBAsnoJfOT4;38U^UIwpsQ6*r)`O=Mo%SIGAUHlN$(4Po`br;_AR5w}GON5==))g8*@ zgLl%DGCr|Qy2OqTvt2NFCvJ-e>wm$_$N>p90PG?!O53LgxMu%xWY3e(bYQKt?4Q%J z{)=VC@iFyeo^kbQ%NeEgi{&WJ4!wG+Tx1O78~iVn8F6Zw398kF=>lce+JWLYsOTO5 zanVlCf*86%5x_`Er~)V9chS-jPqluvqx)}^*;PfQTDN8NMbrkmRT7LgG;ja`6VAX7 z3px5+{tqlOC$>XYDP5gKzo-xd z;a=>}USX-zWHnt`ZvUS=GiPAF$TdLWIsuD$2%yb?f2zuW#D?F+&!EH_b!c$$Q{(uv zvwO2vDAuCM8y3K$2nhbsJW`}I_)w`d0 z(7#}Pj3w4<8%-WwRnS#@^>O3Wy5_gD6wI3Y?%l8(KgZX>s8^=c7~35oHTec>t@&`a z+t9mh$!?u*y-`D5+s18YYG&K`%%X~wZL4uQsE;aK1w8*ele=+}SEnozKjulg3!Cn6Ylyp4~^bjMS52Z0-uFz{Di%_)x=R z;1#Zg_ye={k@R+TjIO5h$~IG`GfRJ7fTuCS7k_2y4bj~OSQ*TfT6Y?lIH z{JAt>SlRW)4DIZ@*e~CrkM2#t_;bQr^I8CQ*_>-gRACTHo-$qEax@K)rdh z@cMUFiZ@O=CJ~2C;Wjm$8WPYM2V$B1%-a*lmU&wGrR*jUi?Hvf$6pu8nTmH4ZUDaw zkgtpW%`b}s_+{|`zbr67gX0y(uaEEDZYSTuBDiKNy5!Hib*|8jJQU=aq~f_-ehd5w z{{q)cufhrSs4Wg#2+<%=k(r zAAn1*6NHR*QWeyRoN@i-Hh`ooO)rKb@df_bs{uCs6rBCgn1pW+jjmy@l=B>`kSx6Re7d&eD108d|8q8Lw+oE6{+1JXOY>8Q zpq9*`M*eWygz_@v{W!6}w9Vl@$mX(s`;a}4Z=CH%9ZUb@YxTq{4Q$A#3hJ7;rnLP| z>k)voK2JDDdH08D&84gK@N#N!AxwkN4gQ=iAV(|7_{eilvlT-<6GAuGOC#YT@jsu7 z@E8B}xk%{5aWO;G>E!8(TlUb52Ey|RWxeD0O>U2NG)}C^{N{r~X_F`R{@=4tY(XGX zHPu|3Zq|z47LVbB^3xN1EGGJKuA1)dj=qBi+$49bw@s!b-B3LrABv1CyfoKJymwE2 zX&^HLDS94ae#S_+?Qr1u1AE{@U8$Uml7X3x$(nwtE+0qpBRPC@Mt<0~>{p-)Rr4u7 zYP7HT^XK=7tw=Y`#V@qlZ^*u5Y^&{$FQ}}be6<{?s5|xuy%Jrt5o2wKXb-rTOO+!$ zglb_kGWwwJ$WD65y8D^t1Moy(s`~hoIhMMSC^uhBJ78vj|ZOOOs}~0LD%D9UPl~JiD*W@7hsx zb!iQo_K1(McOX^e(Gu`KLr|EbL4?Abb)KUhZ4iO1!GBThVaHOGJ*5BAvd2|NEE(pN zU5L<1spcy{N?hW)Oks$#8>UIJ)r4WouTc}8m2@A|?lMO}VcC^0k?E?1tfMOb_e>O9 z5byDyX?GUM`QOzN0)@zolz7`r-#yKs>Icnee+K^HkEu+AlZduw+VuFe_-ksZZCI75 zMgY z4J3!I>%|KdC*Ggs^0X&a?9^UKr34S(0#yyOT0Qk)*Nr(2k(T4cUxaC}=}d>-O*;&n zs%jVwT>-U;YnS$T`@{c6-f075EqDv!`;SzddsGF0EpYKc%+z*MxNT-25@n0V_&-+u zE#~~!Eb^j;A>FH3uicdO_0`({HSx}wP)%yO*-q@-)RFC4oMDUt)U7&p>oCd!zb0r6!Cb`T^|<=U{2e+03$FUdP6}>vI#kUV2}eq}9bmlcKt#nAj-U z=$*H zm5gZmS)nMAHYEMc`ns#navdi!`-x|%8mhKIsd8NB=9*BJ@uQe!eN>O*sAM&AU|?PA}gZn&H(T zJCI~?LusTC{C`_&jj6X+GVwZ*V=9On=Jb0YX$jBXHV2c7SZ-j zkK&4f%zw#Lk-~}}R9eX)=NjIT4YvkOy@|6MTGbS6ZpNN0E$EqHxrsqmH!hso4xy#r z8MU$l&~h%~Gjc$I=#m}C-n9P0kRTJ>#D|e7^)^t4TT!v2d*XjhyaHT>k`W)lkU)(@ zrem_kl7}kU@rBR;{a!{ovqAd zh!8_npDQU+ci#8fQd2!*_OxiMaNA?54NJi-D1a#HjLax@=?*E;aq^OOQ}bf?c%atx zU)!lG@tCna()K&ij6r@M%u%s)+tJ>jnO#|8g-lL)e|f7U3#EOrV#I7btPHt3pigfW zNSzQsd0Ve&<9}nx@ai@(l0z%21K8z25@+|`=uNc>(b%x|?xQ9rg&TK334hQL2eF6^ zbg@M891?#v4eZAARJu|6k+4y?(r^eWmn*Utn1B^wk{>Oq4y_WDNCzKzP>bJj>LrR@ z23F6~?d+cak{)skXL-~2Nfh_X=&DWn7b$#2x4mR@d2sb2F!aqGUTc0Q@_O&a6KkkK zG77%`(TvOFhW)FWx#_c8qfI5Gku?KrH8UhQ>)#EWb4RzunJibA=~)~7yT$iw8qb6( zl-+L%=wko#^C%#(4<~)3cB_1Ubf$8un_Oy2grJzY@0PMwZZ_*V=QHam-UrHv#b8LV zbf34aT(hE&J6>kBE7z01&1xgog{Re* zDn4K696e3t?06tQ^1y+41#1uDL|Iqf6IlJL)juRJ#OG)A4fs&?RSKJ6Bu$kl$=z(5xRz_fV+f{{g%wNqWMSbchi? zJU5abrxM8s4Q?dLx!H(FKgq&)cG{Th<%PL|9jqv!sNi_k4umBEW`CK!xXPf(1Pj91 z)TIX_(7Gz3RjHlLq)zE)$4oSpRwxxi$0fcFZ+{WNcDp`CM+l{#uh1fAHiu;%(-?xWq7ltT^Ltus*>qt0qd<>udRk(Ze%sn-vL~P(^L%Nswf9+9L_6l88E)xv znVTV-i?k0x(wdLZLD-YC?P_Q&kI%Q~{Hof`x8;4+z4`-`oJ1+B@&Q06LrZ@yLXnbz z=?TJX2B03LzlFmkPj!553s<+LnU`rwSPdFh?**jy`2KK&F+&-rsMVyg-BC9f-b4}ou&S;6CeudZ&?Qw)sYboKP{AC!PwBTsE@cx;JCyr4qxy9lEo2^at_sY8Q>g*e$ z3#zV=H?c>-8^IA7zA&gSRspKN!iHE657aX=;FWhqvY5k9O^K!e6tQHRJ1?DKrmB}` zNF2H`@p72G;#IV)tp8H&rtVRCm1jUnfz*|tV?RMxI?DjxUrJT1z=r$kJq-kT$lydc2(E$va_R0m{+ z5MPc?6=e?SG|*7NK?f4cccXLS4Ixt*=yBqOb&~5xq$8L>1FN&s5rDpsDJ!O;8}Aq z@LJF*@MMcC)me3fZ8#a~ln6_h_-0MPI1`IZxe3vuC}mM9LJmgSsnDayE-qb6L_8KN z9+@q6BvNqG|05ZBSS7_)gkMU;#1*!CPerjtr5MN*sBRgB2C+mK z?g%wA_&U-b2iSwvtjPa-t?J$%qk5zZbZ6Vm5(t4S*W;qbinBmkD02Ftt3Hk!Ch@z^ zwS3cs*OPLf&NQeW45lCX7!Um9F8B!Z1VB%*OCaR)_tR!>?hYd>)hh(`y;>JNB7udt z-_bw=ah~Fn*mL9AjT_YAc{|MebV_$WGO9xPBC{>U(c}>}u;#aR!V?c=R@Cky=drP zDcs$2*W)$GBe@9cL`F$@9v4S>*m(;`p3cp)GTL)%!1F1*?=4Rf^joZ6Ey1Z(=U8)m`>&-rk6W4K^m&W~n>gd6hRuHq5t)JE>a zSi=8Hh_FKViPigSuBv3+QB@uX!c)D)YItP}Ag@B$ZAFMrq2#@4H?57)#>2IE z(6AXt+h!WN+|gPc8hih7`%>8?w2UchstJ%MCd%g7GpT#Ms+j$ z{xy#I3bP2Cb;qefW-TtZ+4{$AxoqnXs>fRRt;aOju%(&RPCFE-Kh(CRt*YhmMwjg} zkB|jd(UXSenXWJjSNqsK)5)k2IZbEUDxbBoPYqC<|DqofCuJ&4|a@LQ7U zkkh-=9965h@tG_X#r@IMn_pK#-Lv7@&j_MxmzSm>+%h0IicNQ5uq5?v=#?--evBgv zDlwdR<-mRM;AOJ4(8=V&OU@2gRW-HjZoTC!8S>1Kbj7^1eyR_O?->7@RcFBj-bqGV z78SZftvsO=t~}TJM@4m+oZWo%Bt&x!9~#dA1&#QS`87XvMQa)uQLIB6$pg^y+dW>pfmDv?%B7+_gRf#(Fc%qmv8&OC)GWu9=6b zcYIqcN9fibI6eb2L~15Do`~rW2I^%3=HZj)!0Diyx3&dQ$yIDqe>dcH(A)v`abq9Q zzujH?B845y9M%st6sgk}hxc99PMjWA+;xc&9D2YR_65UM>kz8IO0mvno3BotDN3eS z=YCi=?KF?6jfO0BHMB(?LY8@>H{tAITTasy)f~OwFc}^~QEbsVk>V94c25Ea0-D{| zZsV3+9f(vIMklV+{lAq9lxB_h2AmQBhn2LGc_{mVonB!Dd!ZHEZ#N?g5?>)jVv?J! zA=6AxtYFe>Slv>NMud<|PnfL`a&h#>3av(jcyv!jbWqxkJ;|HP+-vl}BBdbbBl%0# z_P`R#+ikvYnr6il86wMp#!zk}d`nTbBds<3>kXGKWS6km-smujvW&r@Nzwx4--x`f z$gqgcn+ESJl=5A|h;n6;X`hnabVC=3KxPGyYL1vP{%aPq_IYBOslU7y%5G}{Zk(#{iEs;Xr;d9_3Otd5P)b2%D`(TE6Hw* z5TkUjI#GZ>6vZAv;5Y$OnTmFck(~QxUAS(kc!h=ClSh5;rB;3NuMi#Gp;z(H?{lR?1Mh@LrE&7*LSeFbLXyp1-^J! zG4e7;r>vlk;&mSEJ-?O)n4g+1?}n_NoeG}TvQ4LN3>!4zGdej>7E1+}8_GIf@^;FX zgBgS4`B`gCF*r{ye@+hm91+BO_tXz2Oi1Rp(-YLy&G2h#>lvJYk4Un|zN|J6Ily}6 z)tZ7lyioHKHu_6Y;Cr3Zpn*ykh4Z3?a!<;#f)_Y#zRqfk?{h3#p?YcR*eu@gdp112 zHi=%1)6q9!=fQ7#H^A`vH!yv&vHvOzwzvW=1t-HXXbZ+JywvX*@)@Z_iF`wG(O{(eEJ1RPMiEy!)^TM zLY>-x)C56~f@2ImR<1)*<|(5jA#kH00`W-Z0Aq1N<}Jz<66J5>!O5H{Ci2^#x1g4K+WZR4y@E@X!kPU#0@3rPBNV~Efq;h$$q^4Z z035y)0T)X7@S&dNw-5|+Z0=Hf_W9t7mzI>x0$_P<>Q~*K}URpF}aI1=+p{+v9Sc1qCExH69a)o6}(mWin?SS zr^zS7J<6(7rN=?7?zRqaH4)Q!A(enaDx^Z9>0e!|Hr^~RR+PAbJ&Qk=8!1iT`#VDU zV2V)WXgk`ymhobsj3P9Kho|{^Sc~e0o@VfuHMxSyv6gajBjmgT zDRq5&u*fTOA1{Rj|xt0oXPW_Np}ET!R|C3hi}l$sIsK0 zdQkCk3@A;AI}dmixx2e$huUP|OyErgS1FPo2{a;pNb)_@tqa=pfr_$Y^VpPfNVwhD-}8u>?Fe z+XMeo@lHwpcg0)(XxQxoRfBr;+#ssm1pJss*5fGS%em=`w-5T$g=}I)kr)#X#ei2F z67msjf~4I;m=C#}Mn<^j%QNdYz(7r_q)avN?F*BYvwG68Hse9{RHFQ`7Zs4H_cq{O z9#mw_!-aL4=tmqwoae}Q`&MGfKdJo~tia0Ha6bf?yFfgV;fv9+J7G;9!QM!^qtrZc zqy(vkcVb_}PZ~_60#((1jbr5PPQmxSz}Y#-Uv0w!h^V#;mqsrga8lnO7K-SL^ty59 zg!tlJ>W!dhY?3A74y(kQz;DZP+|ii}i?;}f{KPI_EDy9-P#H?~6jVs8oxIV#KEEiv zeN;E9KW#+C3vMF)Ec*L9iZ&h=44Dp40*MVfYrL)3=U=C zd#q&_#zM~DT>6pDAFVFU-JqNYR;HOdW0WGsWzaH_JxXy4{az>D{`m`q7kaOlBgPns zFwP7mJCPWN75bzL{0e`|=@1Kr+%HR*Pfra+ffcV=C`**?wz8?@ZV$|Zux4dgfrb>Y zW{fPCJyZ-uG(a{~j72mckTfX^lnSymVVj^O&>;E_0`9EhwA)?pfBG8z(HixPY)H75 z3gTLG@#;}{!YTM#CyZs~o{RIlY0?H0;@vRXA7_X8@U=p3eoGREBV zV?(C;!$gOe!k`!_BQ2X&sZr7(_O1vU_@v|f=L(!A(eo+x({ao{+GVN_LRjFwu(k|m zX#@&SqQ9iwp)Ltbom_MsJjtD`?YNiNwY z3?_0dmjWYX!;62vm(AwyP+|jh75595Uhfvo5uH}#ZE6yAKa&e~{#t5#!&Big2Gpku z^GkiZ53kBaP&c_1SzfZ%rags%2CFpB` zmGkr{FviOHmetg+;1E~GhOD{7wOO2VG03QDQbt_-G?>&Y+IFe{<>M9xH1eyA+~7$} zuxiqTHOKDrfv0oy8OOFjf5nW|W*ER7-Gu?&?gs$P+O~9gm20?V3lLjyfc0dT@v-t3 zvb9I7dU8bD&wuT1kb*bCT9X(x86yvQTM5I+1kY6^0=Rq_3R=9C4&b(m;nVhg+Pl1(e*7tof8V5=PDKPEAoL=nRe$O#JO^DT z!4<3SBTJ=A1Y$rSFU>u{br=g-auOBts#t{pzCVNyF=^V(PQJ4~q3NKS4H#$6>rb!0 z4&(DPk~`hBEer1pB4tA%D5Zst-$R*PP13x3tnlqMJ-(|}7Cc+Vq)T1R`>bgHfVBHn zQ|VOlVH$;{8O;VAdxAuTnAh*zoIX6&CK#<;nMO?$1#|g zIzVvz$1cl)slUWmWPpNX(H$SU#7wGi=vjb?kjF*G@PTKT_Eo*Md9e|n|Mk|$jas@j z*?43TdAiM5B;3#*W2tk1FhQWres8Zz`8(($Xq(|AQ0f-p!%ZYs9t+OBpGRhr{PIY3 zr~Zh(MQyTXkr8VcyX}}{N1jUQB@n^ypDvc6vX`;(SWFy8wv!R7NJwet)RY*%D_uKn z*+cyZ16i>DV@27Em&j$}z)DaY1lt$(eWQG9L8ozEHjaYZnSTB^4ri8rbLKdc)d-A7 zzhgD$q9NNj6yXE`B$Ts(kgf=(rMxHA?I!v&>q+8#3<9sygtf)Z=$19NlBt~0=>I-B ztx>!-l76PCg8;P;mzFd9yK2vC82o)7^erv77SOiPIfH&`Jmod9uvTp8yQ9*nV*?fF ztQ^NACneP}i;QQ8UZ@q5q{R1X_%79b6X}~pZ^+uktwqL7k+PxgtX7JM6Q4qKtU6fY zlar(T$Fdn>bNjqsbQW^JnuuCaV6*Wt>G*|kB!%CJ58Dq!rMZr1IIJ~0h_TzcZBajQ zQ9X$WSq4dTO!#euQz0;=OcgV_UfuvvDhIwTxNb=*ig~<+QyQH1PnmW|4Umq}P7_)X zI^nW6V+g01-+Tt&gx*3i$$gf71lJf*j?_s=P}cA7E??AM#}cp?1IB!2{5sbdzkb?@ zQP4!h6`=knrKgOvKyc_Qp^V+HWB)Rx36UEa@$AB0;LE4LDFove`yA5IgK=)-<+wqf zs*YbB&&k~Ow^kxhm70k6&isZhEi!z5gf&wRJ(lpv%b|DC7_GP`VGn;Q|Cl5mAg^q_ zWSdpNpS3){%T`Xdww*4P)ib6i9cj>x?QX_<7mR5}gH{!frcVfK*oMYlU9gCB3!>`V zVFeF;bSgLY(6oVE3BDEzS8CWj*Rx5OUOcpc>PPhsN~fpJnEj;e6O;r zJ>Dp}P2nNyMHt3@Vc!03b9&>tPZk=LM6I@TdV~C%z+kyMK%dt~K5kMP>z1s=#y9@o;KO zu{x$ZYfh{7@QnPB)$8wuWQthEELTMYcdc8Pr0RMZYGoJD8-yGzro&>Gd-2VtX5voZ zLl^^Q%!zD~2bzCrRiogT=dnp)Iir=$T@TV@%;dtkbK+xlXxV+&+jXB|?HLEcJ!hFE zcfX#NH-9th3DneZ4cxQO)J$B0>W3Tja|DpL$Z+xW(rIceUdv}3PsNv(OQafuG><|( zDXPcke>7ODMYg_4Jvq%WjPeAUCXJO>tY2f}kY%gbZmB2OY{G?C&pIvE?Ja|f%jlii zUsp37mFCH~>m2_RZMlYCE(q8lfD(TV=JuBay8XVmy3!-+yyL;JI`e8uf_N)tNaklu zGKnHwNPj3~Df%RP-iLH;D8w_Smlh3Yjttz)qU7f7OXLgYt^T21z8Y*z{HX^|-@mSK zdfhPH?)Ev#gAL~Q<1ed~Nj7p1B<^?6Q2PgJiWt}M3FTAvdasxx_<`8fjgqgRYuqAghI7v;cE`*$6D`wK&3G@=y%{wX!tclgs(v0?fa&v1e!I>ZM0zg z>%=9PJE%wkqP|Qxd?AD3CgP!(bgQ<+ZSRyP#IiOu z#exHTDJZYjxC(!?$f%7Bdd5e-7i<8~{_|ykqrhHDg>1qd&#?iTl#LLFc{80~Y2zaP ziHGm&b-=q2DgUIjHkd;ILc z(yu(em(RcU$MkZ8PNef6l+DjXM(mM-pW#&WI%MAnm-8(XMWf3YM*@mSm83hu zd!Z-!m?ZcDW?KnDc3=rPXCKCc^8#TM^j3>>1LKMGvB5e~8i~e9TwyWQv%=QAfoHM_`D)`u@s@jD(TirRa*0Ka6AGoIMrT zjY%pkgb$wNd=+^wTKQ)2L%1I0@v{ogw0Kh|5i#NHZ7k=ghFMdKT_Rvtj?j`>_Qa>A zqBKbi-*i@E`>Fr$JqzM|++ma6dxa*G-)h|;+;TYkR@m?WLL8-c z*h7w|#WyUM>8tmoQ=SH?vV*&Q+|!?17oXiWznVjQV|765v9qL)UKH2rS;~GO)9L7a z9i^b`jUcG&g3zZh*Wib-V6ID(%9NpD49YOA4aROPzlJDr@b_S9qxf(qA=5-W>q;O0=S?sO`(heCF9GOj2 zr0&wUYSM&K@>QQwr(qP9OsPv;ZSGku4AzY^&E64K`EYFm6zGV2+&B{ zT^%AB^yK4g->^=Ry6N@nbnDX|if-MT4KZ%hrl9ndK$*^~fqPxTB=c@*gSn`i#6BI4 zHJ_EJ`dD!-^X9YMh>bdAb59d};E%X%@737y|gjc9k6*W^~COLZd>Gez^}$=Y0U(wt^=B)ZCD)0s(p zkAD`8+=fe%RyU@C;+xHzeZ>#nb0C83momrYWc$?~)!$+}Q{!+#sjk$j`;BnjdjD3o z*<>#Bd)F^(&!wp4Fr4d-!V1&7A(flVwpW!XV7s%mb}HwJM;V)T8-UuR?WubDNtv!Do1ip}x_iTa zb@}R-=ja*X%{Qwl>$jTawUS-Dc*`nAe;#HYl0}R*4xj0>Nng^|um>s{_@?k5AYL^b83Qhs_e%g_oBHuH zgc1nTOWKVgX!M}`#yB?mLL++sIkBpKu4p0ip^%Y z?RJ&stRp||z>k?fyo}NIqJbBPh9x!DBQNzkO&z^tywDlKe0kbE;M+KpLvmlvz|M*1 z9)+#0y^3Ru-9Ft`P$BiiqO_pD`)uHEai78pfI(Cxf*N(m0g9@A$#h?bjZ;=lt4&bk zgfE#sX@M(3dit@n=puCc20aD@PxMa8zCKa$nMtAnkBaGi?w6Ytz;f%?)~rAq^h} z>EW<#A?jz(m9~z5CMf3VTaU_lA*4K!pCJL{Affzco8`JtNsva*qHl2$^v(~^E7?)` z*k_FBUQnqC@Pp-wRBtm@orHXo|Am4?Y-1V%4hB?qhr4iwWqg78U$qL}}6JUhz%=MCjd@}J+gFu8IgAH0EUJi*8Kg4>U@@349zw|nswCEw_5&gC=N16hR z(q~!5kjv3_v(kHG3uJC`OL#fo)$A$bPwD!`sH@!q4zkNO%ZSI<0*Oc1A*<@=zJA7S zJG)b~>yF-D38Wrj?@`P!5)b1~>1MK&YVG-_)wds^=DBjQgro}5-5!A$AXE4RF}nLo zU_?~>ICI$kG1YIv5rcTD-?}3PPwK|J3eqU07>ilDhXZMUzqcn{uI1;MBLC&iWt8Mp z2*j3@4aeyjxR&huD&9WA=Qm<3=<#$_pC%U7&Vt7>D!<^^&R)(ug1kj+qPXO3m2%&6 zT>+Zlys7oK4KK?s+7at_rroHp{xU#SQ)fWfn78}$;tA45DFQoB=&uFnWpAr5hw`TG zfhZR1X@A8RwD38a+S&h19|zivZdQAPWw7#iTaiH|SKEy;Swb2h)~rAm?TS$zX`yKp zAk!cq8kzbst5p-4#?RiD=EECZeE`Wmg%7?Zecl!!9B7A-8Uzo@N+C;7LYV^h8f23yWT_Tsw(`^p2!Bv zp*I$jVIv|W(uKVX)9UER`4W4?fkL+)-IW}gjb3h*sR2$haVR*nK!XjX9=XI}&xkd% z3>}$52OD>gJQ`8vUL;MNrMTx)$4$&cv=J0RJ#d1*fXqUwEV+0VreU=%2Upnjd~GPl z;bN2mu_o*-VRSslw{UwH%dzxqn%+jPuJ=h-jILg8@HKh-lNs{3xi=9r)E}y5qt4c_ za~i1!`#jg+GPrKF3*`SLj)pTdvE$hUQZCVFOStgZ)ukv#@>48 zWfn|+-X9sqh-8CAIbDC7k_QLwM@Q76PEfP<+8@8%I&^utoNWB<68hY|3YuVz;O+k) z#EhkQPm7DrB( z1(%5WGKvzy>#{DIGW^!zYrngqt7>M`C7D%Aft_k*$R*ivZGqiqW{vGZcz0Bq`rwM9 z-~`qzV}v?j3~VI(T5^gpcj)o7CHp_p0?Exu>C~3bqxiAmpWav<9h{=ypVKR1%^B!9 zMp9_UH|Wb!{SOKuHLz#(lq7JROD=9wO$Xs1Aq&cn_2Mfy9;eTzBsltGfl`|7Wkdz$ z6e(Q>_5r4$Ion@GMKTg27C$x$Ty12{)08Y?t4Y^l2?8eRqyso|+F!4qSGAc(PhY6S zt~=p#-IEgHJ-EuIF%p`ILswNMXDWJI4aNCA*ffuol0P_=;<tT?Q4s$)3bjLvvEk$}b>8OOu0M?@G1l4$1l?_jp z1pAut*?9DsHj$n$&?3VGNkANJ6#N*g&~Cu3G2L(9ef9}Bm?pO>QX(sL)1{|M=VvUt zh&uYo3cU}Tw?vjeceL?2O8gnt#x={d=x3oh=GhO>M^N(DIV02TWknhI06&1r0`4TX zl}tN(m88`3g*ziqwo^EVTLm+VySh?uWT>XF!IoEVe1M3VXOf=X@0Z@e{VmytIyg#= zSUi=3%QT>$UR89`E#1q?W|f z=J6n|{b3oY(LN7E5p|M=Vk7qu#9 zLp!^#)8!yg_=s;I;KC_4XB~;-O|`deG5uo2rVXu6$4@Y?T@C1!6A*wmEuJ5F-0$+E zY;4;&Ym!iZM0V@e{zizYWffJbEu%ol80Q*fS+uz1W^X!5SVb|l8Sn^pMe%}o={8hV z*TIk?MHNpTcwCvHo0ThwyMm!dLKIYm+;Jq4#nz(F@;IR`D|NM-pZ6>2=g-|ab!Mg5 zp6e;T3K7T@)ZS~{6PVP);3H&JKFSeAvyEM9+ucXV8<<-JgQ`d~v4#GGdXx#bp&NTB zW?@aiAF!JSJ)!l{YORazilWRvfS}rrlGFIqQ|%oEvVb$DY0$O)GOA6-sIpAXYNmbE zq}IJC8M=2`7s?N7f`md|To^FFIb%l(@K>S_~^&9K6I&T_30EQs1BL zXt!phD>V-|K}Z9rF{!`$)Scu(nx8|SLrI}w4nW-r*&qJHRfT&^bp1L%J^`82UiQ0J z$C&EXsuQM1k#e$;Gl^DH_As(kdmRLWlA{ofnn8ex5Y@-dK6-a5;n-^?`5tm!oq@W! zJ@nf;p0-i*3~2Z4?w>C9q-nDG&KqcnMShEtN|4M)Djs^Mps1+h&j%wBjX0fmlMnd9 z0LEP?At~tsaYfb^q+S{<4+J?daRzEAr^#l~2$BXAHD4i~ULbP0ztZ9|SG9$MUDncrZAnM$j&8U8z{SDt{r^kXYfzC`V?bar@oiA2icUhN>!9=B#jn3DPQ z4fYSJu0*+jfAR!KG6eZkA55>7UNJn$XWUprn_Q`1mpggG&duk~nz^iusRt`X3WL;; zk29QmzPn?HXpeend^Pm?VHgc|FC`ix2b=CZ4lB^~Vcva1uq2O?Ed#9jKIeFIBEkyiCUm9VhU$G?x-&wrAEt)Xq*EI2|2z* z`L(=hlzt>KwE<+!3Qc6Let0LwhDx3TjM7v9y-2>8=>9H9p8Ahx)e)m8U0)7zUJ1(U z)wxfp#ibtP9E}VsnET$_V=4M8$SABp^<1SFbOwB8B%Ny(CLmSC10$c=zoTMM1qgyG zFJ+(6%w3bI?&0mpH%_JLgv!EHk<2Z2_L#d8@Q^FBD5%cTy(*yz6<~@>*B(!RCd<~W zXorG)oKUU@L_@4$5=v)oRU3V#vO|Kz(|DZ%1izM`tu#UCc5X4I%j=$1DnMHhdo!E{ zWP`nBuWI!vX@O`}jFj|%lGlTy)m8_3hY0gIGXC&O7n4YvB!XJxFm?uXn7?miyq$f0 zUFF;q^n5_NASKSUag=!`)+K24f7#xYKC3WO`}4nToKjQ&zipg(s~o>tCt#0_OC>EnlEQvuq1LW8*2)fB$HCU5<%rV>+ za*e|XVBC0L{;#utQ#Y_wI_Fp4)Dy^e8gMq#spclFP5_x#h;WQYh=Q7pZQ|R%cS>XTH*Z+(FO6mhZzg z81478%6~y=Sgodi)MU6N$#5|E9Z1zUz?plBTtc=8PT@3}%v7|xA&iaih(zVI6v*h@ z`*`v>l)s{ehe#`CT-Sb~EDRX%37X{vM=2m7+ZXNd9@ z(KX@Evsa(ujvUY^N<84o?TPBIwfrVKv@X!5nYBvNx(-hcP{EkfEIf5AE&sZ2@K0eK zvX4pC?ZqC!H~c6pf~=Uxv&}v%dGe=tRO@Z7R^MGA!LfxcCH{|DlXOYV$d6rWEvqXS z_p%{Nb#(qAWP8g^1{`v-QCb5VOhEKSy1Dw?!1JYU1q| znuG9fG{>uJG-aoliDgGH%5vT3D1KGiGqpOUM`@?yVK&h&iK&#uD!4T*o&l0~0$T#g zr~u!X51yYZ_yfDUxX2mp(SAQ?JEF>YLwOoqi>|Hu%jNZ!c=3AJvpdEWgh{X~5ivuhgj0AO6{(an4k#>ID5hc9Q9-jdH)W6YfWBgH^&=- zO0F%`_A4W{ZqzgNRpG-YHq_j-lHz5~zH4H0$jw~xQS1aJ<8)q0dw2~a zgY@pgHjV!_3MQ495Mrh&<$U-oTX2AR7O27HQ)MCL}Fi&jNc*%+JU$36=PzkKs~SlWK; zd>B@{mP&Q)(3<4i=}MPhzi`Q!cA1a5ZbcB^87;}$L3c)7fw>(GVc;lAHC_242RuYy zKoKY1iCkKWJ&m%>lZz}w2xjJf73r9ySHRVmx5@AoN(wg}|HT zg(pa#^nsK}TN;m|NTvv}iV)_YqHQ?3fpA4SktTpFzl^wup6tsejGe}SRxqCs<+!;xntBCmsTJg0Yn=5?Az?G ztj^_dK4hqe3ZA3Q3{kq5Ji`KNmF1p(9c>?a3jw~IV#R!Uz>^ESQ`y51p0RT3%{|FSep(%P0D@n02S7ztgTCqbeG(&*@X-&*q zZM%+bk3th*iwsH@%|KO@a!#WDCtAeo&HNbK3~E;z%wFjdxt=9`DEMiNG$~!sb^4+P z5ltMXfI&1f2n$*7yKc#_JS9kc{^?7V2pt8+NHW*Rid!~gQk)=Pk*M@9Ry5GOr=6hK z-%zg)ls~fq0mP|;i!V}u=BgY}jwtUh8Xf;Gs=vjC%g00N-S!Yo815|n5^7MA3TDSW zz(Vn?(E&0FHNXe_C#vI%U_9yxUKo(c$oau9pAuwagBZAc{|>0O`>H77v+fiQmo%0A z$uv4<`H>yQ)fw+u3}&@GSQQ3j-5)%@qX)%@Br?uJZNods>|tw^BN+>q8$lGRv!i7T z(*KGLNk={A2I>0!5QkwTO~RcHJG_N52ioJ;C|_5Ws*%Kfc5Ks%pE^dGpvq~d&FZ}c z9O{9~ViUBRr`>qQoBg38o+J7|ed3|xii(D>C}89}4|D~TswDQHjMZlpwBuN0s+_6j z&-E_c0D-?C4Zit&Pop+ST4IgeN0aiEy4(<Pjm~eWiKTgU&LSq>|1yuB+3(9N=N7V9wzZPN z*|Szw<)2vu=F-7`=63xaADmf8Fhy-17-tj;R5sxsB;$>A=Xli=8C?H|J4lYhpwUXpSzN!H z$qSE@DQYOyiSh&l1!R!Ms6jq*D z(3L|^@tU#8$jnF_v@V&io~(gSUsgjOx2barzz;&kNZW`B3>g2#M2DjjIZ)Jtyp7 z1zbSlMLTtl*=pDk;7nV+XpYA>Y5NFPIt?M}P@qt*CD2bcEZsc)Kip#<^hX%QdDtu6 z3ohX00PU~v263JNO_py5U&Rz-EQwFIS=j7;Yh&80;|w6^ym_1DPm--x-;fzpoKsaC z*&`{NJN7*b&SQJ(?VkV9LOL4T?I>k&EZka|5mdGwBrNh7s8fZ_23!y0)L~)lxMS_t zpP$j(!7mXO;hkTGi~Oa+lH<>7sGIXTlf(3Ajy+>fAQt~W>BkVZ4tI`&X+#z^IhQQy*ayC_!(MYuptM}w_W!fHM#Lu%PgA9RHr38!2Is`{qS{Pc zaK>vM=V2nP0qiBIxCAg8s^jT*(tB_E5PHMdk+heL_;ggoA84nW+p)r6CWsGf^yYh| zTY=u>m?bRdHSh)bgT-b3z_W^fqDOq`b#R%XXV#aE8_sRCoqAk@`Ax&mgg5AWj`CVS zVVUEJ&jus}(V6xVe{mlUhCBZd@}xESI8Nd-(bp|0BnjNGl^cxDPfl0A@lxNhO-ujw zIkBL6B!+yRnO^Do0IyklLc>2@g(K?NxuJt{f>yR%E;`m0#p&Oj`T6wiV)86aL|AKS zMu>46BsO<+ZXnQ(x5cNY4x0WS&fYqz%6;wrRzX4FSXOS-#TxF)0C z5TvBLTN(s@_d@sC`<(MU<9WyX7dJPH1%m;s?{&>NKXby4rR|U(EaNg|t3C>wnkMmM zsg+diRcdDQZGIKG^-O0lW+eH~ws(oKkW{6*T)0?PE;d@$4CGQ2i3=Qzu(zRXct>se30}@>Q*)z?xsmC2c=|^QZsR8YkntV_$~H? z3-9s83NA>hRX2FLf&9-mVEYaItaUA;7B?YjB6r*qbIiA=Fe&~s86#Vl<&F4A1UGf= zb0E--85~cgX{K*lqMsC|TwAx#2JU5k@5X6nafZy+b=dN4s{(A)$tImEH(;}*056U-wo?FeIOn87#bX@^NV+P zoC(AGD{^Ue2KwkL^B*}U^iQ5;xMrIs5+o=%Gq9zQ(KM84^a@$7F0YpTB~J6A|+ZMGh5%b^R-0RGmy{3O{;gJ|G(RxtC9wsHR6gTKb0cea!gU7j>S@Rk! zr2mNQF#WwzzjBUD#LDT`d3f!n-T&Z+yYOO_MQ}lT=ME?^u9s1jpgxtk&Cz?1bWraP%eG?)k6oQ44`q~NSzQb~9 z|1hiNaML)m>V%bcc#}uFMjgOO3tv{kg?&j`jw{8wmPUo=i2`{@zq8SAE$obge`>_KA=kMPyi1UZ=6=b5DS}>~`e=Bf&z!{&Qo%soB2k{$)@%oyFN&G{MsQ_L*OJ*%2uVfkLRlLrZQuPYj zRh7h#vkJ^a!}u}-)KdlVA`TI3mXa28W%|uEZPwmp6OC#X@9b6Je7D~-qm=ALw|!5v zETLd&4p=oPKez^OpL>U!SK-%|xoSQdb_Le;Kr}(!^3qbklZpvuT+`Cp=Q{j?W>>PQ(#_Axx|8{1 zkV*P&kU0a}MPY<7E^_21#7j+k51%Yabf-O&iVzhYMAlF7jh~jdZNOmZ?Zx!j>t#40 zuiUFAGBnG$+mm+Hx^C{9fO@%mMCvj*NWAm|q<8$nMo@gF(=!6Hh%D_Q3UHBF$^h_S zs%U=bo$ek2^-GlJR&N=JmpPDvgM8Y`^&Qx33yZ z!x~Ptitv1|Is!{fl)WGxGHPd{JsN1j?YXz!XsP_SJ!YLJ5qTSFCr&MDrw=_9&OW4U z0^w#XQKHdywq^cvc*5`|V;9&0Dn0RLVkUXH$c=+*^-98reRM%xp<-UQTwv^0#BM#_ zkCQ&632(<*GsZz$m-C>B5=p>@l&wJVA;RUK#f67y9xZ8>+|{eD3Y8}@V69h7fJh!Y z%r?4p#xhl{{p#te$1#oIWeHy|^tWKLUHmMV*mzR%xk|7zc?&{7U6#Tf(hIw)e&7z+~F?ljSS9*_<`T~y1riIA+gQzP+b|DSIdW%o$h1kOu{^k?jF=^ zu(douP3Ph6DDK6EpQcx1Fc-KxkUAq0;@ax%c%FSe1jm(JTXec`U$OkC`|%k)xJ{4pITS%h@AU zclHHFl-Oxw`9br@xAqELhFtI01GcTRIWrxR4JI79bY^-qz!DumdT_1h^r#2EABLEX zWap`jm(v&mT~SoV6O317HoVFwpJAkwm|Im3GDkj;L#BeSaE}oveV^)2s>kG-sf;h( z1rtnnAy^>v5u82Lh57lGz&3L0RDk$i)Jr;o_=BY;XveArdDT+0#&lFzy${`M4s!I^ zc$u1AYCZBPReF?O_ht0c6O|AXBHU05Z^+7xD zFStxDz^Dz-Akyj+<#`Ie*nppX;EM&d-k>8L;4Jo&Py2B~Pj4TXiRWI>y^QO-(u(7R z$VD5*qbO5PH+I)PO{&PTGnb`WBVHfejMMN_hXxjLmx7H#AF*6;E2pGh>J63h zm->(7vKLZ;2JrB*fM~9{C8@?0fyRT}pJbeSM$=)^Qt}m!zzp6*rnHkK6aMkwSr`cv z#@*b)MucFpdAyI<$X@!YuBBSvht&gwg8d3!pp>D*i%w zQ1@QkL1U39HYtkAmB&7^tb(sYAGz^Bw<;eF6%Bn|WdaA}qU|nYfZkD_0wc7FOy4^i z@C_h)@UfwjKfuyAjs|S_c&k+0%j_tVBE&T$Z_%KJu!Fbe*)yE%ZQgw_X3VEPPu4b0ElUu?k5{Lxt|G`Jw(^9Zf46J zaxfom@&2NBups;|^p3Xe;qIhG4R3?Zts=+S+G1tfNn88#xHn7t3GUjos=15U?$t3G zWtPhOSIx#6_4dQ&j`@nIBRepY0qdJm!|6jbK^a3ktTgopq%Mj|RdUfTLMFjbqYuW} zA3Ul$Ee-P*92_l2evOgFH1y`GKmIc8cFH#z(M#f;X14Sml6+e8+d|VPX1}p9wLLq7 zNq>`67h0c(9hZNmv$k?{xQn#h=E?}v3`aFTnrw_c_IE~7-u<}bLJ2yS3>7zHV}Q{f zX@{gUI^~{c3iZW?r)Do_jJ;%Gr8Zffi;0lc9Q zs6{@wg;@F_c1HV_-`}#nOQJ1)n1{kxGw}%jP2}gwA|(U&4hwBC)MmuD!=`L5h$7vO zU_+@_s|PN&yzU*kGUg>?{qY;s=r~tqTlSxBSJhHcHfD+{N2HUD0M(5H`)(U*QokiV z{7bM5pDiAit~~K5;0?{E%`$2>cwQ4mbWFP68e0mE5?D=A<&V;meKOqXhpm;HH-36LftHeA4vNEOu#!y{$B z`lf%#saifNt(v!zYb;8Ce@Xo7-P!e!Fwa76QCTm>vG}Z#QTo?sNC)(PKsw(31?fmC z$8Vi1$oAhSy3n$$u~P7~gzwp)Dz%hO5;pEG3{Y^HNRT`X`m^~dT-~qvD8%~+WRvJ6 zoLs!0AswcPTd%{r`76jzm=M9&p0it`DT21=FX43)eMj0}V|Nvt^E~f@h6nHc6r4en zj&81hQaWh=lhR>L=J;#a_!CpGF>_l~Vzp%KBEzayk8>P}M}u5*muu^3={KRBcc&cd zJ3}>*Y8vqhZ^F0!_|SwMIn8Te^S>O&%P&8LznEnGWbm{ru#h09urv4dCTk^Fo}9jJ&xv1q%iSM8qhA z{>(#XE;P`DT&R1g7KG75 zbgSI<3g#N;Z}x*{h0V9MmCy#f=(XiUf02Vvz|j#YtM=tw(jBia^m99U=nt0R=!qGnD z1}YfaHS1&OE-K<;+o)Ip&^v{ff{_q%neYg)t$#k_BrY?lr+4glP#P ztple#)M-_$Lf{e46BFZ}M*X)>T)%&+7rjjnw19e)`T$aoW{yT&)gv6aJ%P{BHknce z-7w1qsYk$#+G$nMm^v%(7kU1!*$fG?25GU5_uLrBcE?VN?G&G^m)>awzN4s-2^;uh zuh(k*9`Ya^jWrI)M{4!MUS>6kGnlPiya(tNr z>meI0ZlW%y)o-2gvMZ*-hFqt@vIN}WHx+gKnrvJ)X0wo=e*(ed%|6@8R?=K=fBro< zD61;1qYk3iqN9=-fmL*;S44`~L-2*))fl@{3P+j>>6UbS*B!cP0 z+M9e5X(n2N!?Jn;6sJf49Z0a`oM`?bZX~ZT z@%u*!DOza-K}@w**|D29V6?YT*XnpCrBM-_qSE z#~mV&=i@03OG;Mpz0U(o?{)w|MJGUogZvfVi$P`QS1)`SvxDXdx z^nWZk5QxH`28`vXp#a6OP$@mJD%3gq7J5st;H1uYttxA?|MwA$Y>?}F_+yJ8pyVWh zl$<3KuMyviu$y7q$hR*ngZ@4xh!M!4Pu11l^l-;tC zScgI;*%o49-VU&mdpQeyXttelKg~-L;ieJfG3xo@#|CG7z*_2?y=hG!yrYx3TA&-r zZB|AU@8$>OaL)@u#^8op8FOQRk241E6jL_7YcY!*Wj2F@9jC4$XQj9 z;F^Cos|xyj1O;hOoe`=ZfsZ>RnH&lD!td{J%ni7@+c;-F#2gpvNBnG&7^@^Lg$RiG z_Uw;XV4pED`w(MOf@C2CF;DI(70D74@PNwk?D78VCD&p@^$XfxFSsZ+C31&n?eF@r z2D92|*Hnr0r+xQ)`d;_)RMGTN$l@y|?}yZ4kR=)<%^A%rUB2B1j!1Z8dBT2;Smd2( z`iRxm{C1nA3{c#kRLv^=7dlrCmsoZ3@JaD2ZSz#55e5vheIeEs-DP+dTl}&ktXCJ&1%XIcaML3*}ZwUNa;=7~07uOn# zbzrW?NBD8mtjxJbL1p>TVPz=}6gX5!M9-LHYjxK|c~UG&2z($I7*~Dvnduafc|x}G z<=Wy;f~4s4626e85Qu~GPT1Ehmo{glSm+TV`ODvyL91BVQs;$i@t{8RzpTk25KMhr zNhTNZ1b4!ClFU^%^@PWw1`TZ6*<5u=ocRV>(SR>G(Pa18mmCuK>`P8GAqITOAtJwh z$tV#ZU$PJp;7gWbu6gz)hd`u2kKroE== zDZ~VSAas;L>{ROoUOE?CdtWa|vk`L#U(k_wJHxyAuh-A%K7~!cQ`B{phk-95&mU@+;HZ=) zyc-hhLMAZ_97OE34hf)lK_N$+6c3)T;s|dW2d@l*s|+q2cia2{gzfzJ!)MC01VkZ!%RurN zYr|OM;PogQ)J54uryAQEC&jx~xSm7HC<|ww%u^E4VUbB0!Z7w?+pKxN452X-&8TeE zvKTL9*JqH)?MbJM9`Hx(_L%#NIL~JmY1k8fLaI&_f1x&J>v3CbFSa(CJ?h5eC#Rt$ zv1E@Cp95eDeIbe%MO>~hBO*|$rZ7p7>kVufTqK*NMKdP_8WkzgO;SvLQ(3>!J(g7mY4ec;-!27nIKneAETbx1JWBHkfvH>s-i@N z)Bp=OZ|$v_MM|T0AOYvC;$&HYviQ@R&-zgLV*f~hf&ZNVlldPKU}^`zFZFbBQS9a5 zbNtJbEh9Z);DYO82AbeX0BQ;7_1UbyfXC}W?(@z!kp{*)ru|{#w$Cy5IS^lZ`wHm!-AL`{~MDtoJH$zi9JM)$kzZkVv|!&{@kxQxUka zd;M|I9_EY&^NvAq;9aKrZ9aSwr4~n>GC^zXP#170~1356$ zHMIAmT|w0e#Dm;&FnB-?Ozj4g1M3oP8+jEpP9~$%rp$CUp<*PMhxtZhOf9(f7*l{d zM^Zec8u2{cWlSLEf;cq*Fn8Lc$sbGA*`sknS!h5@6ti&z|3-1X)MU&O*+G1Zt(#H} z{3#B>T7M!uqIUQJuw3^o{{HWTCi7%v>r zK*oy&0yBv-M(3fJ}~G#;ma9h{r1w^bQX+2k_a# zX@S+_6y(12P0M>tjP|C+1T#}2eaDjP^iR3xhr5^kMrlUAG z*NM6D=_lqYtX^SSOd?>(kPZJgOGZNzzK06JL?fg}36CB>$MAK6%$%-d7w0y`S_nS*iPt|Y6!zND`hT4>KPXuJ>aM|AoCZx0b)$5wwYx&b9+JA;t!Dt z|J`7u;2hS4`b`wG?6=CEi&Fl%C>S)5j;@~vX+GW;QAqO+KI>OfUzjs$I`LC;ic~WO zr@$hsA>4!7qTacpPPHz|=nE#|O|{hlwD&?T?)tKQMRD8$!a&G}qrCRTyFRYCWF9yF zP$L86O=yk;0dXS(-m$`1wpVMez)e3)uCrse_-Ta}g~GyFqS(t@x$h`!(=Jit1_G4Q4;{-1UsUBO9mR`vw9y}vH8b0*JBN&bjm=_Omam4q3-I!m&0+>n zSmEoRC~-L>d4W_HUqMc!{1v1j*7sHYd|*Wrm3Fs|Ff_i?*fhvm?s*F7`Qpm|E_s&s z#*cBB6-y=S`!%H2i|f~dJM(rrzxb2%##JTmRuP62VbkWtm+)dQeJ1luFCO?aKHa0V zI_BU#el77%ZR3oo;UhOMh!;&&F-nW&+f@Lx%o{(-^0J;AKamwgUZ%H!_4|T=Wd{H~ zWFD4j@AYUOzZWsN$Cx^=mA?a?124IaCp%v%sCvRi>gzPILnkFF-|Y>3VwpD6PR4=V z)PKdef|lml?AuV)<>1ZxVCo_QuXB9yg9hCqv zTguSNZR#*>@bhdXFEu_o%CL0n!o>af$UFJKf3uiEjZ6p7TnB46PN ztulVzP|QvRu#G)lfs9a0!A$$N=uSnMKu(-Pnk9M4EoMr+CiOcyOJ!ToduTesw!{|I z6~V73a-tB12f;J!L*1rGl!Xe4J)Yt4BV6 zyodQ0)ie2j>LI!ai}Y1>$9?b#S^1g{pd|uS7te9}+@}`+f6OWCgz?lE!cb zF#opc*T}xL`0`!0J)E^L+1))({b$I+yPyK)EwR zKip+4yGCx(^84e@b%IkT0qB6&g7rclk=X-Oi+a%~kFaXQ2Ryb@oBmJ?wy=I#HSwTq zxYK3MzWS{Ik^l-I+E+Q?Yh%Te172Kk#`n1_;tZgB0-hr2>uvxz;3XNNjLGbQ*lum_ zt+qgkFcbiqeDEg(2LfXc;D9YRaotM*u<0J|c)iNacu88HVZ+@p%=zOqA0;D3zLo$) z^CudVm<|LId`J>Bo5kXBpq6lgnMN60A|>pfH4)pd^|7uB1AZ%jmI~JGm%>3eX}&bg zj1};<$jKsR8afAvWV$-_ZMzv*fC6|~3vXM7{jhYGN>68ax%BPB4n|4udSjE3Lj<0~{1j{*vA=uJ#I6 zf-2HkfE{+kk!tsWQyJo)& z=N12_-8H_BCFDLJ` zylZTYpEf>l|xF3z}7Hzw! z&x@H^i~{MyhPd*X0FTK(hsr=dX6ZSec_%D7xT1&ntzBe74y+a11*LL|YcsFOyqA&# z?L;uaT2^}nV^N~$J0+L+BdecFTUAvUK|9J;EmLMyF$mwkd?e(0bZ9*Xyb&%?cH&uK z!sCiwe#ZA_xem@UQWRv`>Mr{M%`HuE>tcq>kdoV3T)NWDoqqJm%s8^!HINxuVgKNw zWwfqVs8HciGU*5u*BB6unc}$|PO2M`Nmcg}4y3|Kx%%%NL6US02;Sx}w)*_|=A|D( ze-eo6X=Yw`kY3wqUYC7#`+0)VTB3RGoj@HC&gW6DaSJ@fTzkZrU|`?{%?893`4ebw zzGts=q{bNIFLCjd9eK>?Sx^c}ux%svJqvj5>t-5tRHy&>OWTTkYNGM@(V z@dgNmpROSCJ=k=c&(Bfw`alC?`cFtXPXCkuwKxC?aMKBU5eLQE!F<{y!kV4dYqkat z$#Xb1fME4+GMf8P^)~X781~dq6*hCw!Bo-IF3`c?VRQD;CCPj@g)q@ie;h*B0s5?U zlj=Z@bWW|OdT$n4{E_!r;=%zWE`Q2m8acK9LmixZ-25@4s*>dDtDcKgTny|jPl%2M zNisKgKs@^h1<)B?LFJm+sLl66Iy(}1A1@QwSc*S#mTd0mw4!U2_~MkZ4KL?#4;%P)mOhN_^3=Og$8J)h|P37Uvfjo#gnSD zlbPu7yo&Kpl`)MmYx%}7xPS1?UqedV%a?!e92-c0EvVrAcLMCF_;&*AkTTC&XLPZq zqgv+kNWUL#Lb0)5JdF7q1M5UqV*~iM|3BypTCknT+PG<66In?Ou<3YY5c8wwp>UOch&dO4rZZ&61+(zqXsCnZS0F zF5f^Y4cKm~Djhs;H5S6#Y6SNf_;HjCSA%^?Q-onRPq9p& zVQxko?R}ew!b|TURYZo3?M7oYpT~-4zO6@IYd^WDSbts_*;W;b=9`;`21tLrGtbiB zULUZ(96=Z3#xtK|NpbKjvCjJAzs#cJof#n`;_fFMEV=0JzhnJ@!YlCW0|%MsX=NMO z?=0EahdbUGrr*G@)_CAi$(V5_B_zNjjK#kI1}x4qsoMv z*$14qqb|X+8G5#ERVAvVhx(I~luxY=6tvw!&MG6z>LcII=f~OqIc$Ff7z*vU*$@tR zewMs5Rr>jIEZ7HDOs79e=)p)M{PJ(}PPR-YJMI+5L*=OiCoRmR{m}9aO4U;0Z-d=V z=8eY5duO(Pc+kT|^>N$~rbP80$1Bh@cc!6}*iYD%!f}1&T29^AKL0X_sa3Zq^BJK_ zxF>AC_S@U7Gu-cyvPXzI_kGhm6Eek^3dcVJiH-JtaVgH6oGM=j6x@iQ{`#E6SM|8Q zk}U+KgYT7@n!l5E!O|4QCrk^KLFBdkP5%3;`UC7OzDK}~(p_%Oga$X`;KPA;w!GfY z%*xnzq1!og8Q@NfU)H@AC7m;Eo7gB45pL>kyW@_S-W^JyILl6dkVP^A{%29W3a)cv2aCFV+^TmDHxCvUrA#F z?+pP_ve+9IA%TJu7??Bj8j1((juep~q>r&}a=L$i$u>vegyk$~930p)1?`fUyM&^yNY>alyq07#JjFN&vr_tm!L4 z(ivw^h^!K-wwL{{5SfwATTA(0u!ocDyWezC&4K;H&^&|NN!>e&fs0n8vbZ+3hAZJA zVN`3Ki+8=}%d7L~xk`#B-N|zutoMYK=p9d-`5@}+n<~qJf>^IJI!m1kzU%3>f?mXa zA}hh3BboE8^6{2n+N_(&mVs4muXFD&=49>+bZ>N;8+;)<;z2cRBdYbT(J$bX(BrHg zGwim7TfanMz8^{gzLG<NMtxlX9aI{}X#G9)wA zj#Zws)Ym3fb-H)YB{J70zEu|*3Hu;8KN?2tN@k`_JV?QCPUy-zn20`@ptjM(e6%eb zlNu1|}N4rWms?-*6y zc0%-kH`~e^#XdkJN3v_FB;FHq(PuE$bX`^*%Jw~KsSNb7EKV|wcoP`?tX1NLzZom| z-Z`G-W4WyA>i_{ex~wW1kykp(pS`jDu)KHKiG4sWo@6ryF#coSYIZHFmN-fQQ2iu_ zs%6#w&MyEqquAE1Jz{ChwzOP)XovK7eUB4(=%~3$GcKkz_5Lx04^A^~r-;GV2>GIA zRp5|;-;XU(RWW(d$NAb45%?wnwkp|wuvJAiiIAUhR@euyl)Fhnl;)w!s>ZUw3UgT% zSYZ~ip&i&|D}qXYF#p3(ME#eaC;*k;Z6`dhJK_$?Qw6(pq19bqsuP=PAUJ$-l>U@r zJ%7lM2X*lPFMNPYE1xmK{1L2g4PUi-GJ^Oddo;7*_Qj5$B)<{q4@427t?chrOGwpz zl^Mzze%Cv_=~M@O^e`=cH<5iarLHB%lXyo5_SI6$$R%_D(5(%q-P_RN1p{I9&OCc? zsDz;N;F!RuaQwGxh{5+SdeyQoKHuF3ThO|aedN!&GW$cuDW=}#?QyA5J5DX~n)`8s zWkv2n{F&qY%c*(<&wp(zt3{+_aoyK^^Zuq+fsOsI^s0DX!I39&dPm;={kKfw9*a6<#`D_Vf`c+$(YGo{^^({8U>Cu7}kI4D)gBnyCTv^~l% ztk4g7`*5non)Wb^W2T*{g&M}>f8Jxpu9PchbvBKX%sL!W4p=x(IK%sOJOt-zBROwo zEIGYiViffqrB%tQ`cs7D6r`^5kX`#LX6t&-t9r-k2T=p@BF*=N6R)7hkmDt53o-Ai zmepCH3yF_*wP9?)=&N=n_1o$R0?K}vh!k@}`y~oFly_D+8W#zM%-;OG!b~0EA`V9Q zHPDvFs{ZivFT3@w(?lj<={K+4!11M`qVx^DYeOOutVQ5}z{d4#mHMV-5a) zf@8T4&%v?c(BHu^_Q~JDG4&W1QeLNzxQkgvaS2xG)X8hSvs&}0l`mHwGDzEM$Wx-`>~uFo(37AOUxE}980(c5 zV_9aBtV%t={r($o2I3_C&W@3H+{^xVcI-!~_zwT`Uc0^w2JVDdz09UCBDXTqkXC(q zzGwyUru67wub^{!4Vp9RFBrq^yI<)Qfy*`+W(+*2qY#2=#$Sn(B1BURXA9%@7E*1T zvuwY@ukbSJ7_mCP^lg0-5hP1S={xZ?HYG{=k`(MZ3B<3eX01>|ea~tWSa!7J9$}4V z#1*2Sx(i547+DA~%x>OmaW8$AgXOyGC=LrGj16svZ%zzr* zTdGa|XCUa%m?ss^YX*h$ws?W-2O?nAQ>D-swyjoh=pKM%1 zzGNEzy?#GD!BJxQ5Y&DLb2Zq=G-J&>#VX+&(3z?N^V<;C$j@Kr=%%7iFZ^^kU-oQ?u!+ z=7}Kxhk3=H$X{MQWNqjTJzW2i3&!@Ua^l<8fu_Au1fEZTENM3HxG0L zD{e?_+hv^QKvQ~qZd1P?Y29MxIb<-JZ@bD^Fw1(F^$7nbGMwQcs^TAndqf;$-w>meLvlWQY>0LIWQ0C53|v?dw!cvW~ve zoJJjz6m86J^N=pWu7>@lHJGxPKlZr2dLvB(0>vpz`@ycuO-(Ff8{Od?R;%X9-+q~` znm6zQ;hDE;4BsNI0i4$@N$zxngh_42h{FvLqJ?=mfA{Z(9&uWZhcxZ#_dG$TJ6q-a z8K2c)JR`AX4j?+7hxegO#akzp3>csq9(9wZW1R5Lr z%;DWqm$jF%N-dSsxZGQhHP;EF4}jq~8ENK9d?jY;m4iTWYW%mmXF~J*`@U;lbMH6D zvyla%;CF;PNxEXZ&l$8cAS?t}`DDvUJj!a24-_rc6MkBNAkDcV&l$98?II3T=2u<) zII4a)p0%60LcHwkzBtTDA{VVC9C+!O2vMU7>3*6YJR*lU^G&AEPVPwB@5~-hB2ntH}kD_S>yLMKutwnq*G+I8P=$9Qh-Q$Z|YwX0rKK#~$ z#yE*Bt9L>sUIFGOQF2s9=Y#Q|09v?4<=qJ=fR$D zDOR*|-yrWtsVBb(wEmw@2IcTnfS=R+m^_8Tx` zfsH~lU@uoN?J3xflU1-|&g_yjMOK(LDxG{32^2`T<1ILLEH(hp6}{zT^{z=9$!#_~vBf?;@Zi(|zR}9l zTe!^bvuc%<#hM}=V%%^_k%mHrm(Ss|yd#FOW{{GEye={HnsTj00-P4CAL&4|F1Yby z!7D>VBShn=b2&2bDmgBsxbDElOZN>8aU#CF+q)9lQUZvr4i*GP(4e^S{ zXwR+DMZ;(c&zJw?0XA7MY*~S#W)A{?qGnbb5n0FZ4T%_vf?0|-mo zMrRklr6wgnYVz_CfsQ*Slb@o>^@d~jaS>?NmJujNZLTU}B)`FZ1^A6c*PKCdGp;w! zaWmY26@U-pbxbaMhxyTt>rFoxRn5oY4CzjB@k>0w!vv*Q$kCjr`1BI6Hetc_=U(K3 zh>?JHvsf4zz0ZgL%^QOzowQH_0CU4C&KE3uorkrV+dNlCxAUj^=S9zN&w?&Imwpif zwb5_c+8^Q8f3an^r|85!VgLcR@@is5qjG!;Z4%UbnSy_{MSBZ?xQoM=yrH2auT*?y z5hX?^df$Q`@vpk*py5At(O%bYs1MmGng=eP0KKVVBySYi!Zv4CErQ9)Ik7z-fL;lTXELSx!T@ZU9}ceLl`fmRMr{ubDbl({-JEBO50 z&YvHTQ%>=CenH+uhmWx~<~<;mM{0OI?gTM4);|sm3@aU!nX8np=WT3nQ=v9F(OKiO7f*YP?%c=cv#8=DDL7c&+-P1|=yBUW1tJf!5n%!Vu zC0t&gp&AZ#Sx3gS0}VgWSS?oUbVaM|R}4B47`;P;27XU<>?%;X;- z=}~wn5^HY>PC+pXqBFSLl^iU{r1P0|C{pd zDe;!%dX(37)$IYm8?;RIwM!2g??X*D^iZI9%l(!_XE?SXxGx|CAq&cmx82c1JsZ)e{}P*EUm+0kk_$#1#HH6_hUB8V&_gaFnghOe8#Zira?05f8+!_wk>#)iK z&K_VERf3-VD9-!5?D;y+CfnwEH1qi|wo;1E%pVSNjko9Cpa64X4ClUh&N9Nn4+a%% z!-2^zIwFVeE}jBLu){bwg981E=NoOnbwl-IkydMSN*kju2Rj6?4=Pdm^50!MeYOB1 z9Rw6Ang952DY z9D4S677)k&dhWZieFI8f?eC}eji`KHHl30axJ0@GkTUq=n3(jHm7(KNw`|RT{}0ck126W_&&GejNF^p zlUwn2Fu*H(o~!>Th~d~KnrqlhWEAb{ZDSR+oPqBCD<8X?8dSG{I+X})j_&p*@hoeu zM_FAZD%xHESX#6C@O!$9mt*+p6F0ni(t>h!{hyqXR+QpT*F=uq>|A!$%cA@{_dK zGEkWugr1qX4;trD^Z=j_i4MYuwqG4}V&>|jZPbo7Hr%yvlFkc&glI`!W$rD-w3Hw- zI?mOxNbPRGp>Qp5Kviv0KF!8T4DtT2DBG=Bu6AkcAX&GqRI#dq@AVL^nmCyn!I6T&i z{S%llPtg$jbM-nVZgMJ8!z@JTwqI>*8=s?sGxZx8oq~8ei}+Xm-2LUEJPm#`dygRNm#HQ z*1g)1;hA=o%DI&8ipR%VizQl3&=U32fXv*<`N$fUk+&k_lIA|ZH@}F%N&x%DszWnb zsGp`7OE{TbRm~)|G+%~l=Hg<%vkRZUyK0-!#QZ#x(^^JR;$lI$VV<+oOi|`UW{^=VK-QA9A%SYJV$^acP^KxT*_=-e#1Ex^}Oayvy6yDyAg zoPauvmo)5BE#u1!xRLf#u&%X7Q&93yJymc#W-+YZ1?J6L=D*PJB2V_Cs32A3%%9{8 zIlq*{)UkgL+xBbhmfRq=^0s%P=2rU{uRNzPmz-SxK-K03 z18`qH>qGR%>N$kuO~v|nO*|@9yA2D+LSQJSh~UWP+E1EzjH2Veo32e{8&Tx=L02gb z;0O?uFowmVqw9WFVVqlj?W;}fKhNCRlgQ)uTr`o@;0pLkP#R|oPf=k_3&FdcrKZbU zx88^;VYDT;oA=HIQ*@ST{CMcO7b)c}(2Io2*O^4Q{5{A-`uG#i8c|PFto_dlOWl&W z1_($4P5a5a(UTuVPQCDV{(&3JXx7BAdB*S4PYKq8hA`DWNx!n!%D6N(u5J^n_3<#f z)jrQ5W1=4HS6=fo;Z3Af*C#tm{DxZgv!-QdPEn*b4~+e`ifwTlOw@Ivgx<5ZPyHwG zFB6AC2*A8xLu{+r^KwUQ&9KcL;)6gh@E_@i<2Y-3?^ip@ryiervL1M!9?*xK5+U19 zS?*48e z2xv-|F&pwkvZc+L$vsp(+yLYyq7Pgw`qIV9qjQcvVOKi#(@A(^EVlD#G2Ea_qa-a6 z_mClRSM$F7gSNk21Y1D+oCU>Z(BIBTi~9-ev+`=w*vcrNpr_o>Yf94!C%e<@4SXKB zr!)J9L&gKNF-QdsS7oZ0+lHl!a9p^)wXGG?g0+Tik3sbX&1&EFsa3is@L1^SV|c^` z@(?xahcPI=%t*wj^#uzTVi@n{^6ryI_ZHS1uR=`FozXarja>CGOv zcC811&lHcX_t>vNEPX--j;xY~m~H8MpX?A=^=w!(`ZRP2+?*K^6TmfC*i%NMZZ-Cp zKJ)cj@=M-W>7rS^k*igYBJ`eSQm$Nwo3q zJUj0hZYjSVf)db>-Sm>I;P8!w}Xc-%LgcHy7>q}-LVtm zy~5B6;`hSM7{mRy>L!&lP~A+&n@In=y6GkE&KC*0M@Dbi_vmAFD^fG~gYXVnS2RJ8 zavG!RN#5bBH%OcVpwpWiF9nR-jyzmdjGWLFs=?PHiz{)wGfIm%ygs`#cjS-&CEA=g zJMDh*rRr^i7otcpZq(g%8*R_zcHzV3?uL(YzN+zPzWoGoG8!e!Y&^ zfd8S#@_=nVw}MCA`JJg~(mlBW*iUu3w>Fc15MOn(VdoPn;yff_y``Rh=SxI>?PPSsIt8IJ@bc#3E0D-AkkfqErMKN%Nd>;2n#m}LW=tmuIEJ`Y zMT!d3c)0?~4~k*|HzhM&U(Gvjr5Xf6;rT}I?_dErXo>YW_d`o9p{1SkhL4lRW9Tku zZ3KU}NROKSv`CW)KrPZi>(Q6^+pIc(ijwkKMY*U%*z-)tN}i~yFbU;S z)G_yB0C#o2fZB^@RpJLrY{Su&JW@${FtA#~+0y~PV(-p&!iom^J>YRM4?WM!M@uMR z`T(9LCKBLuV7%TtGNqrtVlHJ{lfo9%Bpc&`Z1%m5v+B#887pW05NN|_*MTDep3R`b zU{U5DCNv%L@Ky<#oT~65BkzkTe`{EppDmO~MP9=oz(-8;i^A0|m*RqTMqzA76Y8sr zBu@7Rv{6}F{$~F6N%tniVeMAj1>P z%lR3p7M#ER{p!s;>s@HGlNJxiJ=qFxXuIhwWA_tg<}z2~9L7RuooO*uz3xJr_J&qw z3NYM`FqvPq6J0$@qu2#Ler`X3C|Jegu<$_`0<#8#8zB>*hnJh7`82E=ff0GC=0)U~ zw@1~h0=+YTD>Qf?KlWW&bglb}o~(s01wF3N0i=PCulT`SBT&5b8bxanZ!~ z28J%5Ir!#n^Bd(hkH0%0s>kpD?tqMknQqyTIYQ?qli@6R-C|U=jc-uphZ3?(QZIS+ z5o7ODC4_{`K?_f*((aB2T%d`wuPT}IQbA47-0o8K>U*tIk+Kmd=!(Cl3`y=N;P-!! zH*BUBO~y#AEP@KEHm82AIhm+1$-G~>>>mHs6uc^xufgZcMt^L{>TRt-*!*m0@iC6z zVE*TI`pXB4qRs&y29bU~i$MMyY=?^1c@Bm{XW|B2 zDKO^j)UDsI2CXur%fKOGf-a17(I$Gc4bk3vT!Qg$>uyK#;N&J#ivEDF@;#P!R*u$Z zYR}H?Ig$Vko5Mn;~=UNo1s{yecf51f4PO7$@gT zb3WISJ%YpA-~`~yl9|c(Z45TdB2uj2{<-DA6Ah&&j9j13XXE-7?{vKDLqU%cT&YtX zzcR5hZWg~0JUfNCPv0Ga*0Jb)*eWLhe$eJ}Zid^_(|5p+5CnX?f|4^v7;3sn#cMR@ z!YQvzN9ET~f+by6Ee%j92{kLw&gM%=9N?y0Y0~p&LHM@VrewE9<&Zaw={X+bV7F zFOCuk%Ve2LFDuuqDBrkd&dirirVQ`wi<83_sq$3pyg3NPwlX(WuhN)%?q^?j5s#s+o*srP&Ym2IjW3}L4=_I%Ix2*p z;qRm)xHgs=UD(wg9|&~0Z)4Nj7BJ*G`ONb?P?k>TvqWVof<-ohLOJXt65ydDaeOl` zO|=TMmgq*B0J-o6L=j=Gc?Wu!(JF_w_BQwY2n^tGepNgsMG-gf?LXhNv1H;LL2?Nv z$eFhVqI3RAg-|FH2kgLZ{u#->o1XOCT7K1K(*#$7B(%MiclS;8Hog=LkiuoC*X3o* zU&!7do6@O*t^!f};Dn+MP$xMXn~g66k?89?kuLX%lzM5* zqdZ;@wS2T1O?98`Kq>pajhyeVl@+iUQ2?Q~Op;hp`0yeJNk6okWNo+TU+&76qQFTZ zNKvgO<`D(3D5>czOVs3jo2xVi5)@&ost-yLvPEFNNJ8W1S}m5i-b}Pjt!TVBe~K|aE4^IN z#Ah z(pp_gwv39(2K~etP-;^qsf`Udd>lR{#=I|5-y%BsWrA8?pn5=mBuc#mroMi1odg?9)br}N=a*H(8fQ%4Wfk~OQwCOX2bD{;DbQTHd554k z)zd;oYjogEl>vBDWtJ=|bPEPaEJ+@|jp z4^al~yh8$7b+vh5T!O9(tdyn3?n10*hF;fgyipWJTDKsj?!V)F%?k*>L=&%Mx`lRL z4le@?G4XPIUBDU$3Ijp|VZgZOFyQ>&Kf-_}2miU!4UhZBN;j$sgctxG;1N zZjLHBn(qZ~eMS(9MjFkT?l$vdA(yRtm?EeaYe^lq@(K1EvpzjS!oKfr5f^GT*Kdht zi{~)hOZG;71@c&GO|VFNSg=SCnu7u1?MO)$SC_ctH-Rt-AlohweFIXBuxfnGF)rZ} zeK>Dg1@2{C<1i-$$Bep{ps(RhIP}<+L$C(*!$X-r>{NkOGOO=med4QzZu3zQPFU-> zA&oWx+`bR3(SO)Ck)37$5`VSnEj`8ddEW$H#JWc5jH^MNJq?Snm#wv8<}$%Bgy$84 z7!_k3HD0d4mo(3JkZf=(l^BL931vhkUxr<9iW$JTloEPOR08xpY+p{td)i!RS5H?nK=SoXV(5I9zSeuhj%I?y)5y{eA!LSAZ_gbBVah)qFjP zpq9eqBd-noD|38>bgi73v5gF{4gq#dj@2-Iq->HJ{S^&(oX}FLI?!@(4)us%s&hg4 zEcTpnFjp^$O9JHe;esXN`Jt8WggK?g(EviP?<(;IWl!0X}Q&dmml1)uer2g4Pcfi+gum4zP3LY+8P(uY{R&I=ZOU)Fa@yc zPj#&f;M3llQ3~$PDarb&1)2JE<@rc@!;NnHI&K8@maSi=w9VqUPOsmxi>qvq%^6>W z!m6N^{w&fh+OciWZ$oFX$aNx@9>|a?H7Q*2l8MlBf$*LT>@~ zj=SeGgVVmN(Cqc{-f8PQY-UV;lCFO$ikz4ycl1@8l6kpsv$#xHzm8h@ikVV|+7?d= z7OALSV7+RqaRu$#OQbH^yRkb1(ykuK~a}+bynS%5e3ufvZS{Atc~J% zUmD*iE`}<7RF+>Skz;+4gFIMIPAjhO|DCXoV62Y?`@&C7?V zh-OUtkYRk&`GGF@GET0X%X(qhOxL$eOYdOlqNH>g-d?L&oV6yK@^vYCtksGmb_z>& zhOugC1nL-PdF|G%&}>yrC5FoTgkdLEjwKs4HNLIHO}-2bSQDJ!3v%(qcG!41KIr&YViK%~sLp;KjdJLdi5?1IXD7A=Lo^yyp7U?1W$&jYbz z5?v>U$!1z7Cvg(v1~u;k*q-!Kxm0`_4RZ2+rWU9Pir}qH)a$nKvZjQ5{>RKC!TdC_|9tWJx)}qaa1n(4)!uFp=sOB)v`t>VJ{2h;> z%{y@irMLIu3k)?hyq}Cq938RWuNU~fkvTJFoJ`FZVW@a3aDb8cc>=+MyR3W=Ypijb zWB~Dfd-F?IKK(J_8l|0*+p?u9Z_o84^*i0Wk{Csr>ve&VS#4cG$KuZqFi~GG;?${P zJ4d96;O2#=V$5sM1}?T9DQ=^ze9d%oFK@gBeZdvr%_4>mPLF4J1?W2+KykbWD#+BLj|!li)s0PB{~kk1n|0PNlCB z-sy!oX{~=qcxq8g>0hEvJW1zKLEO4$2nvs2dr{n|J!*sUo@vN`Giq64(k1)r7$^@% zo8+qBU|V$CmC`S@gtj%r?!B){e=XMh#)=YoYA(6KURl=n01FSInFJ_)iWMJP2-d# zPrhpM{%z3_ELbsyTnwdgM!(A=#mynO_ND&F=qNQK>(yRz@}soU9Ihu5RZECcki{Tp zImCqQmYi-EUo0cl(2Fv>)=au5u7tQf>yAhUsuq1lF5@zc%IJDCC)mN{pg6hPOmf8@ z!^SubdiIoz=%^wcMs+c^;nCf`NnTe=m{JBCSu0ySnVuDP{ybtuh{-Ox`r*-}4b1vD zA&BIhoLl>>BIB>JvJXvTlQoQ71xTL3LdDMyI5tEapejB?XOPN^@>Ei7UPBv4?GaI) z`gnT=sl(=$n6=l|6-QOuxO=OC_~S%0i_3V59bbP;JVXF~S`hL3Rw!pF2kT}KX)oC} zSPUSMziAG=uC?3M@Uz+FluzV#qAB$=aPtaJ$gWZK(hx%!d#Q{V__gkJOB`N2FMrQr zxR0IKs0q}EMtq77bO)7a&9`XkKY(x5hdRP*%~EgL{{b`z7n6?)=M-+>Ku1upl+a+wJgzK zkg@QOfl|Q)gPdp(Z;H(`Oa}B3_z88sR#B@ESRt4G3QmH=EW32RP@Z$JWEr{4lxr+*1>Gan!m-56zY zhTMF_c`yM3uA6`|VlHbE@EGaRno(?b+ryEdVC+|&Wz+@s>Ht&`0@*67cB(MG&TCcQ zParZu60XCIZEFrzSx) zwrBbV7i5eDOvNoPDpUoMr`Y#_0NX>wo&eC-W5dKKf?~%-qc_$)Ed1Yeu9oE6;t zpAOuzP3w_?H$^edI_3&i12sdUi*8pY`*voIC5JIV(Kjw%8l_X3zs|}vY#tL#f*iQo ztscEXIV*_%_-nLR>7la6HxF-)@&rYn6}W4tF0fZ!#sA2rl~sv1?fl%~88vvKE5vfC zudctoek0`|4%USQCoE|AJDS$$35up^#oJBenl8*fvCha);5NCzuZ`xA%dGw))^88K zxmxLhc@$25owZ*Au1VeEb}N^GMn-?_Zam~}Xzr{{!qK07I!4YSs;hYipwJ65<-KrF zjYi9)0Tg+YZdl4%{!$u!A}cZxZdC_2OA6C~>1-x&f%dZj}!F2@dH==#>g=%=*U4qjz$ zi~t-`V{$wrS$nWHAd#C3q*+udM8kl-(-W-dCYHDJk&X%xuw&3ckkS+-^;?sS=^yqH z%?BmZ*sGCqDy!OvfPVn%1gL`pz#<}G_nb_Fjs}uxP^GfnzO%5I-yo&%xHAS1J!YHp ziR>DP<0j0G@j}42AY#}K+7-*!TrNF2)25VC!>M`nQK z>Gurw#+lZxx_uZ9J>gtcW}vXBify0+mJM|vH}2~-IhbM=pIul_q*ak0B(b}&KitkR z#5VAN&4bXy9D7Zpf$1@OjbW=LDad8gb!TcSdC;~XQ_;FI7FzO; zJQrN1*ZTr_4RgY<+0nW^TR#zR`{vgk>wL8cyUj za{0b>B9H8Ms;lcaY7*QmbOMfW$Id^NDbO!W;tLzm)@R88+YCQuo;*dUk~&uxp);-} zE;$qt&+iM_v(BrrF|R@!@6(Yg5MFyAI8XkpnGAMvEoz)RJp@Xw?Zjz}DT*)ndoJTY zN;YJdwG^}4P*1q{4m@sS#Xr!bC!ikNa3ADYSL$IRk(qkAs7tj=&L3VweEqt#3 z4MOTXp&-H#T!`1{voZL1g+Lo*s}Bp}^5?Bm?ZDv$tllaCslqxsV01r-g8W;Z_V*bL zis)quD8}^9=CtUSyCG9B3;P*afyuqWTOK!d za;7CE@LaIgR4a<(6SQZ=jLt~||5T@y=Ltsde}$|5)c`G~T`I|yn}zU(cb*eUGo%=jIU zBmM>)<6Hu+GpvM4753!m10B4ZA8Y*z%NqPTt>?iGJIdftJFx*1$NL`x635EO2hu@drnNx7aW@vs$exdt4%bi_D$+)nPk`44=f@F|=cJ4sZt z?&`fBM@l!OpGG}(p(LuJLuPID%Qb7i!)^PNGZ9Ia>)xKt7xQFlK@95EmiR6{kLb;3 zJ`ttg_GgM&%(3*|k+LL|cUPbT;Ko=aPeZI)}s zN{syH!4Ija_TDzvMQvITF&soUTl}U~gi7!1Ps|0MEog%Rb|ws88!s{xiX0dk)Cg2( z_XPTs2jYsb*xF?5?%PhRcq<&0`-cptWdrX_$QH$MOm+1?=q6v(GT#m-JWK{!Y<4Bn zmB^Z2p59Hr9MYuz{}!7oUIt=wzV)ja1$T5$q81FEP6mVeYoE?!u#v^7SxhOZfIHc7beg}QHrfGIo|f}g zed=QGTTQ4RDPj}#k}f<8V#oBWYsh-|^$7X0a0?#ZI`oV-rUR&zACmm#rIi_Qtn~VQtQ@z8)vwU-Rkvh_&QwkS1Ac#O-^`J@Z;4!q#022#L$4NH zR_fEvXYC5ufWa(^;rHKpjwNugOo`;iIBq*}-ZDL&PToh=JJT^p$laZKB=7wh+G&de zFxKRPp#3_2_`8j{X$Cvpi9KiTU=9>>_={eF%5Esr>nwvlJW989pvWDKQr=gW7J<0a z&w4u@*3o9Bblyb{728T^fL|E}8NWwY-L8UwGX=Z86J5f{5bVy=v9V+;y;S77)-u`0ayU9Iq=8=8W z+3Kp{^X&e$+azXpFj%UU3Eg!0De?F09(wwZ+1+l8_B)N-STiTslYz?FDJv(t95i(1 z*0f`O3{qxv!Er17C<^O4*U<2G1YqfeAk1GsSH+rb!@E3#L_ z2VG-(mkAR5$eMc>o-{VDYTa|Xx%T-Iyou}ZhnZ*3xNESYQ2tNMy2}-b1175G+Mb+q=s%#NpUQIE3A9B{>h71kD_rA#Jrfw!;_;c(v z#{P5c{cgViztDmH``R14B|J*>bK3vNR2H4+9QhLheLTO&RMDd8kJ8gJOk<7r^u}Qe ztz3!e*nygUp|ji{I)pv15Q}KOa5FnUATLtsIV!U+aB%Zgj)>`P;w*7ww60!gk0^hA zLZ+sYo(*Zin#ZOH)Agx3XQ<@8MmiZl5$oBCAFdYIZH9QbdU6#tcr&Xsrow*ZG|aa? zVc!3SDVrdZ?fOkI)P<{|Ma?$$kJ@`nANMyRd^!9DR6gMr`A|rzZ!q|_sEJL%7PMze zZlaeG&|Lo9g9!#^s3ZQ|gSAG29@rK>24M(}Lq8>tP1A8d7v@YZ0F283WX}hXERRA* z>=ClssCJI!b=7uviX+I@<_Fl?xM5<`x2@rA)fR?rHP#B3y%5cO5dm6ZO#$~5p&y9n z@C~9P}1Kh7t;pf)vZRTcskCgpB9LXM9slU zd)^{+u;>7!&^cfd0vG8IxiDwzqc$crUmZYN+P?kvM{>5XWW)k1EVN|fkuMIs+bMSP zQ@1P9M)lYHrn~fVkZsNZG{Ts%FB_?8R)OCcj~hWBW2{W`V_qz`Hb0%$z~Y~K675iuH3C)-B=dW zJk9<=ww5i!1*n7r0XfXvfROAZCJ}(MZsj4&07Wb{=-6QtqsR9FtGM*?X-d5Y86cj3 z%IX|ci`F2Js}E9Fmd8M0MIc=j%<9BuBdcIX0Pr!`Y+RtR`C}NHm8`Zco;06pazn>} zO^k~l==iWaWH`l_`vmuEqH=e+lN==fimlN(Uoy>+jVRCz_LBd(EUk0dKb4S>8B~|} z0NZtzJZAM(bx!a?Rfz$M)HN;OuIP}tis(1`Z%uPf|MG}zX0TQ%$?1nyz&i_ZeW^OA zU8!hgArDLmeXczHr?2$J7G*0p?gKTBEeV5ufJ!{?Un+531rH%}xWx0uHPZgX!AnUx z{az9S`ecQdGN%R@KhBs?5ts_p#r094Kh5bfmmmQ%9$i2l4H2OMeUTbp6miwp*imNU zDlej+XCzsb#8rT7VnR1ACUa3&Axb?H`1cefhQ!$I=#ai*mqf=$!ydQO^G)Le&=>r~ ztE5YtYG|y6>x!Fx{iea(qi;?#)wLFEkqtBhI&r6FheVbiXHD`exrbfOe;_cySI-a_ z2OpncV7TW+3M8c);W&Kzq1Cyvm4@KDB-x z>#8IZwbU0Ul#~#&?cr==q+NYli$bRkmRcP0R=Tis1K@_3di>GYF%KH7OcJ810(zQSrOrc|t zC|z}FenAysgT=_l^@P-o=biTL!)di>8)witR620OJX$ik9FUyssJ!ufzK2KewYKFl3&*{a;t$#p8cmfuk<| z>k2$z3c3P&&jg|q_PBVVnsmWqM&+T_b7)>UAGMVUKh&ke_Hm^4oNzpY$XXn>Q|1N) zG(5%ACF?RM#Q#BrnMSq1+fbX1|2#oA40P0#0xVK*+cZlAylvk~mF~{SN6a2( zmcf9B<{Dgo`$e%9c3(AL`b~A~Q~B(s=x63X`O-t_{X+NZIL*rD-YYjkwO#v#53cGU zqj)cFMg`GB->H{ou)YV^`N+(5!9Rg8rm4ny3^uSGLXCp%%0g%88*+?bgN6bI-~mic zI*7N%5HP`u_Lv|Ex9%gd3AW-$G@fB&`sPF__x8uSDYMikJiP ziG<$aoolSX_MCuovPgLXqslNj@#4Ii4nVw7kn0z54gihh2^~Omwg5P1x5bs(z57?L zR6Cdh0eR6I=sr#g+mhKa4h~uNJ*P@x_xnm{z^q6Ll*}GFt`M6#cIQH-1{s8=C~|MD#tRa&*O0F_pyuU z@~(HrBEvAkD2|$Wq8Nvxeg}*ge(c=tF2BAzEeH-}l3Gt0#_ckqCK_PHIZMowfF$Co zTK_{LUSglDxF=s3cCn*s`MW*#{zsffOd~wNTpWl7n2QDpx@_?j*^@@Hz;wJe7IW7^ zp!Qk^IV{&+L00j)7i-WV zlG{HS5M9@LT|8#he!)3@YlzaRcxK;tG8jjZX_lf*aPo3bl0QO;pMa%l(4MxC9zED*~A$%^;KFZ0J8 zjeM#)ASd+$#ssDQ8mlcrQ-QHs=C0xY{q!BGK%jkE`OhkvlV2tgwh$*}68>%1<1nJ! z@3|U2g#+v1&s;sIT}JY7nZeoD7Vrilb6wv2vSUxprUQ z^wK`7j7c6V%|Ws^muyUApX(hI=w;qFH9ZG(Rz=9GnaM0VDmin%Hm}OSlG@Y`(M8M( zy(#vGguDvZX?PylSMVO>Az{(sQs#c zO5;JZ>Kqw6?763C?@HK9rF-U7T8h&)EGW@H{}5QuwczvFO`1(19a9o@fb5#fWl$}6 zP5~>D|0@OD1!c`jPX-nIgK|z)vi)+|noA(*`~TfwOW*;7t7c_>K7;bo}mG29DpIJHLNu z&Qp9&6%C2Kl*_&zmrjra9lzJ)&F7wv-)A9d=HC1I_T0UA?*&_i+P-X!xBCTwq~*Tb z`B;jjE)^x@1$2!}aH{osfkU%;D2Vt~0l9NdH_^L=>-#+UhzjLEi+^rM+sp|5Hy#EW zgog<+tskRI@}FLj$S=Ea`k}sUsOoOCM2ej9%5F$vpQVkYU=B5T4s0x?`K2?T{!39h z5~;VX0nLUG1PdqhGJHQvmAUsvhV@;e8RhLBTF1z5s#G*}B1d((e;I`SOq9p|ef(ZV zwP*mRNDAXo&SU3?+xz@E#@Gotm!!Gm3hesn8_S;onh!KUvqAqgKy#k0Mp`$>Z53BE zb~j&ds9KLbh9<1vK3NCXPBvF6|3SkX`_uodVP6X#Dkf=aZRUiN`Y_qym4CyOv?uv9 zJ5dQN^K!5hT-e$;O2tx1T&Sc_9TE|Jsl zf7RA-VLqAY-orfd7*oaV4^io!6K%d-6qY(Tg9t8c>#o(w1ajhCWjhj6~G<=)#-0t(n}qm!)s* zA2WB|)u?#Amts7}&seReyor4@nx0Xc%tohNQ}RBLxx;WGuqmv^BHzCHfhZ(#2!enJY( z0@gP!Jl4e9@K4`b#qt>tfa@#9>5Zqb45*vZ3(`wj65`9yTf& z_WhN%$7KLpOCs)?V_kNI%?SVF8rDNR^h*okMXF8PvNIfjmW}b<{d&U53jC@yr`s(3 zNaoWMO9~c!bN@5I5d0Bt+~<}%p?=C4T>I!YOlOe2ZI>g>vEDlYucS9L^q6+7b50+< zNij&TZcA!X+waxgZyzG@y9xqA(I-GV(DZdd_o{d%y|ct8q3?Ceu|!sxHRW@^j%|uf zp1oDcE5qnHAw3htBUX@9LLIfrJKQU11>sy? zuO19ZsaeQ_E(pj6guVA&N=1r=MT%KxX^dACeE$dtO88QI&=HEtjz#{1AG1LHAN-gf zRtl^z`7@JR#D{1m&I9BkZ>PPLpnwB*A2jF#31U$?STq7P2-HfDCaF>X{s-V9xD!#U zk9mY$0a`jW(Ds$d7T(@k3bePxu>KTSUbFeU4L(%?Im14I1@+({|9Nq%&xZ`{53~?2 z9@o65Ou&*Q3oFsk{RK>>k!&Hk8CTEv7mOTv`$ ziO)~>{f0xaEn($u;XTd*Huq#%V8eMkZAcr%r;kt+JH4CQw|_?UFM6o}KX)f8k?U@y?XNou<(d&}ZEcEM()C~W&TRz~vXpI8|wg>6jfzp*k?9)I}? zJpW*2>K^d_T(yBX@yr-=yVMQe>WItD=Nr?ziH$D=0kSKbPwl=bZJ}W390rfw|@GV127tlw1A89fQg%x ztvak&qhW)8i>`{2eSp{inIH%q3m(A$pE(nzo#?LEUlId<9D+&rk7-Y|DllTQ@#Hz~ z82Qz{Ef2NtTzz?$F~r_pEaOS?O?)y{{RMpJXf+E)^hDGOn%8~;w|q<BA}>f zi?;U?e_Di;dV>U*7g)e&4xlHgW@1&u`#AvG^~(-H!RMU(0`!We+(e}Q`L;VBkadq8 z2mU?|{np0u$^A;=I{f`3*!?FVgJiV{w*bW+CLVY9|7kIB=KH_47=S&1F8B4gsA zk&rELTxu$6ZnySmoC($wG|Q}4jE@xeO{qBQ-{)DRh|T<;EdRdUlK{8-qt#J8S(&ka zyWPLYGJg2`cE3ya_w7E9U5xOUDI^Fu-9Kr`6p^Z+&d8*LKipOW7K59dvAJ*jW_W4& zGfzBLp-ZuJXL^B$Zy^PhDbc;0Q!T9{jH$P$T31?vDQsWZ03wRkOmXGwA(>M}z*Ndh zV8@#wmuHEs)A}N#2oJ(@`NN}vpUz-@IQ3Sjh#kZ+7%!)$Jd{jTBbEc; z;4WJG%VKaAV=hezSPa4wC&)jDK5}|H+{y{iVcTaa*%5yhV9HZio6JlljZ1x?0{sJW zGRV*zAbA^9Hc7umtW|fUxlxfk&7r3jH%A~6ba;lrKn!jP%2y09RixN?LwsRm<@q-F z6`orGeY*+*`?9)w&&7m|dvFs9^9Eas`xDys4~G#W$|@cGjbgTW+H$1r?imG)9t7Np z4gd_?-Aoa>0P>s1M@!LJNFn92ycPv4LH?dIQgJ$g*aE6kU5ku$%|FbodM43yfJ^saV+KzIMa7t7%(y^@29i5jOox0 zJlnvX74^?}9BT@FdVbQL4Km5dSg@7)yPSb1t-OU;U@>Ovu)h~H69&rAYuO^Cr{X*mYe-pVx-@rHVgjojJH>+;l8t4N@c($WuV~`_e>vOhG*SNFp6$bx7pH0Y zmM4YwnJ1^WK618>&uzsh+c2l7)Su(uMg>0nO(s@@LJ#Tf0b34@!dVKrZ&If+z^qFF zf7Y9u>qmQUV^a40;msf-%SB*RSq#FB5`kzl8LsXYxe*}R3}eAFZDx%FQ?+iZuUN{x zdTfbheuJw0_SG@DcEKXg;Xl?=1%m&%mRjDH`1iHccc_AYIo15uM6;CY?x~_p7*n{@ z-2UE6i36aX=-oJbR9)icLBvfhUh~liwV&&keY2)Lqj79V;`Zu+??YK}UoY`fGVz$; zTnT60L~YiAKYDZkP2P@*)^)U90@3-ivoB3Uf(3u7yaWhf_}geQvoJp?Vt~IWx|xG` zy33qb*;Nd$eRCLtA1kr92nO?h2MNr<`6f2EQiyDh;NGD%l`#Ru0Je-$IxrTjs{Bzt zuLTa5DNo$E-|XG${V%4ZbNgtHt^rmC)Giy29U@lCM@58lvq%S~)Sg{LS$a=YyGvWI zfW4;ar&awlpk)hMzEJ~*poGun1XbFdE{Mq=&7)^q>nw*5=TYqjKl~$skOX7%G2xT2 z4#~n8tpO?1bA3Q!K{U}2E+IT)60PcPbb{8Pq%A7Vj|(nETZ&=$A5C6~XR9t~<>IgM znrthiJi2cc7nf0mS`q!1g zcEGXU;6eZ9U>#fx+Ag$6Rj!095BZwc70Hf%kRQfJ4xm;&uU$&Vd=3~LAAq$Bw!L-< zV-^76y&;?d#N*vDToa=fmnMw^AO^3vh&Nm`+P9#;7`)A2Y8YUtQp$i(f|cv#jw?mPG=JVVL>-X58=R#6KRP;bX2;Q^sOSLCz#>z*zBBuoCJb)Tpc<$YM7IzR`s7{FTYfci~HCU3;v>FYgn&IaZ~YEh%hQ z3;L;!iGS8*Ik!|8Br4CBU+CK85Sn1tiLGfJC|d`6l=D20J|-N%FpyF++8Y;9rdb@MeSRw>zLl0S?}lMkY!k zM)6#o!NOWk7@<2{*h-U zH4dS6M=Zbo0{g_I*ft&KNLT(R-KT79kn7)3yZAyEq0xEIqC0@JtIqgL+8q|PHZWUu z$v2IA4ZY6&SMM20)dmgE%*^rsYN>MdQty8(RbIuiti$6NRmCs2!5KbUHE0qx6u^}h zb6{PNm*D{Nyi^KYFWel$tjmsB98}>pBQx=@4mC!zi#z-sZl>gpfqfosW0nIwkIs)u zy|D1+OW`+)UaGP`Idq=AdV842>m+7h7EmPL)7H=>M+a$95^?$^LFZtt03BMrB^Goq zb7P4jqh#CZqwfRNoZe9I>T0-gfy&k1MZ14iD#^cIUL)Wg!Y`fq4S%^bDKYWOeUV%Be%PM{2i@MvLBBydUvU?VqDl$g% zjrI``q?l}H@DSwgn*zn^iQmQQT&DJ7;>M6dLlveiU4y=*O0f=G&&2(rp}U5HLrt~)iA+}YJ_T^=Chy{71yO@A2)T~*6?mp|tc z`Wt{;f@Iq!X7aq_Qp0#D~j z-u`EUXZWt>b2@>gJfR`k~gV0}RL3C}~PK4)iwb)NKUfcI_ zfAiF~H}pH8pm~+_JD}k6&w#>!^zw7LAkF*98dNSwoBz*pL83Y=T>ooaQKhX=!^N}c zO-OhxG~V=MI_-;xRg!as2gRe=_Ik^qQrF4{h5jP+`!AW>|Bc}t3(^$LbaZ_ANK*~! z7x+E*3rb0{|MUxT|LPZnJ<)gq^g-gAi{wnmcFj1Y^& z``1&zjNJcrXJBjJScOj$2(6?lxGo-X(cm~C(E#*g;CGDAli87@Van1slj|BaMzAB^ zB2Cm!JRIjs#!y zq>qWZ>Of9bhb91M-A7nop7o9B+HO!Fp;KWxQf94e~Pz z)|B#Q80V`)=o-f-s7!wwW%?Y&J1d%5IK}iip2^#II4H z3Ng|tKfu-}TV|UsU$Lig&{oDu z!i{Cs4SF?B-ML2AZeeb($E#S2<+pp01dq;Z(E}9HXA=MTXP2Rmr~Ulwf(k7dI&M7u zg+8J|4K#D5aPds6e2!&11S#M`-1LH%CjFur4;}DbPb+BP4emDpPfLw1eXHovM}?jO zS!xceaK4-3TdaVy6K#QVVtA@z`%S7N7|;~%7OD`v()lhX*EORP%zj+;wh_5%MsG#;4QRN+?`|a#IKVkKWTwVVB=# zSUb2J{H%%ZTad#rU@uoNhG*lXit0&kiePFR8r@yH1SQOM@!Z~2{B&N=olEv)-Og;N z?hlS?>&8nf`_}Aafh?8T>|}|2q~mxXfB{(cG@Jol%|0>pjY_xEXlPOmtAW3IlyT8o3N`hF>8`mAtZkzEEqBs5+K!%mT53#jL~zl+>cq+;l8A;UveE zI7{FT|6r2j=+Mx!`4d+|qoe52j#8JV4JfI}>K`$K#i9<2D(X)|J`V%m4(=N@f>qJI z_H}HgTS-lhKgy?~UWQ_ga*ot9pl$TFlK?Qm+VWa4EYm%6aYb;W<$`-3qjIlxWKBpn&TChp)Gc zilhIswi8@}6Wrb1H3WAjxVr}pPVnFacXxLQ?(Xgq+}+_RxbOMT%sXqneCg_HTisMw z|IXR_T)XH1bJ`bb$(m9;MC30O_S@7rfeJ0yz=ZJ`!Py7>LSZs%NUv&V`^!TH_H?gn z^(*l7o>QoQlueY7jXnjI)_)mC>GuE4IEr-n596p*MDBv~EtqeM=PjK^Ns80g0L2kF zopVyE(mOkjuA;DTkO8C4IKBo0o6-}`7a-kV`Wu}E*+BO(aU$N?L^&q5JV2J9I&)mOHAp}FI4ysTWBP)4PXn^YRdc{wouGF zTWCE2U<Y z?^cCP*0j)LF|O&S+NU12Y{z(u!Nb>Lr)^I%ksH~;oX+d8{nJ=+#;0oN4s?MXc-s~< z=j(j@kJ0S)s*@XS#}|TtKa}CTJS%)7Bt86#@g|}8*Q5sC-vw`(itDArFS|PfozIneYzCO&dQz6fqp=J zG#v4drVCTG-^f7;XGNd=&G4L+zSC(*7S4j-!`Q(a-e?<-3AR<+M8|CIg@rS zI^vJOV)LF7;l7L(s>;3ddFO7^os5H(c<_~v14V?m8q??{o_gjYPO|Yz8f_fh$+s01~-aWI}(^QZ1lgsvz9c=g-3oZqb5w!K4 zur^OL88J}TBZBy>EsoM^-!vvt7>263Or|&L@@tAqP3bUpuuP_5qw32j56!8Q5PHL+ zXA<=JPU`Pwf}0kDciz?Kl^}h*w6kVMX?fuB%@s~#Qmv?$7m>TA7BG#A!Nz`$ZnO2o zmmIwsbEw~IKaapvGxyq;$Ig5U1)lXU@T~DB>#tJ9t#~~@4wFF2>asZXO4F{diCuuJ z(2a{#d801fE@9C-7~hsmkvu2lFqn!E5Z=c*0|NiJ<)S>gJi`({iI9BdT?^5~XN_Od zvPx{BJ@J-HctDnjl3Q~Y4UzuSBL8Y;Y00am?T12dV8tzMvgw1OR=04!?}x&j7d$d0 z`FAUKLLaj%A^(1s2Ydv%*%eq(nIX8ZVP+jAB})uZ{4nkT zs?Tm)=q<_4B3?hrx~A;Px@_by{OA$e_C(XN_^~wg)%Y#)it^IQ)7(zsIB!?+BO~xz z- zdiliUH>^dI1TnQj<5~D?Eifhm3m2`esc)+CnJm{Uw1X`~r-yxfW|Q6Ah-m15Pnz-# z`8AV=8mP1%33sCn0Z4_h6TqFAajFY2o?d(aTu*CDw7U%`<5B@JhKoO5+siWl9_q4> zm5mx{AvM1jYbPyiClF)W3+)iv2KL|do;I*|dXKF6uvchXcX=e#J2L4B)-6-+VXFNw zXgjZE#gKbKx~{fp+f{||LJ~#gj7mxJ2V|v^GgaQYazUIeMCAiSv7gVccCB^ZZZ3M( zVEMOu^jpT|m+4Bp^4Y?lr#OM*?=uJ?&hD>eNOxWajggm6wFxBq{3ELOtBN31Q2#yaw=J%I#VW4=%4yWlzWx$JtY$Oy@YHgE%>|4XBCT&FaXt3o-B731Xbe4z#c=Elx*o+ zY`B3?VvIU0u;PKJRGKO)_=nFUR488B=TcYLsX+TR&5sxe%U;#bQTKbJ^H^ZC{CZbQ zsNmMR-}liIs+1RX4%x;$89^*HKgWCv*z%zG7P;TA)G9la<)qqy1+-|2oI)43z7c`D zC`h>d%nr&ukdzYW`6E}BZ95wl2irVJS8!dS&4w5ONETjr6M$qvUbV$$$nv(ramsv3 zNq{wyjSIv($0Xtd)W|$TaTlYd3(A;7>*JyHx)_LC?eN!h&Ey}okQ#$~Js}p(AKali z*$c(&US6wjPe-H;_iq>y8eoTKl)lqu6p2~7Bk2yHGxX{jfaZDkCNRmZI3zNeQPP^k z#~>&E{&}F&cTcxF)Xez)cixMQ^8R=E`s)(h{9-_p(n>tB>V{PD>Q`A1k3~9F?X9a_ zxyM>#d?f2O9Pkm$bC?P_Hf-@yv4=Y#+{8qS!Nxid6I4RF4bn_5T!n;I0shY2Avz}W zV8IYz*Vj`zrnyxbDtobz7Men)?4x{)?o0m|H3YU;@fbCFwpb6EYF~FFYcNJV{>*iHA}l|`uZ%xiNm=Tq_Je}}1NVizLIAUo0Q z#|^cp0weK$ljZgbM7xN~)5Rh$|HWlVbk2=TW`Z1v&Je=b$e451guL4eh|cI!zkxf_EveTBG$!@{{Q#~|Oup$93wqrXT2Ir5hI zCxCKWcK1W)&~_XZ$ozu`eovX9X2Rs69mfqvuyc*e8KZX+iZx`J7jC{Y$S%mfCz9=+ zL3~BE(f-3q@)bVG@EZqID8u&FKlGo23~|CwAJffn;gfv)Q}cYuELJhT(<%U@N}gz| zZoR1*b7-Ts?l%aeW;-?%W9A^$rmr2+=c}yW|G+9UT##m>89D_ND+;D;#|>$ziCYcP zQ=3BSFiKpqr-xI^dm8!;vCqLB)RnKfr+pEZtcAovdT)P#5|T~n&ffw?4 zCyIS+5F)(_Qd0h*oS3$z5Bolz{v&#%wj2O;48` z5rIZ~1luhN$2}vt_4676M1p4<5A_s%1c6tliP#W;0AhdKu84(NwePF-qFrI5ciEvJ zwMZire_?^cBU_ddX|^$@l_#bPk(*{u&*vNUDv#T@d3bi;Yw@s8MwKRFici+{c z$_bG>k2=}e9BNGu@iV6lg91lCO1hK?hJ~HT_c*{C#dn*oy_SoQ)?H?E{~)J_0xNLT zkj5RgRzD^qA9lSoHPVisBJD=EyNSX6!vNZqN&y%^#3g+~pr%|XHsnWA!|om>Ox}1Y zzYN%De}L+ac+7xDhBGo+fbs-hrLZ_-8tC8PxcM=DS7;dli!N;vRQVd-F8I&f=Lq@Y zQjq2Ixax;F4$|=@!<$npOON>)*yi$>y)>{@5p_?WSbb4ua9l*P$%zDLXO<}f-clCt zw-CLex@F_`BsueM%?P|BG~_%(bkwt^Po9tEtyO-SxH*D;JM< z9yMD|z<0-PtYx2Cw1=Q;z^86yr=vHU?PV`v=QNvSf8PF`kqUou>r6}&h;0(@E=i=l zQ{q_OG=)^JKEior*F!2x-qw{PoaWQ0MUQ5t)}ZcO^tsBrvH_Rt#QP+5_JC6Sxk{cw z^~KF-%mF5SNAm+?=a86=OzU}?LDfvu?34{FPpKpt zmWAKGEWGvYE4ED2A)q+r@r>n0`pkx;LB9t=7|G9`mK%3L#4}Rg%dtzSNDqeDVeT94 zQ{Z8hX*loU&04c1O?!4EOeR;UuIet_xWc>Zj$-#C_oIktuFzrh4@x*7-FYlat-r{u z$)Nj$J;|)OtumbWa&5p&QcvpfcuPN{w2d7y6h-X8EP0%|Z0XjZ8hsta8G{${29A0HM73QeD#Vl9R1|2mW;TEjUTU{a)tUs&5VfmeYc+ZWO}kBxhT0; zt4Di=#OR0U33E<%LlFT)mV;vY@LTNlwoE0RXWM2k@EgB_ho~IfQypK*4b(|RnEWBe z@LSm^Wz(Cb{27@+pi*nx&>QZns*-b7c8vg?0M@1OcRjHl9tC zbC4am@nZS5=Fv6R@Q#*3NK?V(g9b(7nP`qzjAw3e%ACzF&hl3{;jjInx04Zt_p*Vv zTsBgf-xvs)dn1oSjPx&FH*U!gtoWd2u6v%ZBfSDSR-X|Rmdk^-=Db{btbRVnDfB=K zO=^C)4i?TaaznT|jTNaH#23Hhw&#zz=U%>G`jRfUBD7EDMNx^K-OIQJq4Cvm7bb!Q z>ieV~?PxfGhtLAe#+h-Z{#-NVx8Zrc51jbITpc0tO|C<@268_P@e+@tq%Wi8%i=nL zzAqX0RVS>v&aMP_^E2Z1j>Ou)BqL!EVgwaZ@13jF9QI)ymgxrZVZg6hpHWFC$R40) zxk-Ho5L282=_fMy7=)bAy`O2UW$wO_J2Vi%;FL@U+n4iojiv z;Vp1S^Towye0ZP}-4Z6_sgN3ALT&k^C5q4ht4=_T94sNF@}L(E#)f=}SdoG1Dl7!3 z^3=J>fzv9>ZRqa`hgbMUlp_C>U&olF5*1=p ze};P?iAmn;H;cVU{~!Su)MS1QY3i7-bT3BEjODra^*60Rp5I)g3g>Q6lqEDkPzkT` z;e>26{M8PZF`eTpTSeL*!w}+7hwwZ1$-bR3CqG8gsYbfWEzjV19Gpm{2TjEq)0{L# z#FfisI}Vuj!p!mSC9WDI1*vXN7K1IFy`ZfBREu2n=##9|81ssA#x|+%yy~EMaw})u z!&YDPd8o|FqaT*~y#Xs$oWjue-is|KEY|V8#id|1*ikHjiv`duv~^`9`Kp8b zu)~C@ie>X5a+WhC)&u_qPSN-WoT32`MG`h2RNlcU4`|z7xCzS-Dhx@b*fJvyf8z~{ zBh8d09a%K|rHa+lMXQx#KI;W%FHji*ma7Sx?Q~EXGx0Fvwvgx&i|;xdcR<8=$`^H0 zqj1@Z_mJ_~iYOVK3ZZqZGp@-_I=mLx8&IJK0gJ{w7RL^Sm*{qyN&V0H$+~UV(kf4- zo?OP%%T2)4*M@SA|7_x2_raG8zii-VeRU`psF^SLDAj zRRRmpQzA#j`^G%91FO>Y5hJqp5NtY~Nr+5P1m?UwxcHS}&DBBAp=KAtJKS!GB~vsH z)on9^ZE?&TM-KI5i=0+VX7%m(J}Av~+M%NvrRyO^%)z=ZNB3EXlcV&U#V3u;lE#4_+;72z-yAg+!(fwy{)-WVbAM%_!~~Lhg3$e zd;i6YRibC>P^ZA5Qd*r|z&>6%v9TsMdsJ%*ZSEfLD41V&~EkttxoBJT~910$@{Dx$el?{!lc z1!G?lK*eF}s;MKE@v)TM8>Tg0PJss;SR7~kgd_VSHF?|j3Ht8gK3(#; z?ghg<(D!pg=k{C>czrQ(3u?SIb{du(d1v+p?h08)DWnaFlgkM}skT(#w5pG{DSvg$ z)$mSFsTcF2mbM|dft^$(B9G!EWXAe7J20b_jWILee;Hf;(`v}d%+XGV_y`eFsOy%y zvAW8kRlo`cDS`kOhRnRiA!j1cc9J_69Cwit%9sIQdtuR~T4%GbUB!knZ9f*eK^3glCfA<>PSE>&O2~sRe7-*>^WMlI z-9Y?TRB!M{@|IIMQRtb7@!f)dv%jWo4#0~|XZDayR{?^G>_;!52hsiCt>=@Kd&~JR zit7P+B+Y1!Ai7H!i+J-!376Qxy7q9Y{`K7G056XuJup$+*GZlN?+zEzXFgKG9r?=(otK9%X1+9m39c$8Ja{GDO48s#l zG^zf^Slw;3o#WAfv|{Rp-N+Y>$u{1317Q?f240=eJ@`s--xjY*#9Xhse?FF7)8no7 zVdiKnCZdmguYJJDG8749F*eXiG5W8~R|-}7JAy4wVZnzYf>yFWucoF#h<674F^D#2 ztCp(s;9-|qkY%E9x8`7)%T5kZyh7*`#q9?ACu62nR=LyE8Ap&9-Nf^T^$6{a`{Sfy zftX76MfQywxRIa6jipTaw_Cx!zQY2SQbxov=-^!D!p}Qb;AV z7ugYgSIfMu^U>I&i_Dz)i8yeXO=tL8ZV{+*F7!%-(7o5{hrxJZJ*?%R9?&B^$8Y5f z>J2!b>~W2~ix@&7`6hl9%Rb@J`<5Y5EeVKX9B)IJ#nC_vCK`75!!K6^a?OJ};N;DR=f&`rlEF@YW})JxwSx z;bh6@9V1$=|IB#72mU+bWj#_j-@|8kG?Vu`IpNbDIPs){OnXD&knIYT&3cC0habecabch72*=#EW}fJzy=eZZmoug(+`n8_ zLYn+oU=Ey}|DH+mnA~xW%Z_0$+x%o^#EX*hr<^O6x7eFBO_$i6>5eTlo|D-wj7c3u z`-N<72iJ9BdF$X&SD?W2{_)PZ!{IV~`&Nr_OKkXikLVl#ZIcxHOU)^dr7LIM?V%Y5 zKf(_Qn3oGvM9Y(_2X$K(&ahG<%F3^L$(hp!vU$o_H&;PiGgyr?a`(rM*U>(Zy|$#Q*HjBFyQvvu1k1V*NuRN@PO)5#5H-bCVg}#Rh@X- zt+5->)BRx3SZEhZjOsPM&vsp7{?{2>^EysvBCBazTHoP>dWx4)=yLicCAu@dt(Vf{BJ$tQWr5jMid$1dH^@Y@tb!q`prEFSR zgX?U@nh*XyOZz%~T?Qf^Wxu@q%CoaEu9ai-#o&SdZ1LxX3G;fZqcTig4w1E7L~#W= znFZH^cseZ+{`SsyfjFe9;PVW6=}jz;IOapCE$dnKhW~n>!9v;oU6)ez&BT>DWqsP1 zTWVnK+%$15LUZLCAw}Z)y5QhP`2x1#w;QQ^CFpRe`jdxD`a-3BEIRXaXE>~yc$#Fa zkNMV@A{QnVLbot-0O6&Ji@blyVXPg*py!Xkh$47MaGd<-XtMHC2eD2V_;gXul6nsv^ zzj@8!lf+8(@k6S^5ql%4rG3~I4@0$yN3@IRuEz6@Nxw#=q{k*3IbN0G3a4Tsoamko zw3+I{>?|Siu%{)#E|87B6MR{iP?D63DBv!?m;9)$SF-39r&#&?XIkPRNe^3i>eU8C zyK~fQHouwTp5EaO`Y-ehTz>e$W1>$V^5O^RuR8&sJFwDP=6gxpEOKk&&`W5YGPUJGgJseO^6j_fTyr6edeYNn!35=mPox z>qB7J8}R!hZ4dVm70JS^p1dDyWKa-e9W~LNcH;`+4{R#p*};VQ!gj*F;j_%0i-$jYUXcj6SyPtpyQaGMDA0c zHMDN%7ssPNVCuxdx~@De%6F@S8|MrrI%cOn%S3-4>7z2^E${ z>L_`?2DbY3A z?m$smyhY)K-8))6P_&W=NN_Xqr6ZW-0h9Qle0atqEm7hE6~oYZ$?}F4Va%9j2$%h5 zPZWKr^4CGWF2G|s;d~kK1TKIMq@t10f++(7IbhTleS0lSgCyjN4$J%ds&|@`(Z?mIQc}=!nlFLZWFK{M=9)DDsrg09b_g;+C&Lw2lL%soOLN z<9UhuBIG>Wp)~2<=2VRK!Z`FbS~Yn-#M$s{@!pa9jTxE4JQ=F&CTcg1$Xu5_hc2o% z%w6R?$S5epc-mhBb0n+&?X;i1vb_NMWD}QCO}BG3$}AScDBTEg3|(Gde>G~7lxz<- zQRUb17VdzWKChP_`2jBFo%+pfILS7}Z8)l7a)EOWL4J2LanC);7A~c>aT&Wh6F$Gk zy+q^N4TM@_-wvFPs}nLwEwDKKt|D0q4OT-g4wAI!ht!0b%B6lsVTDNVzzHv?O4vr% z&+|a@k;mF88du)4QXq+_TEa}CRLnm?B%&}yqZt|ee5PTO{kWt;GKB@3@^zjNJ}BTc z0-SDOvco&;rxjXqiUR~o4_dNA{}03;3Wp45`#{D74ck~o4D_i5E?TmWkL0|5w4(&j z$%qCbCVF-_&q#)eXjz)W6WjYVH(dh;R91>N%Q|A7QQsEv9qQzRtmRr-k3uva1%I%? zL>g|svk`$>#VFLy=O6}nkJZ43NOyF~OzB^O)CgdFH&FzHCJnMB;T-g-a?+S*_1)_uVy=9|3skCO9ulRhC zT=HFvdfUc3+FX(_AboYUSK|qxfbNhpYToWH@~!RAT)b4(rL1q#$*sI3F`I8ZehgbS}`Cj zx8-~|u}%^j1@a}HiBhc}mh}yxKtArZYly8O!)0vI>wuLJx1<625(}vxTZJBSYsw=0 z{{O_KA;te8E~))raVdeMgU%h1`#j}u0#!IpfneP|9SPe2?E{^2_1@T#zBf+R`6e`@o-BwPL$p|5rc~Xz^$flnvt$7(R%nlb6P638ZZ9hgs94`OcNll*-N>}) z9l9-QJ~*@~^_)rxK*xe3({MCl_5WlSi18)_V!jE12UbEi7W)T50vQkgRn6sTt$XAO z-I4%(#*6HxHy$QglOY!t^G0}pjdkY>{QiF%xDpUfR`U!<3K9E@XxKNw#0YC@>VZ;9GIP~!}%ph$=YXai*b_+FDBuDbvk^tJYRg(!MDt2yLKSw&@GqE zFgF4bWrT!4hO@}gy%>E2CQ&%osV0jjw|TZIJzLI=Yda>rg=c10r7XrUIn=%W))nfd z`X_D#k(?&CF4eV7V%1Fjyl%!e!pCC^X&zRK?hiWD5RMN_w%&mg#ck32J`gl=%3$Wv zpldxBBK*^g!G2!C+NHt&@}Gi^cd*JaTdv~ib`Y-{O*=*%1gPkS5&`xHdV=NS9UQ9> z|G?X+AAf}1#gGxgKszbh{1zVVDPf9r`NjA?#@KBL^iL90q;(T zyo~SMt@#tzUVx~wkm&r83rL^hDhJ-rM`GGZWO0UY(naHQS!Re)m;aP>N`dSUv!v1c zZm6{lfo!*-3cTir+$H`IwXJn^?a;nby=f*u$ z>v2Bq2~7v7rDD|67x^lu;ip~q0Zr9;HW*=h{U3&|9G7FgI=68B2Kt;AJ2MBpi-TQZ z*FoN@<->|%>2E^W_vUJ5n@D)iYjVpm5t*3Q#nM>G6#sKDFY3RZ>V9qpo~U>yzmf-6 zR!e7!PQKF3K~Wz{#g!ae_E7FLi!5Bcge6~wjEpF-5Wi(s48}Y7a!o-QGwCKf-UfS^ z48I(>SK$4n+Y>3Q<9HdOPT%=+?im$2>}YG>M>U&T;KZ^JieP>6z%L;#a_n!%CZ5D zWSDh8Zp9V64N)#Pk_+(u9h+4fGlvl!iIct8 zD1X85HTD~C-LwJIT_SXbB}oUG1~`7=!|Dm%ND}|j<$-X8?`Q2_Qq)9lc~&k@EeRvC ztXv-bxC31C<&z9zVG!fwkG`DXP>4 z_{Ia;wyatUAT{A&S;ySQn>}+{|EuJu2(62HvX1dT`4{6W!P+-@RVtrnmaHOgoimUG zF4;jsxXatq88mZ#(BKXU>d2^hka8g7q=1lJl*-q5@fs|wuCbVQb!@NNy24%f4G$(8 z5)}IfV|K5L7pN{>f6FewM;JAo_VFojdBbbW=j^NcWZVopG>k!4SoaKf#+J02%7^j2 zFkWeFWG#ty!FELSRcTF~i~1TLXYbc4So5aeav@lh7mAwW|1h}6eDYE$Di>Ama~m-P zYct`>m9WkD<7f}(A)YJ2?xpzHY%xCHV7M?1#o?IDjy#*Ds>RQ=-R2>y-1rMpMP4T# zd%&X=_QBP)T)4tmVe^8<)A2 zRci=qZTNPrZ2(jVhzDH?mCYtbC!I~2h+CI4j9(@34a+$Q76!X zeHl_JhjfI_eAtO@(sh3e<+40D)$pie?1b&}ZW0(8BUV-8Cnhv|F)bSzcynhqEg;k{ z4x84Fz!X?v%Uix8C}3Ok=E_(h80lwu-EFIUaQW(JPjq5FrP`9qgk(0U+DGX)vx8)V zGxCS^>C4XPnP?R#phJ@(Q7@DF%$UP;VGDkrizF&QDdJva>cSQ|ng=v%x`sC~k$B`$ z%omXy7Zw#N;!U0Xd-RVwn`k{;Ve+QVs_$j%4nQMqdxZ*YK+7A}iL#BziZrUj(2pD> zgiOG`{+XSlJXkxw5sXRBdLfY9Wrrf_&X(|FY&sd)!D*R!8BgzFJwiZt&@LiH#nSV; zqoJY5SxHuqC9Ag$PsXr;P4ZM zqZs+;_jRyI6qv1uM)$l=Mu^6dqy2qjR-jV%I-nvABh(7THlUgeC6gwcm5Xl@T4@&q z2PLpsP%6CmA)j0YyS8VR$jUn!xft%}qIwRTt+{@!yqYELWR*sg>R6;|7xR|S*U~R3 zeq58T7w;QDIXH=siTqP<9cq$z0Jaw7J2KPUY%ZPBpcg8j)vBJ(N*8>q#KZgqT9mg% z&p7WgwahHx(^>kp#7|KS2)J0L>XzULyK><7lLRyNt`-|3d*4-Xa>(boq3}}gZ7()P ziGJe1zA=l_Pvf*9@weg(_$jM9W!cipvznykf|iD=aD(t_c)!=MIW;g_};psz}RKum;62G$$x+ zC&`BDS^ykQ2s3aCz9*lzTn&W~K6jr|fgHbsGR}2$nr(jQVWL!Jy7?%!j+4ajT0v)% zUkK0#07L_RU-P1=RIvE%bG#O;7t+Pz@V%1yXV(U=%E#ArDY$o3n4p4vZ*g);P3IE;07UGWux&b6+Lnx_7b zzV8X!qB3$2H=MCf3?`AVx!NfT1%zt2!3ybq`mby0Zm=<45DCkxot$e7Lu*g@#A7}R z&tQP0PfW{lxeHmzxKZ}2(X58= zjH1!Q642yPXxLO$ud$B_m~Z9q zKho|V4bkoz;uSxj?cUr*WTXK(lDc8Xs$GXpli|_(uaiEC-hk9xj17u&<7d7*Vopo8 z3;M;e>%&P_)=?kOJiP(o^4!*;nu;>H8{=t+`& z`Y&Q5m#2+iv%lqBM8tZuaH(z|!@tUCSEWd~iIm~C`8T^n;G5am0?Kdy0q7qQuzEX?s{ula?qaJ8$89iGgr{3xz!Y*9RRYSsYd_JIZR)P9$iMg6{3!|A$MlTBdkIY z2N7=VbbEAg@*bj=vYSmuUxo`+YWl~%ST@2&j`--ZUF{W+k=gWlM5NH9TA-4b#3BCB}SG+&$f zC`q*WFTGUdjkMJ*y)h?e`bXKXh36K-e_49F_fY|dxzdKnoiscrdeBlv=W#v1xM5`m>*i<53#&Y2}w8pp)(6w*Be;XL{?DF>E3HH5d z$=3IPmfSgn^YaG%3WBvmxTT+u^Uo>9;&|Zmei`j}_P@P{5d@9C=MB?V!ylzT*)u9a zb{K}4k3c+f%$l@u@>Vos9!wiv%3VM)0x+O3Z(SBX94Nzd97a}#ZHAqDwB4u+uT@I0 zaKOY(etL+HB?u>wS^XgL#Z}1aLw8bY^&LIGuIgUvY&-S`dk}5C5B6bdO6z+9Y-D&A zYbC=J`)&aS_s6bs*f2Zc0<+Z3%ZaBC*_In%jrg}p$S0QPH*5yFjCr+3ZKMF*RIf_8 z9&TV|Sn=lFsN2i2`XvaMWFw+x8%D2(zG6#!cEi@dXS;{P_;n(_Zk1#6O6|ykx#!Ig z72Ye=kgYeWOZDk3sS`kLVA_BU_s!acEO_jhB~&lzh{<;0kpqKmiMs#8rb`Ay#p*M? zY1M+XDX744KJfRf53&|*OMeu8R~NgsFrT{v3EKlinHnV_HDE^tZmw6?KlBzH<+;s{!TE66>wck>3%=uvsQO!3+nNJ(IVPu3gsf7wOPBq2_}!L;Yb-Ry#|AOBc-8 zU+wbQRCE7OT3QWu81Nyl@+0|A8-f_ayqxmRkt8!eb`va#TSX*_XL63nF;QQz$o`eC z`Tc%zeSei!ocv8&_aEi@dyOn;!~VF3_?vR=>eje#xi_9MY++zlVz6fspty8_1yWw? z!HUh+U^;Btw=1|pp~h+*=w_^&M@!s7gWChz<#-6cqPf_UI$_h+sWIWW*qX&gJYTYT za`oTha}}}{h$s5)M@QN#BYDC-U7i;Kbg|Nv@a;3%#vOrFTk!qQ_nT+GWHdcCon0`m z#^FFmg3>A$uEDI2n!hi9yycb%G5FQo`wTbIK7+0&zwZFnt2GM z+6iaw9lVoeu&AB;<2K@Vt-%ieuH;TTmtmLqUhy%-=8qHf;m$WZaFZS7FMibnQOvpJP8Qq9CVDiRHvY@9A+|PBk)18K z4UNmkE9#{ObU;vNMb)U`z~ZP%ivFlY4DIP!183X(GL10vWUbOBpQ#jk0dtrx8EBoF zbNRe;?@{?EB<$A{AL|(Nkgc}n3$s@2Q}ls;O-Od<68)85=AzLfck4T4uh}t%)7l(? zU7LH~M#3oJ>UWfm^zoT)%oPWur68_C!ZoeKq2d;fJJudj+s z$*j!JNo%op{&CuyMF4t$NHLwUM{e&ukIR309wt;QN|q0mDyf5M%I!(w6>Yo&*c~1f zt>r8}iXCKPBUEmR5JY3VGFr1(Q*7ryg)B$7TGbdNK5r4Vy@5~ z)V}CN6j-v^XB-M=8v6*-*(bBqZ}dJbMQ2X*>W}lxRzq8-J(iwD6VTcxVi-3t#A@(2 ztl2wL0!xBnigKseaB*I}^Z)AA#k#GFi&*_-SRBSPSGm7$Nwx!u8#;=-RKHGNVc{Lh zsx)eo`72vSd!CM@eLArL#rJ(Qklrs6pm@nZu{bcB=|5#_c`@++snj_hLL=QAGzjd}itTqHe$K zewJdfb>XTg`j#DTQQfw&J}%AYNs)FEUz;Iv=4;O<{WB7!lH-RVndu0~d`5Etf$3%} zX-9I)Nrw_vIX7djWpa?TpD)$3uJpz9>b%*4cLAQ%np%&hKM3#6RqHIcUMj{)JXl&( z21|D@wRiQ7S+B*8L2YQfAYS>YXXdhtwpxsB#?^uRUj@=Tf-Fbu_jX78y!>0cgWx~y zj^DewvIS-Mi5F|F`9;g!pv48{Q`@e5Yv3Nd?0ScD*#6r)OpTvz`@h5et6K}+0J?R5 zXWp|v8KYqgKHmHH5e~s^RW`V#USA8APwZ3W2$A+#?WYI^?i*D+8(e5R6pvp_#5f|Z zs!4meE$3rFc#Yq#ei&GhxedwkF&{N;xX+s8<(V|zzk-eW4U71byk<+kH2blA@ri7# z6qWmRjIKy~^@C8!fTD?mho7I9l^4g0+j&?4|C}H6t*QUe(>mVx3QZ5fv`mAGnv6k~ z`Yt(dpG#PGu2xL|_~c3kx1~CHn_!UG7jbrk*qYb%!vkJk4Hs9po>`eFBV& zq7&F0Rc4+SE1X&IWu;sGHs&6wrgCp*H))p9{z;d7@a$p4b1`7x($OaPcn^+0ptqrF zzpo|j=$^k|>`dbqs z{Hnp>7tD_q#GlZ*5c{Ek7~Oid=EDLtv+`&3R7U7t2U0|Jh2r-i_-~7j3W;>mnFl-= zkBCLbuQg8Rh1a~O4|uVLay7sEi>`T#hTLc;uW2Z2TLZtYS=a$Xh7SNv7ij5fy zn_oY#cPX}JNw5MUG_`slzPrNvre0|m0v~TK@=v67ps|6#N12NyN1my9OPvoiBR*m1 zkras)?pDauX)ztG`QS>ge4l%}{4{^FEu2(if8Q(T{5rW6518$JfB_WXSx z;H$n8j?dAjd<6n29b_8y%j+ne#vDp;n@Zc0F@j<0KU5;i5c0-0+rlDJZ?H^GJ-@+5 zKaLXdCcp2>Y%15f_XmV+kWoV3e9eY6frigZ%S9?Qf9kFY>8Vsv-YwMIe#9abWPqkF zpx)u<`);9@Gwbw#?i(5 zWtszET>QkPh^a^)0=AR#fczaik2zciIn4?$M3FA`}NHWkCqfa zWDYp3LHcUob*^%1)cyEE)Q8~of1lf*0tXgAMVCkQV2?g_hH^!p&&SPM$q0C>qqUAP zKpdB*Hw?|qIs&3|g_A5L(UqGA>ijn=Sz@WdmW7Qni~Qz|t43}?viR8#`u-nw=#&MSf@ts`cCA<*&2*f*MPx)CD%*d<>qH@;6eemp z>9pzW*cLLgdz>dxQECU!{>CIo*Kwp9T2_JI<4j%G#?q>DMKKQ;PyP;7U>t~Bk82RG zBdD*Dssi6HWFLq-nFEuqnmU+k6?s>@(}Ts?$lnaPN-;6wPN!F`Jkgc{9oKUt8j%h< z(p9x3&oO8gzf;k|Jfx~VvyzA>7}~$9*R3ScmK~ihK2lZDMJ2#u4n0a+ zsx9uw;NQC{E6;*SRgtLmx}=FgXqzyf;{=M8G%My64?(W)7iab*8C zNY`uhCO{S@=o_~*&CY{{R>}S?i4Wv5IfYKTMh1rWpsKYy0IG#x)B9h_7_*XBH@Ccm3iCs_`S%J8Bzl-_KrSa4pzh@J)h zJ7&*tsV^;{3SYlMmKV-V>J4f!SQ7sRwU|;5RHHWuyi~@nb&;vo#${`4rcatr2Q4FP zA=6rwbz?i6`Lp!*A|TpV1uC8BS&1tpP~N!3HH)qB&0YH4zFC(5dhxG}FNvO?w6(&B zaohmgroB(iBK4r>Z-I^Mefx1|Qa__3Qv;o~{+T$fLK!X9M=YEYq0?*{o zt(ec8*8H78gF$|k#OJ%=Q+D16^=RP>J1u<$eEQ6{1~}-iDDq#84Qa)1J@3-$6K+G} zmwn0UY!HXPO!NP-|DyQa$z;KKXU3oRyGyoi>96=G?YQ)Lzcg8pw1#G+in8tlGB#2F zRF_k4(9G#PUBj~T(dO!Y3xPumSm1*Oa29B3WQT&lFO72R2NP|PP5A)V7I2}qJzwTi z-lx*YM>C|8u!ZrT9%R;(oR@jnF)$|D*P#nKly*DHB1}wkbfe7!#yE$=$)TZ(u%gq6 z?E8~Jjyuv^TdF47q?l9m5BtMI5Z{~b`{@vCxGzPd^&Gq|+9eY>ohj?TjJv+nO%XOc zbMU|^4UPCRh+GnUvVoG!Xvrz$5#i!Pa=(bzllE~mbJI57B)YwJH7t8vxD4Q?97^hr zjP=Z1O^c_1W1wIUjjh|&n((RJLR>m>0T-?vG#Xn{sjW2VIWE5Y&;yJ~BT-@u2K&*M zx0Ux|LsYLWR>W&Z!EZ%1(3j(JZC;36Kpo+mMdb+SdeK_gd?@pS_QFzn{3cm`n~png8<~WBi6k=qI$Z zb z!AB(q%KfWP@A|avx{{iF$FsUR-lhrq@!LK4eVxdcsu+P^1;}iUmedB55}_Qg>&|<{ zTCw$RbkQ`{YvR>q2?n69165|AwBl-OQZ%DBN2FUSr@;43yp)=z3z4U+1f9B)7F3uX$W!P#$iz}YKGYufN0M>GkHMf486bPvH)6!7^t z`N}0hFH#dwW~Wm*QY!l3i|zZ7|%9hxME;TC|{$|~Sx@nQ?}>avE7mE=KjNi?G)in+GOwk+Pn zI7qXOkNxy)MeeXzf^r!*@$jh2wf`z63F!hB`ZlP5O zl1$R{ZABb6!32~r%Vvy*y1*0tu(?q)j&t1%LEFx|vVOc4f6F$GIFI6PxCA%CrAnV{ zwg?Ck%QP#~?7yOpo1j5i@AcY-vfx?bY9shU!)NT@DryfL9ciBp83i7|jmlFZcR$Y# zLCa%z&ZAF};WoZ1p|Ba3y8qY=I03h0LXD`}6 zS=n;$es(~xl2)2=r-GbtE)sxN0gthqkRwpIndZ!1lNmP|x3So!SNFUocjeQS>_~!co}2lST@p$EvO7&U=0L_IeueWU^+sFP9KHfEF3ayD<}Qqt%|mR`@7Rm|$02Wal`Rh>N7RJhlQ3)jD=2Q8WI_$l5~^O!18`!?@=J}kB&7@y}#V* zleZ-D-|jULm;~4S&dgf2|BYJ!Q7~L;b+@}dgXDq-+U$5RsJ~9CdvAw9pWjT0m~&lc z)om&LJ>_$Lexef+e*Uc@TMqs%^RK4l4u&?Bi}+7Lq`Db%-K~TX53Dy@@#zGQN1qa+ z-Cx}*5m@WLrdS);nOIihknjMDUr-Rp;x~K*XY>M4zY^%SbZ~JMKekYeD0+WfiOJ^y zKoUTrh)d4@kqFSq3>+sqKx^l3A?XCuoA6)+A}dVTq3#SqxhyPFp!krIZ+g0hX7<*v z?l@?^x#1WfFf;@ldd%nwmAIy<9#0DBpmlIgng6Aw3J+vMPDWYP#U&{ViyF__`v42; z*A&}yIJkdGFW6drcwv{fZvdE=+cg3oxVE=cJR(cUa57F&Pcwbw%G*_X}AW; zIq1~NP)R?Kt&QyJ!iHhyMRc`tqsO*2Z@9|l+D??4Mw#wLg5h5aWNi#kB&v2jeZU1m z%(XvO@!`TVZYi(a=hnCD|A#CIV}VDzU;npoI`l#Q7!%;H@W=t{ zAGM;!ow((LN`F`)yFV5LU(A}2?P8Bo*(=ZyRM-}D1SMqzr$OSw81R1)l0v&FyBjEI*p|Jb6Fzi$y4!oBwxoC4w)-_9A{ zDRa=FH3y0SyXbFnW zF;`W)bspL^hf5d*W}oH%Tnku6 z{~RW<9WK$>=@bMULsz#dlte+t&`uUP z9pqiqc{t$0y;xT8rIx>))D=1*x+02!E6lA|?C65?*40>v)~_OQCA!7AhMtmjQD~Ud z6|z8{F7kx(OSXL$S1&F@KtKHgDSH501@*3U_|pNC=phuXKaMLRp3~*I*iiwx)>Pl4 zn`{^=`%?DL5mQjfUIgEaJvL0*8Ne=B_&;G6vhAO+3$H=g1+k+i>_XxS2)mGd31Am& z{GYH3Vn>h5&Ru^_OR=M1@PX@`eUx0M8?d~4 zp)%YglMU@SCn{&{S->xth-1r-aR}93g2a$@Q}au z?Q-(l{ABuXrD?Z6LV)2x!c4_J2Y|<-n};&)(Ez_U!6e-2U&FXbKK^qVip5GcvyvsgpBPW7HH5oyLc?_Kv+dpH6^Pup_r3b*8$Gx_jV$c$S>5U`_%nVE54m#W4m+mtK_N~x4Z+v>Fd$2pva5$G&Nd|9 zeZ@4Qb)f?o0NjxHuabfJDGdOUk=;|-FQ*dAB>Rj%o|N0R4|KMEM)gU)04>OlNb>ES zugEpghvMGTEGEJ<*15;rwF=X{gA=KqcdXeBOz}QgUvzJ``+Vs|vK)h{6R?MUhY0*n zWGo5uCeyg#b0Y(<_c^8aKI(E-ZUQ$&%A1v3wIj)BvIYPO6$(&eqQ&Tf#ZL$YV`LOU z9BxMnhZ?lE!|#lGQVb|VBaM;IGGFG38Bh*J3HDUJ{DxK;6&xfTZHzn)+*X^^G4Wbi z+r~DEBCnFoXDTX@v3o1t3hcxrK9c6{1Kh6u_0L-%R2L*4h7qvfQU$CSaE7U9TvB-v z4@}gp*K(mUT_p^!;a&hnoguxwdc%E8Ld`9u5OR=i*&{sZp#rTR8m0d86^Q=|U7u-V zpH57u3TsK2!0lLsIFfm54!#+hB>!RlBxL{5C}XbofZ&1>gikrPaAbIP@RN91RrKy5RudQqK_{R`v9DVdvOuu%v_zNGf~@Bl`ZpS%!6Ur9e$Plu3b za-i3eJnS^Dq1A$YU#wjo6XAC?tpbacJKPuZYh-2bk;5N_Q5#Lk(jiS$FGGz$O&wEW zN!B3`A=O0NGQoQ*t#QR;^Lhzt6)M=^g__$%Y!BUUbsqGH#BU&RPd>O_y1bkCUkiL^`SU zU}w%5m#Ykzj`fb$UY$=bIGbtLnMDF?Ug@i8XHCaJYJE%W7Q4clGR@6eH=0m**fv5k zZk}}juK?4QzNKDjRVpg^h*wDS&4)?o%^u<%O;Y>`i+Wuo%(%shbMWN8asK1J*$Oty zPUGv)6f}Cky{+@aZD@&~3??oWcKQ{}u)phuvzwEUUo{!3U_H#Qz~}od_Cf2u&5g$M zVLGe*us5?MdZ#$)o?ac+d+VX8as!WLCTV*8M_R5cHCdns^Ta)evUFak9H*^JF=w&k zp2D(=upu400;(x~Qpw?ixt6Jho{XDf8kHHiAsU&(gI@2Fr(oX%qvdR}=j0&O;+?I!63!*+k+ydt+MOQOZdxK$mpFx*uykRr z%#!Co8_o%2)T_#JUv~ll*oKmB6+}}k!ahHi+XqybP4dDH$q#!TX}kQG?W02;{+fsFB4YMChDj_yG@z8H zfDZeV%4qKXO?B$qx;4h9mu+uvp$*0O4|yp$k_nb9GUzFXx?Zog%}wNmAV$U#r&2z| z(U^(#XMcg|+bwvbdUkaMaNAH-B1v zeKKdBma$|RiZEViC+rg)kBxQ#sYJqt2ig}1>gPvF<^Hzd6w{X4;+a+(>ONXJ^5d46+^Of5o9%;GTsS z6ue_kLYLsAdM~ATa4x4PT8FPHO9eD7vvXd5vzDZ?&CQ#oaSdy=IeVA!MY3w-aC{tA zq)J!-RJnY9@ra}o2CZkM<%8+u;Fz{td|8BYT)o)&&nlUbf{QD%T&1ZLc=P$>pPe*n zt+>Km5{z&NMV|&n2k{a!oh5Jc_2jus$g5QE|Agwlu9c=U*|7t+<2_ltx@YtHj8U3S z)_pnG&YxeEAKkxXIkqU8tyPP;Am^#*Y+_xv8D>u3s9mP}0@F}lzV}}F5r9nlIJRN= z9=}`tq6!-a-TE@$Y>;SGVl%^)Bj3zr3NLULEZlL$8O0vaFm>5@r{q0b(>^&8xTe>9 zrNJ}Nru{vyyINmPM+MVoY?n4&BHjRAt||}pMM#h;V>u~?O`s>f9cJCWWC_OjyS-W< zfn!aiY*Y7sZr~F@KmdUr0+xZ)4A2roo2tWpCY(~;v%5GubzQ=ky!I!TQ=KWy&=KUr zd=MwXuT3;Jtn-;A{RuGl<&^^<$`^lHpO^uPd8rwpT;H<6e;g7j&&JgMn{~y9O)yRc z$mQq`C5FE<<%9ZdSRBf?N2p`Hv@R&?pEbZq}UZ9?yJeLc}j8Nn&Qtv?MjaSRjwR5JO!_aDQVKn!2A- zIet@YO3U-ph9U0*ejqU9>V53f$v5*3sB1_A*;Ux@-o)-aBIckL(}U(+JxlcIrmLj3 zQ9+953bILA=3UJeOL`kz9&`UyilN5pPm6Bjd4mYezuYQ`PJmm*M)Eupu#WJ2Lt+1X z?QV_3h|!1Jl$!P;Wy@+}im-c|oPkPvLyp*6_Sp3@uR2CP@M71F=p&~*7asC!4}=cm zRgXcw=KJrM->+G@py*KRxcXS5xZC}HwT~0KqDOP8PaX2MLN}A_@GX$U2o*Ej_lY^ycxhjeU_sgn94fl zF)_)P1UkYOg>p~``)+`??E`YHRA8Ho>aodrgH+UlD%LQK->sgqIdT6l*_`?Oe`Rwp zzA+*sB|c?ytl);9XbXOU379UwX$x=u&=$OYHM3h)|5w@qx5B?@3&N5AleU2N_5Yr> zApaZ(pe=asF6~Z$XbZ(se`pKS^kAL&qv}h6aUBp*iS=HwZMv4m5QVVg_Y|Eki&2iu z84OrS#KFg_w1GHIbaS-CJl9!aOdHoLDmNv?A&50YN3`84@fUb0M^gG5RFd-hFvX?e zY)1$U`umcnWfL*q-;hb0oN(2yKVUT9(WEFlDIfp~*wC){lXL?S@3p$oD+ZRqHfqdf} z-wbzjR~bh$*(}22R2KwdxHQtk0@l8?K{cZJ1uTPh=)Np*eLyyMJ4S}DQbX8d!E4`A{&nY1Ib8}} zb23v|$>RAJ4sLze$iD&?y-w!~8c}d=DtFdR@Ap!OmmYXbDc(HVR7^%GXK#|RD~49& zP9Lo)FvXx8PFp=KAd5^7N@4UFS&(F)z2+InAC|FeB@*pId0DBSwVK?Ta_~x*V4U`kcJqWQ7}}W0{V=TjnVg+B&$feqzg4hy`hl zVi(`8oY7Cu=DZ5k%>_CiBROwZv4BB(u9TSV3xHM-eT|2oj~>^qAnB?i07zaWj30I# ztSHZS?rkV9O~`pZg%z)#`wfb)V>>~G5`4xY2N_WqGgtKM$DTew@zQ!2~E5SHAWBr#9p zF6{bVTqJ$XM*bDwaK%aTS*~(*)=Iu9MH_s{JDtWaVLD7m#;|XM*HCHQytl1B=fPB( ztM*$rtY_EYls?9CzF*G1I#_My%~^8V;xp*v2eUci6>B6e?h7wNy2Z5s}$;-)5HSuDTe!sHVp6nVKKn6>Jv2td%+LjoBRUZtF!&Cx?NYhmCFaK&v0hD8MSy_qm0I&AXsCf?SK z%TMa{CO8#NC6n^(c%LELA2F~bXKX+}3*;7g4>{ze@iLnR=agB72sC$Rqf;_2{3(esX`<_UP6p;-T0I_5`w^xg>CoLqzxOX zl3X_WAFj@Xt`?t(8R1T}`k!8#MmW`cRe*iU8|BfFmZAakj~vueN?Oup)(3&{hoa@t(D0&~U;pr2 znI2a9z$a9fW9tz&{rQs?75=rbchILcH~+s3B&SE*j#X zMPunVCIOVUW*`XVjdg+zpuGD9BH*8&mv?@GG*MO&F@9+Q^Mvx|fcWuV7;4q;MO9+Z zdd9~T(yGo+>5zB#n3N;-*>;XDC7quO0^74lOH(OdKwplM;=RTR^I$t;PiiFeROU03%aK!(Cl-phFI?uG-M9Q|D!k zM+U9ymJA{gT)z1OYHNidZosS9=uNnNc_)Egc(qVSqpuOT1=V^3lx31GfsUlnXK)Qe z8axYzEU|`jpY}f@ylAPfr{YHP`Y13YaKhfkWK6O8BWSQk1PZ&=BEy+a0f2Wi5C@G) zJ;J-S)&B0=w*=tbHvp9&y!zP=dGn5dI=b%s(SP9GVh#WH?OQD(@;tU={)e#8k@kN` zSlIJK1Z(2E-f=zcE2q6XetAsn>{D^;d|_Lzj-dQ)iOo($cXGt^BuqaDf=9LDy};k- z-FrN#Ea%%gye=mW+pD)1MzQyshK*o9>I~m8BRadEez&gOvictS_9a9LxcOTbVY;tD zP0q+af=(Te*%)-~URa-{oAmZr*`tEKN$;*EQJ4+u@LC=7h^%# zi?h&hd3FQx1M~6F{sAPw%!^m8`m9SZNDPSRXfwD*s%PRuNC|iE@K1W&hlV9F6Ym;?!nRG#K#+%gQXLc4 z$5E~y1V8{rxiWR(>d$as;}?HI2&QHa@M%sc_SlA3lB)i=1ET+lAp}~ELs}I31`(Mh zCoqC#c}KDKj`$||oORyO0;q)@hK?k_A5`@hFfWc3G(C@wCKxb}3<`!;5ka|^SRpCb zpFd1O&E|-*%|jzh?K~30Gy2@=xq%Y#nEI1O4J{XhAO5F#*33ip1?uMYil!xW8uu0B z70`$?-hJFmmy#4)0wV)!i6Jh!BPoPy1&5rUjP;X z$mrA=<3>{F;s3#fS3l!%@x<9*oS)SBJ1+d!bXsRbI^q6d8@b5me1o@hZamhTyJ1s0nd-mG}4$xcAFb@GEojE?-6-oY^me2dXge4sj&(xY0 zM+bhnB66cszV>kKG`{volF-NwwHb!nnRVI1kFuli^+SFH=Os~j2GuTup$@I_Pq1A1M(j3`8b9_cDmC`t7I%resQ%Oe zwse``89zi}D!Rg5>Dec3t16k(f>8kfu#>Um1cr8u(2PdW0|MxU^*Z!|* zE-B3bTKuhxKO_Ei$I)Oauc!54K8I#GljY3$xLKjf3PnKnA53|9J64S)rT_ zx@8TYf}(zzj;TJm7|rGxQq+a{T!OlZSyUS4mJ->Qi-8R6u~M42m5@i}wDG9qf)gUls8$w@3_+U(zE{ zYaId`xF)Hz{&}64z)?ffnlE=Zi>J&H*3>dbILa`-4DW8kDR=Q@i+-a$l0y`>>YiBB z{@2Z$0|}nFRoRJ~7-q4I93R|8iWswn(p&bodd_^zMTRKpazJ$RF84Un_t6Iyws+-P zWY*Z_3AYkDHok4FRM~DapgzkWq=t$RRKZ}@g#Z0Q;bs}@;`)fi{~LAdsS0&Oy zSLTxMWIegB;;if_errVThafzT`Fjp`wzuW)@G*NmTwp}@ke{kST0M>96AJP~8U9h@%sEGP^V*`yu5N#=0v5HeIya4vvzwQ) z22J=GqntbiV|={hFJUs-THb`2O;yi4$DXoWWQ%QEYNXYN<_LNQxoRrr(0F?d)H9pf z`MJ%yl;TYylRHOlTC)$~-|fnRwQtbipb6@M6L0sM`5e+|Se-LQQLO?Jjt@^vJoNMW zR!k?~H_TUWw2^{$-8}8`i;>#4hfa!A)v((Igxr@y++^!`s`_u~UnBW9fd6HMBgmWwwm6uLV~oTSc9f^LRS5JiKM)i zCD#-USGq8S61;3VJtVeShk#B0BN;EAzT>nC9Hh2FyUt*;8l~Qf15FQ4kp$Y_aVh&F z>8>A1YCkf8Uz+yvo-YaG{1s=^;9}*Hf~cSU`^Da0wT$u>r*e$!ZX-V}R+WD`SrV2LyD$QD3?~H~o88p%X8HFt{RO;*Z zV5`m08L~x2?J6l!9<(n%3h1w`ZrWyM-WERx+Eo}x53=MIBdatNGKVa+D7jO-xfi$Ao1CH0mqVdTIl`&*h)3u{oz0WQk(bC}07B~o zg~U`c*embrJx(KCUq-%!1LqHs)9*qf2i?>uQWI9qiFhCZG}zLG!gz^dtuu0r7c!z< z$;q>S7zv;MFcM(?$w+_|?Y#6-c2|HN--9@UjXrLI1SD9o8jI{Y=;{rOD&xy^^AU@Z z))q`Y)LudrAoom%mh7J|@nIQdMELG+kOcWu6)qco?MqpaD~@OEV_51qq;g+^xI4fo zkDz`<0RS+rXo5q-OYo-ZSNvuprIutU@bcvDgw5BG>m zAZmL90l@J^UjS%&5wq~+goFFFWU!RB3ILbz@(Gs!xe~t3|AHiNdVE}|n@cP7I zM9F~g8<()BdeDT&r_Ke!C8V7}ue=|t96N7g=S=W&nMWi5YioXe0eUaF;(p&(@;<$J z?Yym#IF%N*nDc}zXKF|SpigXx9Q)tF0Z|rirGkr48Bmm^-o4^ygCoFD0B!?m76uue z2l5MtkG<@DkMOGnFJpP0K{x)NP2e}y_XiihVF{+ixr;WemR&ukcuE#HApri+M*C}9 zlEhz9trkC`MxX|4_ zz-%+ifSWE+wL2$NDI`C?o+N+FM|v?sA#a6UX<2F3=u*X)JUdmSoY{IhCgaMW9+UL3 zKX#7qFx0uoWU9stk50EO&Ei`(5^~LhdSKe2z_q-cs>$eRpyVBYc=s~Q>+It#tKkZL zv{No`cI0u<>$IU8#5x~UztDxHwzJC0adgRT?U|gM8~HZNu_si5qsRY1CC~$?gjc1% zz*0-R{((yHU6wWb3zg72@&}dhk*!L@`JlQ)2ZX|(h!Dz<4aTiB{+X`|pzuSLu}l$b zH(#tk3qQD_8-o=GZc_=Lp1GzBa1kCXx?npyn@(TzncaL`U~STX`W#KYvVqOnJ7*4{ z@CQLC{8H{^g_=&uz^gZ2AHZ=S_(U$8vavqC&d68PE@OKZ5L2HaD-m%=0@z2}J<_Vq zsSn9UxXdYNC%NPKdT7%c6|Z12Pa@H3UM0#2N}g-Ot!x-iv z@@(PknhOGN07I$Np1Svm+kwp!Ct(?oYAxkEL@dg2c-)cI_^!+7`d&GnDCJIhCn|{f zws=zGbS8&vSVQ2|pPVp*A@D1W9y^QBu=lI}gtzn{rS* zsyvP~cYirr`=3$w^pa_zJ3mJ~<$4!+W@a8aUI9BIdj^(A{C1UzKymE5YTmYOfN7zH zYQsxIm54$*XPYyy@I90fmz?(zcP@{jD9{S)*E2Rw5Qqvc=D3&|gwh-Q6R~nQF8g{0 z$FECXNjiBLR&F>CQW&qEDt0OvjGgy7*IIGtGP?VU;P_jxoT)rjEP%moiWegs{Sh># zj|1o7;NXV%$KfhsMN&kyO6@<`vkO)7R_Dbpk1{r-@?F%%WhoiedJusWr;xYZ$UM)N5&qi@xXpxkFk)_FLv zUF^;Nt0@h8jqb_f8nA7x7_MRnSX`U5%iw)S0b?j4>CFi!pyU$-%J(vS(p01(-i)d$r||z?9>n2Q1>Lj_JNFzaft!EUL?2kzC@`Ofyq+7e zZeS9rt06fXwzyM2c|i?FgG8J4tL*t${%eoPx7yep*sC`TE0z9@+K~npuPHJyPpQZ` zaX1s|p9cU9zBAAK=vnolZ|7Wmy!Vaa>z`A1alU>*JsHCb>4UgdxeV|)3If6!^_ij; zi=Zk~HTE&q`dj)Er)@7dnAlS)RZ0oE?|x*5S?GVSuEqraPE)A+K)JQB0RsR#Oa=D! z05S2gC!zBQus!EhBP*6_HYSSxB{}yT^zd7YgP9Y!DA(#p?;6nle6IQKk?Y@H`EptWa-z(OX3t7ium=Tm1sLn8d5(fN061==MOx3tL zh-CAB>-^HQ=7?|ql2m;)@xNA_;nnaY7C&U=>h+*0|B;_}nH;N{zo&Dfu2Xv&A((O) zTrV)wk(|sZVC`UB$1RUl)%!FXo2n1^z?(%tv6$oZ|D@>s!ABjm6CiK(Lt>$V-*gvJ z?+kT+!hZ`btq2w6y)%dNsB(XNr}4Q{1!fb+=oV10QnFz_{p$!qg?p1T;gEggBGXf0 zp%mvG-xCt@2OP_qPrMdS7di|33Evl}e(1+gmxlMm(%PrJ1N9eT#^ z*%tg6+sa(q2&%<99fUoyJb^Ao*sORvil(h#Odm}pGIpj+^$PV10(E{rP^TOC#A=!K z8>1E@8(@60skn|qdrL!l5}g+qCNHh(rnh*Ruvc!#M2Bje-#$fc|MRk(K1P}x=dI3a5kdUQPWS|EVn@4z|bxYhi*&HP?kN@Qz<54r& z_Kr1X@{k>;`jF_<^_h>(oC;C&@*CR5XWXrRu;c5+z=)Klr-m3hUQ0wH7lDWV2t^2l zMLZKC1_ZijrNc^X;J2>cH}%pAC#42sah2{v)UG%QV=GNYS4NNCStkd9qm{l>*)9-V(jE%%D|1Zys$V7J`1Ze08;z zyS032T&In8%@` zTl;c}QsadZ#w>3RpM)WN%5!+C8}%!G{)h)fpi|lr9E4&WpBR2C2uzPd`EV zq3)6CF%KHyKPw0IQ$FWqDOc?uBlUM~oST`~2;O`ocG-rER-xbN=3okv9{t`@ya%p# zvanIj&|M*DSSnrpeOd{;Bz2riOe3o!gk(z;T!6(F2&Mrv#w(aRc>&0xXhxIJ!!sS(6O<&@u)jeFHn8Km!rxD)goHqkh?+RY zRM<9}=Q5r4kSaE$ogC}R9j|^%C2x{1_eDiAv(c9Yy4V1hVNHY9u7NJAKr&C?DsYLp_A{Z+o!8ns-TwR4>u>nCJ~4cNgs9f=&a%(#oZ z%7Ng@_xu_E3152aV zlh7h003TroBI1Ew!*T~=^G=xlF4LKX9Y1dz_o*w;0V!F|E=9aGUjSD0r*5T?o6&2a z0&(gKaVGExD}LjeeIZ)c{X+O_?pIHM1oKT%2vvx4!~9%~vB!*IJ}!5PSsiPFh+U<| zrlI`zQ`@KydG_X;s;`HNvMh7I0`j(`ESJfN?S|9y;bc;qHOzbMw?N7;6O=ME*C*yR z-$aAejE;dr4tI-Z&DPnkU$ktS>1~2fsub|teBds?#W`qMsxj%VW#tc`fw+RHVHKyI zV(45-K_2f=o0c#BV(nyMAH;4Cs9?FJ{EJe{zj{< zVAi)59gq*>zQ6O%Dip|wvUE_e7W{)!WP1FJBlI7N@_zMr(;fR z!gl5!YD0!L=D&N(#5;Ck!$D?RKB3;78aqezq{;G>rR$wD3W3^UwV@F!Nt)u#3ar9L2tOva1dGV}-r1Phx(I{;7vemTPFbajFgd9U*sq^!uTCWX51>Lt$+9(W_?^ z3S*3r^+^t~AFDffahreB5vEK3Lq|a8{zFHo{+hu{Kz9vC6N{#el#iCMW|KVAwr zmtGgumj4x7c;T3ZdJ&(*IrD#fs4^lnLyEXIq13IAA?0dswi6nNe=!RK9bW{W^dY}9 z@{%_{I#0us44!Q{3?g`*mdrdGIZ4nx*LV#WPG2p_9)j{3VsUi=ukd#~u$LhKH8LH@ zP0lv2m~D{WyajzFZ8+d)4p0+9V+pL_2!U2F;7bD9B*rrH&AJ_3KXZZ(OI!w<{zv>o zNvzLtN#*@}?=8O@0ns#tra7wgY)w@Q>0QIlSd*KnQ3(LOcAlH985{zNra26btXU!1 z1ICqv^<9fbqjZL$E#~~Ty~qpRS2tG8^cj;GeK(}Zn+0!n&U^pf$kpjMxZP0OaQuQ6 zu!Sze_aJ71*9_VZ0)GtEvN^-3TYCu~ouJr99h^#gr~sio<*@XkTgA!BDREe5R_L#a z;hrd4unclogpWBJOB-c5vpc@El4VB80NsE=otI9-?JZ=4G8}Q4%wh_@b%@gV1_u^4&+LMMqA%E^oqvwXOD3sw$C?r zXLHsDv>fdzb21yShaS3dLnKsF3t(yLr!BDOfB7vr)kV~6jKT|fqZc>=sIS)! zEo20kvBv0BQ#wFpu!krg05T`ohK#p1YmH|8l^gE0cm0yJ1##_BW*jATvbR}u9a#rvxumy zJdq+l&m!VxVv6VapiMb4D+Q$7re^lFhsm*o)lEzr6bXk!qYasd8XL#^S#gaV{Y!p zs^L_iYS^-L@uAqbg`eVW-c^cj5RMk(OrU9Ojp69%XLCm^i*UDZmhW|JJ$00&78k0R z#a-)5vzk=mdlt0zO!c>ZB)KW{kFhpwmuL;Cp6N{I7m?o4_;uiMwPal&!&4gRHg(Jm z%kQ!EZ)t|Ijqyjc6>3>AV_Y`%AaKELp= zfG^A5*yWBG;);LAkZf6F!{=~0*z0sj>-o0F;(fm+!LFu*_DolsJayI$EzJ?@+&$b1 zsJ|zhl$II@oI_l zu?|%vH*j+P^uEJU7!wP@%_df+|1Bs?m?|+Lv}IrdMSz7tlu)dvLP2>VHeQ zcnV$XEcP3bfcPO9&;h!;sMd~|Ve7wDOex7SPK()wn-0*JOm@RAzBDlqJsDyZSQJ!i z@tL4|Q2FebiuV^9L0<-OBY9g4&o9>P!}9|``ElIKS{lV=ubg86%x_}J(V>kA^e)O?FcuhF%K$9_-V_L#T`2Z%osdztrpt$l@t@P@u1}b%8DqI@JaG}? zC*$~%|1g=AjImtBj6FbPgcE?-Z2#4z3K3+iGZJkZidXv1S^REZE#TwHa+EQr@r-lO zTehfr6Y#7Zne4Liv0>K2u=>xXmJ z8QA%ktF?kW+|}gEN&&H?g09V%BV1>MSt*VumpWzw!gVQJR-;HqehpuL4T-ZH!#$KD z0Ssix>yD<1u1&R-H_56A?^U%v@|fK3oy3L>ZML&#h8KfaA#P4CfD13_mZNHhVWBNv#HZxAW3=gtQ2*2=Y?x zh7shm``6Btt8AqFgAX5Ddz3;<)9#Z!5>QSaUT=m6JY?I))-2ffINzSGlQTm}*yu83 z?6{Y7mYL3C)+Oj~y;kd%jDa(#1s^OH zAO3B~%Pjl5A#alPcjXbY{(q}H;s7d-ta>LN?lit`UHsjTS8($mKc4K=lOIpK%;$aB zn)v9FX6t}X`;Fd&K7)!dD`mm_kH)J{XJ77}Dn%aB>D8al&C`V@KsA28=4F{bt?B4S zf&lvo0Nxu3u|9XHH@;NicVxSI6JN#(?)>dk_)5`80o@@VbNCYa5^bw`#JUWF@z=l` zY*VjA{Tm(8THA?e2y=9HA0_^nmDa15;idpl{@R6Dm!ks|I--UWK-q0YT<4V=-1?Zu zso^zRu5*z%zqqA{cRo2_>h2oMlnk-Jtz?i|WAmJbt!@*p{WFH9AwJMVwC}*GS*O1- zD++SSUEq`(wqQToi7EK-)p{;T(R>}Kq|2!3`@vSeIY}^=1mvBFVob(y%TUS`-#m5n znz0Wr@agRMc7pw=C;h8bmZ<3rZkP?aKCt2zg1jS04~7L_BqN>X)xJR%r=ybLvkS*x z1~R5K17GP=$BOKM7NQNlP^yeTjdMWP^;u{9_zPih1U6--kA-adOBA=Ev-LhU zym~Wif(wi;liF@I?+voS`N0@lJ8Qn!ev4+_@haHY;Hlc$oTGj{+=m+NoO6p1j^+Tf zVcVeaI_AY9h?`BHG(p9mZ-*F({dDKR3!HFMJPub7 zl(#*dtMLaLRRY=qX1ZqQ6osPxP^p{ zW4=DMba!u)eKT|DU1+?wcLFS7k&(Y>4_TQJbF5N_vS2yUS0RzCJ;oOH6c8RVcGz=X z72!7kffVrM$HY^1G$$T>>K@OT_rM_Wq0?HRC$e;#-xiRo5?(X-l`I5<(~pD}DaJ1$ z674ySU=G)R6I^?wUN+2D0h|T4zwCEG#av8ezleU!IkoIf|HzAn{RI$tPofX`!u}9> z=Z?_;BJaFiruy#^qTxel^?&sb9q1{$tqtUl2UbS3)a6vh_P`#!dA2 z_)G)7+9;tp8~CjkHd)C1I?W6_`=~dAF?Zuv8iL)bKLe#qzkIST#{2(;;hpUUHp~Eq z_i(=Bu};=1{6BTF?^dS_Dli!s`1d*ZgXU_QoHbR`$6btVn)a~e3F_BNQk=M_Z$Efz zO^-VU*6^nL_F+1fe%I^V4&&?}{lO4(c}XP8c$z0YT@ItL4sE+eyd1IN)VVJ~F-M>@ zfgcCT<3a_SqlqvcD7Y3QfAmPl;WpM!{Xz*qd11J(ws{|+ygP5AGf!k-&rqo@o+?$WKhb5wnqvjwCp#Cj5ccoNh=$YN!HD*?c(%c-&SeqZb=D| zZV-^}?(XgqX(gqlk?!tp6r@wSLrS_k*6&#uXYYN^`<`!n?_Vs}a_oWbJvPsr_dTzR z4m4f4$7%BY zGAUO>SGarn*se;vJKv@V!W{u*Rny_a|Dfaml-H)9HIL)@jkD*EZ zYfST5T~m5uIM0%jQ1tPcBf#|Cxm41k5wix_{`80GRInrUBE^8d?^+$c^&CllFn-CA zY+%UC5!Ewo58vjvnBTF!25`T7HExM=XYL@=JTGf2bQL=(0E6JX-`xz9?*yEvr+rFH z-P{;#WMJ;@BX@1k8NgY`xqxt*PlFnSZGsR=!e zFOl?4b3XE|!}pw4#74gXR1NX%hg#b)F@KMiTCtge-On8}0*%SqA?2C}fq6xfI2g8z zlK0PM8;oQ(!8@I|{5w12KPMrJ)0CHlT)TEL{I8;HjXhdwcfy=B7pe|xoICg}`8S_8 z`5KVLG`-|)_GGe%zeGd)0U_)3fZHX~xAY?=*MVF?&-61?d2BFn1uU6~PZlb62SS#T zBLHQ~6hI(ixKFr25Rl~(aDKyi%NrE~LR=;v6`=fh!M;U{qq0?1tmQ%?-_BUlk(Ld>*lZ^>^U<*D(w~>MYA)~?eQa}QOiYM`%R5lw2rXDnYC;O*+9EO4e zPwZii!s_#*2^Tfp`d|rVU;1(q0Ilx*Of(#)TQ`{Lr(*28Gx&_z0 z)WT2_;0H&G+g~D41-mMv;vZhAXPe%TXp`EZzJ5_wvg)qc22-7&Yz?ugR4*gFDNV z`@Ek}u@Y|=PK;>2d}x#53;u4C?fBJb`uyRDfM42@(zeOcrUTyxJV#))oNssD0@|rW z{(h8@*Pg=t$%8Pnbb)C04Jg#@OCg+OEy5>oNow7LQ>4P-sUOeUUf72!4r=X)ITr z+4EvjB({RJmy~gmfDY*0D(4m=b|pW!ecweoUqk3(sfhO7bdx z)ZuW205ycK8#2Zli6iGZE5#+9Ol4`O=fyJ22e2qNR#evz^5!uqKzyKOQ;o#{nqbh) z;njVbE(YMY@6rpJodb2tV?g8#A=PS~TNKl_o^6=kRcT0*PwPsN0Cz5?c}6S+Zv_`{ z?L{>z(0@^B@cfD4XZvjBeYx%r6YpQc<%D-j2FD%`KgwatZwfwR3aSBD79mB6JQki> zPWsEhm64THz7P6V44(pYOf>i*I?B{Z8Q@|p^eX{K5Vbx2Mk(=;IoP7Pt$GO()BqSq0ny4wC z_ZOZq#rZAm!T1K2_B?B!6mpViGXt5V-YyXZoBpC<8rj_^D6jJBLbKH9D~TfG1m z(Mq@KIrD7hat$&1;!-pVRJJzC=1(LRsn&Ip)-7zZR7xiY>xR!a9P#Izi%b)ztJveJ+^W5R69<2vvCJa(ICB#_6f84qxh5y1fj( z+4?GweR)=R>8y^o!M8IyeR)C(llzb>WKbuX5*aT-vUbaWv$uC5N`c&?z9y@% z-N{vXV|%`zKjgeygzH8?**fn_utI)BrouV)g0AnL3+STFf6wf?U^v7Z6*!>%(?x^5 zd}@3ei{&cCQF5HQYs>Iq6P~IJryWLK1P1*@S)wwH@I;v}RhI7^E%*z{df$#&nUg_Y zN1z-eN$o=6%S#Or_mM$J_9=c0{K=-<(|ndGbS_7ET=u+xix zTGGng+5T6yanV#?Rq52qZ~YWCf*6c|&UVWF7HBuhodZQUOATwn@Y>4_uQb`_jD-@erl|c=v%dXObin8dsQHp0gRpY(KqHAanUEZU_o*U<_ZBbW!RAcXD5KDQ?{Sddw}tnkLfkO>fNZ(6m*dL zN_3fw#X{iM{gIbKKpNhKbVe7z3{C&gE#BmY+{w^3pz>U-lOjQQoJMjd)mVPeU_xEb zmdJ{>YoRb#U9lXx{0a~#uaJQGirq#{A5IOf|LhhL9_vNLDu2~Ed-CFkztD@Fg~b;| z=GfUq+fYif?UZ7Ck#yUgbjr@$T^ow^r8<5rbbTs#t&MK)d*8rq@hYM9-SheaE@yi< zaG7X(JF+YIF=fkvoG9Ex#K>lTD;v!Bqu9xD+ij>Kvxy(Mri-dl^RkbT9;)*P}Im_MF@O|KdzYmQtLD$Hm`ckMtNPRzFF4JiHd`E@0G~Y(v z-H0yh_u@SEyl~Bd)g!=udDUsJ(pK(^fx6v0-t?czb!%+Qv++@&CdKc`Eg%xb+`cA-GBZnH3VP;9zMD<_s!Q zfi*V+Ripn5b7VgOVNSByjN@jun5G;+yB15s%J=~)YXbru5a95Aoc`eOJ*gg{&su@R z+|AiqJOED0f_NB4XoG*pJmzB)WE_3XHSA-vj?lF;04d~C?N3q&W;VQw-QP$d&XVv+ z!d=D9`U_d{G<2M;SK62}-WUUWZWUAvk5itwwtv_ehJt9&0XMd0lp?o0ftnU-g?n{- zQ`H!;IF)nt$Fi9LrkO%bl2w~BsvB`=f7ve44L7GTyWsnb%Y4ClfJKTcU0V|K+u)nD zd;XY%ov^WN7iek?Inl9O2NU2Sxt8FEF(G&k+F5Ao2rkz+mYHV@v z;tvNO7|5YrXlJ}Cl5TGYi)AFc#?3BGks1b@aZVoXJsw5QUR6^MqI=xt_zA8N>v}XD z#fbqB_?~1;f(5>m+yk(zeW8lg93GkIs%e+nI?$em9fEU)QsRU_pkBU_UHIKjTV-iJj<2mQ^kjrWrYDc9YW$Yw9Xr%EC7j6M5rd~C*V3kp;zeNsvf z3rQ_(FQn#}tTo11`6hn6H7Hl^1{mdjMRqI8@@t8&<)+N(o{gW2RBaQbSGTBK0H}}> z%jjACMX_h^?*L8opaMfwx2vp-O+6anF0S8mAws`@4b|t30$FQ=k9cbQqtH2;+oqN%K8UB|z;R3HNB zw#rW8$-d(p?Ik{YcFYE%8;V#4WzDL+ItC2Bo*y?51)G7BvpKTAmAAh2fltm7L?rcJ z7JX3<*N{VDEfY~(fJt)v?>wfUm7fdD*BXQL4R#lnki zK;Rqb{~w3yrd-wL)Ep%^83y;9ulW7Uhu*o>YBp?jPrk(~6*`e&*9us@kHnXJ^+9Trf5Zt8L$op}y(8svuvm)_Zl+nK z4eF`*SbiR!;UNKL!Sk$JY@olT{LtT8`>;5FU`ux-iu|O3vn=Zp_LCt=r68p?(YK_r zb<+UtJoUwa@zYm?p(hc>pSYyA^UqFUo+RW<>{Cshk zYzxJk8h#hIhSI!-S( zI2g~YM1OKbl8A)};XK}Bw-%f^Ukg6aTkftj;)b~YW#&a9XgM2oxA0F?U8MiftmG}6 zf!eolJUytqy6v?;|3o#(#{A3q)1L^DTgFMe2ZV_E)uila4PV%SN2Zaf$^g*4rVC3* zAm2v$!xB;e_*iR<>!l+m9Q%}XeW-M3dccxkou5l2)~v+F*rEH6xWi|o$2V<%C5V9E z1e&~mbhOj2YrzDO%YJyOiFZKfi`etIE7*0j0)Y7L8BS;b ztty1b+X!lf?H{fC$4~ke0yKbT71nn7RZJ6N4OnkHhP;mU9t@iI=d$8mw-GGy8xX}U zpou?DgIE;N*loJFlja0AiBOP9fnvahiZdF`>KQO4nxV-MR6b~HQFD{U;n}*}@f0a?rk=29 zj3{YX9q!b;yH*$>l}^LlI-8@?b$wis_>&wW#6}H%sqYtL7R=e#Ch#eKTR=Kn@`U)~K4^;Qwb4RVRyuQ5nS4QU(npS4aP-o6Q7(o)ABZZ4N28Y=6{y*bQ*(5E(e%F#KJht) zd?ne&4+ut$glEL`_=ZOnKi4YvREs>xL-`3cBzrGe>BNw1rk7+&O_}moy25k|m-ffS zuvuidSj*UsFYwD4rWMbUjw&TNJ2>~a%E{=TN#)r~9+*@=_3WyrdHalY-%|lQ<3(Y; zCBv`0saz+bOZ&0^7Pc7k$+aA~oT3-Q&Wd?BC!srNxd8$Af%PKrPDw&_^hnkw>Bb-ubYHkK` znerh0jQ@x9b7>VwIHk0CM%C0-vM(UEsWN_JLU<%im(~A0lmsv#ThNI|2VW0uk12i{ zK8<00z|scuMN^#qXyfFaZ=9dD^aOFjV}@b-&tDJ7blPj!pD(51yFV+&?|2C&)MC`y z46fP{fy{K%G_8)Y^gN;75}IcqhV`_0z}3Gy^=ZFAb$k_G$qnBea;j|(=RKCM{iQke z2Ab+0g3p6b*42n~wsjs*6I;O)4Wm6%w4l#M{Zb8M`@c_Dx){LsI!^tfN$&8;w?D{A z_?M@|ycZ(8Tvc*)pYh-O4S$SFJ6ND1 z$C*7M^u7Y*%Ufq_?pA&K2#3!{>2sVt$%{jpCqm6`Aw5D)HO;xyL-9{dBEs0(52`#X zDYRehNcz;l6A6}(N!j&=MpvdixcBllSJ_@I9M3@HKTqs6XGi1qfCjNNCQwAT}TkTO;oS0WuMFa9GW#Q3Fv4{~AMxrv7R&}Wicvbqz@ zo$&z#QF7O%(}n)K*va%1q-OR7D(>@g^)=%mHyfsuT=EmEF~Zgrk!)a;`!sz;NKt}} z{d1HU4>0P;B@RY9YjQc&wafhFqzx$~D15627YMgh{aWIqHsHtF?WISc< zD6n=#d_OhYnuv(6)g^W*xNO;v-}$u95h{`ZR*ot7dDcoP{@$|*C#x3^9qakeEn{s_ zKI{Q7%XhC8T@xIQpI`6YEF{5h|%{HaqWW|9exjfCAw;@jhjy_Xz*`Eb1 zEf|k*vk$b8x_vRJL!bV7+;s#y514^k@!O*+;lIdteZEBbWhP}y*gWj|%oQvl{sO%C zdbqYZAXNF%t)ZKw@z7PvJuiPrc#KSFAZN3IrepYr4$`{;rh_EC6?Xi_XkDhzd?VUB z%XpG@^4w8he~t=cFlZ%mYh{2B-+RHuF(PQaCrPyk-;xHIeUj{n!JyE;;2^2Z{9Kn4 zY31zroRYtjQ1stPXs`U+N=ln&F79s z-$I>eW9yrAMiIBA$P#+rSx+v|oTo6}6rFrA_}G+=pELXYlD^C%@u2HQ7*IWZ86+%H zbIF|jX2i@}->?IsdX8IzJ+xBJajooVDA7^EiP$EAa<{h!sE(;VC|jO`$?GtB@HJU-*tG zy6KNq>=pPyR6$f$hut*(%V?eaaboiFSIbq0&|#zUXFGh-6vxfqinFp|Kate$3h*CZ z6&ZeV*D*eeXUsRzv!!iL|1>-GGb6PHXQbG;R!GMW2$2a|j90;05U>`nSS9&WY^$^H zd!^?r&AgelXJ4`xEUbsEQI=C0#UYZDxh7w%tpyYfeW4Quyrq;lU~lP+r2&t#vQ^m* zv&3TPu%advXJkYL`{y)<)+mFH)c)*0#$EH5Y~AERe4f73Jl}Pbr+@n=+f9 zfK)9EsohVkih>LG*m`c}; z29L@7;R{W(f%TMb_HkbfJJuw$hBh$MZAJcVrXzcp>9jgP#62Un{+9Mch#~GZC#EBm zMk;egf0EL$h5vP^Lvn@pc-D@`S40COrPh4lq;x?@=HHT1pFTI9qPd3T9_d%*!Pi_1 zANNnRN2VOnYrR@XaM|N~jq63jY`=VDXx|WUQ#tq+mMGl%TE%bedQe&ZJ6?-{rzCu^KXLxno|SCXo`Y;r}D@Nib`fjR2x zYDIE@vW`SVXuax~7vCS06oU1KCUUDFG|;$>RfxYLm`xQ@f6vP*v978vY~&MJ2Gqn=|jQM%kHs+owJ8ExlNcsky zy*}ogxQH=+&B~0j%3y5VA4DN&nV1+(BW2OL!*bFoY|9vdT`zvwc;&B?9$BjIuILk` zNgv-5^gi8OQXHO5P9oi1AjW1OhPR6$rV<|#=tj2jQRv|S*uwYdVnte`9~yLXAdOK> zJ`VMC54Yq=T;2=89nhW$-*%!0mmr&z}Hxt!&e1Z1AT_b%+LD~6!VFO)1{Hf@m9V$h(ip805ybk zRG@p|Qc26-0WSVyoUS*@KM^99Vz)1HZ;2iek72(7)y>{E8BMnZA-y5Y z2miqZvSfI3xc)xfYOEKth=92w`9sXHx&<*H961YxS>=L^1FMIlq^Oi%M@dA|@GqwP zAEsTrH^Zc-I@{Xh)w+VK|nJ=WeL4e~P$QO^Rw zB6gN*S&d5&ybA*dN@MU*r{|PD%L~eakIm~;sb4Qo=K$IFir_Hh1 zBycqca*|P&D)mbKQ9HhWH;TP7DY;^X+vFH5WlAA;cA&th}X zf|gRFV;(dubA5)rW(DwwO?!tt*(-c%`6ZbYQNXpUl+XqYl-NSw=$Epk5Dt7^HL?|QTF z0y8%+_qgh+{WMvBXpPNBcGc0iW9aN~U4iW-YWyVvYT6BGf(kXF$a`YClTCdAXTqB$ zC=0~1Z@N(6ajnI&_X(;+F5^JZc`S)>%zK)3S0MBW3{h!WNlEJmG?FnTVcIbN&VpaT zEi5>=O-8<7{gd1V0LiVc!8dvLdWPtd+1{~bBE+dnJgIjzDU*vMyhv2r$eRFE> z(GQ^FaGl6vyw5H=qic#1@hHrO@@r!uTe$te6p2&p3NeF0`YiWq!V!t~7GCt;W4*6Y zCV*9BW=Ria7+Xtc{1Fi}pc(nmDZJrkHb$i`G9LI+H{)aLC@FV9_0!PGG$XlYa|Ine z#!%$Uk4O|sdaOk%!G-!T@?tPIntH$&l0Hne8|?45OFo1GsD9IL2J4qCad(6{(C3X{ z*ZhVF*U zPTS>RFwchxj%`obw5-%%j~op{eXFa)(v;f=V>Y^)Y5eC~C(f|g2_rHObUUPNVPjz1 zgs(Nt-5@G-Uv;B#1`WV{imb2XE#1fK%;%*`F7`mQ(lnARinzi1iBDbXPKnJqL9|f( zV4cS8IGUlC*(D*0=Lt*MqNp*Fk>aBV4Y8JoZ62M%iW9y286~v=qUvXEd+hipx5YlF zoqM~|p{F*_e(vwZ{IlL&H6c-;REGOzkWA+|K1)qEvv%jEGC6tp9VMWCDTdulFgFk7 z{zeV>0?LA$pcT&_#COnR>*8!c!sRlq4Ds)a^9dhfl3y)LpMC|Gof zSrZviNO0?<)%dAC>?OjM>8QWwFstMj=k4Me6VOM&&80m>z^(_Zm!5~MMh4zbFEO_AMvZw^ zb?G)EdMJ4{YP4I7pf3nOHe9h%tEmcU_6)Ea>vuem{2acgp)3c?gBkU$p@uYElvPBZ z13u!W!}kH37}8sNP%>!?ANzT|B71=PGT_jpvRX*YYvH~BCUP_VhuI2miwcNB#i0CET}JQXCFvNUM7j`J>58)uX99CasRw2#uuOKJUPu=9CdItW`?h|XmiC> zIA$#EkP}&^c@Id_2xQVE+xW6~hnd0hVXmL67{DiiuCp;+)t1hl4@b8xeBL|b**y}# zyDRHr{r=hS-GbLN*FLi7$@2~{>%(80CD6B`)fn6CWbi*wL~6JHP7x7V`!5s`f|WlM zk-SCBUlb9PwN8K{;#v9+ipV@b5xGiS0#RJOn{ z1yHAR0c-y{BP0OAaPS!+CjJJ^9Hd*)zkE|;u!`ElG2};mjh4`eZ^BL!H&GDEzCS% zouM9jO-Moe8uRx$W3hbxQvlY`)I+mdSEzq7OyJA$5{)~C;3Z1eOEEMF!qH93W=CKz z^Qu8=MwW@n!-11&>Y>}s_b!Ob8YHba8bw<>PLsY115}l!?W<)W>bFML4FYkM9N)M% zY=vz856sihlAAxLjnF2uOr!my@~>FHQWVb|#zik_qLxD@rxL8IJp!ZPSZBz2>sab4N2$f{Cd?HI!}|a}<)!zf zYg}o=`G(1Mllr+gi9MWqS?2Q57R;#q%ShFlwk+JYW27%%q=cs@JcEfQT*SfpoMZ>L z_1xHc{}=PL{An32LSC__h3!L3Jv*05E57<;1Y>fOGw)>AO5+En8Z zRKN4m4JNgup zC#ttaGHcw1Y#+u3MIEHd>%Tdzo~wF%f)jRJzIR;voO09rg4s{ut$ z%idQ5<4J1vWk>Tch5{xZ>6!{BZ^ISJxMF#V-Z`h}A$y@ww6PZL4pM&Ly&!(0ZYj0B zrZPe5$kVFMu+VIHMJPOwj;M%pl<^X1dP@*p;r(oSF9J<(!RTy$z>2rM)4Q{QL8oQ} zkWgFR_~H?GeK?1v7VANYJ%wFNj(OvhAxvNpnv_gyEx=3kxgl*vFg zsjX=1j(^zuRBJq2tzh9*_-$rU4?mneR5blwOpz1c8-w#3lEo`&J72CPv(nqK?%Juu zJAg1kYpt*f5Jp~1m(_|q2Y9H>l$7jRONi$X?P!?+Q@@-R1w{t#cOmk}xyq@t0=+>V zmxnmFM0L5whWe+~7Hck94c9wUaqODevxW+|6Fz6IZs?8u+VWnIAfkybg>#B36-?zh z>yH;M8L00UFQvtn2DfRx$h$P@EV4E5?HRpj?E95b4{kXhEQ03KrD5tav0s>=_^Q6` zoGoobTZ^T(eJT3|R4}Th;_HZ4lTK`*6PDYE&SuVqMUv0MObF8R^JZ8C78>w6;Dv_x z5$+E@OKa$VEi~3`|JQ{Eufm~35PKY-FDNY*tAB6<8vi;)drJy-=sp$^tUE zkubFLGQyn?MpMAq-S2ls-GBb?8MQqk07u=Ij&J)=q!5x=$n#o-o+W4{^LFH?Aku95 zL`HEp3~NW@u)yFUqwYXW`E<`ZIe0NwZtf+Ap$lg~<{Bgb%#)JL#q9UE-&7^KYUPpY zhoq#JQcv%P32id@-V=ZW%2A;RwxDCQ*+*~!8!ANn(zUwUH6vrO@`DBEnY^#~_;^@( z2)r#_1}un=_#m_d-K4KOTSpo|aP;s@^DhZ0l5i+0q~JPFpRONCSh8u;U!y9Xr0Mza zud`ggseYw_vk|t%`u**K2CfmzYbHi0kWqceCgKnDLi|T?7!kN64cv-jRZpUBaP4nz z*Tv{C7BchK?tM7!kIU#A+I;SHVo(>$_^#Z(PUIt>;e z3q8zR=M#F?(Cro}()k{$4p>hhZdUzhY0}gvcjxB_I8A83atb|yH)e+=5OvdP6oLxX z{qPwQ+`QDkWlX!b<;U~erZd>Ady#ot20`Xwi_v@bq_+kPIgPULMD}kL-QyzBXu2G~ ze)iNeLV}4(L)>WM`q{*K3zqr&xEPHk!Hk2NINJjS)gAZoxC@PJ)Kb!#>+{2vEnWGC z$QiSw;~6jY!^`qXedM%Mg`m%{hlSvmF$#$J(Q>6Xv5GI&`JhAXFqN~%9n}ctz<|(p zg@u4ubv0s|gW1`Qh^{u4k+q3i;?DSJ3zMYQtkF^1Y-szG?{-Qo?(0eE z#-%!IewKw=C=AVa5^&5Kf!|CNf@xpp_)W3Efk@Rm(cbU8E`WncGk^#5j^v}!o^mhO z)1Wp!4pFP_y2x2|vegx0_Lo|F_Jlm0^b>=l{HVgY{sFZZE;2En(l_%=NTr;@BD6q! zi1QNCQXo4w_jpIg>q}xj1I1Uaf*`N3mV+nnDW?n77ose5T+-#*F|c9Z0AE_^P)5@5 zU~=nUmqYjibN%~w_oD!81Rj8m&`8~}dT@D=7EX|!igN%=RmcyrMZ!O#!K6lJNA-sq ze8QxDbZU%B$cQPBXlqFUtPvi>J};k#KzyU&4hY1b+*Eg0ZuIM}07hq^*#o1KP~VdDMUL*Rq`Qr`%#veM=h)11 z0YRZ3OSyB@pKQ9N7bjKj_o_>T7a31MsFu*(?sl_u_?2vPsDcRmtpaRw=m@olj2vc8 zNmb6{h*R(}>8HB-0Sq%U${&4sPJ6HvCsw-OKy?w<;S;f9BAv z>;^f6RzZba=f1ONqdy6egVg`}oGH`M=o^-=b9h`L=}8R^c7hdIX}efap^g9#Y{i~R zT(y~BX#oKFH$X6$@QEg{K1F&WOH5ncgE8}E_{?U}6MbWWhOgzj=a;2b7r&phyfux( zE%dN5)!^I|5W(iEH6XnUzJhRijbo3*UhqG|Mj&(_U?U2VzhEO~%MY*-1P?H5L|52k zhoUb|j^*7cg2zw8-4^a;IDjbx3ab^$&3_8370O1m{$y5|zY44PYX3oQ=V(-#DwbX+ zKJYpIM=GQU&ZXBCA)=$BDHEaeD0D0C#~~_2VrdB7jY-r7;TmwXd36YmHsjiXXmjMOk;Y!-*!% z&EtS*UlrIi(mN%tEP`v{wfnHRXggh)abDsk*h_{z7^iw{!;g>LNd0;hX4 z@YQN1W~wVSdwd9@cLPUJ8H>QYML-X}pc$J)yn78p!!U1yTah5GEylp1lBS58 zx{mzquXhNFLn^q0*Q3sQjd?;o$>_*K;2%VD|Ll8eJv>O`shX#0HLkw}9;4OUv6rL! zrEar49NghQczuIOn{WD!`bUq1xEc7QaNH}+PKC+au#H>Qrmz-W6l!Ets_o$rJ;*Uh z$&L#|apC#0HlsPHJJCr_T@}0y5=^svw^<}+y@S6zN5nYcO zKM&{a9+maC20efET|_1osv5$k&#?~E62_c=Bdqnl%yj;v^e zu3pwM@!=HCx4olfH0X{crM4}CF@HldWcS0q5XZ8LS6;Z=g1b&YbdF7m)5|SvD!z6* zdKMaKw+3@g_RKMvKIV>6{2^1Orj$Hi!~2ToiU+r?pBJ;UIbYK6iT*ib+dCR^1>wxr$!exf>-Y=5!0Diga(GcF%&P&r0) zaxT^GfCnW_PF+1V=KGvJf4gj{&Sga6@$(oi8~9DgT@*~MH5n@mBqyke%kF@u>x7`I z{zZA|8O5;|yWXa><1iK6!rLnu_&0>G0PuiSgt2M`2OX-<1_f*p)-HWQ@l;6fDF=`r zwO<-aVJz~Kf??r6Fk^kme>MCBIQ6P^8k4S#UNF*hM3_q=4Y!+r>QYUeG72> zqo=mwCY_#6)pV^t+S-YM)q0FX#slVuq)Q7lgsaQs#ekIc{3HuWQ^I#G(fdl~E;PoN zUjfHvs)KnCuRQ?Rnb(gvSSbk8p8%1YXBy8Dh6RVu`N2eTJwM?>FeKyzc0H~rgEg$9 z`{Of7ol*d6f@InnEUODZLY@E~wdiIoM6sBUS1er44GQ;D?@{mbgV)@QiO`8{CTuLF zk&nc)Cp`NmqXXZnSbAtAwORzdMgpVIj|&$96u@P`#5?iAxZ||PL!`8m(=Lj84OH=R zHU%3sxu%!EgPluSjM544je7{~lsC!B778uDkh37}rkr@SCJwl~<=QCfh(%{2n5RvQ zDS@V^ZPO*Z4;|3Kd#wTcLJi^wR%IgGUhX!LoKp7saErCKC$uUoP z7Rng*Rs+J{J!~NST`!G_tkP=^JvBCu z3({Z!m-c+*fzlpUC{WsKD&zCIK8{U>%W7o8A3b|LZ7}q)_~!eA+H0IckcpnU&r{wf zshOGlq!hzJaRb2>Ee4h>nFMMJjziEZ4A@6=zN>uZ!e`oJ`_4MV)%*;6!GHoI)N$cH zZ)?1jJnED9%pi%GoDzIRG(fS7(5qFCw~jEw-NMTu_wpn|z83&e#!ES0-B0dPlW(v%Hi&_`zSnM1@UWCI%< z4@k8FEU z&#tV!xTNM1)DZ$?UUmV1%!?(NM4hJVLqDca-hL)6w50?UtK+66BOTL>h(~F%it-)O z8S&TJxu>IUI=yasn>{4oR6GWs$G8Aq{qSHN9MzTQ-~GM-mmuApWMqO<+18qi$I52|tI*ainus=6^Y5H39arR=On?||5h$PH4s4;u*6KI20 zt6O*5fHkq5>R;BxrgQ&X6I(Be-2ZD$TxIk3HL(hI{Q)N_*TuWxNH03+o#F~pwdYF{ z1>e}}n-`8TmGWp3*W4&|>uw>UX_+^rn*MBwJ02`fv_#hXly=94;nbIHLW z_q1VTf_(qT2{0en20@PilCmdYt7B_-?(WbdUD7)RuQwcGvi5VxhDe#))g;+pCP*!9>5`LGNq-YjNmc@v5gwgB!0$*4oK#Z)ZsW6kQl-H zbSd^UGr*{ICTRG0zAxsrZFE8nH?Ut0Eq?<#=1!#k@s1%foWk7l!u(^Z3c#zI+-KI4 zrmCS?1RPooFV^6<%oC*hS=si82{9?{JHbrtoB*)YFNmd9!Ie#5G>XO=w@F>g$?P z@n$o}3&!cdEV9(jXPmx>H9_|gV|%}tu1xC@KxUtaoE)=drM{tgfI_y@SZ5Pqj81Em)5=-7(mN3ibiW)o1|ZcrbWkahc%12{=Qr<}>` z;_eF^s|S9{7O>_3OXgiiONsCxz#=Ry)A~sCN|Z{Yy&U2Jk&%fUejIW5Yfrktw}Rv` zuSEM?^vcOsVTGzJmGOo~IQ+OzOk`uWQ=WGw)R1sJI#S+!R;)S($FcT?4-ecgjN^GI-4mTg2sfxOn z;d*6m2=9mq!lhU2dUftu<24!+Vv^NM&m(JH2oP%x@I+X52X)ydhcBt?F*o(aTiYD` znK#_EA8P9!m?5`xp7t3;nbR2+V0!~SjaE4KO0uu+4ih-$xU7|wu|yM`dlJ-tIL-9Xovku27q~dAdwb`%eLc!|qDIUNqB_jE$M+#N>awl$^-UEtn-17H zZe7VRhstRD@+DDkg^K#w>9dZH1`k|3 z=N!w1PDBoA)X)pL)7@G&Ve4s!>t096Eu0-c@DLV#AxRvMiZZ_#u@^aR+u!>oN08CJ z=_UhkyD)Y!Ah-wIu6D`L(y~9khHl{aPlCkufzg(g<(CN&lJAioG^_F|o0k^K?fc2j zSq812Fg#o!81WtA%?NN3M4HYVX7Je#4xWs3)^0%p<`t55#;R_dDJI})ug9Z}nppx3N!?TC#z6{;L^w6RR9G5j72! z-$oymG}(qW{u00KaHEso*C)l_mRxfB6>TPpZF*U&pNj!Do!C+|a*64wSUOUM$5Qq= zMUX+j$}A`3xD83lCWi(Ge;hH-gzGq@%DAVxIERakN-)>BWZ2M`sV|tJvw|O&>G|&F z^tLN;*&M?2M$#v3hjU(>RC!CYB6FYn#o73q$-K0aj;qtK%HTlIK$=3 zEJ{I1&HSTJjlapk!DG_pOV{_9_qlv2-!N>nX~3r{+5RfYmtQpi)&XFt)#!@HqyY*$ z;bbKad0ZmJn6NQ&+iz>K)u=%Tau!*QMQWbt$Kc8pD#80hXPV-f7fuqu6+kSaRH#YO z2=xkLHYN+hZQ}DM(XR`z0%WU{f5d>zt6X0D(cCe27{97CaY(3~wq!q$Kl7$!XFg9HZNbQyr;Fe@r~3{_AuPaNlPY*eG|_UZSZhe00D02eXO) z1OH&|vupiF_tnJkB**PqYc7!ttC@yai`adr9-gwbFopdZ_0kPCi*<_yj~gpn-nt6y zItl-+f`VJCRt6r^1m=dY<*Z4qnQ}*MzL=f>;}x`M5(5WN8=mn>#pywL!!$)ce%5sa zMMVeuz0CU9W~TY@%OCzvJ;!pApo&C5`cvibjI;P2^{utF*Q63&Qp}jFR7mg&HwVj0 zgu6cw7Ms0Z1!>O;dRN<!lJ7qn_xyuM~8v9yzNNe$d$pAg-L;NA|ikp#HlA+~CH zpPiOnY2-_SKqai8k#FY%ULUAGZNp@ZQpFqYfr?mjo|?xRimv0GzL*NfTr`al851<- z=_O7r-vxOa(CV2ed8=neSVI_Ny>JC7bS`U(_fN7r%%uSm;j+ocj=CDLTz?)w8H z88sc%eSl4*$X>{BXkyI#oPQZJyX*r>7%uE+=R3xkXOF-`qZgz6IT^zDtK;AxyqS*A zK!s~j)u=R(EiB4dDCHLP)c7QJlI0niJHNuZ(2TAziY!q-b-)k)n87c8eFY{H67pwT z#C;oj-u=KA3ZVuEu34ItY4d#&3^06e_-Sk0LDLUopQKgd;E+T2?6&xgw*t00_h?Po z==~2p8sCeD9u2d`Uwbs0R2&4#eSv)g(I36JvH2)Bia7j@->4v`lw#orpxw^n;0ICF zX~O-@#zOPQ03ZaJ@&A7ygbtS9AcT(U{|G`DJOzUgzN5VYE@;@s=HTX}kRR~XZsniCKRrEy z{=8d6jX+Eozg6_dv>U%AUyd_Ds-62^NC?N0{~HNmEAc;*5DvK4Cugq#hfO@R7f?T8 z9+s%e!!@nkGn56cMH#2_0IiL1qL!>EUUXE5H3P&7-lhFk}9aJhUE;?SYeBWaA&&)RGCX1TlE8 zo_*T+Cfz}O9k`fkitwuh}h5^5j*ph@D59^+Ar@T?=P;w)D$t{ z?Y8VRUns$dx3J84vVX<9HcSUT+V&R4aK7^4nAQK(6{)HJM^}XCQO>`2MV#S(bwx&C zy_$8&$s7si=PQDpDGLdu*;aj%n(iYMqJR;K04XF(mz6!2Wj;}{BE++2x=8vtJ0tE0 zJy)wXpVu(H=Jc1ytek|l@7_1`OSo11$u_)EhCY<|ghNptWKIN2%V7by(yYxw>%-nW zYaID*81tLKU!L?Ia#vfc)opYZN_qMR)*(e*f`eYA`J-~r`@3oJ#hMmE z@uL^^^nUe@WU9=vyxe12PpR!TrY>Lc|1Z73xi@0V)?C`dL9)ZN<3_MO7L*5g+M=xk zMhDAteh`yLe+I|;by;diy&b2|sfWboblogG)Mnpl!Od`pw5{=_*#;V^TBC9W?0Yxi;aqUdLBE7&&6{G<)gk#YR{L@wYBwdVCYl>`i>unMi4rR2@1tV~Gqlq7~e&m2sh-S7Tbdh}X*3c1`P z2flWHr6j+76%Lu~Ntj6v$Ja5WWXrOG7LLqpT`Nq^Ox74Ipr?~GtVB5QMaB&L{fSwF z;hiq9oz>=D`Q~WV&#b;XDOj1e3G;5ibh&^(#<*QBA%O-yrG5Cjk9Vi$Wk3EfkFoqI z^L9_oD=n~#+&(^8b8lw;iEnq)Y+=|&%-#sLBZ}WK*UeB7YbMq1FrPw8zOnlEf#gu; z0ymnHd4)iRRa!S#%^wzcw!6}`>&jS%qdfRO(hxF^ss#*u_bLpFr(!8lN3VP6WwY)^ zHFEV}1W(;d#a1;WM_wsm58Z#}_DAe&Yk#7n3XfJyC^>hNkM@Rv*O@paoa{`wn|S30 zhW*)v90BQIJ)>WBun`Bw7=;Jg&5XN^msfYiYd`8emc^@%?>!47)$|0S-K!NnAUtSG zxDJ$~k97HJbi@mLZiq%`i~YGnmy7J9DM7ZzjSC1LxTuNX~iizQInTPH>8 zmZ*H?%fRtow@fLyB1GHbu_@o}2S8jTUt59AHXwWkJ_um54aeg2S_Rcy_O8`!^fUo{ zpl|lW&*)f!bvY}!`AcTgW4u2mqPF)G!X9A@cB8m#C3tZH9hol)ZimXR?p>n3Yy7C> zt$x)c+cGPZ$X=T$2yXAN8~Cm%%5u@q#_v69WH?~IWTr(~RP_k*d3v`CM^Y}(ynOwA zHhq+#9nSB8ax`v#cfS0)N!u&<$yL}t1p7zsgKNj}Dd$Y}$m$98!<1r2D!Ad|H;WOc z%gkS)3k%SH#6GHYrO2(FPU0)Z55VT)WiNh9c((E&Z{a1JYDI3>i~2PxE%T*tzT@)> z$kX-Tj)gt6PwbtHW8S2E+?cIXlUTY@i1g34lUU_b(aI8 z9Y>Mr%=pb|72*1t8H)oh)19G2uNiv#8rq3!i+xio`f9lP`U(;dEVQu_(5ms91ON$a z+*iD85Z2|I>vkIGu}rN|jby-iY$wsH`g^|>R`b~|Oc)Nu7h;|GxNqCg1@D`r3*t>1 zUoT^xH$fw~ru9gHCS2w*Qcq&YbVG=p_!k0{v*w!{0sjiniY$q`oD z{@>z0fEE=s=ZcNVx%^VPA2GV;*oS{r-J91Stl+ z&`vhJ06RT}_m2ny5`|~8u`Zno4;;SgIYM)iik(rX#Qt=k27VG1X!}b0p@Ea}5an*@ zd6ef6O@M!w=0`WP8Q%Bz;JJD5^d~tcYpQ3gbs)e2@72)Ai$dl{2P#GX5Px1hk>!%2 zRH*?a*A3M-a^;r*SW?vR`@McMf~-PAS%~~ z9U@y@?GzEzTqY00Jc`rxV201O>th)iN>%J~()lTj!lt&hI?hRc$3J!9vxglPlBf4i zlF@V7_trSf@)G=i5X8%|7~hMoVTaItdOph__Vg@MosHm$v;8 z8C%w8`VmyD1CZLb9i>FCobQk3&P~ucS9Zb=cHce*flx+4J^9#-fX+>MQkg+%(b~v& zPAF=hK3ZxjOId*1!dVA%5+3p4yiZfj^Vb&!TLMRiIDo@Ug+Q0Z6zK5o4vDupNY^0% zN04}FG(_aQv?eNts7aYbB`f4U-hdTHk-6#!=I9y3qN9{9B3>L;n9s{%czC*kEM z}~`*%W(vUiDo{TZoH{2_e1oAJD8f~b;GeclX)HbcY`N%Yf0 z2GDZ!khQ#XCjyp$4l&q;Fj!&lMS~HME2$e@F^=WV~C46 z`{61tA&mDLTb18_&wBlhRu}Jwwv-`=a9J8d_Q994%8LU zk+Ze$(5AV&QIkr=n!W-b8wa=P@lW7?|4+QX;`A{1LegCX>>Mr)f19pa-v(34s&zY`c4ZutIU=j%4uLjc9@k}=#W@ePKdSej^R!YtK=9gZHc2`d>n+g|z@eWE19J7XTcSc&U zaz{rMUxD8tk9B7#@0Mp%^FpJ?iRKnND71~j)2n-$u;p#b2Xpl%u}4yEe+~isAm+z9 zhjcHb!j6Wa3D;Rvzw6Oa&;E*ozkPjLbHt+^)Yzr@s&Lq_Jqt^Fiw zav6O&a%wvbrTEeH-rXKonFfW@A#fPZ%KS1LOR7}%eUd%{P10rj_`}TNk&z5PaUEc9-1N~ZC>s2|;nya=wiuiI(LT6rIx$$2Q@3KeB!T&WImXT{YrWEA2hl*1L4wYY zl&FC{)?tfxoDApBl^}pgAoGqB@S~1 zCV?^iQPh@$MVR+igJ96SmYoz=QU8c8$NU9Oa2&<(8lC6>byRVJAs6`83B~GrL!cU>=#pecaUO`XWOV);@vMsfX-YFI-DTDmmPE0u2T-X2G3cOowzGdEZ4z2;T}3+M(@H%O;LOGi`P zt+5_^1F1sC1@4APK6sx3!SQAR*gY!y{Jy0!<}!<+-XbqsPv0YW4d?*rd)k=bVaCsU zN9V0==FHJ-_>wFd6UtU;xp5Zk9BKA$k)mEXbfVCHB$3&Owg6ms8u|ln$Lx(?qW}$I zY2lE^@TEWoa)fWS)eOx7R@K{M$h5s}ks&sw2%+4DTl3mni6_;v+kLKK0Wl91*ydEj zPaEYmvz$D6Za!1pG7}u|yr^`A3=8%U8np+BxNg=cb(EU`SSpl%AJhze(+e3^6+~7;wT{%Da|&G>jaB{`kWv+q%?`o2Vf* zYrj8dFvZT6J!p5RYu6~p)qny^yXI?K1MlLe`l9zJ*V_>DD0V1jBC_}#qzg=Q1@DBQ zCnjV5UwxU#-@a^$#{=;tV1x9ws+mFS6W!Fp{+Dvgx}iS>?n*XatWv_LQ42VDH^Qnv zzF4?unpF<8Mx@NdjWU@qtU$e`O;m9Vaj>$uyHA~I@@79d^L!AjJj|`21gFrvCP2iC+0j-z| zR^nX7&TOvIe;Ttt|J#^ZjoUjlRuU7?D6a{`lC4#h^x4_&t8X^w$Fi zb|!z#>&F9(4LJH`Gtlm@kr2DRFf=ZH%VCZ0smAxJ*otawv#TA&vn58CO@TS04A1!b zKV&4T%%<)h_IrDKmHKTe19&(3NSmZlMP#k(TrN5QQxYkWVSkmq!iZGAhh(osAF^aP#<6hT?wqFk%m3*z8Q6f~fz$Z~wl zQ7%U9F^S^t-;Uo{64foBUK)Hxn#rfuEt&j=ghYh@8yVBElQr+s z5cWaVVdw5ujf0sb{!nWw99EH!Q7ST>m<^(8PgSZ!2mKTg`ZgoOq!wOCD*|rbFE=3; z4m*p2TAEjVG(D^=%Pc1eB_oJZpW^W|5h*Po2@XP=edaUS2a-bl{TE7%aE0^A>~l_+^=*b|WMFe5mB>K%`GwC`8=Pi?^mxb% zoF0_?L8d1|=I^1bc5U20oq1O_?@jba=u{nGmxruBrLR(cinUTHtzc-GjWpKS{3>q%KR&Uf6$${q<(C6bSrGtmy)-<1|LT^$QrrAI}F7grv z&cw&D&O~gdFp;0n>J4d%{`sh8U{gL0A#%U*A zf<#ly2UyKIA_v^uI41c5eeM4|vQP4ze8V6ZarX5_%`?5@hNZzO=7Ew0&X|HdVU^s9 zfD3XIHoSDgl@QPle~jvyZF0v0vJFt~-W$*d-(n|Xe= zMNSnp$1xxPu0YQfBog52L*?k@Bjn`Ad|pAyxf<{pvI^1u`FTf0$A4Fu*?^xIm?o*r z+x=t!dIZT!xWLzIo#kLw39oaXf3z&(`mWaNB^-~u8sMq8;JpE667P}tR+FuDAjA}h z#N%;3L(dn0`DFS57zB@40D~Z%yOhEskl%sb<@&jsY5t-A-Q)9T$4jR?^tcQBpY8fS zw({~9s$9JkN$)2Z0v&R(Uhd)lX~ZX9u0A}kfF4>H{B+%}oX>L@n}2Vo-iWnw>u3~x zN*iyx5fjxZ*KpQuF-Mb#`k`5@w13dBTw}LNy{og3Ct+QtQapXaA?v(rXMy8bpq8AL zJSe*d8&{Lao1h76-MA-__~XcKhY}|-K+)xzm?t2*V>wanCw$?z58Qle%^Xlqw+2@TE2c#hw9i|p*g{%!--7nZx0Haxtp zBh~LVn=)PPYfFunublJpEJ@lOh~M^=Gb?>=P*@U~yiKrJ?#`_AG21KH?+mVY;`sM0 z^p&b#H7#DU!A?T8BWN(l9njH#b=|yLidgv6iW-WoU|${0=A-bHCyI{vk2U$;b$7pZ z46^ym_5Z>UX?7t9FwROdL2UbYn~yiAHDcu<*d9J`1P~BJTQexd)j9Vl?~iad<9<$9 zjSw+wY$f+Ef6ThQ|L991I>2smCS};~3s{p<)$Tqym10v26cR7Y!FPN;cG*Er{I;m| zNN92y}xFSIupZ!OLKp*`z4&@;?MErvlM(g~o&v@beY+zp)44&i+Q_Zk!{eqL)@3INe~Y&0!}M- zN5mVC--COc#(ZFzr$sw!k*IkYim||q!jL(2Q>>#BeF^#e zW=oFETu0JfWNoCEt$H(Uj}t&nd`94aX)7=fX;g@{F-H8V2-_lIRh@*9Qd@&{s1=mO zkUH`vnou1V3ps_M9r&mQ^{vH*k=0NVTxtO{1ts)nt^n5-a+e7$;Xy?>H!{UbGfyD$WqOCVfJ_1B~DsbQjo`KvFg?xf*bD|be{{j%K?1yPN zHD&139*{->00P_{_zlWVb%w!scNOUV4zi%$3jJjLena=foNG!h2EbYfR8pS7LP2#? z%_|PK%CZJ;?t0=10Se1E$>^td+RT=>y|m2)273rpudVZ2k}H_TzRr4U6Z6e%vNoP~ zZIL%!f#f#Ovq?U4`jRIwqA$Cbov!nj*q0=`tQcg@$anC^Ht|Atra4X!mu?$kHKAkL z>n!u*@n-3@PP7Gs_)7qYGQ+gN12l7xoz*x=IZNl=M}~t?Ae*;Fpm0&}*0jT;a3L8m zuUxdZ{t8Iq>Hmd(^$~tZq-~IotK|rDky&isVJ=~RBIFXZu05}C*)#jin=_R`!^>hF zk#d>NofPwk$J&>^d?Dj3_=FuJk53K%(M%pv6bUW>q>)vPFio@Vw?<@$(?_ty(srz| zu*dmM!q}WtF_f-DWG5q`pxJe}eZzEBs@<-BAAg z#8;%hPRKHl7YawD z`T8>6q2Z3_PF(N0B`2-!eGcYiFk@qb&>ci^F3uTlQYm2e zcg*B&Gkgn?jk|@MEjvVSSx0tkelcZ9Mbos*qx}gq`@IwkZvcdV138g}@vID%B><1j ztx!@j`SX{Jp;@V63XMwL&6o|;)9lTT!~A+SQ_kU<96S28KTfL15SHWv6Tu4ld%LV`CrAe78P6jgl`8x?9JHGXef;Yprhk+SDfh(pkvT&4 zOZo^iyW|`2OHJ2FHvT_zU_U7-YXKOO?; zgMt^IxPh3ymm z|9R~nsWP~%-X1lbQwVKIO)giYz#dzMn>TJtFKcJn^*(f{T;3Y}p;A?Edp(d8vAb0A zOpKLsxc-n|qg)|cmor4(>g@UBSx!QKT8HzoXLDb5G?EIwLWQnH)AP%Gg|rAm730s$ zeHYcO-`d`^+aJY%Rg&{k8B_0O zeE&<-`IqbViDZPrHbJD6!>nt+lbsTTBX|Q*D|e0!*lOt^OA?|zNzYjwW!_U*$g~y<}cU%`OL)- z7Dw?YZ`N}=#H-EqgTlpLu?$4QqD8a`&)|8d<&)HxwUJcGE+)qYoyE$)3L`Jbm$ifI zK8m$NktJ!Vsc+A(%h^`26_)73PV4@KK`%Bu@U+o_xZm?jt)txv-ueVu13A} zq}W0RZ}3-sbGpQo-CfLwSi3;{Q~-IflwGXjpk)qT?3g4H*DHTwq9<8sV`1}&1a;SNhj5_Kizv%s5S@0Apo%m!6Gz}j548Q9?Szknr#vL{X@spG9>e;@?IR{(-n0vt$6~us3Cc1g-*0*!>!)iO z`d^bY<;OWb%=-ney6R?8IyXv0<~Bpe%kI?m5xkoNJTm#LUPq5E{}G!ww6QMsr08B^j2v z8gHhvXfVCILX0^PH?$ZWMAy5SFJvEbI!FHZ=uES2-4~$qd`I&26Pw5(RjIcXD&1|H zL!mX{Cyt0Ocq6%jj$j*2`of25`547GP!sSZ3IohVax0%*tTAIgs1yYreiV$CE0R6H zE>=Y-;m&haHqciJxZblU7#;}OX3jP33r}2k#&-$w7&}i zqUe<-k4Vk&FIMZg$6O~_?pe~YZB#aNpehLAzrJ<76tw|t2*C9d4X!qF14)9HgC&sT z8h|uE|LtXK5J8d$Cca$rTqhv+COQM>r5g-Z{G;=KJGG&|w`w!7KV!eZiumg!x>I;d(-z_n{U}4ENltYE%80 zIU@HQnWXYIw}BSXkgCMCTUt;3w?F{1$Af4kfIUzJ>1rW!Dwt;YYp?>+^$50-Ay-#0 z{%H<(^RZMSWN}(<{^5gVQE8Y|9f$r=h5pD+qyk9(0)wk}E|d6BV3IqO_)uiB`MXFh zMjvvv2B>b0@i)C0T?(B^wvdSQFK)pyl~|o@gW1?LWR#jjV7+;A9ciY2epB^T6uQ`S zZYh^$j6Ai%EX*=;Qgxygu0m{eVs3%%utpOwBT+3=BKwH^*WdO6zQ@mDFr{!pPC;R| zZR+tUx0DR5yhC9&HusU*sO-~Bd>ruY0$JM>5o%ONwWi0!MrB1r;)25(l^`tBoGUJI zbxHIa6H=pez@P5>*PpHqk9X8yb&9E;RaQrdu2wnz!%skEF_fJV6J3pNtN6nWfbOwwMiq8xKK-z9=T14dLC00M(Q!v^iKy3r}MU~uc8 zO~7w`g|^5cvJx9G$;Om|?SBkTnm0H4(CVvk)UqZD^c8!k_#rajYeI>yjCbU0tZqr= z=ZI@4aDYu>l_BI(0WZ#yU0*m047MeKy?k=R*4gIh%h;vi4!AHkr6~st3Y{ z?>Km|&A{qw46EtM*lDsGpeGOw&Mp7y$`6X0W;5)w6j>P}0PF$?qKDIeuhiOSXnsgicI`_xu+rMJQ7l0#3ypRV^iY<^Ro=E?48kV!7 zNvQS#GF`yiE3T}x;|oXAt$pEM?XIUf(~|CoQ3`p6MtICEzT?MXonNd81v<1HP`&x7 zvdNmpMNO8LRYqH-O{BwViYv2?kq$N(McOqjgJp#%%YbgSxnQ`@*=z63@$W&5){M$_ z!saCr^SNb_ZIx*-9Z9t{xILfR=~FygLZwB#2q`ulb7yR`Q5;XJL#q4t2#?FtQ>C8C zLUmjtCWLh(fiCgW);0(evR4A;xAb1BgU^j{xBa!IBe^cyGvc;wJsrO={*oS(U0Fin5f`)9X+lU!{(*NHA- zRR@r$G4ot|nBnF9^bf+#T}#aG4f(w3V`3D`cgDVo7U57G`_-1rI!RgC5|cMNCh4OP zh7z%hX>5^q8|9zYiw8gA#5!4Zr*#XdT4VRvT$&eKwwRp-x!SMEVRlZ+?$51~z4>wQ z<_UGqNfCPDT)pfk+Cw33v_);2RW!@YzJ&~kaxwwm_4!q9cI3+}^Xa-q==wyV=Z4)T zA)$4m+C*g^NV-NwppU{UUcQ{$Jvly1VnDBIZwDB89)yFR(c5*$wqJ?(B`slw$F3*P zCANP#=Yx1H&gq_+0KRROuRRnIm6yyC&1Zvweh@{4(&9415Yclft+KGPq> z%iz+#n(b{3t|}lnZBIwaVqPxt<=n{{1bwM3G66EyGl{>q(}>B*zpp(-r1-*{fKXp$ zs9e9``q~Bk;Fp(Or=LK33A&zVTU1B8Ie>U_(XWM4qIqy=>7(GkOhJG1~zcnzi?r7*9L5Za-y9Z=5O|ri$ZQO6c)X@q<(3EtF38 z%CjQpf;Ji@Q46T?VsogYBN;T-03KHDz8N{)uJ5X%xk0uUJ1At$M@i#X0WSCF%-yfb z!+Vf-fBa`J?(>}qY)_)oe)cPgv#YIbu3cx`!_rJ&JakH!)M-Fj$Q62m0dRDu+ci!%@!y4q#Dg;vElv%@)7C8^EWFRLfIE%<9ZZub?6WU3(4s{%}y>*3W z5GPk=s1mLy@yg672(PS|7IjJuNsZgUk0Wh$j%!&|u0d<<&7Qirj#5eS0BR7{L*|6g zEG|J0U&;iP1Z;F|9q{$iL<`QKHtcQIeh%!JVNU(9p{l1V&Zk9}LxnV^9VE-I z723(k2&QRXrAwBo1n1J?q|&OU0&YHXZ^ z#D5B#$oi0~Q;Y0d(g}t3J2#u{I~3Wk&P4OYnb~d1dy9W65TibV4Ttyh1#FXoaszK6 zym}|Nz|ABw2-iun9I!XbOEELqFKkYEdnO?vimL<-m5jfih_4AQq+Q^5jPacb3ZVNl z{SDxi-0?AK_i^6yeW!#&3G}9>&d)7$Au9fIvD2*icqOYWLUKVB_WDC>#JLSpxsP$H zugCG72Q&$LE*Y0370v28z)C0s0cv+35wY5q%gxVnQ*1n%;>1PYbL4^)BQm(;YoUuMyg+n+o))xIul0-@(i-K#ehnr!{AWBh$+p8oUA)jae3(DLr#Og!z-`b@swe}t9 zZMk{;yRT#P*mwJ( z!x3t#ojz!UKY7wysCIb3-ks~8}p0L99J zc-PGJUb@pQ;V7!XU*I@`*5)Kw_3j2Y#0V3c%p?2^H>Cei5$2s)fi*_{mIPilIi9vz zLz;fqWb2Oe3XgR$9rvGrkBQd)rx31r(V=v3FR(|P9VEU*V2#nC-#Lze@E-j+*0ITO zt&9dwqT<&IH}=JkvbCDK>^?KIJbleO6-{58xJ(wGiO9TD-;$4*0tmpCrUs9nO__v) z-`PGYh7qGc`gS1iIg&xWL}fsY7ym zU2?5cAI|^_j3iFM&moR64r`PaAb*DT-*$3Tu2D`687%9uyIa`ATDhgh2L_m8 zctO-fF#=0|<>?o2kF_2=DaiP{h}vt-0-C=Ad9uI}s>Z3&SOL9&{Bnca^in^bZ+ssj z24ZDt(50H0zQI|tcL3#mxk9%tqQiKRlCKjq`V1Rs2Ktm-l#06&_V9Sz!>;70=a4U2PP8L=Qtm0;8 z?)%$4l0211KYqhHjXaQRBqHFjmlSW})h=+LY&bIc^%_sU<77n&)WX@z8J68u!zV)l zz*x^9b;BDOVfaLx0=HzjoJ{{A)Qh^|QU=$?E6mW(Az{h&K-=1-e7|P}YUgH_r<@}d zk)cxG@-ig55b}Fhs@&S*W8}G%?g!-4)>7-JB9*kmjsZaC?Ls%BC=gRFJm zdkdE1sa)qVbf1iOy*BCSJ`gXr!@QKZ0o9-FBkZ|%)=W}6RD(Anz)I*osRmdH8#ip{ zx>FjoW>5_s;F^M-JU-&k4ILkZx}i3lcA)JeY#&ib(O_n8%-Z7qj&=yoUm7bMAF1+V zcA=djU2E-)MW)U;Z8$lZgg6-`YUD1B4p`81m%92cz1e_AMfp<4g=Xz)DZ{JTqlsu8 z;(wkFAEHP1t&=6kF>NNL(8}6ut`rBN;evBN_V1H)8C2TLcXr13@3B56ok@ zy$xBF?FhP52;5()oQsTaC?w9FW&`4dyan`;>=Xmy@yuTiqNmUuDNzdvw?%Wq5a`5t zdS5~;{4NdZmlL&zcaW);`MB8VK&Cbuy_#jd_1SWi!&x^d%Y+{KtREL%O|xzgrq|5i z+2lD=OHy(L89;jc{tx3CD=vilqV`yc_e{=WoW-=Z6dvy$eX9xL{JeVGEwIJh!IYpW z^ku21_uM@LW(c8diJ(j& z50fu_l4-aAjsep%{RuT17}JpUYFEhX2^YXK^$KgUbF8aB`EI63R$?pOOr*(X6BfH7 zTm`aIbs)R6CN%E3{S>(jCT&-tL#;j|JIVYpx4|CM1+5-+BiYp}f*2oA(6-BAY0!%U zi19&#?<%@xohxZ>u>9zHKW6dmV1IiSm3aMlPJaAjaVw$78i?TEiL+@nfU*NrBM@Si zbGsdJh?=d0!?yD=%9jcmmPB*ESSxHaM^+Rbm?$loiJ8mI2}#y7lwRU{>M3iOgQP-Z}qzV4}5DY7rqI@&z9m@re- z1O6ZJLiP#yaAgT^+(K5uL+lb&P|08AO$-(0jCQ<+_q%pjT+|BjW`Zqty^=o#dW%Re z%?6z1b-HQjJlTf^pPI@%>`ztmbi_K)*KJmm_$~1-xaSDRJd1|67QKJ-HV8CDL->hE z0A4}wD2-ttz!F*?U;@+!-B-H|BKzWe&V#N|8+?0SeSU#2fHp4^>}|pZzuM4>sKrn< zUD~a+pQ>dt=7?AWxUeMY>cU0J!%fM62@OVnTBy;h@Sv`T;6$IbA+SAZGe}y`(Yv8h2w3%v&HDIjU#Yb&QQ%@9n;^-iWj&8rWY3LoglP z(1d&Eiyz^0pImErKIT6mqk65r1N2IhWCNI`+XAq<$ubMH_Y!ZzJ=t+;l`5d00fv=% zDi_NBZ(}ezfo1kJ+~jH{P;!EKHRoYn5(g$e67DnF{@2717G>s58E9#Kdf#a9YVbGX z&$%tr;iaU0xrHcp<5aS-GHx!pzD6nl3PU@8u@~Jy#51`Il($O$`Nc6L zL^#*7=K#A>Hn_-KK-z+kZ-{$|$>q$;OFY_Q1xiL01pEpWt}AE3#XlNo>XPGc-(A;L zb_a?KnE>`CkmMQXe@pT#_$~!WrA^A#u7wwL@CbU}ikwS+e?jm<{eqFIHT4prI&g`# z6MWe;m!W-aH`9Eys9Yjvx4f*7CwS(%laX+#!gM=KuWV;gr;ume;o8iSq`6ec)7QP- zE9}Lso19j6T(qoV3&y2dy{z?gl4z-hgg=2vj(z)*Bag%u!uE+) zp3eKJ)~H4C(l|@1;Y{iWz100{rBzd4awh;{Xs)h)`b2%x$WCo8jGLJKC$nqqORfJY-RRePM}vs|o$>5?_)L=QOIk&s zz|f0L*?l-dErk6VAWQ?U|E44_+m4TmhbFfeGhy1^mkRRZ?(G8M^P<}KStP+ELYM$Gtu zZ6-q3J;P~1whiiO<4Bxvb&H1{mRx+x2`rHwg}gVT5G`6=x3@dnEXSZBiV*)SAWU^8HO zP(!mr<+ik}(2Fk3-2>WElTflm_g`g~?`Te@c#IzCpCN?0Wy?c{DEnljjL+(bRp0Tk~na-JlqibAtn> zQ-*VE5&)B;Lfv|lLgy=uL@SKM(xb7uz!*hm93w0bO%IpxFjh{WUBv&HcxwLC_tsuj ztBPjc#)DXK10eMY;5hw&2Uj}{VcLu-RWXCwP3hxcdpZj$GpR9dw8!Z` z%5q%_dTEOo{Fp@c!%q_hCZbvsQvXYF{-24c<#&uj!_*`;Zs=%Nmc$9yKUS$rPSE2^ z4%L-pyU+Bz3$&(TwTll$BYx#OXzwI~rl}*2@jqFf{)sKKTe+#TJqO@ib@e|WJF1>5Ku7!$L75fNCu z#!9u;o+@mGb9hI;_j}*Zm{so7LwD1h?g%xekmEBi=Bgw0Ngyk>_KyVJl}o${9wmR! zfFY*AFD=aq7r@5|Fc%a4w*h3k*)i(h$_KHc1b|?6{iOTb$HbqlVRm<+a3Wifkq zz=2Te^m(15T5LwdJsCKdegI5kDVQ|YWn_TSFR{;V!WF<^PV#_MpfDaL#DP4}D&!b= zVR=BCyd|Ag<(UY;!kI`E`aTt{_HW0|G)NLJ|5Ci@`Ph!v@Oyi z>h4l}f|jgV%%?$rO@)2|l?VG&%Yqp%GTl}z?)^c83gqd{?}=XNZ4ut}40=UPiz6Y~ zo;KvWlq=TdPc)sd=Lp6gnM{>cv`GysC-0_kfxwsrR3cwe*q5$~9 z_Nbs)c#x@LWs>m&|Eu|lUvl%SW)h}`g(>)7+ z@e7-$_^2)aEr1K@%+p$;bG`o)G#sT)?M^z@-%LGuKsk?dT}BrQy$?Q!5`^uKn1I)$ zQ>02`q!3Tc^&r@#kN?NLcCw`=j!+!)&y~d+Ko|%M!KB!_iwv!8%RSV(e=Yu-cj4K` zcU%UfiVS9@C5it8UcS@A0IOHGF)2BVxXMxm_J?tum{Fo{%56WiSo#)3IXzs zh2n%HE!;i@w+n^n0PxS>H3-fECr{9rV~QQ@acLQC5{MX4$${v`(?v3zxwVY>W3)sTyIJIj>?YV;9;Pqawuhj3H} z3OI6r!$9m;2#F}i9q>?Jfj=|Mi88{v51X%SsCW)ck|pU*bY5jLs=M;2x{~PWNcupO}_g@~-?b z30E?+q|VW()cwq*?`9;g%lX3Xsoy-0Hf;)k7f!@_-oOh)o(xCM@uj3IZe~Ir>W7-= zuPXn}_mrpqLte1*bNO%bLIPojl!)g&!c)i8+klTj&VLX15dUQ_;KlqD+j{!af=1us zS=k$`yj*?&;N@}WYDz4B2g-*5(1rhwy)+mnIv<-?;if6xNQzG<6|BE1SycUE z<#_s?6i;*IgI+hjgsyy@y`?}RSJu+?8(7~5SY&;>9Pd$6zW+Pm!+YHKe+PUZ!^bk5k&kz+NOP(?!zNd*7O93cI1n#?NIvrL?>^kSqxRBy2t%hN-SxltaD z=z#n3?0u-Wipqn4eI{E>`qFHLKqgv`7th@=xZLu_?PFc4C8I(udugl@U$#uMih-4^ zWnSdpp{&EDx=gb_Ul&%s6&oe-x~s6N(#|bbW37E#vwZ_Aym>RX*zJ(of}ZeWpG%dT zX=B((+k;YT#fsSB>p;W(?Y&d2njL@P3d4hAD0@PkJe6mZCY#SXtcyLWsz5AeV6|V2 za-PE2sMRG@i=q|rvHbz+vz$Z5Gc-A$60xC8zl32RNM2XRm!F8ETK>vNr8^d+$&%VTvMqb=6OEHYMBAatkdcF?Wx~8})OjUd5VoS|?T`tCntV>kv85P(G5)BL~qR ziyw!qwzrmk<&fg<-StDWqCk`DNSmZ>^ipuk*!i`K&c^O-*xB|#J-IKq$^g};Cnyu? ztv~iQX(ttF+ym`u={V6|F{O?D(u+iSy6CVq=ilj-B}bIdr`yeyQ_e1L^^%}zo?(Xf zPTPHFxI_3)=z_bbJAhn}`Is0ynF)Xv5_Po2xaGWs98eurpPr#}W+rVRGp(iV}TM+`elqC&R zL=~||GJ10dibm7dv*VhzqonJskt(D^9V4U!^{(AiV7rP}H!X4!gj7d@*=f(yRk(@_ zk>Qu<8wuYtpD+8;&a66zF8pK|*hV>3`xu6z6+p|9j~qJlLNCq+w@%?_Id+8r;mZ~y zhaC?x^a{vsimdNF1|Sv=v4>YdSIn*}l8knEQbFINJ=K^%ern*X$2my<Toh%V z-dIY$QLOBhx*xjK=4BT-FJJl3!W|F@NZDe4+M6!+H`i&ymg^Ld(UQpY1%mM&3-~C z+L!T~0lY00TygfsZ_B{!bHBMsJV8Yww!8@lJ4!;6bxzTt3N$39jo)fte~$UuP1NRv z9+Re#YeytHAegTx()>;EHHO@1;<3RNF=-8{+`AZG!Dfxzw;ck&=j^0pn3SXBZyH6e z8GqhIN8VrchbGR0FTkf7ebJ;V(CyzBKp%G&s-^~C?7TQDN9u`b_5#nMI;tp3RmmIzF+YVm^j8Yt{i?vdB#-~rK!yx zFSd^_S4*MeY;$S+lhTvgRj zK;|#pLSeD%6K+9K9>6UqPQeB2{WEUC_Bq&W;^-=J|PpT z1$0;R8O(0w5^4>(ZE!-e>Vs=lL1Poc(2L{twwx+Qb9|%Q6ZhMjMZVa2h<)+){mP2L z>Z7aSZJ(c&+blnXht^odj^3W&%&t%bos2(KA$C?^BBwXE8&_shPH>nWsz^n1eV8}F z`7myEjZ!>8%5R$|TdMw$BA$?HSFrR~6d)WK7!vv&2BA{iVSVp*>ZblLumzKfzhDbk zr%C~DuQ!-our3+jT(>1F6NkGz^2)Dxq};qusE8Q0%C3S&I?DgNiF?9+u)XUrQGh|L z8D-NBvFz(9KJ62+;(^fc+MVSZKQ)H)xySR{06PuD07u!{6y)$@A8VbjviY$+4ILI2 zvnC`enZw`af0MWdu@iN8zMfPqfyO1+xY8N>JO3w`kabiA|IBZTdIYS{U`%= zA%x(6q86AM{}Z*4^vgM7@N)N8du=Bgr{6ci$(c}ssO7_^R|x)#45_)P5w-yAppVag zpN7;snE(3Tj1;@&hqaw#ACR1I!qnuzVournYRR}BLh^WU#JK(gdf~v1lnMvXkpM;B z%(>8UiieBV_Tj}xf3$jFsG~g%_Xl-1jt5IYxs9Pj&Y7Y)e!`hCaUjH_JcT(SO$*>E z8PXIK^FW~?3m2h0&2>w~(Wt%|F%vUgM|cV~$p7&oU6}7a+!4xnTgT3|*4qvvFQ6+y z5j~A`C6Rk_2PO?cn=!j42mYMcS}Mw!zcURN{lG-0W&+Bg0VF0D-lfr;g0(GM`2*AZ zMuXeg2^nB$yeKMY^!qE)5beYpQp*Cgx6Jx4uCv@$T-M2^x>Ucxtz_$y1u^=#s8HaJ zM+v+pJN_ru!ZLBg+xv1#5`2KQfPD$2J4IF=Fzqs?6ZqMzCVu)$I>O`+u0sFR77LYG znh?fq!JtMd`DoWVO3Y=M?+oIGkr1;gL8ALzknTBcAW{bS9|-D2w21XKZNJC5a663& zDm2`LiaTD5UBMzj0ITPcMOM`7o*~Y{|q(6md(Wt>&&a!Til%}g&l<}CqW5M;9 zagdn|f?B{*FSPSKfNw1MN(y2L4`h)l75@<8WpH=qT&mxH^_W#i z(!yxuPal&@5(zj2g0(88`VYNK%(O1cVmIw4xt&$E@BurO+LN^>WjX^i*JP@NU|+~853@p$qV5eC z-4(q32{-vbHh!#!bq4{(hd1%-ht`6|6C>UOn1|Qb@FkUok&$6i5e5&_SBDZKoV|%z zGjxeFN(uPoWkT<}VYTu7JS8THZa(v;b27Y6!WKFrRHv~taLwhv@fe<{-}A$;KXtr359KmMyh$qE4URNw(*qc3^7`jT{4D>eLfea;! z)&ws<_tpS+=77N3>~|j^E%`iW*tZ*)q{3r6B<@{e?@UCv>tSYK5lvhT4XozW<bL8wnu>@K?f%Si`Suo;PqUma zNnZF2xyZAO6rT{ywfvoI{13vrNP7#}ZVJ>JYLxP}PppP(fYngiX&h<_Z}7xwaFhkJ z8gO2vT4iUH`f_EpiSFloYjje-w_?>l5co63rH-+(IAmwEJiEnI<8oa@%IGtDE{G`> zobZJv^IW(;%6z(6;*zkB9#RT@hwmZ0PoNHH*`S4C_ND3#!OcZ$RZ zGFKE8els6{nLu4$R{@ajt!;64*QN5j;TPDOa~Vt@=y7;Zzh74Wkh8f{I_f?YKk+V_ z!OZk1!92V)#GQE@rJdJ188FJSfa1Ois8?Jt3grdk^Uhx1X`7xKvcHd)g?*jAPA13vH8$J`iAtuLlAQ-$E1lfs*%s4{?kCbBIF;`VDAsQCpwy`4^y} z;0e%BWc43_2EVN2t0^h1XR0f}M#}2Wr^c}SJL-DaaZ6(gj`Q$-c+{y~vWAdLmi8bO`ouJ| zJdGasnA7udU_MKRI~*^)3Xj}YJ_xdSNAa+!M*+)+HDWY*Y@%&uYr6Yp@UrN0|H2PR zU(PC)_X*qTHb5QeZH${HqoC`Ze=WZP=aT)Gdl7+y*ssHepCIiGtgP(x>;zOm0HT4l zlO0HE|G*fzbQ|+T%%lai(BN6%5M%-FHoJ8^#`F{X1NQ+bkA+Y-&xK5#Y5pyS3!_qI zC9HmE&Yw)Ugqzd)aump%*#burQj+3v!I10I-T^3cpI+jqiEk<)ZsNeYcWdVxoy1rm z&nL!AT3>!lR}X%BWbfSFkNGi4W(BV4lYw<4=YGM&>F`xJ;Q?Jl3yV;!=p^BkHMF-gJ@m8Y^3DjOPg8Uz(iGt z2Y<$2kcKQZ$D@2t*M#2Og#GEVY-PIm(mis~@t8~KmXD`k z<44jsy3g&3tM4t+OOP0(!&`(6kbu+vdSJ~OaR`=;TYZ@kTm3xPAAePR``0)9ba^TY(Ko7AgTS#5$=;`5wP{EN;oYKHi~ zV>77lp~b79B_cQahgM?VBKHWa;-3Ik;(lRU0NwCS^Hh{8gz_G$J*aZas@5TNJ?$f! zcx^X&H|-i*WnKm{Qs~<2^@Njm7UzD7C=3!17@tBb^QdA~;FOW-(fPNV8eQPzZ!Uer zE4TLK>an;#V=aTF;<=6^FpxpKGEXQSUzZb#4*xu4UD3?e0|4*|qke_ECUw9rMW?0A5U zroi)i>eUg4=j}Z+ZoMTcSze8IzSl|7`jMX87`d12gpf zBbXta?*9vzq43xw&1F&UhN)d0(24J?Y~Ar~)twHVE8^0UW+;2>gz_n(Lo9F)p%eH8 z)=e^t&?q`-Y0M>w-vj7W*HCX(C zHMswQHK0Dh8ZQ5WHK0Dh8UR250BgX|{yVH8pX*<+hDFwTy>6iUvmK{0?_YPL0?*vR z$C8s|CNb_oB5uj$W9^_`MS%f?vfw_qz%fHBpNAvp`z6c{ zI<6beD_JZ}6FbRU5-mLG+Bp1?ZLM1p5<2Cw=5kHYYtp`9T1Bc~MjA(|?AGY^6$f&p z^-9!=dl#t%oc4{N@Fsa02`P!qf}a8Xs)HE=WssN)_N0TuJ(_F-fjz6ppLL0Ck9n|r zR#6QqY|_m`^KkTk)UzUYO^{BV^+~JOak5xr3^?RX)b8SEJU-zXV4DBJH4sOdXM%AJ zjDK(qt?f^^hPH`+;TmWGT*FJ-9ojFI4u8irFkrO}{2SLG@-JM2C%P(y1Q9Jwyx-yD zaLDwSNqAR;8q3a1u_U=iByBh=)RNuH(*V-P$2jww^6+H35Qhow;6Xn2QLSM3cVe97 zjR^}^{vMc!)6d69!(41+W2$XNWY1;*A_gzXg^7znVefcYBNX59HT(-e)1}~NGP)8z zPU(Hy3}w>EIzjhV>;VOkcWs9g+Fo!mtMsbxdqV9)DFl2IsMm~^yhHS`3|E7DG;%2A35 zoZ!}GT=7k4U_l}@GtW`iWNazuXt4&dDXz1CqN;|skZ8l%{ap1@wa*FID#}jgBP|FR zK<-8{$>wBd2@w#B948?=nDimh`#let2#xa^QA<0qC$t;k;+(r9uTYAYDQEBXyi6&? zvS}1C+?$>;H2ob2Vdqcr!96=oC+EC6)y3W`kYDi**WT zEf;@|mU!^uAmEod4C&WzU{%)UW&2y|lCa<-RfVyd&kEDlZY8C4>N4fU#ijdPfdc?Fc*3*#Fa9Al)D!3xz=25(U1EPDHH@154^jif-$@Mz82^LRkXZF! zqy`5|Y)e1#d0K4&$0iesa^?`nL2cXqz^+~S-OHf3J5%t^s!QO>Zregf$F#PEKwAUZ z%F7S@rmCe!jyMAAhLBm897)}n|ES1!m5z%95kEo`R72^5`pS69?s1x&2H3J#G5XM z0%hq~tL3H;4Wu_GjK0G>W>CwRh~D)278zq>EM8mR_yR*YEaARB*F9AnSZ&l11*EzH zkVmj#wjl)AJQOVp8TAAKbg3JNVC+13lFn4df3@7=vGS3UFX^u0;fL zN*9g)21!yI0w75?sVR(_+p!57;R+tWKFfohrYFrbLb}kG5g0@8qf(kn5(B));~HK| z;HULPvlklc-#i(F3ddMe?LaWLzKz)c1nc1NC&4bbH`1x2EBIb{Z##tWBvrm1;*4hfZA{<+*eLNT`&$PBtWi$61T&6#;QHJ!{8Hh%Wm zl552=T3{q|EvUsY4hpl#!Q)jHOD5GYLFnG4!2KK%Ht|uSIlBS+_ zAc6D}p7}7N9t?F#SPCHGb1LeDdpPk-mqS7J0?2x`U)<-DX~w@Y^uiI>#~akBDh4@w z@vqj`(G_&P!VG_-_^7?7G+yM1a_)IG|*WksfZ**cAWM9lGxkhpsPVcrb=7M^l{iC_?WamLGfnFP0y& z;lGz3X<-`R<%cZFU&{|%RGM-Y#R}T6R4r!o7ej{F*$^)~F{jRyrp|(@A6B_g!2t8E5It&o^zCBgyGB+Tk(ox=^we$^U{m zxPV~}d3QFj`ch?%fHtI&i*9BWgg`paGweEl4P>`@z&@<( zo#$ZHHktD7MltxI0>nY&7kYD;8E^sPCtYOU3UU0J#V%hda!(rr_rb^9s#8#j-Q zg6=q4b2M>>?NDD&>dY1_u7$Jhy
?*WOg);&vB8LdyO$XP!#06lJP9`*@hFX-G~m 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 diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/vignette.rds b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/build/vignette.rds deleted file mode 100644 index 5ae86e0045546590f896921c56266139f15779c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 617 zcmV-v0+#(BiwFP!000002F+E^Z__XoPJfNH0%>DI9qeKl2L#$~`~gL!QU!>zbrLt^ zHg0R0*pcmY;>I7%nevj^$&0fJBsg$L6Tk0!FQ4Db=YH-5LC_4^twzvn!DH(Pe)ixx zfa`wH4!UqZ9?aK5-b5^1vX}{@FD~QIVh`U=2499;&m+oXrVw&87TVA#q9VLvCQT63 z9Sfr*3Ouu3O4eOo85qY2HO*B(aDkzD8vnkKZldkop34w) z?Ar`sy<4B5$mtHFAxhngxzn&3&uR!d`;FJIaNleQJGskkIM=ru!VW8b%YkaAgFn3Y zcN{s+*ZzUyr61M~lb!E_mgf3ybvA6gvliT_|3A1N)1~6(UzEjd2>$ZkvBev%?=6^z zdjvnZ|Dx>MA|I$S1+DPr9i`h%tXt5SX$$VzV0*+PcdT@#+!Tw}WH|CQ-5aumiO`)` z`|sGd8>wJjeNk7*n+x}{2XHmN!_RiR{oyNu6GA&hF4zk*`z#dX!|LZR6VTY%^alU{ D+CDF< diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/CITATION b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/CITATION deleted file mode 100644 index c149f77..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/CITATION +++ /dev/null @@ -1,40 +0,0 @@ -bibentry(bibtype = "Manual", - title = "A R Interface to the US EPA Air Quality System - Data Mart API", - author = c(person(given = "Clinton", family = "Mccrowey", - email = "mccrowey.clinton@epa.gov", - role = c("cre", "aut"), - comment = "United States Enviornmental - Protection Agency Region 3 Air and - Radiation Division"), - person(given = "Timothy", family = "Sharac", - role = c("ctb","rev"), email = NULL, - comment = "United States Enviornmental - Protection Agency"), - person(given = "Nick", family = "Mangus", - email = NULL, role = c("rev"), - comment="United States Enviornmental - Protection Agency"), - person(given = "Doug", family = "Jager", - email = NULL, role = c("ctb", "rev"), - comment = "United States Enviornmental - Protection Agency"), - person(given = "Ryan",family = "Brown", - email = NULL, role = c("ctb", "rev"), - comment = "United States Enviornmental - Protection Agency"), - person(given = "Daniel", family = "Garver", - email = NULL, role = c("ctb", "rev"), - comment = "United States Enviornmental - Protection Agency"), - person(given = "Benjamin", family = "Wells", - email = NULL, role = c("ctb", "rev"), - comment="United States Enviornmental - Protection Agency"), - person(given = "Hayley", family = "Brittingham", - email = NULL, role = c("crr", "ctr"), - comment = "Neptune and Company") - ), - year = "2023", - url = "https://cran.r-project.org/package=RAQSAPI" - ) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/WORDLIST b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/WORDLIST deleted file mode 100644 index 4f7ffe8..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/WORDLIST +++ /dev/null @@ -1,126 +0,0 @@ -APIv -AQS -AQSAPI -AQSDatamart -AQSobject -Acknowledgements -AirNow -Angly -annualpeferomanceeval -annualperformance -Badgecreatr -CBSA -CFR -CMD -Csárdi -DATAMART -Datamart -Github -Hogervorst -JSON -Lintr -Müller -ODBC -Organisation -PQAO -RAQSAPI's -RAQSAPIvignette -RAQSAPI’s -README -RESTful -RShowDoc -Rblogger's -Rblogger’s -Readme -Rmd -Tenenbaum -Tibble -USEPA -Usethis -Verifications -WORDLIST -Wickham -yellowgreen -Yu -annualdata -annualdataby -annualsummary -api -aqs -aqsweb -bdate -cbdate -cbsa -cbsas -cedate -changedate -codecov -countycode -cran -dailydataby -dailysummary -dailysummaryby -datamartAPI -devtools -durations -edate -epa -fieldsbyservice -flowrate -flowrateaudit -flowrateverification -github -gitignore -gtools -hexSticker -hexsticker -https -img -io -io’ -isavailable -keyring -keyrings -knownissues -lifecycle -maxlat -maxlon -md -metaData -metacran -minlat -minlon -ORCID -parameternum -pqao -pqaos -qa -qc -quarterlydata -quarterlysummary -rdname -removeheader -revisionhistory -rlang -sampledata -sampledataby -sampledurations -seealso -signup -sitenum -stateFIPS -submittal -svg -testthat -tibble -transactiondata -transactionsample -verifications -’Codecov -’GitHub’ -’Linter’ -’Repostatus’ -’Travis’ -importFrom -annualperformanceeval -annualperformanceevaltransaction diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/codecov.yml b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/codecov.yml deleted file mode 100644 index 04c5585..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/codecov.yml +++ /dev/null @@ -1,14 +0,0 @@ -comment: false - -coverage: - status: - project: - default: - target: auto - threshold: 1% - informational: true - patch: - default: - target: auto - threshold: 1% - informational: true diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/schemaorg.json b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/schemaorg.json deleted file mode 100644 index ddd5589..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/inst/schemaorg.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "@context": "https://schema.org", - "@graph": [ - { - "type": "SoftwareSourceCode", - "author": { - "type": "Person", - "email": "mccrowey.clinton@epa.gov", - "familyName": "Mccrowey", - "givenName": "Clinton" - }, - "codeRepository": "https://github.com/USEPA/RAQSAPI", - "contributor": [ - { - "type": "Person", - "familyName": "Sharac", - "givenName": "Timothy" - }, - { - "type": "Person", - "familyName": "Jager", - "givenName": "Doug" - }, - { - "type": "Person", - "familyName": "Brown", - "givenName": "Ryan" - }, - { - "type": "Person", - "familyName": "Garver", - "givenName": "Daniel" - }, - { - "type": "Person", - "familyName": "Wells", - "givenName": "Benjamin" - }, - { - "type": "Person", - "email": "edward.s.andrews@wv.gov", - "familyName": "Andrews", - "givenName": "Edward" - } - ], - "description": "Retrieve air monitoring data and associated metadata from the US Environmental Protection Agency's Air Quality System service using functions. See for details about the US EPA Data Mart API.", - "license": "https://spdx.org/licenses/MIT", - "name": "RAQSAPI: A Simple Interface to the US EPA Air Quality System Data Mart API", - "programmingLanguage": { - "type": "ComputerLanguage", - "name": "R", - "url": "https://r-project.org" - }, - "provider": { - "id": "https://cran.r-project.org", - "type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "runtimePlatform": "R version 4.3.0 (2023-04-21 ucrt)", - "version": "2.0.5" - }, - { - "type": "SoftwareSourceCode", - "author": { - "type": "Person", - "email": "mccrowey.clinton@epa.gov", - "familyName": "Mccrowey", - "givenName": "Clinton" - }, - "name": "A R Interface to the US EPA Air Quality System\n Data Mart API" - } - ] -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/RAQSAPI.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/RAQSAPI.Rd deleted file mode 100644 index 033a43a..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/RAQSAPI.Rd +++ /dev/null @@ -1,63 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPI-package.R -\docType{package} -\name{RAQSAPI} -\alias{RAQSAPI} -\alias{RAQSAPI-package} -\title{RAQSAPI: A R Interface to The United States Environmental Protection -Agency's Air Quality System Data Mart RESTful API server.} -\description{ -RAQSAPI is a package for R that connects the R programming -environment to the United State's Environmental protection agency's -Air Quality System (AQS) Data Mart API for retrieval of air -monitoring data. - -There are two things that you must do before using this package. -\enumerate{ -\item If you have not done so yet register your username with Data Mart -\item Every time this library is reloaded AQS_API_credentials() function -must be called before continuing. -} - -please use vignette(RAQSAPI) for more details about this package. - -EPA Disclaimer: -This software/application was developed by the U.S. Environmental Protection -Agency (USEPA). No warranty expressed or implied is made regarding the -accuracy or utility of the system, nor shall the act of distribution -constitute any such warranty. The USEPA has relinquished control of the -information and no longer has responsibility to protect the integrity, -confidentiality or availability of the information. Any reference to specific -commercial products, processes, or services by service mark, trademark, -manufacturer, or otherwise, does not constitute or imply their endorsement, -recommendation or favoring by the USEPA. The USEPA seal and logo shall not -be used in any manner to imply endorsement of any commercial product or -activity by the USEPA or the United States Government. -} -\seealso{ -Useful links: -\itemize{ - \item \url{} - \item \url{} - \item Report bugs at \url{https://github.com/USEPA/RAQSAPI/issues} -} - -} -\author{ -\strong{Maintainer}: Clinton Mccrowey \email{mccrowey.clinton@epa.gov} (United States Environmental Protection Agency Region 3 Air and Radiation Division) - -Other contributors: -\itemize{ - \item Timothy Sharac (United States Environmental Protection Agency) [contributor, reviewer] - \item Nick Mangus (United States Environmental Protection Agency) [reviewer] - \item Doug Jager (United States Environmental Protection Agency) [contributor, reviewer] - \item Ryan Brown (United States Environmental Protection Agency) [contributor, reviewer] - \item Daniel Garver (United States Environmental Protection Agency) [contributor, reviewer] - \item Benjamin Wells (United States Environmental Protection Agency) [contributor, reviewer] - \item Hayley Brittingham (Neptune and Company) [corrector, contractor] - \item Jeffrey Hollister \email{hollister.jeff@epa.gov} (\href{https://orcid.org/0000-0002-9254-9740}{ORCID}) (United States Environmental Protection Agency) [reviewer] - \item Edward Andrews \email{edward.s.andrews@wv.gov} (West Virginia Department of Environmental Protection, Division of Air Quality) [reviewer, contributor] -} - -} -\keyword{internal} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_box.Rd deleted file mode 100644 index 7a0d5bb..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_box.Rd +++ /dev/null @@ -1,121 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bybox.R -\name{aqs_annualsummary_by_box} -\alias{aqs_annualsummary_by_box} -\title{aqs_annualsummary_by_box} -\usage{ -aqs_annualsummary_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{cbdate}{a R date object which represents a "beginning date of last -change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -summary data for the box (area) requested. A AQS_Data Mart_APIv2 -is a 2 item named list in which the first item ($Header) is a -tibble of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where annual data is -aggregated at the bounding box level. Returned is an annual -summary within the input parameter, latitude/longitude -bounding box provided for bdate - edate time frame. Variables -returned include mean value, maxima, percentiles, and etc. If -return_header is FALSE (default) the object returned is a -tibble, if TRUE an AQS_API_v2 object. -} -\note{ -The AQS API only allows for a single year of annualsummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing ozone annual summaries - # in the vicinity of central Alabama for the first two days - # of May, 2015 - \dontrun{aqs_annualsummary_by_box(parameter = "44201", - bdate = as.Date("20150501", - format = "\%Y\%m\%d"), - edate = as.Date("20170502", - format = "\%Y\%m\%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7" - ) - } -} -\seealso{ -Other Aggregate _by_box functions: -\code{\link{aqs_monitors_by_box}()}, -\code{\link{aqs_sampledata_by_box}()} -} -\concept{Aggregate _by_box functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd deleted file mode 100644 index 7a512eb..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_cbsa.Rd +++ /dev/null @@ -1,103 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycbsa.R -\name{aqs_annualsummary_by_cbsa} -\alias{aqs_annualsummary_by_cbsa} -\title{aqs_annualsummary_by_cbsa} -\usage{ -aqs_annualsummary_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -summary data for the cbsa_code requested. A AQS_Data Mart_APIv2 is -a 2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item ($Data) -is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where annual data is -aggregated at the Core Based Statistical Area (CBSA) level. -Returned is an annual summary -matching the input parameter, and cbsa_code -provided for bdate - edate time frame. Variables returned -include mean value, maxima, percentiles, and etc. If -return_header is FALSE (default) the object returned is a -tibble, if TRUE an AQS_API_v2 object. -} -\note{ -The AQS API only allows for a single year of annualsummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of annual summary $NO_{2}$ - # data the for Charlotte-Concord-Gastonia, NC cbsa on - # Janurary 01, 2017 - \dontrun{aqs_annualsummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - cbsa_code = "16740" - ) - } -} -\seealso{ -Other Aggregate _by_cbsa functions: -\code{\link{aqs_dailysummary_by_cbsa}()}, -\code{\link{aqs_monitors_by_cbsa}()}, -\code{\link{aqs_sampledata_by_cbsa}()} -} -\concept{Aggregate _by_cbsa functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_county.Rd deleted file mode 100644 index 9c0c164..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_county.Rd +++ /dev/null @@ -1,120 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_annualsummary_by_county} -\alias{aqs_annualsummary_by_county} -\title{aqs_annualsummary_by_county} -\usage{ -aqs_annualsummary_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If -TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -summary data for the countycode and stateFIPS requested. -A AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where annual data is -aggregated at the county level. Returned is an annual summary -matching the input parameter, stateFIPS, and county_code -provided for bdate - edate time frame. Variables -returned include mean value, maxima, percentiles, and etc. If -return_header is FALSE (default) the object returned is a -tibble, if TRUE an AQS_API_v2 object. -} -\note{ -The AQS API only allows for a single year of annualsummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns an aqs S3 object with annual summary FRM/FEM - # PM2.5 data for Wake County, NC between January - # and February 2016 - \dontrun{aqs_annualsummary_by_county(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20180228", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_site.Rd deleted file mode 100644 index f299b08..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_site.Rd +++ /dev/null @@ -1,132 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_annualsummary_by_site} -\alias{aqs_annualsummary_by_site} -\title{aqs_annualsummary_by_site} -\usage{ -aqs_annualsummary_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested as a -single tibble. If TRUE returns a list of AQSAPI_v2 -objects which is a two item list that contains header -information returned from the API server mostly used -for debugging purposes in addition to the data -requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing annual -summary data for the sitenum, countycode and stateFIPS requested. -A AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where annual data is -aggregated at the site level. Returned is an annual summary -matching the input parameter, stateFIPS, county_code, and -sitenum provided for bdate - edate time frame. The data -returned is summarized at the annual level. Variables -returned include mean value, maxima, percentiles, and etc. If -return_header is FALSE (default) the object returned is a -tibble, if TRUE an AQS_API_v2 object. -} -\note{ -The AQS API only allows for a single year of annualsummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of annual summary ozone - # data for the Millbrook School site (\#0014) in Wake County, - # NC for 2017 (Note, for annual data, only the - # year portion of the bdate and edate are used and only whole - # years of data are returned. For example, bdate = 2017-12-31 and - # edate = 2018-01-01 will return full data for 2017 and 2018 ) - \dontrun{ - aqs_annualsummary_by_site(parameter = "44201", - bdate = as.Date("20170618", - format="\%Y\%m\%d"), - edate = as.Date("20190618", - format="\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_state.Rd deleted file mode 100644 index 23ed725..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_annualsummary_by_state.Rd +++ /dev/null @@ -1,110 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_annualsummary_by_state} -\alias{aqs_annualsummary_by_state} -\title{aqs_annualsummary_by_state} -\usage{ -aqs_annualsummary_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that containing annual -summary data for the stateFIPS requested. A AQS_Data Mart_APIv2 is -a 2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item ($Data -is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where annual data is -aggregated at the state level. Returned is an annual summary -matching the input parameter and stateFIPS -provided for bdate - edate time frame. The data -returned is summarized at the annual level. Variables -returned include mean value, maxima, percentiles, and etc. If -return_header is FALSE (default) the object returned is a -tibble, if TRUE an AQS_API_v2 object. -} -\note{ -The AQS API only allows for a single year of annualsummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of all benzene annualy - # summaries from North Carolina collected for 1995 - \dontrun{aqs_annualsummary_by_state(parameter = "45201", - bdate = as.Date("19950515", - format="\%Y\%m\%d" - ), - edate = as.Date("19950515", - format = "\%Y\%m\%d" - ), - stateFIPS = "37" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd deleted file mode 100644 index 2778a2e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_cbsas.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_cbsas} -\alias{aqs_cbsas} -\title{aqs_cbsas} -\usage{ -aqs_cbsas(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of all Core Based -Statistical Areas (cbsa) and their cbsa_codes for constructing -other requests. -} -\description{ -\lifecycle{stable} -Returns a table of all Core Based Statistical Areas (cbsa) -and their associated cbsa_codes. for constructing other -requests. -} -\examples{ -# Returns a tibble of Core Based Statistical Areas (cbsas) - # and their respective cbsa codes - \dontrun{ aqs_cbsas() } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_classes.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_classes.Rd deleted file mode 100644 index 60fce0a..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_classes.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_classes} -\alias{aqs_classes} -\title{aqs_classes} -\usage{ -aqs_classes(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of Parameter classes -(groups of parameters, i.e. "criteria" or "all"). -} -\description{ -\lifecycle{stable} -Returns a table of Parameter classes (groups of parameters, -i.e. "criteria" or "all"). The information from this function -can be used as input to other API calls. -} -\examples{ -# Returns a tibble of parameter classes (groups of parameters, i.e. - # "criteria" or all") - \dontrun{ aqs_classes() } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_counties_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_counties_by_state.Rd deleted file mode 100644 index a2a68bb..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_counties_by_state.Rd +++ /dev/null @@ -1,35 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_counties_by_state} -\alias{aqs_counties_by_state} -\title{aqs_counties_by_state} -\usage{ -aqs_counties_by_state(stateFIPS, return_header = FALSE) -} -\arguments{ -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zeros) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of all counties in the -requested state. -} -\description{ -\lifecycle{stable} -Returns a table of all counties in within the -stateFIPS provided. -} -\examples{ - # Returns a tibble all the counties - # in North Carolina the county FIPS codes (county codes) for - # each. - \dontrun{aqs_counties_by_state(stateFIPS = "37")} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_credentials.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_credentials.Rd deleted file mode 100644 index ded7a06..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_credentials.Rd +++ /dev/null @@ -1,40 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/setupfunctions.R -\name{aqs_credentials} -\alias{aqs_credentials} -\title{aqs_credentials} -\usage{ -aqs_credentials(username = NA_character_, key = NA_character_) -} -\arguments{ -\item{username}{a R character object which represents the email account that -will be used to connect to the AQS API.} - -\item{key}{the key used in conjunction with the username given to connect to -AQS Data Mart.} -} -\value{ -None -} -\description{ -\lifecycle{stable} -Sets the user credentials for the AQS API. This function -needs to be called once and only once every time this library -is re-loaded. Users must have a valid username and key which -can be obtained through the use of the aqs_sign_up function, -@seealso \code{\link[=aqs_sign_up]{aqs_sign_up()}} to sign up for AQS data mart -credentials. -} -\section{RAQSAPI setup functions}{ -NA -} - -\examples{ - #to authenticate an existing user the email address - # "John.Doe@myemail.com" and key = "MyKey" - # after calling this function please follow the instructions that are sent - # in the verification e-mail before proceeding. - \dontrun{aqs_credentials(username = "John.Doe@myemail.com", - key = "MyKey") - } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_box.Rd deleted file mode 100644 index f88c76c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_box.Rd +++ /dev/null @@ -1,116 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bybox.R -\name{aqs_dailysummary_by_box} -\alias{aqs_dailysummary_by_box} -\title{aqs_dailysummary_by_box} -\usage{ -aqs_dailysummary_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{cbdate}{a R date object which represents a "beginning date of last -change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object that contains daily -summary statistics for the given parameter for an area bounded -within a latitude/longitude bounding box. An AQS_Data Mart_APIv2 is -a 2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item ($Data) -is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object containing daily summary data bounded within a -latitude/longitude bounding box -} -\note{ -The AQS API only allows for a single year of dailysummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble of ozone daily summaries in the vicinity of - # central Alabama for the first two days of May 2015 - - \dontrun{aqs_dailysummary_by_box(parameter = "44201", - bdate = as.Date("20140501", - format = "\%Y\%m\%d" - ), - edate = as.Date("20160502", - format = "\%Y\%m\%d" - ), - mqinlat ="33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7" - ) - } -} -\concept{Aggregate_by_box functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd deleted file mode 100644 index 7e06795..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_cbsa.Rd +++ /dev/null @@ -1,98 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycbsa.R -\name{aqs_dailysummary_by_cbsa} -\alias{aqs_dailysummary_by_cbsa} -\title{aqs_dailysummary_by_cbsa} -\usage{ -aqs_dailysummary_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -summary statistics for the given parameter for a single cbsa_code. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object containing daily summary data aggregated by cbsa -(Core Based Statistical Area) code. -} -\note{ -The AQS API only allows for a single year of dailysummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of $NO_{2}$ daily summary - # data the for Charlotte-Concord-Gastonia, NC cbsa on - # Janurary 01, 2017 - \dontrun{aqs_dailysummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190101", - format = "\%Y\%m\%d" - ), - cbsa_code = "16740" - ) - } -} -\seealso{ -Other Aggregate _by_cbsa functions: -\code{\link{aqs_annualsummary_by_cbsa}()}, -\code{\link{aqs_monitors_by_cbsa}()}, -\code{\link{aqs_sampledata_by_cbsa}()} -} -\concept{Aggregate _by_cbsa functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_county.Rd deleted file mode 100644 index 22d26a0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_county.Rd +++ /dev/null @@ -1,118 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_dailysummary_by_county} -\alias{aqs_dailysummary_by_county} -\title{aqs_dailysummary_by_county} -\usage{ -aqs_dailysummary_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -summary statistics for the given parameter for a single countycode -and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where daily data is -aggregated at the site level. Returned is a daily summary -matching the input parameter, stateFIPS and county_code -provided for bdate - edate time frame. Variables returned include -mean value, maxima, percentiles, and etc. -} -\note{ -The AQS API only allows for a single year of dailysummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns an aqs S3 object of daily summary FRM/FEM PM2.5 data - # for Wake County, NC between January and February 2016 - \dontrun{aqs_dailysummary_by_county(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20170228", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_site.Rd deleted file mode 100644 index 5d44bb4..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_site.Rd +++ /dev/null @@ -1,126 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_dailysummary_by_site} -\alias{aqs_dailysummary_by_site} -\title{aqs_dailysummary_by_site} -\usage{ -aqs_dailysummary_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -summary statistics for the given parameter for a single site. An -AQS_Data Mart_APIv2 is a 2 item named list in which the first item -($Header) is a tibble of header information from the AQS API and -the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where dailysummary data is -aggregated at the site level. Returned is a daily summary -matching the input parameter stateFIPS, countycode, and sitenum -provided for bdate - edate time frame. Data is aggregated at the -state level. Variables returned include mean value, maxima, -percentiles, and etc. -} -\note{ -The AQS API only allows for a single year of dailysummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble of daily summary ozone - # data for the Millbrook School site (\#0014) in Wake County, - # NC for June 18, 2017. - \dontrun{ - aqs_dailysummary_by_site(parameter = "44201", - bdate = as.Date("20160618", - format = "\%Y\%m\%d"), - edate = as.Date("20190618", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_state.Rd deleted file mode 100644 index fa9e91a..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_dailysummary_by_state.Rd +++ /dev/null @@ -1,107 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_dailysummary_by_state} -\alias{aqs_dailysummary_by_state} -\title{aqs_dailysummary_by_state} -\usage{ -aqs_dailysummary_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains daily -summary statistics for the given parameter for a single stateFIPS. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where daily data is -aggregated at the state level. Returned is a daily summary -matching the input parameter and stateFIPS provided for bdate - edate -time frame. Data is aggregated at the state level. Variables returned -include mean value, maxima, percentiles, and etc. -} -\note{ -The AQS API only allows for a single year of dailysummary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of all benzene daily - # summaries from North Carolina collected on May 15th, 1995 - \dontrun{aqs_dailysummary_by_state(parameter = "45201", - bdate = as.Date("19950515", - format="\%Y\%m\%d" - ), - edate = as.Date("19970515", - format = "\%Y\%m\%d" - ), - stateFIPS = "37" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_fields_by_service.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_fields_by_service.Rd deleted file mode 100644 index 4414882..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_fields_by_service.Rd +++ /dev/null @@ -1,36 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_fields_by_service} -\alias{aqs_fields_by_service} -\title{aqs_fieldsbyservice} -\usage{ -aqs_fields_by_service(service, return_header = FALSE) -} -\arguments{ -\item{service}{a string which represents the services provided by the AQS -API. For a list of available services -@seealso \url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services - }} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object with containing the list -and definitions of fields requested service -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object with the list and definitions of fields in the -service requested. -} -\examples{ -# Returns a tibble containing a list and definitions - # of fields in the Sample Data service - \dontrun{aqs_fieldsbyservice(service = "sampleData")} - -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd deleted file mode 100644 index a5d56aa..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_isavailable.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_isavailable} -\alias{aqs_isavailable} -\title{aqs_isavailable} -\usage{ -aqs_isavailable(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object which details the status -of the AQS API (The status information is located in the header) -} -\description{ -\lifecycle{stable} -returns a tibble or an AQS_Data Mart_APIv2 S3 object -explaining the status of the AQS API. -} -\section{list functions}{ -NA -} - -\examples{ - # Check if the AQS API is up, running and accepting requests. - \dontrun{ aqs_isAvailable() } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd deleted file mode 100644 index 7886a3e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_knownissues.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_knownissues} -\alias{aqs_knownissues} -\title{aqs_knownissues} -\usage{ -aqs_knownissues(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains -information involving known issues with the Data Mart API. -} -\description{ -\lifecycle{stable} -Returns a table of any known issues with system functionality -or the data. These are usually issues that have been -identified internally and will require some time to correct -in Data Mart or the API. This function implements a direct -API call to Data Mart and returns data directly from the API. -Issues returned via this function do not include any issues -from the RAQSAPI R package. -} -\examples{ - # Retrieve a tibble of known issues directly from the AQS data mart API - \dontrun{aqs_knownissues()} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_mas.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_mas.Rd deleted file mode 100644 index 9c53e6f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_mas.Rd +++ /dev/null @@ -1,29 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_mas} -\alias{aqs_mas} -\title{aqs_mas} -\usage{ -aqs_mas(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of monitoring agencies -and their associated agency code. -} -\description{ -\lifecycle{stable} -Returns a table of monitoring agencies (MA). -} -\examples{ -# Returns a tibble or an AQS_Data Mart_APIv2 S3 object - # of monitoring agencies and their respective - # monitoring agency codes. - \dontrun{aqs_mas()} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_metadata_service.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_metadata_service.Rd deleted file mode 100644 index 93f0c99..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_metadata_service.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_metadata_service} -\alias{aqs_metadata_service} -\title{aqs_metadata_service} -\usage{ -aqs_metadata_service( - filter, - service = NA_character_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{filter}{a character string representing the filter being applied} - -\item{service}{a character string representing the service} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -A helper function for functions which use the metaData service -from the AQS API. This function is not intended to be called -directly by the end user -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_box.Rd deleted file mode 100644 index b69b65e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_box.Rd +++ /dev/null @@ -1,92 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bybox.R -\name{aqs_monitors_by_box} -\alias{aqs_monitors_by_box} -\title{aqs_monitors_by_box} -\usage{ -aqs_monitors_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -latitude/longitude bounding box (_by_box). -} -\description{ -\lifecycle{stable} -Returns a table of monitors and related metadata sites with the provided -parameter, aggregated by latitude/longitude bounding box (_by_box) for -bdate - edate time frame. -} -\note{ -All monitors that operated between the bdate and edate will be returned -} -\section{by_box aggregate functions}{ -NA -} - -\examples{ -# Returns a tibble of all ozone - # monitors in the vicinity of central Alabama that operated in - # 1995 - \dontrun{aqs_monitors_by_box(parameter="44201", - bdate=as.Date("19950101", - format="\%Y\%m\%d"), - edate=as.Date("19951231", - format="\%Y\%m\%d"), - minlat="33.3", - maxlat="33.6", - minlon="-87.0", - maxlon="-86.7" - ) - } -} -\seealso{ -Other Aggregate _by_box functions: -\code{\link{aqs_annualsummary_by_box}()}, -\code{\link{aqs_sampledata_by_box}()} -} -\concept{Aggregate _by_box functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_cbsa.Rd deleted file mode 100644 index c701031..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_cbsa.Rd +++ /dev/null @@ -1,91 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycbsa.R -\name{aqs_monitors_by_cbsa} -\alias{aqs_monitors_by_cbsa} -\title{aqs_monitors_by_cbsa} -\usage{ -aqs_monitors_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list -that contains header information returned from the -API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that is the return value -from the AQS API. A AQS_Data Mart_APIv2 object is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of monitors at all sites with the provided -parameter, aggregated by Core Based Statistical Area (CBSA) for -bdate - edate time frame. -} -\note{ -All monitors that operated between the bdate and edate will be returned -} -\section{by_cbsa (By Core Based Statistical Area, as defined by the US Census Bureau) aggregate functions}{ -NA -} - -\examples{ -# returns a tibble of $NO_{2}$ monitors - # for Charlotte-Concord-Gastonia, NC cbsa that were operating - # on Janurary 01, 2017 - \dontrun{aqs_monitors_by_cbsa(parameter="42602", - bdate=as.Date("20170101", - format="\%Y\%m\%d"), - edate=as.Date("20170101", - format="\%Y\%m\%d"), - cbsa_code="16740" - ) - } -} -\seealso{ -Other Aggregate _by_cbsa functions: -\code{\link{aqs_annualsummary_by_cbsa}()}, -\code{\link{aqs_dailysummary_by_cbsa}()}, -\code{\link{aqs_sampledata_by_cbsa}()} -} -\concept{Aggregate _by_cbsa functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_county.Rd deleted file mode 100644 index 7f69414..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_county.Rd +++ /dev/null @@ -1,104 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_monitors_by_county} -\alias{aqs_monitors_by_county} -\title{aqs_monitors_by_county} -\usage{ -aqs_monitors_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -selected county -} -\description{ -\lifecycle{stable} -Returns a table of monitors and related metadata at sites with the -provided parameter, stateFIPS and county_code for -bdate - edate time frame. -} -\note{ -All monitors that operated between the bdate and edate will be returned -} -\section{by_county aggregate functions}{ -NA -} - -\examples{ -# returns an aqs_v2 S3 object containing all SO2 monitors in - # Hawaii County, HI that were operating between May 01-02, 2015. - \dontrun{aqs_monitors_by_county(parameter="42401", - bdate=as.Date("20150501", format="\%Y\%m\%d"), - edate=as.Date("20150502", format="\%Y\%m\%d"), - stateFIPS="15", - countycode="001" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_site.Rd deleted file mode 100644 index e0c2af0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_site.Rd +++ /dev/null @@ -1,116 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_monitors_by_site} -\alias{aqs_monitors_by_site} -\title{aqs_monitors_by_site} -\usage{ -aqs_monitors_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from a -selected stateFIPS, county, and sitenum combination. -} -\description{ -\lifecycle{stable} -Returns a table of monitors and related metadata at sites with the -provided parameter, stateFIPS, county_code, and sitenum for -bdate - edate time frame. -} -\note{ -All monitors that operated between the bdate and edate will be returned -} -\section{by_site aggregate functions}{ -NA -} - -\examples{ - #Returns a tibble of the SO2 monitors at Hawaii - # Volcanoes NP site (\#0007) in Hawaii County, HI that were operating - # between May 1 , 2015-2019. (Note, all monitors that operated between the - # bdate and edate will be returned). - \dontrun{ - aqs_monitors_by_site(parameter = "42401", - bdate = as.Date("20150501", - format="\%Y\%m\%d"), - edate = as.Date("20190501", - format="\%Y\%m\%d"), - stateFIPS = "15", - countycode = "001", - sitenum = "0007" - ) - } - -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_state.Rd deleted file mode 100644 index 6b49509..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_monitors_by_state.Rd +++ /dev/null @@ -1,94 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_monitors_by_state} -\alias{aqs_monitors_by_state} -\title{aqs_monitors_by_state} -\usage{ -aqs_monitors_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of monitors from the -selected state -} -\description{ -\lifecycle{stable} -Returns a table of monitors and related metadata at sites with the -provided parameter, and stateFIPS for bdate - edate time frame. -} -\note{ -All monitors that operated between the bdate and edate will be returned -} -\section{by_state aggregate functions}{ -NA -} - -\examples{ -# returns a tibble of SO2 monitors in Hawaii - # that were operating on May 01, 2017 - \dontrun{aqs_monitors_by_state(parameter="88101", - bdate=as.Date("20170101", - format="\%Y\%m\%d"), - edate=as.Date("20171231", - format="\%Y\%m\%d"), - stateFIPS="01" - ) - } - -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_parameters_by_class.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_parameters_by_class.Rd deleted file mode 100644 index 7067361..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_parameters_by_class.Rd +++ /dev/null @@ -1,35 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_parameters_by_class} -\alias{aqs_parameters_by_class} -\title{aqs_parameters_by_class} -\usage{ -aqs_parameters_by_class(class, return_header = FALSE) -} -\arguments{ -\item{class}{a R character object that represents the class requested, -@seealso \code{\link[=aqs_classes]{aqs_classes()}} for retrieving -available classes. The class R character object must be a -valid class as returned from aqs_classes(). The class must -be an exact match to what is returned from aqs_classes() -(case sensitive).} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing the -parameters associated with the class requested. NULL is returned -for classes not found. -} -\description{ -\lifecycle{stable} -Returns parameters associated with the input class. -} -\examples{ -# Returns a tibble of AQS parameters in the criteria class - \dontrun{ aqs_parameters_by_class(class = "CRITERIA") } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd deleted file mode 100644 index b9e7fc1..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_pqaos.Rd +++ /dev/null @@ -1,29 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_pqaos} -\alias{aqs_pqaos} -\title{aqs_pqaos} -\usage{ -aqs_pqaos(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of pqaos and -their associated pqao code. -} -\description{ -\lifecycle{stable} -Returns a table of primary quality assurance -organizations (pqaos). -} -\examples{ -# Returns a tibble of primary quality assurance - # organizations (pqaos) - \dontrun{ aqs_pqaos() } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_MA.Rd deleted file mode 100644 index 2760e9b..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_MA.Rd +++ /dev/null @@ -1,88 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_annualperformanceeval_by_MA} -\alias{aqs_qa_annualperformanceeval_by_MA} -\title{aqs_qa_annualperformanceeval_by_MA} -\usage{ -aqs_qa_annualperformanceeval_by_MA( - parameter, - bdate, - edate, - MA_code, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for all monitoring sites for with -the MA_code requested for the time frame between bdate and edate. -An AQS_Data_Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns quality assurance performance evaluation data - aggregated by -by Monitoring agency (MA) for a parameter -code aggregated by matching input parameter and MA_code for the -time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluation data to be retrieved at a time. This -function conveniently extracts date information from the bdate -and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ - # Returns a tibble containing annual performance evaluation data - # for ozone where the monitoring agency is the Alabama Department - # of Environmental Management (MA_code 0013). - \dontrun{aqs_qa_annualperformanceeval_by_MA(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_county.Rd deleted file mode 100644 index a7b30b7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_county.Rd +++ /dev/null @@ -1,104 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_annualperformanceeval_by_county} -\alias{aqs_qa_annualperformanceeval_by_county} -\title{aqs_qa_annualperformanceeval_by_county} -\usage{ -aqs_qa_annualperformanceeval_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by county for a parameter code aggregated by -matching input parameter, countycode and stateFIPS -provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluation data to be retrieved at a time. This -function conveniently extracts date information from the bdate -and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation data - # (raw) for ozone in Baldwin County, AL for 2017 in RD format. - \dontrun{ aqs_qa_annualperformanceeval_by_county(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "003" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_pqao.Rd deleted file mode 100644 index 34cd486..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_pqao.Rd +++ /dev/null @@ -1,89 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_annualperformanceeval_by_pqao} -\alias{aqs_qa_annualperformanceeval_by_pqao} -\title{aqs_qa_annualperformanceeval_by_pqao} -\usage{ -aqs_qa_annualperformanceeval_by_pqao( - parameter, - bdate, - edate, - pqao_code, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -pqao_code requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns quality assurance performance evaluation data - aggregated by -Primary Quality Assurance Organization (PQAO) for a parameter -code aggregated by matching input parameter and pqao_code for the -time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluation data to be retrieved at a time. This -function conveniently extracts date information from the bdate -and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation data - # for ozone where the PQAO is the Alabamaba Department of - # Environmental Management (pqao_code 0013). - \dontrun{ aqs_qa_annualperformanceeval_by_pqao(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_site.Rd deleted file mode 100644 index d75815f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_site.Rd +++ /dev/null @@ -1,125 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_annualperformanceeval_by_site} -\alias{aqs_qa_annualperformanceeval_by_site} -\title{aqs_qa_annualperformanceeval_by_site} -\usage{ -aqs_qa_annualperformanceeval_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns quality assurance performance evaluation data - aggregated by -site for a parameter code aggregated by matching input -parameter, sitenum, countycode and stateFIPS provided for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluation data to be retrieved at a time. This -function conveniently extracts date information from the bdate -and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble containing annual performance evaluation data for - # ozone at the Fairhope site in Baldwin County, AL for 2017 - \dontrun{ aqs_qa_annualperformanceeval_by_site(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "003", - sitenum = "0010" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_state.Rd deleted file mode 100644 index 96dcf18..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceeval_by_state.Rd +++ /dev/null @@ -1,88 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_annualperformanceeval_by_state} -\alias{aqs_qa_annualperformanceeval_by_state} -\title{aqs_qa_annualperformanceeval_by_state} -\usage{ -aqs_qa_annualperformanceeval_by_state( - parameter, - bdate, - edate, - stateFIPS, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns quality assurance performance evaluation data - aggregated by -state for a parameter code aggregated by matching input -parameter, countycode and stateFIPS provided for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluation data to be retrieved at a time. This -function conveniently extracts date information from the bdate -and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation - # data for ozone in Alabamba for 2017. - \dontrun{ aqs_qa_annualperformanceeval_by_state(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_MA}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_MA.Rd deleted file mode 100644 index 2050f75..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_MA.Rd +++ /dev/null @@ -1,90 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_annualperformanceevaltransaction_by_MA} -\alias{aqs_qa_annualperformanceevaltransaction_by_MA} -\title{aqs_qa_annualperformanceevaltransaction_by_MA} -\usage{ -aqs_qa_annualperformanceevaltransaction_by_MA( - parameter, - bdate, - edate, - MA_code, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data in the AQS submissions transaction -format (RD)for all sites matching the MA_code requested for the -time frame between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 -item named list in which the first item ($Header) is a tibble of -header information from the AQS API and the second item ($Data) is -a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by Monitoring agency (MA) -for a parameter code aggregated by matching input parameter and -MA_code provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluations transaction data to be retrieved at a -time. This function conveniently extracts date information from the -bdate and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation data - # for ozone in where the MA is the Alabama Department of - # Environmental Management (MA_code 0013) for 2017 in RD format. - \dontrun{aqs_qa_annualperformanceevaltransaction_by_MA(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_county.Rd deleted file mode 100644 index b2ddf55..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_county.Rd +++ /dev/null @@ -1,105 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_annualperformanceevaltransaction_by_county} -\alias{aqs_qa_annualperformanceevaltransaction_by_county} -\title{aqs_qa_annualperformanceevaltransaction_by_site} -\usage{ -aqs_qa_annualperformanceevaltransaction_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data in the RD format for a single -monitoring site for the countycode and stateFIPS requested -for the time frame between bdate and edate in the AQS. An -AQS_Data_Mart_APIv2 is a 2 item named list in which the first item -($Header) is a tibble of header information from the AQS API and -the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by site for a parameter code aggregated by matching -input parameter, countycode and stateFIPS provided for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluations transaction data to be retrieved at a -time. This function conveniently extracts date information from the -bdate and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation data - # (raw) for ozone in Baldwin County, AL for 2017 in RD format. - \dontrun{aqs_qa_annualperformanceevaltransaction_by_county(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "003" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_pqao.Rd deleted file mode 100644 index 234a58d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_pqao.Rd +++ /dev/null @@ -1,91 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_annualperformanceevaltransaction_by_pqao} -\alias{aqs_qa_annualperformanceevaltransaction_by_pqao} -\title{aqs_qa_annualperformanceevaltransaction_by_pqao} -\usage{ -aqs_qa_annualperformanceevaltransaction_by_pqao( - parameter, - bdate, - edate, - pqao_code, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by Primary Quality Assurance Organization (PQAO) -for a parameter code aggregated by matching input parameter and -pqao_code provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluations transaction data to be retrieved at a -time. This function conveniently extracts date information from the -bdate and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble containing annual performance evaluation data for - # ozone in where the PQAO is the Alabama Department of - # Environmental Management (pqao_code 0013) for 2017 in RD format. - \dontrun{aqs_qa_annualperformanceevaltransaction_by_pqao(parameter = - "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_site.Rd deleted file mode 100644 index 100acb1..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_site.Rd +++ /dev/null @@ -1,127 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_annualperformanceevaltransaction_by_site} -\alias{aqs_qa_annualperformanceevaltransaction_by_site} -\title{aqs_qa_annualperformanceevaltransaction_by_site} -\usage{ -aqs_qa_annualperformanceevaltransaction_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -annual performance evaluation data in the RD format for a single -monitoring site for the sitenum, countycode and stateFIPS requested -for the time frame between bdate and edate in the AQS. An -AQS_Data_Mart_APIv2 is a 2 item named list in which the first item -($Header) is a tibble of header information from the AQS API and -the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by site for a parameter code aggregated by matching -input parameter, sitenum, countycode and stateFIPS provided for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluations transaction data to be retrieved at a -time. This function conveniently extracts date information from the -bdate and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble containing annual performance evaluation data - # (raw) for ozone at the Fairhope site in Baldwin County, AL for - # 2017 in RD format. -\dontrun{aqs_qa_annualperformanceevaltransaction_by_site(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "003", - sitenum = "0010" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_state.Rd deleted file mode 100644 index 7fbc07c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_annualperformanceevaltransaction_by_state.Rd +++ /dev/null @@ -1,90 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_annualperformanceevaltransaction_by_state} -\alias{aqs_qa_annualperformanceevaltransaction_by_state} -\title{aqs_qa_annualperformanceevaltransaction_by_state} -\usage{ -aqs_qa_annualperformanceevaltransaction_by_state( - parameter, - bdate, - edate, - stateFIPS, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of quality assurance -performance evaluation data. for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns AQS submissions transaction format (RD) of the annual -performance evaluation data (raw). Includes data pairs for -QA - aggregated by state for a parameter code aggregated by -matching input parameter and stateFIPS provided for bdate - edate -time frame. -} -\note{ -The AQS API only allows for a single year of quality assurance -Annual Performance Evaluations transaction data to be retrieved at a -time. This function conveniently extracts date information from the -bdate and edate parameters then makes repeated calls to the AQSAPI -retrieving a maximum of one calendar year of data at a time. Each -calendar year of data requires a separate API call so multiple years -of data will require multiple API calls. As the number of years of -data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait time -inserted between successive API calls to prevent overloading the API -server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing annual performance evaluation data - # for ozone in Alabmba for 2017 in RD format. -\dontrun{ - aqs_qa_annualperformanceevaltransaction_by_state(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d") - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_MA}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_MA.Rd deleted file mode 100644 index 66a936f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_MA.Rd +++ /dev/null @@ -1,108 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_blanks_by_MA} -\alias{aqs_qa_blanks_by_MA} -\title{aqs_qa_blanks_by_MA} -\usage{ -aqs_qa_blanks_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -assurance blank sample data for all monitors within the input -MA_code. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of blank quality assurance data. -Blanks are unexposed sample collection devices (e.g., -filters) that are transported with the exposed sample devices -to assess if contamination is occurring during the transport -or handling of the samples. Data is aggregated by monitoring agency -code (MA_code). -} -\note{ -The AQS API only allows for a single year of qa_blank data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\section{by_ma aggregate functions}{ -NA -} - -\examples{ -# Returns a tibble containing PM2.5 blank data in - # January 2018 where the Monitoring Agency is the Alabama - # Department of Environmental Management (agency 0013) - \dontrun{aqs_qa_blanks_by_MA(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20190131", - format = "\%Y\%m\%d"), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_county.Rd deleted file mode 100644 index f24758d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_county.Rd +++ /dev/null @@ -1,118 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_blanks_by_county} -\alias{aqs_qa_blanks_by_county} -\title{aqs_qa_blanks_by_county} -\usage{ -aqs_qa_blanks_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If -TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -assurance blank sample data for all monitors within the input -stateFIPS and countycode. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of blank quality assurance data. -Blanks are unexposed sample collection devices (e.g., -filters) that are transported with the exposed sample devices -to assess if contamination is occurring during the transport -or handling of the samples. Data is aggregated at the county level. -} -\note{ -The AQS API only allows for a single year of qa_blank data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble with PM2.5 blank data for - # Colbert County, AL for January 2018 - \dontrun{aqs_qa_blanks_by_county(parameter = "88101", - bdate = as.Date("20170101", - format="\%Y\%m\%d"), - edate = as.Date("20190131", - format="\%Y\%m\%d"), - stateFIPS = "01", - countycode = "033" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd deleted file mode 100644 index 52cdb02..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_pqao.Rd +++ /dev/null @@ -1,107 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_blanks_by_pqao} -\alias{aqs_qa_blanks_by_pqao} -\title{aqs_qa_blanks_by_pqao} -\usage{ -aqs_qa_blanks_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance blank data for monitors within a pqao. An -AQS_Data Mart_APIv2 is a 2 item named list in which the first item -($Header) is a tibble of header information from the AQS API and -the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of blank quality assurance data. -Blanks are unexposed sample collection devices (e.g., -filters) that are transported with the exposed sample devices -to assess if contamination is occurring during the transport -or handling of the samples. Data is aggregated by -Primary Quality Assurance Organization (PQAO). -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\section{by_pqao aggregate functions}{ -NA -} - -\examples{ -# Returns tibble of PM2.5 blank data in - # January 2018 where the PQAO is the Alabama Department of - # Environmental Management (agency 0013) - \dontrun{aqs_qa_blanks_by_pqao(parameter = "88101", - bdate = as.Date("20180101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_site.Rd deleted file mode 100644 index 9557db7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_site.Rd +++ /dev/null @@ -1,127 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_blanks_by_site} -\alias{aqs_qa_blanks_by_site} -\title{aqs_qa_blanks_by_site} -\usage{ -aqs_qa_blanks_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -assurance blank sample data for single monitoring site for the -sitenum, countycode and stateFIPS requested for the time frame -between bdate and edate. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of blank quality assurance data. -Blanks are unexposed sample collection devices (e.g., -filters) that are transported with the exposed sample devices -to assess if contamination is occurring during the transport -or handling of the samples. Data is aggregated at the site level. -} -\note{ -The AQS API only allows for a single year of qa_blank data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble of PM2.5 blank - # data for the Muscle Shoals site (#0014) in Colbert County, AL - # for January 2018 - \dontrun{ - aqs_qa_blanks_by_site(parameter = "88101", - bdate = as.Date("20170101", - format="\%Y\%m\%d"), - edate = as.Date("20190131", - format="\%Y\%m\%d"), - stateFIPS = "01", - countycode = "033", - sitenum = "1002" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_state.Rd deleted file mode 100644 index 85f828d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_blanks_by_state.Rd +++ /dev/null @@ -1,107 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_blanks_by_state} -\alias{aqs_qa_blanks_by_state} -\title{aqs_qa_blanks_by_state} -\usage{ -aqs_qa_blanks_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object that contains quality -assurance blank sample data for all monitors within the input -stateFIPS. An AQS_Data_Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of blank quality assurance data . -Blanks are unexposed sample collection devices (e.g., -filters) that are transported with the exposed sample devices -to assess if contamination is occurring during the transport -or handling of the samples. Data is aggregated at the state level. -} -\note{ -The AQS API only allows for a single year of qa_blank data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble which contains PM2.5 blank data - # for Alabama for January 2018 - \dontrun{aqs_qa_blanks_by_state(parameter = "88101", - bdate = as.Date("20180101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_MA.Rd deleted file mode 100644 index f2c62c3..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_MA.Rd +++ /dev/null @@ -1,102 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_collocated_assessments_by_MA} -\alias{aqs_qa_collocated_assessments_by_MA} -\title{aqs_qa_collocated_assessments_by_MA} -\usage{ -aqs_qa_collocated_assessments_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance collocated assessment data for monitors within a -monitoring agency. An AQS_Data Mart_APIv2 is a 2 item named list -in which the first item ($Header) is a tibble of header information -from the AQS API and the second item ($Data) is a tibble of the -data returned. -} -\description{ -\lifecycle{stable} -Returns a table of collocated assessment data aggregated by -matching input parameter, and monitoring agency (MA) code -provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of collocated assessments -data to be retrieved at a time. This function conveniently extracts -date information from the bdate and edate parameters then makes -repeated calls to the AQSAPI retrieving a maximum of one calendar -year of data at a time. Each calendar year of data requires a -separate API call so multiple years of data will require multiple API -calls. As the number of years of data being requested increases so -does the length of time that it will take to retrieve results. There -is also a 5 second wait time inserted between successive API calls to -prevent overloading the API server. This operation has a linear run -time of /(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing collocated assessment - # data for FRM PM2.5 January 2013 where the Monitoring Agency is - # the Alabama Department of Environmental Management - # (agency 0013) - \dontrun{aqs_qa_collocated_assessments_by_MA(parameter="88101", - bdate = as.Date("20130101", - format = "\%Y\%m\%d"), - edate = as.Date("20150131", - format="\%Y\%m\%d"), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_county.Rd deleted file mode 100644 index 48556d7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_county.Rd +++ /dev/null @@ -1,117 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_collocated_assessments_by_county} -\alias{aqs_qa_collocated_assessments_by_county} -\title{aqs_qa_collocated_assessments_by_county} -\usage{ -aqs_qa_collocated_assessments_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance collocated assessment data for monitors within a county. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of collocated assessment data aggregated by -matching input parameter, stateFIPS and county_code provided -for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of collocated assessments -data to be retrieved at a time. This function conveniently extracts -date information from the bdate and edate parameters then makes -repeated calls to the AQSAPI retrieving a maximum of one calendar -year of data at a time. Each calendar year of data requires a -separate API call so multiple years of data will require multiple API -calls. As the number of years of data being requested increases so -does the length of time that it will take to retrieve results. There -is also a 5 second wait time inserted between successive API calls to -prevent overloading the API server. This operation has a linear run -time of /(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble with collocated assessment data - # for FRM PM2.5 in Madison County, AL for January 2015 - \dontrun{aqs_qa_collocated_assessments_by_county(parameter = "88101", - bdate = as.Date("20150101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20150131", - format = "\%Y\%m\%d" - ), - stateFIPS = "01", - countycode = "089" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_pqao.Rd deleted file mode 100644 index 49e0e6b..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_pqao.Rd +++ /dev/null @@ -1,101 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_collocated_assessments_by_pqao} -\alias{aqs_qa_collocated_assessments_by_pqao} -\title{aqs_qa_collocated_assessments_by_pqao} -\usage{ -aqs_qa_collocated_assessments_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance collocated assessment data for monitors within a pqao. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of collocated assessment data aggregated by -matching input parameter, and Primary Quality Assurance -Organisation (PQAO) code provided for bdate - edate -time frame. -} -\note{ -The AQS API only allows for a single year of collocated assessments -data to be retrieved at a time. This function conveniently extracts -date information from the bdate and edate parameters then makes -repeated calls to the AQSAPI retrieving a maximum of one calendar -year of data at a time. Each calendar year of data requires a -separate API call so multiple years of data will require multiple API -calls. As the number of years of data being requested increases so -does the length of time that it will take to retrieve results. There -is also a 5 second wait time inserted between successive API calls to -prevent overloading the API server. This operation has a linear run -time of /(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of collocated assessment - # data for FRM PM2.5 in January 2013 where the PQAO is the Alabama - # Department of Environmental Management (agency 0013) - \dontrun{aqs_qa_collocated_assessments_by_pqao(parameter = "88101", - bdate = as.Date("20130101", - format = "\%Y\%m\%d"), - edate = as.Date("20150131", - format = "\%Y\%m\%d"), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_site.Rd deleted file mode 100644 index e884c02..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_site.Rd +++ /dev/null @@ -1,124 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_collocated_assessments_by_site} -\alias{aqs_qa_collocated_assessments_by_site} -\title{aqs_qa_collocated_assessments_by_site} -\usage{ -aqs_qa_collocated_assessments_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance collocated assessment data for monitors within a site. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of collocated assessment data aggregated by -matching input parameter, stateFIPS, county_code, and -sitenum provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of collocated assessments -data to be retrieved at a time. This function conveniently extracts -date information from the bdate and edate parameters then makes -repeated calls to the AQSAPI retrieving a maximum of one calendar -year of data at a time. Each calendar year of data requires a -separate API call so multiple years of data will require multiple API -calls. As the number of years of data being requested increases so -does the length of time that it will take to retrieve results. There -is also a 5 second wait time inserted between successive API calls to -prevent overloading the API server. This operation has a linear run -time of /(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#returns a tibble of collocated assessment data - # for FRM PM2.5 at the Huntsville Old Airport site (\#0014) - # in Madison County, AL for January 2015: - \dontrun{aqs_qa_collocated_assessments_by_site(parameter = "88101", - bdate = as.Date("20150101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20150131", - format = "\%Y\%m\%d" - ), - stateFIPS = "01", - countycode = "089", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_state.Rd deleted file mode 100644 index 432f241..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_collocated_assessments_by_state.Rd +++ /dev/null @@ -1,105 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_collocated_assessments_by_state} -\alias{aqs_qa_collocated_assessments_by_state} -\title{aqs_qa_collocated_assessments_by_state} -\usage{ -aqs_qa_collocated_assessments_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance collocated assessment data for monitors within a state. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of collocated assessment data aggregated by -matching input parameter and stateFIPS provided for bdate - -edate time frame. -} -\note{ -The AQS API only allows for a single year of collocated assessments -data to be retrieved at a time. This function conveniently extracts -date information from the bdate and edate parameters then makes -repeated calls to the AQSAPI retrieving a maximum of one calendar -year of data at a time. Each calendar year of data requires a -separate API call so multiple years of data will require multiple API -calls. As the number of years of data being requested increases so -does the length of time that it will take to retrieve results. There -is also a 5 second wait time inserted between successive API calls to -prevent overloading the API server. This operation has a linear run -time of /(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of collocated - # assessment data for FRM2.5 for January 2013 - \dontrun{aqs_qa_collocated_assessments_by_state(parameter="88101", - bdate = as.Date("20130101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20150131", - format = "\%Y\%m\%d" - ), - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd deleted file mode 100644 index 1929580..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_MA.Rd +++ /dev/null @@ -1,101 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_flowrateaudit_by_MA} -\alias{aqs_qa_flowrateaudit_by_MA} -\title{aqs_qa_flowrateaudit_by_MA} -\usage{ -aqs_qa_flowrateaudit_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -audit data for the requested MA_code. An -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate audit -data aggregated by parameter code and monitoring agency code -(_by_MA) for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ - # returns a tibble of flow rate audit data - # for FRM PM2.5 January 2016 - Januray 2018 where the Monitoring Agency is - # the Jefferson County, AL Department of Health (agency 0550) - \dontrun{aqs_qa_flowrateaudit_by_MA(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - MA_code = "0550" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_county.Rd deleted file mode 100644 index b03d00d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_county.Rd +++ /dev/null @@ -1,116 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_flowrateaudit_by_county} -\alias{aqs_qa_flowrateaudit_by_county} -\title{aqs_qa_flowrateaudit_by_county} -\usage{ -aqs_qa_flowrateaudit_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -audit data for the requested countycode and stateFIPS. An -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate audit -data aggregated by parameter code, stateFIPS and countycode -for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble of flow rate audit data for - # Jefferson County, AL for January 2018 - \dontrun{aqs_qa_flowrateaudit_by_county(parameter = "88101", - bdate = as.Date("20170101", - format="\%Y\%m\%d"), - edate = as.Date("20190131", - format = "\%Y\%m\%d"), - tateFIPS = "01", - countycode = "073" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_pqao.Rd deleted file mode 100644 index 9d00186..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_pqao.Rd +++ /dev/null @@ -1,102 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_flowrateaudit_by_pqao} -\alias{aqs_qa_flowrateaudit_by_pqao} -\title{aqs_qa_flowrateaudit_by_pqao} -\usage{ -aqs_qa_flowrateaudit_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -audit data for the requested pqao_code. An -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate audit -data aggregated by parameter code and Primary Quality -Assurance Organization (PQAO) code for bdate - edate -time frame. -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of flow rate audit data for January - # 2018 where the PQAO is the Jefferson County, AL Department of - # Health (agency 0550). - \dontrun{aqs_qa_flowrateaudit_by_pqao(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - pqao_code = "0550" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_site.Rd deleted file mode 100644 index 4a6de8f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_site.Rd +++ /dev/null @@ -1,123 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_flowrateaudit_by_site} -\alias{aqs_qa_flowrateaudit_by_site} -\title{aqs_qa_flowrate audit_by_site} -\usage{ -aqs_qa_flowrateaudit_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -audit data for the requested sitenum, countycode and stateFIPS. An -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate audit -data aggregated by parameter code, stateFIPS, countycode and -site number for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of flow rate audit data - # for the Wylam site (#2003) in Jefferson County, AL - # for January 2018: - \dontrun{aqs_qa_flowrateaudit_by_site(parameter = "88101", - bdate = as.Date("20150101", - format="\%Y\%m\%d"), - edate = as.Date("20180131", - format="\%Y\%m\%d"), - stateFIPS = "01", - countycode = "073", - sitenum = "2003" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_state.Rd deleted file mode 100644 index 6bc929a..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateaudit_by_state.Rd +++ /dev/null @@ -1,104 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_flowrateaudit_by_state} -\alias{aqs_qa_flowrateaudit_by_state} -\title{aqs_qa_flowrateaudit_by_state} -\usage{ -aqs_qa_flowrateaudit_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing flow rate -audit data for the requested stateFIPS. An -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate audit -data aggregated by parameter code and stateFIPS for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate audit data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of flow rate audit - # data for Alabama in January 2018 - \dontrun{aqs_qa_flowrateaudit_by_state(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_MA.Rd deleted file mode 100644 index 6693f1e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_MA.Rd +++ /dev/null @@ -1,104 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_flowrateverification_by_MA} -\alias{aqs_qa_flowrateverification_by_MA} -\title{aqs_qa_flowrateverification_by_MA} -\usage{ -aqs_qa_flowrateverification_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance flow rate verification data for monitors within a -Monitoring agency. An AQS_Data Mart_APIv2 is a 2 item named list in -which the first item ($Header) is a tibble of header information -from the AQS API and the second item ($Data) is a tibble of the -data returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate Verification data for a -parameter code aggregated by matching input parameter, and -monitoring agency (MA) code provided for bdate - edate time -frame. -} -\note{ -The AQS API only allows for a single year of flow rate verifications to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ - # Returns a tibble containing collocated assessment - # data for FRM PM2.5 January 2013 where the Monitoring Agency is - # the Alabama Department of Environmental Management (agency 0013) - \dontrun{aqs_qa_flowrateverification_by_MA(parameter = "88101", - bdate = as.Date("20130101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20150131", - format = "\%Y\%m\%d" - ), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_county.Rd deleted file mode 100644 index 066a554..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_county.Rd +++ /dev/null @@ -1,117 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_flowrateverification_by_county} -\alias{aqs_qa_flowrateverification_by_county} -\title{aqs_qa_flowrateverification_by_county} -\usage{ -aqs_qa_flowrateverification_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance flow rate verification data for monitors within a county. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate Verification data for a -parameter code aggregated matching input parameter, stateFIPS, -and county_code, provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate verifications to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of flow rate verification data for - # Colbert County, AL for January 2018 - \dontrun{aqs_qa_flowrateverification_by_county(parameter = "88101", - bdate = as.Date("20180101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190131", - format = "\%Y\%m\%d" - ), - stateFIPS = "01", - countycode = "033" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_pqao.Rd deleted file mode 100644 index 4479d42..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_pqao.Rd +++ /dev/null @@ -1,103 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_flowrateverification_by_pqao} -\alias{aqs_qa_flowrateverification_by_pqao} -\title{aqs_qa_flowrateverification_by_pqao} -\usage{ -aqs_qa_flowrateverification_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance flow rate verification data for monitors within a pqao. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate Verification data for a -parameter code aggregated by matching input parameter, and -Primary Quality Assurance Organization (PQAO) code provided -for bdate - edate time. -} -\note{ -The AQS API only allows for a single year of flow rate verifications to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of flow rate verification - # data for January 2018 where the PQAO is the Alabama Department - # of Environmental Management (agency 0013) - \dontrun{aqs_qa_flowrateverification_by_pqao(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190131", - format = "\%Y\%m\%d" - ), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_site.Rd deleted file mode 100644 index 62d3528..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_site.Rd +++ /dev/null @@ -1,123 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_flowrateverification_by_site} -\alias{aqs_qa_flowrateverification_by_site} -\title{aqs_qa_flowrateverification_by_site} -\usage{ -aqs_qa_flowrateverification_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance flow rate verification data for monitors at a site. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate Verification data for a -parameter code aggregated matching input parameter, stateFIPS, -county_code, and sitenum provided for -bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate verifications to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of flow rate verification - # data for the Muscle Shoals site (#1002) in Colbert County, AL - # for January 2018: - \dontrun{aqs_qa_flowrateverification_by_site(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "033", - sitenum = "1002" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_state.Rd deleted file mode 100644 index a119746..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_flowrateverification_by_state.Rd +++ /dev/null @@ -1,105 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_flowrateverification_by_state} -\alias{aqs_qa_flowrateverification_by_state} -\title{aqs_qa_flowrateverification_by_state} -\usage{ -aqs_qa_flowrateverification_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance flow rate verification data for monitors within a state. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table containing flow rate Verification data for a -parameter code aggregated matching input parameter, and -stateFIPS, provided for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of flow rate verifications to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of flow rate verification data for the state of - # Alabama for 2017-2019 - \dontrun{aqs_qa_flowrateverification_by_state(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190131", - format="\%Y\%m\%d" - ), - stateFIPS = "01" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd deleted file mode 100644 index db7f789..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_MA.Rd +++ /dev/null @@ -1,101 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_one_point_qc_by_MA} -\alias{aqs_qa_one_point_qc_by_MA} -\title{aqs_qa_one_point_qc_by_MA} -\usage{ -aqs_qa_one_point_qc_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -qc data for a single monitoring agency. A AQS_Data_Mart_APIv2 -object is a 2 item named list in which the first item ($Header) -is a tibble of header information from the AQS API and the second -item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 object -containing one point QC check data aggregated by monitoring -agency code (_by_MA). -} -\note{ -The AQS API only allows for a single year of one point qc data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of ozone One Point QC data - # in January 2018 where the Monitoring Agency is the - # Massachusetts Department of Environmental Protection - # (agency 0660) - \dontrun{aqs_qa_one_point_qc_by_MA(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - MA_code = "0660" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_pep_audit_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_county.Rd deleted file mode 100644 index 888f012..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_county.Rd +++ /dev/null @@ -1,114 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_one_point_qc_by_county} -\alias{aqs_qa_one_point_qc_by_county} -\title{aqs_qa_one_point_qc_by_county_} -\usage{ -aqs_qa_one_point_qc_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -qc data within a county. A AQS_Data_Mart_APIv2 object is a -2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 object -containing one point QC check data aggregated by county_code. -} -\note{ -The AQS API only allows for a single year of one point qc data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#returns a tibble of One Point QC data for ozone - # in Barnstable County, MA for January 2018 - \dontrun{aqs_qa_one_point_qc_by_county(parameter= "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = a s.Date("20180131", - format = "\%Y\%m\%d"), - stateFIPS = "25", - countycode = "001" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_pqao.Rd deleted file mode 100644 index 5320a90..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_pqao.Rd +++ /dev/null @@ -1,99 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_one_point_qc_by_pqao} -\alias{aqs_qa_one_point_qc_by_pqao} -\title{aqs_qa_one_point_qc_by_pqao} -\usage{ -aqs_qa_one_point_qc_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -qc data within a pqao. A AQS_Data_Mart_APIv2 object is a -2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 object containing Quality -assurance data - collocated assessment raw data aggregated by Primary -Quality Assurance Organization (PQAO) code. -} -\note{ -The AQS API only allows for a single year of one point qc data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ - # returns a tibble of ozone One Point QC - # data for Jan 2017 - January 2018 where the PQAO is the Massachusetts - # Department of Environmental Protection (agency 0660) - \dontrun{aqs_qa_one_point_qc_by_pqao(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - pqao_code = "0660" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_pep_audit_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_site.Rd deleted file mode 100644 index c0b0b09..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_site.Rd +++ /dev/null @@ -1,122 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_one_point_qc_by_site} -\alias{aqs_qa_one_point_qc_by_site} -\title{aqs_qa_one_point_qc_by_site} -\usage{ -aqs_qa_one_point_qc_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -qc data for the requested site. A AQS_Data_Mart_APIv2 object is a -2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of one point QC raw data -aggregated by parameter code, stateFIPS, countycode and -site number. -} -\note{ -The AQS API only allows for a single year of one point qc data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibbble of One Point QC data for - # ozone at the Truro National Seashore site (\#0002) in - # Barnstable County, MA for January 2018: - \dontrun{aqs_qa_one_point_qc_by_site(parameter = "44201", - bdate = as.Date("20180101", - format = "\%Y\%m\%d"), - edate = as.Date("20180131", - format = "\%Y\%m\%d"), - stateFIPS = "25", - countycode = "001", - sitenum = "0002" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_state.Rd deleted file mode 100644 index d1b959c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_one_point_qc_by_state.Rd +++ /dev/null @@ -1,105 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_one_point_qc_by_state} -\alias{aqs_qa_one_point_qc_by_state} -\title{aqs_qa_one_point_qc_by_state} -\usage{ -aqs_qa_one_point_qc_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing one point -qc data within a state. A AQS_Data_Mart_APIv2 object is a -2 item named list in which the first item ($Header) is a tibble -of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object containing Quality assurance data - flow rate audit -raw data aggregated by state FIPS. -} -\note{ -The AQS API only allows for a single year of one point qc data to -be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of one point QC check - # data for ozone in Massachusettes in January 2018 - \dontrun{aqs_qa_one_point_qc_by_state(parameter = "44201", - bdate = as.Date("20170101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190131", - format = "\%Y\%m\%d" - ), - stateFIPS = "25" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd deleted file mode 100644 index fa26b29..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_MA.Rd +++ /dev/null @@ -1,101 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_qa_pep_audit_by_MA} -\alias{aqs_qa_pep_audit_by_MA} -\title{aqs_qa_pep_audit_by_MA} -\usage{ -aqs_qa_pep_audit_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance PEP audit data for a monitoring agency. A -AQS_Data_Mart_APIv2 object is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a table of Performance Evaluation Program (PEP) audit -data aggregated by monitoring agency code (_by_MA) for the -time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of one point pep audit data -to be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble of PEP audit data for - # June 2017 where the Monitoring Agency is the Alabama Department - # of Environmental Management (agency 0013) - \dontrun{aqs_qa_pep_audit_by_MA(parameter = "88101", - bdate = as.Date("20170601", - format = "\%Y\%m\%d"), - edate = as.Date("20170630", - format = "\%Y\%m\%d"), - MA_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_MA functions: -\code{\link{aqs_qa_annualperformanceeval_by_MA}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_MA}()}, -\code{\link{aqs_qa_blanks_by_MA}()}, -\code{\link{aqs_qa_collocated_assessments_by_MA}()}, -\code{\link{aqs_qa_flowrateaudit_by_MA}()}, -\code{\link{aqs_qa_flowrateverification_by_MA}()}, -\code{\link{aqs_qa_one_point_qc_by_MA}()} -} -\concept{Aggregate _by_MA functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd deleted file mode 100644 index 920b1f0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_county.Rd +++ /dev/null @@ -1,117 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_qa_pep_audit_by_county} -\alias{aqs_qa_pep_audit_by_county} -\title{aqs_qa_pep_audit_by_county} -\usage{ -aqs_qa_pep_audit_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance PEP audit data within a county. A AQS_Data_Mart_APIv2 -object is a 2 item named list in which the first item ($Header) is -a tibble of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of Performance Evaluation Program (PEP) audit -data aggregated by parameter code, stateFIPS and countycode -for the time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of pep audit data -to be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble with PEP Audit data for FRM - # PM2.5 in Madison County, AL for 2017 - \dontrun{aqs_qa_pep_audit_by_county_multiyear(parameter = "88101", - bdate = as.Date("20150101", - format = "\%Y\%m\%d" - ), - edate = as.Date("20171231", - format = "\%Y\%m\%d" - ), - stateFIPS = "01", - countycode = "089" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd deleted file mode 100644 index a4a96a8..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_pqao.Rd +++ /dev/null @@ -1,102 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bypqao.R -\name{aqs_qa_pep_audit_by_pqao} -\alias{aqs_qa_pep_audit_by_pqao} -\title{aqs_qa_pep_audit_by_pqao} -\usage{ -aqs_qa_pep_audit_by_pqao( - parameter, - bdate, - edate, - pqao_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance PEP audit data for a Primary Quality Assurance -Organization. A AQS_Data_Mart_APIv2 object is a 2 item named list -in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of Performance Evaluation Program (PEP) audit -data aggregated by Primary Quality Assurance Organization -(PQAO) code for the time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of pep audit data -to be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of PEP audit data for - # June 2017 where the pqao is the Alabama Department of - # Environmental Management (agency 0013) - \dontrun{aqs_qa_pep_audit_by_pqao(parameter = "88101", - bdate = as.Date("20170601", - format = "\%Y\%m\%d" - ), - edate = as.Date("20190630", - format = "\%Y\%m\%d"), - pqao_code = "0013" - ) - } -} -\seealso{ -Other Aggregate _by_pqao functions: -\code{\link{aqs_qa_annualperformanceeval_by_pqao}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_pqao}()}, -\code{\link{aqs_qa_blanks_by_pqao}()}, -\code{\link{aqs_qa_collocated_assessments_by_pqao}()}, -\code{\link{aqs_qa_flowrateaudit_by_pqao}()}, -\code{\link{aqs_qa_flowrateverification_by_pqao}()}, -\code{\link{aqs_qa_one_point_qc_by_pqao}()} -} -\concept{Aggregate _by_pqao functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd deleted file mode 100644 index fd480b9..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_site.Rd +++ /dev/null @@ -1,122 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_qa_pep_audit_by_site} -\alias{aqs_qa_pep_audit_by_site} -\title{aqs_qa_pep_audit_by_site} -\usage{ -aqs_qa_pep_audit_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance PEP audit data within a site. A AQS_Data_Mart_APIv2 -object is a 2 item named list in which the first item ($Header) is -a tibble of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of Performance Evaluation Program (PEP) audit -data aggregated by parameter code, stateFIPS, countycode and -site number for the time frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of pep audit data -to be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of pep Audit data for FRM PM2.5 - # at the Huntsville Old Airport site (\#0014) in Madison County, - # AL for 2017 - 2019. - \dontrun{aqs_qa_pep_audit_by_site(parameter = "88101", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20191231", - format = "\%Y\%m\%d"), - stateFIPS = "01", - countycode = "089", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd deleted file mode 100644 index 93f0db5..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_qa_pep_audit_by_state.Rd +++ /dev/null @@ -1,102 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_qa_pep_audit_by_state} -\alias{aqs_qa_pep_audit_by_state} -\title{aqs_qa_pep_audit_by_state} -\usage{ -aqs_qa_pep_audit_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object containing quality -assurance PEP audit data within a state. A AQS_Data_Mart_APIv2 -object is a 2 item named list in which the first item ($Header) is -a tibble of header information from the AQS API and the second item -($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a table of Performance Evaluation Program (PEP) audit -data aggregated by parameter code, and stateFIPS for the time -frame between bdate and edate. -} -\note{ -The AQS API only allows for a single year of one point pep audit data -to be retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns a tibble of PEP audit data for PM2.5 in Alabama 2017 - \dontrun{aqs_qa_pep_audit_by_state_multiyear(parameter="88101", - bdate=as.Date("20160101", - format="\%Y\%m\%d"), - edate=as.Date("20171231", - format="\%Y\%m\%d"), - stateFIPS="01" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_sampledata_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_box.Rd deleted file mode 100644 index 305b1e2..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_box.Rd +++ /dev/null @@ -1,127 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bybox.R -\name{aqs_quarterlysummary_by_box} -\alias{aqs_quarterlysummary_by_box} -\title{aqs_quarterlysummary_by_box} -\usage{ -aqs_quarterlysummary_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{cbdate}{a R date object which represents a "beginning date of last -change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -summary statistics for an area within a latitude/longitude -bounding box. An AQS_Data Mart_APIv2 is a 2 item named list in -which the first item ($Header) is a tibble of header information -from the AQS API and the second item ($Data) is a tibble of the -data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object of quarterly summary data aggregated by and area within -a latitude/longitude bounding box. -} -\note{ -The AQS API only allows for a single year of quarterly summary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). - -\if{html}{\out{

}}\preformatted{ Also Note that for quarterly data, only the year portion of the bdate - and edate are used and all 4 quarters in the year are returned. -}\if{html}{\out{
}} -} -\examples{ -# Returns a tibble containing ozone quarterly summaries - # in the vicinity of central Alabama for each quarter in - # between 2015 - 2017 - \dontrun{aqs_quarterlysummary_by_box(parameter = "44201", - bdate = as.Date("20150101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_MA}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_cbsa.Rd deleted file mode 100644 index 7e5c3cf..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_cbsa.Rd +++ /dev/null @@ -1,103 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycbsa.R -\name{aqs_quarterlysummary_by_cbsa} -\alias{aqs_quarterlysummary_by_cbsa} -\title{aqs_quarterlysummary_by_cbsa} -\usage{ -aqs_quarterlysummary_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -summary statistics for the given parameter for a stateFIPS. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object of quarterly summary data aggregated by stateFIPS. -} -\note{ -The AQS API only allows for a single year of quarterly summary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). - -\if{html}{\out{
}}\preformatted{ Also Note that for quarterly data, only the year portion of the bdate - and edate are used and all 4 quarters in the year are returned. -}\if{html}{\out{
}} -} -\examples{ -# Returns a tibble of $NO_{2}$ quartyerly summary - # data the for Charlotte-Concord-Gastonia, NC cbsa for - # each quarter in 2017. - \dontrun{aqs_quarterlysummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - cbsa_code = "16740" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_MA}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_county.Rd deleted file mode 100644 index 9b8a176..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_county.Rd +++ /dev/null @@ -1,120 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_quarterlysummary_by_county} -\alias{aqs_quarterlysummary_by_county} -\title{aqs_quarterlysummary_by_county} -\usage{ -aqs_quarterlysummary_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -summary statistics for the given parameter for a single countycode -and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object of quarterly summary data aggregated by cbsa -(Core Based Statistical Area) code. -} -\note{ -The AQS API only allows for a single year of quarterly summary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). - -\if{html}{\out{
}}\preformatted{ Also Note that for quarterly data, only the year portion of the bdate - and edate are used and all 4 quarters in the year are returned. -}\if{html}{\out{
}} -} -\examples{ -# returns a tibble containing quarterly summaries for - # FRM/FEM PM2.5 data for Wake County, NC for each quarter of 2016 - \dontrun{aqs_quarterlysummary_by_county(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20170228", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_site.Rd deleted file mode 100644 index 638fa89..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_site.Rd +++ /dev/null @@ -1,126 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_quarterlysummary_by_site} -\alias{aqs_quarterlysummary_by_site} -\title{aqs_quarterlysummary_by_site} -\usage{ -aqs_quarterlysummary_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -summary statistics for the given parameter for a single countycode -and stateFIPS combination. An AQS_Data Mart_APIv2 is a 2 item named -list in which the first item ($Header) is a tibble of header -information from the AQS API and the second item ($Data) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 object of quarterly summary -data aggregated by site with the provided parameternum, stateFIPS, -county_code, and sitenum for bdate - edate time frame. -} -\note{ -The AQS API only allows for a single year of quarterly summary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). - -\if{html}{\out{
}}\preformatted{ Also Note that for quarterly data, only the year portion of the bdate - and edate are used and all 4 quarters in the year are returned. -}\if{html}{\out{
}} -} -\examples{ -# returns a tibble containing quarterly summaries for - # FRM/FEM PM2.5 data for Millbrook School in Wake County, NC - # for each quarter of 2016 - \dontrun{aqs_quarterlysummary_by_site(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20160331", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_sampledata_by_county}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_state.Rd deleted file mode 100644 index 31bf4ff..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_quarterlysummary_by_state.Rd +++ /dev/null @@ -1,103 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_quarterlysummary_by_state} -\alias{aqs_quarterlysummary_by_state} -\title{aqs_quarterlysummary_by_state} -\usage{ -aqs_quarterlysummary_by_state( - parameter, - bdate, - edate, - stateFIPS, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that contains quarterly -summary statistics for the given parameter for a stateFIPS. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns a tibble or an AQS_Data Mart_APIv2 S3 -object of quarterly summary data aggregated by stateFIPS. -} -\note{ -The AQS API only allows for a single year of quarterly summary to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of data -at a time. Each calendar year of data requires a separate API call so -multiple years of data will require multiple API calls. As the number -of years of data being requested increases so does the length of time -that it will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). - -\if{html}{\out{
}}\preformatted{ Also Note that for quarterly data, only the year portion of the bdate - and edate are used and all 4 quarters in the year are returned. -}\if{html}{\out{
}} -} -\examples{ -# Returns an aqs S3 object containing quarterly summaries for - # FRM/FEM PM2.5 data for North Carolina for each quater of 2016 - \dontrun{aqs_quarterlysummary_by_state(parameter = "88101", - bdate = as.Date("20160101", - format = "\%Y\%m\%d"), - edate = as.Date("20171231", - format = "\%Y\%m\%d"), - stateFIPS = "37" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_transactionsample_by_MA}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_removeheader.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_removeheader.Rd deleted file mode 100644 index 91d27fc..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_removeheader.Rd +++ /dev/null @@ -1,34 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_removeheader} -\alias{aqs_removeheader} -\title{aqs_removeheader} -\usage{ -aqs_removeheader(AQSobject) -} -\arguments{ -\item{AQSobject}{An object of AQSAPI_v2 or a list of AQSAPI_v2 objects.} -} -\value{ -a tibble of the combined $data portions of the input -AQS_Data_Mart_APIv2 S3 object with the $Header portion discarded. -} -\description{ -\lifecycle{stable} -Coerces a single AQS_Data_Mart_APIv2 S3 object or -a list of AQS_Data_Mart_APIv2 S3 objects into a single tibble -object. This function decouples the $Data from the AQSAPI_v2 -object and returns only the $Data portion as a tibble. If the -input is a list of AQSAPI_v2 objects combines the $Data -portion of each AQS_Data_Mart_APIv2 S3 object into a single -tibble with $Header information discarded. Else returns the -input with no changes. -} -\note{ -Since this function returns only the $Data portion of RAQSAPI_v2 -objects this means that the $Header information will not be present in the -object being returned. -} -\examples{ - \dontrun{ AQSobject <- aqs_removeheader(AQSobject)} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_revisionhistory.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_revisionhistory.Rd deleted file mode 100644 index 6531554..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_revisionhistory.Rd +++ /dev/null @@ -1,29 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_revisionhistory} -\alias{aqs_revisionhistory} -\title{aqs_revisionhistory} -\usage{ -aqs_revisionhistory(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. If TRUE -returns a AQSAPI_v2 object which is a two item list that contains header -information returned from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object that is the return value -from the AQS API. A AQS_Data Mart_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the AQS API -and the second item ($Data) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns the change history to the AQS Data Mart API. -} -\examples{ - # Returns a DataFrame of the EPA AQS Data Mart API revision history - # \dontrun{aqs_revisionHistory()} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_box.Rd deleted file mode 100644 index 21f2d1e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_box.Rd +++ /dev/null @@ -1,141 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bybox.R -\name{aqs_sampledata_by_box} -\alias{aqs_sampledata_by_box} -\title{aqs_sampledata_by_box} -\usage{ -aqs_sampledata_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning date of last -change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -for all monitors within the input latitude/longitude bounding box -for a single parameter. An AQS_Data Mart_APIv2 is a 2 item named -list in which the first item /(/$Header/) is a tibble of header -information from the AQS API and the second item /(/$Data/) is a -tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns sample data where the data is aggregated by -latitude/longitude bounding box (_by_box). -If return_header is FALSE (default) this function returns a -single dataframe with the requested data. If return_header -is TRUE returns a list of AQSAPI_v2 objects where each index -of the list is an individual RAQSAPI_v2 object returned from -each successive call to the AQS API. RAQSAPI_v2 objects are -two item list where the $Data portion contains data that -contains sample air monitoring data at a site with the input -parameter and cbsa_code provided for bdate - edate time -frame. The $Header is a tibble of header information from the -API call /(useful for debugging/). This function returns NULL -is bdate > edate. -} -\note{ -The AQS API only allows for a single year of sampledata to be retrieved -at a time. This function conveniently extracts date information from -the bdate and edate parameters then makes repeated calls to the -AQSAPI retrieving a maximum of one calendar year of data at a time. -Each calendar year of data requires a separate API call so multiple -years of data will require multiple API calls. As the number of years -of data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble containing all ozone samples - # in the vicinity of central Alabama between - # May 1, 2015 - May 2, 2017 - \dontrun{aqs_sampledata_by_box(parameter = "44201", - bdate = as.Date("20150501", - format = "\%Y\%m\%d"), - edate = as.Date("20170502", - format = "\%Y\%m\%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7" - ) - } -} -\seealso{ -Other Aggregate _by_box functions: -\code{\link{aqs_annualsummary_by_box}()}, -\code{\link{aqs_monitors_by_box}()} -} -\concept{Aggregate _by_box functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_cbsa.Rd deleted file mode 100644 index ece3dd0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_cbsa.Rd +++ /dev/null @@ -1,119 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycbsa.R -\name{aqs_sampledata_by_cbsa} -\alias{aqs_sampledata_by_cbsa} -\title{aqs_sampledata_by_cbsa} -\usage{ -aqs_sampledata_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -for all monitors matching cbsa_code for the given parameter. An -AQS_Data Mart_APIv2 is a 2 item named list in which the first item -/(/$Header/) is a tibble of header information from the AQS API and -the second item /(/$Data/) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns sample data where the data is aggregated at the Core -Based Statistical Area (cbsa) level. If return_header is -FALSE (default) this function returns a single dataframe with -the requested data. If return_header is TRUE returns a list -of AQSAPI_v2 objects where each index of the list is an -individual RAQSAPI_v2 object returned from each successive -call to the AQS API. RAQSAPI_v2 objects are two item list -where the $Data portion contains data that contains -sample air monitoring data at a site with the input -parameter and cbsa_code provided for -bdate - edate time frame. The $Header is a tibble of -header information from the API call /(useful for -debugging/). This function returns NULL is bdate > edate. -} -\note{ -The AQS API only allows for a single year of sampledata to be retrieved -at a time. This function conveniently extracts date information from -the bdate and edate parameters then makes repeated calls to the -AQSAPI retrieving a maximum of one calendar year of data at a time. -Each calendar year of data requires a separate API call so multiple -years of data will require multiple API calls. As the number of years -of data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. Fortunately this operation has a linear run time -/(Big O notation: O/(n + 5 seconds/)/) -} -\examples{ -# returns tibble which contains $NO_{2}$ data - # for Charlotte-Concord-Gastonia, NC cbsa for - # Janurary 1, 2015 - Janurary 01, 2017 - \dontrun{aqs_sampledata_by_cbsa(parameter = "42602", - bdate = as.Date("20150101", - format = "\%Y\%m\%d"), - edate = as.Date("20170101", - format = "\%Y\%m\%d"), - cbsa_code = "16740" - ) - } -} -\seealso{ -Other Aggregate _by_cbsa functions: -\code{\link{aqs_annualsummary_by_cbsa}()}, -\code{\link{aqs_dailysummary_by_cbsa}()}, -\code{\link{aqs_monitors_by_cbsa}()} -} -\concept{Aggregate _by_cbsa functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_county.Rd deleted file mode 100644 index c42a2dd..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_county.Rd +++ /dev/null @@ -1,136 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_sampledata_by_county} -\alias{aqs_sampledata_by_county} -\title{aqs_sampledata_by_county} -\usage{ -aqs_sampledata_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -for all monitors matching stateFIPS and county_code for the given -parameter. An AQS_Data Mart_APIv2 is a 2 item named list in which -the first item /(/$Header/) is a tibble of header information from -the AQS API and the second item /(/$Data/) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns a single tibble with the requested data. If -return_header is TRUE returns a list -of AQSAPI_v2 objects where each index of the list is an -individual RAQSAPI_v2 object returned from each successive -call to the AQS API. RAQSAPI_v2 objects are two item list -where the $Data portion contains data that contains -sample air monitoring data at a site with the input -parameter, stateFIPS and county_code provided for -bdate - edate time frame. The $Header is a tibble of -header information from the API call /(useful for -debugging/). This function returns NULL is bdate > edate. -} -\note{ -The AQS API only allows for a single year of sampledata to be retrieved -at a time. This function conveniently extracts date information from -the bdate and edate parameters then makes repeated calls to the -AQSAPI retrieving a maximum of one calendar year of data at a time. -Each calendar year of data requires a separate API call so multiple -years of data will require multiple API calls. As the number of years -of data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# returns all FRM/FEM PM2.5 data for Wake County, NC between - # January 1, 2015 - February 28, 2016 - \dontrun{aqs_sampledata_by_county(parameter = "88101", - bdate = as.Date("20150101", - format = "\%Y\%m\%d"), - edate=as.Date("20160228", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_transactionsample_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_site.Rd deleted file mode 100644 index 8f97892..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_site.Rd +++ /dev/null @@ -1,147 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_sampledata_by_site} -\alias{aqs_sampledata_by_site} -\title{aqs_sampledata_by_site} -\usage{ -aqs_sampledata_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) returns a single data frame with the -data requested. If TRUE returns a AQSAPI_v2 object -which is a two item list that contains header -information returned from the API server mostly used -for debugging purposes in addition to the data -requested. This is mostly useful for debugging -purposes, in case the user wishes to see the header -information from each api call.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -for a single site with the input parameter. An AQS_Data Mart_APIv2 -is a 2 item named list in which the first item /(/$Header/) is a -tibble of header information from the AQS API and the second item -/(/$Data/) is a tibble of the data returned. -} -\description{ -\lifecycle{stable} -Returns multiple years of data where sample data is -aggregated at the site level. If return_header is -FALSE (default) returns a single data frame with -the requested data. If return_header is TRUE returns a list -of AQSAPI_v2 objects where each index of the list is an -individual RAQSAPI_v2 object returned from each successive -calls to the AQS API. RAQSAPI_v2 objects are two item list -where the $Data portion contains data that contains -sample air monitoring data at a site with the input -parameter, stateFIPS and county_code provided for -bdate - edate time frame. The $Header is a tibble of -header information from the API call /(useful for -debugging/). Returns NULL is bdate > edate. -} -\note{ -The AQS API only allows for a single year of sampledata to be retrieved -at a time. This function conveniently extracts date information from -the bdate and edate parameters then makes repeated calls to the -AQSAPI retrieving a maximum of one calendar year of data at a time. -Each calendar year of data requires a separate API call so multiple -years of data will require multiple API calls. As the number of years -of data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a table of ozone monitoring data for the Millbrook School - # site (/#0014) in Wake County, NC for June 18, 2017. - \dontrun{ - aqs_sampledata_by_site(parameter = "44201", - bdate = as.Date("20170618", - format = "\%Y\%m\%d"), - edate = as.Date("20190618", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_services_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_state.Rd deleted file mode 100644 index b4c0ab8..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledata_by_state.Rd +++ /dev/null @@ -1,126 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_sampledata_by_state} -\alias{aqs_sampledata_by_state} -\title{aqs_sampledata_by_state} -\usage{ -aqs_sampledata_by_state( - parameter, - bdate, - edate, - stateFIPS, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two item -list that contains header information returned from -the API server mostly used for debugging purposes in -addition to the data requested.} -} -\value{ -a tibble or an AQS_Data_Mart_APIv2 S3 object containing sample data -for all monitors matching stateFIPS for the given parameter. -An AQS_Data Mart_APIv2 is a 2 item named list in which the first -item /(/$Header/) is a tibble of header information from the -AQS API and the second item /(/$Data/) is a tibble of the data -returned. -} -\description{ -\lifecycle{stable} -Returns sample data where the data is aggregated at the state -level. If return_header is FALSE (default) this function -returns a single dataframe with the requested data. If -return_header is TRUE returns a list of AQSAPI_v2 objects -where each index of the list is an individual RAQSAPI_v2 -object returned from each successive call to the AQS API. -RAQSAPI_v2 objects are two item list where the $Data portion -contains data that contains sample air monitoring data at a -site with the input parameter and stateFIPS provided for -bdate - edate time frame. The $Header is a tibble of header -information from the API call /(useful for debugging/). This -function returns NULL is bdate > edate. -} -\note{ -The AQS API only allows for a single year of sampledata to be retrieved -at a time. This function conveniently extracts date information from -the bdate and edate parameters then makes repeated calls to the -AQSAPI retrieving a maximum of one calendar year of data at a time. -Each calendar year of data requires a separate API call so multiple -years of data will require multiple API calls. As the number of years -of data being requested increases so does the length of time that it -will take to retrieve results. There is also a 5 second wait -time inserted between successive API calls to prevent overloading the -API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -# Returns a tibble with all benzene samples from - # North Carolina collected from May 15th, 1995 - May 15, 1999 - \dontrun{aqs_sampledata_by_state(parameter = "45201", - bdate = as.Date("19950515", - format="\%Y\%m\%d" - ), - edate = as.Date("19990515", - format = "\%Y\%m\%d"), - stateFIPS = "37" - ) - } -} -\seealso{ -Other Aggregate_by_state functions: -\code{\link{aqs_annualsummary_by_state}()}, -\code{\link{aqs_dailysummary_by_state}()}, -\code{\link{aqs_monitors_by_state}()}, -\code{\link{aqs_qa_blanks_by_state}()}, -\code{\link{aqs_qa_collocated_assessments_by_state}()}, -\code{\link{aqs_qa_flowrateaudit_by_state}()}, -\code{\link{aqs_qa_flowrateverification_by_state}()}, -\code{\link{aqs_qa_one_point_qc_by_state}()}, -\code{\link{aqs_qa_pep_audit_by_state}()} -} -\concept{Aggregate_by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledurations.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledurations.Rd deleted file mode 100644 index 2c8e789..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sampledurations.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_sampledurations} -\alias{aqs_sampledurations} -\title{aqs_sampledurations} -\usage{ -aqs_sampledurations(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of sample durations and -their associated duration codes -(groups of parameters, i.e. "criteria" or "all"). -} -\description{ -\lifecycle{stable} -Returns a table of sample durations and their -associated duration codes. Returned values are not calculated -durations such as 8 hour CO or O${_3}$ rolling averages, 3/6 -day PM averages or Pb 3 month rolling averages. -} -\examples{ -# Returns a tibble or an AQS_Data Mart_APIv2 S3 object of - \dontrun{ aqs_sampledurations() } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_MA.Rd deleted file mode 100644 index a274715..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_MA.Rd +++ /dev/null @@ -1,68 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_MA} -\alias{aqs_services_by_MA} -\title{aqs_services_by_MA} -\usage{ -aqs_services_by_MA( - parameter, - bdate, - edate, - MA_code, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{service}{a string which represents the services provided by the AQS API -For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by Monitoring Agency (MA) -then calls the aqs and returns the result. -This helper function is not meant to be called directly from -external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_box.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_box.Rd deleted file mode 100644 index b71e6c0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_box.Rd +++ /dev/null @@ -1,99 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_box} -\alias{aqs_services_by_box} -\title{aqs_services_by_box} -\usage{ -aqs_services_by_box( - parameter, - bdate, - edate, - minlat, - maxlat, - minlon, - maxlon, - duration = NA_character_, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{minlat}{a R character object which represents the minimum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data north of this latitude will be -returned.} - -\item{maxlat}{a R character object which represents the maximum latitude of -a geographic box. Decimal latitude with north begin -positive. Only data south of this latitude will be -returned.} - -\item{minlon}{a R character object which represents the minimum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data east of this longitude will be -returned.} - -\item{maxlon}{a R character object which represents the maximum longitude -of a geographic box. Decimal longitude with east begin -positive. Only data west of this longitude will be -returned. Note that -80 is less than -70.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{service}{a string which represents the services provided by the -AQS API. For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning date of last -change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by a box formed by minimum/maximum -latitude/longitude coordinates then calls the aqs -and returns the result. This helper function is not meant -to be called directly from external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_cbsa.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_cbsa.Rd deleted file mode 100644 index 1c8ce5e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_cbsa.Rd +++ /dev/null @@ -1,79 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_cbsa} -\alias{aqs_services_by_cbsa} -\title{aqs_services_by_cbsa} -\usage{ -aqs_services_by_cbsa( - parameter, - bdate, - edate, - cbsa_code, - duration = NA_character_, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{cbsa_code}{a R character object which represents the 5 digit AQS Core -Based Statistical Area code (the same as the census code, -with leading zeros)} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{service}{a string which represents the services provided by the AQS -API For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by cbsa then calls the aqs and returns the -result. This helper function is not meant to be called -directly from external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_county.Rd deleted file mode 100644 index 38490b8..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_county.Rd +++ /dev/null @@ -1,87 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_county} -\alias{aqs_services_by_county} -\title{aqs_services_by_county} -\usage{ -aqs_services_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - service, - duration = NA_character_, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{service}{a string which represents the services provided by the AQS API -For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by county then calls the aqs and returns the -result. This helper function is not meant to be called -directly from external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_pqao.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_pqao.Rd deleted file mode 100644 index e65b2cf..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_pqao.Rd +++ /dev/null @@ -1,68 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_pqao} -\alias{aqs_services_by_pqao} -\title{aqs_services_by_pqao} -\usage{ -aqs_services_by_pqao( - parameter, - bdate, - edate, - pqao_code, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{pqao_code}{a R character object which represents the 4 digit AQS -Primary Quality Assurance Organization code -(with leading zeroes).} - -\item{service}{a string which represents the services provided by the -AQS API. For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by Primary Quality Assurance Organization (pqao) -then calls the aqs and returns the result. -This helper function is not meant to be called directly from -external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_site.Rd deleted file mode 100644 index d4a1933..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_site.Rd +++ /dev/null @@ -1,109 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_site} -\alias{aqs_services_by_site} -\title{aqs_services_by_site} -\usage{ -aqs_services_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - duration = NA_character_, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{service}{a string which represents the services provided by the AQS -API. For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by site then calls the aqs and returns the -result. This helper function is not meant to be called -directly from external functions. -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_transactionsample_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_state.Rd deleted file mode 100644 index f52cfde..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_services_by_state.Rd +++ /dev/null @@ -1,80 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/AQSAPI_helperfunctions.R -\name{aqs_services_by_state} -\alias{aqs_services_by_state} -\title{aqs_services_by_state} -\usage{ -aqs_services_by_state( - parameter, - bdate, - edate, - stateFIPS, - duration = NA_character_, - service, - cbdate = NA_Date_, - cedate = NA_Date_, - AQS_domain = "aqs.epa.gov" -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{duration}{an optional R character string that represents the -parameter duration code that limits returned data -to a specific sample duration. The default value of -NA_character_ results in no filtering based on -duration code.Valid durations include actual sample -durations and not calculated durations such as 8 -hour CO or $O_3$ rolling averages, 3/6 day PM -averages or Pb 3 month rolling averages. -@seealso \code{\link[=aqs_sampledurations]{aqs_sampledurations()}} for a list of all -available duration codes.} - -\item{service}{a string which represents the services provided by the -AQS API. For a list of available services @seealso -\url{https://aqs.epa.gov/aqsweb/documents/data_api.html#services}} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{AQS_domain}{a R string object containing the domain that should be -used in constructing the API call.} -} -\value{ -a AQS_DATAMART_APIv2 S3 object that is the return value from the -AQS API. A AQS_DATAMART_APIv2 is a 2 item named list in which the -first item ($Header) is a tibble of header information from the -AQS API and the second item ($Data) is a tibble of the data -returned. -} -\description{ -a helper function that abstracts the formatting of the inputs -for a call to aqs away from the calling function for -aggregations by State then calls the aqs and returns the -result. This helper function is not meant to be called -directly from external functions. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd deleted file mode 100644 index 82f96d8..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sign_up.Rd +++ /dev/null @@ -1,41 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/setupfunctions.R -\name{aqs_sign_up} -\alias{aqs_sign_up} -\title{aqs_sign_up} -\usage{ -aqs_sign_up(email) -} -\arguments{ -\item{email}{a R character object which represents the email account that -will be used to register with the AQS API or change an -existing user's key. A verification email will be sent to -the account specified. Follow the instructions -in the verification e-mail before proceeding to use any other -functionality of the AQS API. Register your credential -with the @3 \code{\link[=aqs_credentials]{aqs_credentials()}} before using the -other functions in this library.} -} -\value{ -None -} -\description{ -\lifecycle{stable} -Use this service to register as a new user or to reset an -existing user's key. A verification email will be sent to the -email account specified. To reset a password: If the request is -made with an email that is already registered, a new key will -be issued for that account and emailed to the listed address. -Usage is the same in either case. Refer to the email -message for further instructions before continuing. -} -\note{ -The '@' character needs to be escaped with the '/' character. -} -\examples{ -# to register a new user or generate a new key with the email - # address "John.Doe/@myemail.com" - \dontrun{aqs_sign_up(email = "John.Doe/@myemail.com")} - # after calling this function please follow the instructions that - # are sent in the verification e-mail before proceeding. -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sites_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sites_by_county.Rd deleted file mode 100644 index c8f097f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_sites_by_county.Rd +++ /dev/null @@ -1,41 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_sites_by_county} -\alias{aqs_sites_by_county} -\title{aqs_sites_by_county} -\usage{ -aqs_sites_by_county(stateFIPS, countycode, return_header = FALSE) -} -\arguments{ -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of all air monitoring -sites with the requested state and county FIPS codes. -} -\description{ -\lifecycle{stable} -Returns data containing a table of all air monitoring sites -with the input state and county FIPS code combination. -} -\examples{ -# Returns an AQS_Data Mart_APIv2 S3 object witch returns all sites - # in Hawaii County, HI - \dontrun{aqs_sites_by_county(stateFIPS = "15", - countycode = "001") - } -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_states.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_states.Rd deleted file mode 100644 index 7c7abb3..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_states.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RAQSAPIlistfunctions.R -\name{aqs_states} -\alias{aqs_states} -\title{aqs_states} -\usage{ -aqs_states(return_header = FALSE) -} -\arguments{ -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns an AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of states and their -associated FIPS codes. -} -\description{ -\lifecycle{stable} -Returns a table of US states, US territories, and the -district or Columbia with their respective FIPS codes. -} -\examples{ -# Returns a tibble of states and their FIPS codes - \dontrun{aqs_states()} -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_MA.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_MA.Rd deleted file mode 100644 index ee41d07..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_MA.Rd +++ /dev/null @@ -1,100 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/byma.R -\name{aqs_transactionsample_by_MA} -\alias{aqs_transactionsample_by_MA} -\title{aqs_transactionsample_MA} -\usage{ -aqs_transactionsample_by_MA( - parameter, - bdate, - edate, - MA_code, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{MA_code}{a R character object which represents the 4 digit AQS -Monitoring Agency code (with leading zeroes).} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -(raw) data in the AQS submission transaction format (RD) -corresponding to the inputs provided. -} -\description{ -\lifecycle{stable} -Returns transactionsample data - aggregated by Monitoring agency (MA) -in the AQS Submission Transaction Format (RD) sample (raw) data for -a parameter code aggregated by matching input parameter, and -monitoring agency (MA) code provided for bdate - edate time -frame. Includes data both in submitted and standard units -} -\note{ -The AQS API only allows for a single year of transaction data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of -data at a time. Each calendar year of data requires a separate API -call so multiple years of data will require multiple API calls. -As the number of years of data being requested increases so does the -length of time that it will take to retrieve results. There is also a -5 second wait time inserted between successive API calls to prevent -overloading the API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a tibble of ozone transaction sample data for all monitors - #operated by South Coast Air Quality Management District collected - #on May 15, 2015 - \dontrun{aqs_transactionsample_by_MA(parameter = "44201", - bdate = as.Date("20150515", - format = "\%Y\%m\%d"), - edate = as.Date("20150515", - format = "\%Y\%m\%d"), - MA_code = "0972" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_state}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_county.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_county.Rd deleted file mode 100644 index ee887ce..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_county.Rd +++ /dev/null @@ -1,99 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bycounty.R -\name{aqs_transactionsample_by_county} -\alias{aqs_transactionsample_by_county} -\title{aqs_transactionsample_by_county} -\usage{ -aqs_transactionsample_by_county( - parameter, - bdate, - edate, - stateFIPS, - countycode, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be -returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -(raw) data in the AQS submission transaction format (RD) -corresponding to the inputs provided. -} -\description{ -\lifecycle{stable} -Returns transactionsample data - aggregated by county -in the AQS Submission Transaction Format (RD) sample (raw) data -for a parameter code aggregated by matching input parameter, -stateFIPS and countycode provided for bdate - edate time frame. -Includes data both in submitted and standard units -} -\note{ -The AQS API only allows for a single year of transaction data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of -data at a time. Each calendar year of data requires a separate API -call so multiple years of data will require multiple API calls. -As the number of years of data being requested increases so does the -length of time that it will take to retrieve results. There is also a -5 second wait time inserted between successive API calls to prevent -overloading the API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ - \dontrun{ # Returns all FRM/FEM transaction data for - # Wake County, NC between on Feb 28, 2016. - aqs_transactionsample_by_county(parameter = "88101", - bdate = as.Date("20160228", - format = "\%Y\%m\%d"), - edate = as.Date("20160228", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183" - ) - } -} -\seealso{ -Other Aggregate _by_county functions: -\code{\link{aqs_annualsummary_by_county}()}, -\code{\link{aqs_dailysummary_by_county}()}, -\code{\link{aqs_monitors_by_county}()}, -\code{\link{aqs_qa_annualperformanceeval_by_county}()}, -\code{\link{aqs_qa_blanks_by_county}()}, -\code{\link{aqs_qa_collocated_assessments_by_county}()}, -\code{\link{aqs_qa_flowrateaudit_by_county}()}, -\code{\link{aqs_qa_flowrateverification_by_county}()}, -\code{\link{aqs_qa_one_point_qc_by_county}()}, -\code{\link{aqs_qa_pep_audit_by_county}()}, -\code{\link{aqs_quarterlysummary_by_county}()}, -\code{\link{aqs_quarterlysummary_by_site}()}, -\code{\link{aqs_sampledata_by_county}()} -} -\concept{Aggregate _by_county functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_site.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_site.Rd deleted file mode 100644 index 8de54aa..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_site.Rd +++ /dev/null @@ -1,123 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bysite.R -\name{aqs_transactionsample_by_site} -\alias{aqs_transactionsample_by_site} -\title{aqs_transactionsample_by_site} -\usage{ -aqs_transactionsample_by_site( - parameter, - bdate, - edate, - stateFIPS, - countycode, - sitenum, - cbdate = NA_Date_, - cedate = NA_Date_, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{countycode}{a R character object which represents the 3 digit state -FIPS code for the county being requested (with leading -zero(s)). @seealso \code{\link[=aqs_counties_by_state]{aqs_counties_by_state()}} for the -list of available county codes for each state.} - -\item{sitenum}{a R character object which represents the 4 digit site number -(with leading zeros) within the county and state being -requested.} - -\item{cbdate}{a R date object which represents a "beginning -date of last change" that indicates when the data was last -updated. cbdate is used to filter data based on the change -date. Only data that changed on or after this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{cedate}{a R date object which represents an "end -date of last change" that indicates when the data was last -updated. cedate is used to filter data based on the change -date. Only data that changed on or before this date will be -returned. This is an optional variable which defaults -to NA_Date_.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -(raw) data in the AQS submission transaction format (RD) -corresponding to the inputs provided. -} -\description{ -\lifecycle{stable} -Returns transactionsample data aggregated by site -in the AQS Submission Transaction Format (RD) sample (raw) data for -a parameter code aggregated by matching input parameter, sitenum, -countycode and stateFIPS provided for bdate - edate time frame. -Includes data both in submitted and standard units -} -\note{ -The AQS API only allows for a single year of transaction data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of -data at a time. Each calendar year of data requires a separate API -call so multiple years of data will require multiple API calls. -As the number of years of data being requested increases so does the -length of time that it will take to retrieve results. There is also a -5 second wait time inserted between successive API calls to prevent -overloading the API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a AQS_Data Mart_APIv2 S3 object of the returns - \dontrun{ # returns all ozone transaction data for the - # Millbrook School site (#0014) in Wake County, NC for - # June 18, 2017 - aqs_transactionsample_by_site(parameter = "44201", - bdate = as.Date("20170618", - format = "\%Y\%m\%d"), - edate = as.Date("20170618", - format = "\%Y\%m\%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014" - ) - } -} -\seealso{ -Other Aggregate _by_site functions: -\code{\link{aqs_annualsummary_by_site}()}, -\code{\link{aqs_dailysummary_by_site}()}, -\code{\link{aqs_monitors_by_site}()}, -\code{\link{aqs_qa_annualperformanceeval_by_site}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_county}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_site}()}, -\code{\link{aqs_qa_blanks_by_site}()}, -\code{\link{aqs_qa_collocated_assessments_by_site}()}, -\code{\link{aqs_qa_flowrateaudit_by_site}()}, -\code{\link{aqs_qa_flowrateverification_by_site}()}, -\code{\link{aqs_qa_one_point_qc_by_site}()}, -\code{\link{aqs_qa_pep_audit_by_site}()}, -\code{\link{aqs_sampledata_by_site}()}, -\code{\link{aqs_services_by_site}()} -} -\concept{Aggregate _by_site functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_state.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_state.Rd deleted file mode 100644 index 9a4691b..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/aqs_transactionsample_by_state.Rd +++ /dev/null @@ -1,85 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/bystate.R -\name{aqs_transactionsample_by_state} -\alias{aqs_transactionsample_by_state} -\title{aqs_transactionsample_by_state} -\usage{ -aqs_transactionsample_by_state( - parameter, - bdate, - edate, - stateFIPS, - return_header = FALSE -) -} -\arguments{ -\item{parameter}{a character list or a single character string -which represents the parameter code of the air -pollutant related to the data being requested.} - -\item{bdate}{a R date object which represents that begin date of the data -selection. Only data on or after this date will be returned.} - -\item{edate}{a R date object which represents that end date of the data -selection. Only data on or before this date will be returned.} - -\item{stateFIPS}{a R character object which represents the 2 digit state -FIPS code (with leading zero) for the state being -requested. @seealso \code{\link[=aqs_states]{aqs_states()}} for the list of -available FIPS codes.} - -\item{return_header}{If FALSE (default) only returns data requested. -If TRUE returns a AQSAPI_v2 object which is a two -item list that contains header information returned -from the API server mostly used for debugging -purposes in addition to the data requested.} -} -\value{ -a tibble or an AQS_Data Mart_APIv2 S3 object of transaction sample -(raw) data in the AQS submission transaction format (RD) -corresponding to the inputs provided. -} -\description{ -\lifecycle{stable} -Returns transactionsample data - aggregated by state -in the AQS Submission Transaction Format (RD) sample (raw) data for -a parameter code aggregated by matching input parameter, and -stateFIPS provided for bdate - edate time frame. Includes data both -in submitted and standard units -} -\note{ -The AQS API only allows for a single year of transaction data to be -retrieved at a time. This function conveniently extracts date -information from the bdate and edate parameters then makes repeated -calls to the AQSAPI retrieving a maximum of one calendar year of -data at a time. Each calendar year of data requires a separate API -call so multiple years of data will require multiple API calls. -As the number of years of data being requested increases so does the -length of time that it will take to retrieve results. There is also a -5 second wait time inserted between successive API calls to prevent -overloading the API server. This operation has a linear run time of -/(Big O notation: O/(n + 5 seconds/)/). -} -\examples{ -#Returns a AQS_Data Mart_APIv2 S3 object of - \dontrun{ # Returns a tibble containing benzene transaction sample - # data for North Carolina on May 15, 1995 - aqs_transactionsample_by_state(parameter = "45201", - bdate = as.Date("19950515", - format = "\%Y\%m\%d"), - edate = as.Date("19950515", - format = "\%Y\%m\%d"), - stateFIPS = "37" - ) - } -} -\seealso{ -Other Aggregate _by_state functions: -\code{\link{aqs_qa_annualperformanceeval_by_state}()}, -\code{\link{aqs_qa_annualperformanceevaltransaction_by_state}()}, -\code{\link{aqs_quarterlysummary_by_box}()}, -\code{\link{aqs_quarterlysummary_by_cbsa}()}, -\code{\link{aqs_quarterlysummary_by_state}()}, -\code{\link{aqs_transactionsample_by_MA}()} -} -\concept{Aggregate _by_state functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd deleted file mode 100644 index 8a1df09..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/deprecated.Rd.Rd +++ /dev/null @@ -1,80 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/deprecated.R -\name{aqs_qa_annualpeferomanceeval_by_site} -\alias{aqs_qa_annualpeferomanceeval_by_site} -\alias{aqs_qa_annualpeferomanceeval_by_county} -\alias{aqs_qa_annualpeferomanceeval_by_state} -\alias{aqs_qa_annualpeferomanceeval_by_pqao} -\alias{aqs_qa_annualpeferomanceeval_by_MA} -\alias{aqs_qa_annualpeferomanceevaltransaction_by_site} -\alias{aqs_qa_annualpeferomanceevaltransaction_by_county} -\alias{aqs_qa_annualpeferomanceevaltransaction_by_pqao} -\alias{aqs_qa_annualpeferomanceevaltransaction_by_MA} -\title{aqs_qa_annualpeferomanceeval_by_site} -\usage{ -aqs_qa_annualpeferomanceeval_by_site() - -aqs_qa_annualpeferomanceeval_by_county() - -aqs_qa_annualpeferomanceeval_by_state() - -aqs_qa_annualpeferomanceeval_by_pqao() - -aqs_qa_annualpeferomanceeval_by_MA() - -aqs_qa_annualpeferomanceevaltransaction_by_site() - -aqs_qa_annualpeferomanceevaltransaction_by_county() - -aqs_qa_annualpeferomanceevaltransaction_by_pqao() - -aqs_qa_annualpeferomanceevaltransaction_by_MA() -} -\description{ -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance* functions, please use these functions -instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance_by* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed -to -aqs_qa_annualperformance_by* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance_by* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance_by* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance_by* functions, please use these -functions instead. - -\lifecycle{deprecated} -aqs_qa_annualpeferomanceeval_by* functions have been renamed to -aqs_qa_annualperformance_by* functions, please use these -functions instead. -} -\concept{deprecated RAQSAPI functions} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-archived.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-archived.svg deleted file mode 100644 index 745ab0c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-archived.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: archived - - - - - - - - - - - - - - - lifecycle - - archived - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-defunct.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-defunct.svg deleted file mode 100644 index d5c9559..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-defunct.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: defunct - - - - - - - - - - - - - - - lifecycle - - defunct - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-deprecated.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-deprecated.svg deleted file mode 100644 index b61c57c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-deprecated.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: deprecated - - - - - - - - - - - - - - - lifecycle - - deprecated - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-experimental.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-experimental.svg deleted file mode 100644 index 5d88fc2..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-experimental.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: experimental - - - - - - - - - - - - - - - lifecycle - - experimental - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-maturing.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-maturing.svg deleted file mode 100644 index 897370e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-maturing.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: maturing - - - - - - - - - - - - - - - lifecycle - - maturing - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-questioning.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-questioning.svg deleted file mode 100644 index 7c1721d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-questioning.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: questioning - - - - - - - - - - - - - - - lifecycle - - questioning - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-soft-deprecated.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-soft-deprecated.svg deleted file mode 100644 index 9c166ff..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-soft-deprecated.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: soft-deprecated - - - - - - - - - - - - - - - lifecycle - - soft-deprecated - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-stable.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-stable.svg deleted file mode 100644 index 9bf21e7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-stable.svg +++ /dev/null @@ -1,29 +0,0 @@ - - lifecycle: stable - - - - - - - - - - - - - - - - lifecycle - - - - stable - - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-superseded.svg b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-superseded.svg deleted file mode 100644 index db8d757..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/man/figures/lifecycle-superseded.svg +++ /dev/null @@ -1,21 +0,0 @@ - - lifecycle: superseded - - - - - - - - - - - - - - - lifecycle - - superseded - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/spelling.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/spelling.R deleted file mode 100644 index 33ef2c7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/spelling.R +++ /dev/null @@ -1,3 +0,0 @@ -if (requireNamespace("spelling", quietly = TRUE)) - spelling::spell_check_test(vignettes = TRUE, error = FALSE, - skip_on_cran = TRUE) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/test-RAQSAPI.R.blob b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/test-RAQSAPI.R.blob deleted file mode 100644 index b1b7d93..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/test-RAQSAPI.R.blob +++ /dev/null @@ -1,59 +0,0 @@ -test_that("Checking for AQSDatamartAPI credentials keyring", { -"AQSDatamartAPI" %>% - str_detect(keyring::key_list()$service) %>% - any() %>% - expect_true() -} - -context("testing connection to AQS Datamart API") -test_that("Checking status of AQS Datmart API", { -import::here(.from = "magrittr", "%>%") -AQS_API_isAvailable()$status %>% - str_detect("API service is up and running healthy") %>% - expect_true -} - -context("running AQS API calls to look for errors being returned") -test_that("checking that functions return proper data type", { -states <- AQS_API_states() %>% expect_s3_class(class="AQS_API") -isavailable <- AQS_API_isAvailable() expect_true -counties <- AQS_API_countiesByState(stateFIPS = "42") %>% expect_s3_class(class="AQS_API") -sites <- AQS_API_sitesByCounty(stateFIPS = "42", countycode = "101") %>% expect_s3_class(class="AQS_API") -cbsas <- AQS_API_cbsas() %>% expect_s3_class(class="AQS_API") -classes <- AQS_API_classes() %>% expect_s3_class(class="AQS_API") -pbc <- AQS_API_parametersByClass(class = "CRITERIA") %>% expect_s3_class(class="AQS_API") -mas <- AQS_API_monitoringagencies() %>% expect_s3_class(class="AQS_API") -PQAOs <- AQS_API_PQAO() %>% expect_s3_class(class="AQS_API") -fbs <- AQS_API_fieldByService(service = "sampleData") %>% expect_s3_class(class="AQS_API") -mbs <- AQS_API_monitorsbysite(parameter = "44201", - bdate = ymd("2019-01-01"), - edate = mdy("03-31-2019"), - stateFIPS = "42", - countycode = "003", - sitenum = "0008" - ) %>% - expect_s3_class(class="AQS_API") - -mbc <- AQS_API_monitorsbycounty(parameter = "44201", - bdate = ymd("2019-01-01"), - edate = mdy("03-31-2019"), - stateFIPS = "42", - countycode = "003" - ) %>% - expect_s3_class(class="AQS_API") - -mbstate <- AQS_API_monitorsbystate(parameter = "44201", - bdate = ymd("2019-01-01"), - edate = mdy("03-31-2019"), - stateFIPS = "42" - ) %>% - expect_s3_class(class="AQS_API") -} - -context("ensuring that code properly check for invalid input") -test_that("checking invalid input", { -pby <- AQS_API_parametersByClass(class = "taco") %>% expect_null -counties <- AQS_API_countiesByState(stateFIPS = "ZZ9") %>% expect_null -sites <- AQS_API_sitesByCounty(stateFIPS = "42", countycode = "9999") %>% expect_null - -} \ No newline at end of file diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat.R deleted file mode 100644 index 2782837..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat.R +++ /dev/null @@ -1,4 +0,0 @@ -library(testthat) -library(RAQSAPI) - -test_check("RAQSAPI") diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/helper.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/helper.R deleted file mode 100644 index c984b9d..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/helper.R +++ /dev/null @@ -1,17 +0,0 @@ -RAQSAPItestsetup_helper <- function() -{ - path <- NA - if(file.exists("local.R")) {path <- "./"} - else if(file.exists("tests/testthat/local.R")) {path <- "tests/testthat/"} - - if(!is.na(path)) - { - source(paste0(path, "local.R")) - AQScredentials <- RAQSAPItestsetup_local() - datamartAPI_user <- AQScredentials$AQSusername - datamartAPI_key <- AQScredentials$AQSkey - AQScredentials <- list(datamartAPI_user = datamartAPI_user, - datamartAPI_key = datamartAPI_key) - return(AQScredentials) - } else {print("did not go into if satement")} #debug -} diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-RAQSAPlistfunctions.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-RAQSAPlistfunctions.R deleted file mode 100644 index 98489b0..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-RAQSAPlistfunctions.R +++ /dev/null @@ -1,65 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -#' @importFrom magrittr `%>%`() -#' @import testthat - -test_that("test list functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - aqs_isavailable(return_header = TRUE)$Header$status %>% - expect_match(regexp = "API service is up and running healthy", - fixed = FALSE - ) - - aqs_fields_by_service(service = "list", - return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_knownissues(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_revisionhistory(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_states(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_counties_by_state(stateFIPS = "40", - return_header = TRUE - )$Header$status %>% - expect_match(regexp = "Success") - - aqs_pqaos(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_cbsas(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_classes(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_sites_by_county(stateFIPS = "15", - countycode = "001", - return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - - aqs_parameters_by_class(class = "CRITERIA", - return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") - -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byCBSA.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byCBSA.R deleted file mode 100644 index e5f9b29..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byCBSA.R +++ /dev/null @@ -1,63 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("bybox functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - aqs_monitors_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20170102", format = "%Y%m%d"), - cbsa_code = "16740", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_annualsummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20170101", format = "%Y%m%d"), - cbsa_code = "16740", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_dailysummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20170101", format = "%Y%m%d"), - cbsa_code = "16740", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_sampledata_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20170101", format = "%Y%m%d"), - cbsa_code = "16740", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_quarterlysummary_by_cbsa(parameter = "42602", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20171231", format = "%Y%m%d"), - cbsa_code = "16740", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_sampledurations(return_header = TRUE)$Header$status %>% - expect_match(regexp = "Success") -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byMA.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byMA.R deleted file mode 100644 index 47cb27e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-byMA.R +++ /dev/null @@ -1,100 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("byMA functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - aqs_qa_blanks_by_MA(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_collocated_assessments_by_MA(parameter = "88101", - bdate = as.Date("20130101", - format = "%Y%m%d"), - edate = as.Date("20130131", - format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_one_point_qc_by_MA(parameter = "44201", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - MA_code = "0660", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_flowrateaudit_by_MA(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - MA_code = "0550", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_flowrateverification_by_MA(parameter = "88101", - bdate = as.Date("20130101", - format = "%Y%m%d"), - edate = as.Date("20130131", - format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_pep_audit_by_MA(parameter = "88101", - bdate = as.Date("20170601", format = "%Y%m%d"), - edate = as.Date("20170630", format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_transactionsample_by_MA(parameter = "44201", - bdate = as.Date("20150515", format = "%Y%m%d"), - edate = as.Date("20150515", format = "%Y%m%d"), - MA_code = "0972", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceeval_by_MA(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceevaltransaction_by_MA(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - MA_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bybox.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bybox.R deleted file mode 100644 index efb50d9..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bybox.R +++ /dev/null @@ -1,80 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("bybox functions", { -testthat::skip_on_cran() -testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - RAQSAPI::aqs_isavailable(return_header = TRUE)$Header$status %>% - expect_match(regexp = "API service is up and running healthy", - fixed = FALSE - ) - - aqs_sampledata_by_box(parameter = "44201", - bdate = as.Date("20150501", format = "%Y%m%d"), - edate = as.Date("20150502", format = "%Y%m%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_monitors_by_box(parameter = "44201", - bdate = as.Date("19950101", format = "%Y%m%d"), - edate = as.Date("19951231", format = "%Y%m%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_annualsummary_by_box(parameter = "44201", - bdate = as.Date("20150501", format = "%Y%m%d"), - edate = as.Date("20150502", format = "%Y%m%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_dailysummary_by_box(parameter = "44201", - bdate = as.Date("20150501", format = "%Y%m%d"), - edate = as.Date("20150502", format = "%Y%m%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_quarterlysummary_by_box(parameter = "44201", - bdate = as.Date("20150101", format = "%Y%m%d"), - edate = as.Date("20171231", format = "%Y%m%d"), - minlat = "33.3", - maxlat = "33.6", - minlon = "-87.0", - maxlon = "-86.7", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bycounty.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bycounty.R deleted file mode 100644 index 74c8a7e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bycounty.R +++ /dev/null @@ -1,155 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("bycounty functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - aqs_annualsummary_by_county(parameter = "88101", - bdate = as.Date("20160101", format = "%Y%m%d"), - edate = as.Date("20160228", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_dailysummary_by_county(parameter = "88101", - bdate = as.Date("20160101", format = "%Y%m%d"), - edate = as.Date("20160228", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_sampledata_by_county(parameter = "88101", - bdate = as.Date("20160101", - format = "%Y%m%d"), - edate = as.Date("20160101", - format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_monitors_by_county(parameter = "42401", - bdate = as.Date("20150501", format = "%Y%m%d"), - edate = as.Date("20150502", format = "%Y%m%d"), - stateFIPS = "15", - countycode = "001", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_collocated_assessments_by_county(parameter = "88101", - bdate = as.Date("20150101", - format = "%Y%m%d"), - edate = as.Date("20150131", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "089", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_blanks_by_county(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "01", - countycode = "033", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_flowrateaudit_by_county(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "01", countycode = "073", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_flowrateverification_by_county(parameter = "88101", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "033", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_one_point_qc_by_county(parameter = "44201", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "25", - countycode = "001", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_pep_audit_by_county(parameter = "88101", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20171231", format = "%Y%m%d"), - stateFIPS = "01", - countycode = "089", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_transactionsample_by_county(parameter = "88101", - bdate = as.Date("20160228", format = "%Y%m%d"), - edate = as.Date("20160228", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_annualperformanceeval_by_county(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "003", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_annualperformanceevaltransaction_by_county(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "003", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_quarterlysummary_by_county(parameter = "88101", - bdate = as.Date("20160101", format = "%Y%m%d"), - edate = as.Date("20170228", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bypqao.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bypqao.R deleted file mode 100644 index 352469f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bypqao.R +++ /dev/null @@ -1,103 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("bypqao functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - aqs_qa_blanks_by_pqao(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_collocated_assessments_by_pqao(parameter = "88101", - bdate = as.Date("20130101", - format = "%Y%m%d"), - edate = as.Date("20130131", - format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_flowrateaudit_by_pqao(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - pqao_code = "0550", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_flowrateverification_by_pqao(parameter = "88101", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_one_point_qc_by_pqao(parameter = "44201", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - pqao_code = "0660", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_pep_audit_by_pqao(parameter = "88101", - bdate = as.Date("20170601", format = "%Y%m%d"), - edate = as.Date("20170630", format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_collocated_assessments_by_pqao(parameter = "88101", - bdate = as.Date("20130101", - format = "%Y%m%d"), - edate = as.Date("20130131", - format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceeval_by_pqao(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceevaltransaction_by_pqao(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - pqao_code = "0013", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bysite.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bysite.R deleted file mode 100644 index 9f2c556..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bysite.R +++ /dev/null @@ -1,175 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat -test_that("bysite functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - - RAQSAPI::aqs_sampledata_by_site(parameter = "44201", - bdate = as.Date("20170618", - format = "%Y%m%d"), - edate = as.Date("20170618", - format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_annualsummary_by_site(parameter = "44201", - bdate = as.Date("20170618", format = "%Y%m%d"), - edate = as.Date("20170618", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_dailysummary_by_site(parameter = "44201", - bdate = as.Date("20170618", format = "%Y%m%d"), - edate = as.Date("20170618", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_blanks_by_site(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "01", - countycode = "033", - sitenum = "1002", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_monitors_by_site(parameter = "42401", - bdate = as.Date("20150501", format = "%Y%m%d"), - edate = as.Date("20190501", format = "%Y%m%d"), - stateFIPS = "15", - countycode = "001", - sitenum = "0007", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_collocated_assessments_by_site(parameter = "88101", - bdate = as.Date("20150101", - format = "%Y%m%d"), - edate = as.Date("20150131", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "089", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_flowrateaudit_by_site(parameter = "88101", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "073", - sitenum = "2003", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_one_point_qc_by_site(parameter = "44201", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - stateFIPS = "25", - countycode = "001", - sitenum = "0002", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_flowrateverification_by_site(parameter = "88101", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "033", - sitenum = "1002", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_transactionsample_by_site(parameter = "44201", - bdate = as.Date("20170618", format = "%Y%m%d"), - edate = as.Date("20170618", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_annualperformanceeval_by_site(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "003", - sitenum = "0010", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_annualperformanceevaltransaction_by_site(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - countycode = "003", - sitenum = "0010", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_quarterlysummary_by_site(parameter = "88101", - bdate = as.Date("20160101", format = "%Y%m%d"), - edate = as.Date("20160331", format = "%Y%m%d"), - stateFIPS = "37", - countycode = "183", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_pep_audit_by_site(parameter = "88101", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20191231", format = "%Y%m%d"), - stateFIPS = "01", - countycode = "089", - sitenum = "0014", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bystate.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bystate.R deleted file mode 100644 index a9a9383..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-bystate.R +++ /dev/null @@ -1,159 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @import testthat - -test_that("bystate functions", { - testthat::skip_on_cran() - testthat::skip_if_offline() - - if(file.exists("local.R")) - { - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key - } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) - } - RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key - ) - -aqs_monitors_by_state(parameter = "88101", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20171231", format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_sampledata_by_state(parameter = "45201", - bdate = as.Date("19950515", format = "%Y%m%d"), - edate = as.Date("19950515", format = "%Y%m%d"), - stateFIPS = "37", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_annualsummary_by_state(parameter = "45201", - bdate = as.Date("19950515", - format = "%Y%m%d"), - edate = as.Date("19990515", - format = "%Y%m%d"), - stateFIPS = "37", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_dailysummary_by_state(parameter = "45201", - bdate = as.Date("19950515", format = "%Y%m%d"), - edate = as.Date("19950515", format = "%Y%m%d"), - stateFIPS = "37", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_blanks_by_state(parameter = "88101", - bdate = as.Date("20180101", - format = "%Y%m%d"), - edate = as.Date("20180131", - format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_collocated_assessments_by_state(parameter = "88101", - bdate = as.Date("20130101", - format = "%Y%m%d"), - edate = as.Date("20130131", - format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_flowrateaudit_by_state(parameter = "88101", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_flowrateverification_by_state(parameter = "88101", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20190131", - format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_one_point_qc_by_state(parameter = "44201", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "25", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_one_point_qc_by_state(parameter = "44201", - bdate = as.Date("20180101", format = "%Y%m%d"), - edate = as.Date("20180131", format = "%Y%m%d"), - stateFIPS = "25", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_qa_pep_audit_by_state(parameter = "88101", - bdate = as.Date("20170101", format = "%Y%m%d"), - edate = as.Date("20171231", format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - -aqs_transactionsample_by_state(parameter = "45201", - bdate = as.Date("19950515", - format = "%Y%m%d"), - edate = as.Date("19950515", - format = "%Y%m%d"), - stateFIPS = "37", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceeval_by_state(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_qa_annualperformanceevaltransaction_by_state(parameter = "44201", - bdate = as.Date("20170101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "01", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - aqs_quarterlysummary_by_state(parameter = "88101", - bdate = as.Date("20160101", - format = "%Y%m%d"), - edate = as.Date("20171231", - format = "%Y%m%d"), - stateFIPS = "37", - return_header = TRUE - )[[1]]$Header$status %>% - expect_match(regexp = "Success") - - -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-helperfunctions.R b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-helperfunctions.R deleted file mode 100644 index f5e0f9c..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/tests/testthat/test-helperfunctions.R +++ /dev/null @@ -1,72 +0,0 @@ -#' @importFrom magrittr `%>%`() -#' @importFrom stringr str_detect -#' @import testthat -test_that("helperfunctions (checkaqsparams()) functions", { -testthat::skip_if_offline() -testthat::skip_on_cran() -server <- "AQSDatamartAPI" - -if(file.exists("local.R")) -{ - source("helper.R") - AQScredentials <- RAQSAPItestsetup_helper() - datamartAPI_user <- AQScredentials$datamartAPI_user - datamartAPI_key <- AQScredentials$datamartAPI_key -} else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) -} -RAQSAPI::aqs_credentials(username = datamartAPI_user, - key = datamartAPI_key -) - -RAQSAPI:::checkaqsparams(parameter = "abcdefg") %>% - expect_error() -RAQSAPI:::checkaqsparams(bdate = "notadate") %>% - expect_error() -RAQSAPI:::checkaqsparams(edate = "notadate") %>% - expect_error() -RAQSAPI:::checkaqsparams(cbdate = "notadate") %>% - expect_error() -RAQSAPI:::checkaqsparams(cedate = "notadate") %>% - expect_error() -RAQSAPI:::checkaqsparams(stateFIPS = "90210") %>% - expect_error() -RAQSAPI:::checkaqsparams(countycode = "341478") %>% - expect_error() -RAQSAPI:::checkaqsparams(sitenum = "1") %>% - expect_error() -RAQSAPI:::checkaqsparams(cbsa_code = "something") %>% - expect_error() -RAQSAPI:::checkaqsparams(pqao_code = "99999") %>% - expect_error() -RAQSAPI:::checkaqsparams(minlat = "3245253") %>% - expect_error() -RAQSAPI:::checkaqsparams(maxlat = "647352") %>% - expect_error() -RAQSAPI:::checkaqsparams(minlon = 45425252) %>% - expect_error() -RAQSAPI:::checkaqsparams(maxlon = 463753415) %>% - expect_error() -RAQSAPI:::checkaqsparams(MA_code = "MA") %>% - expect_error() -RAQSAPI:::checkaqsparams(return_header = 1) %>% - expect_error() -RAQSAPI:::checkaqsparams(POC = "POC") %>% - expect_error() -RAQSAPI:::checkaqsparams(email = "not a valid email") %>% - expect_error() -RAQSAPI:::checkaqsparams(duration = "not a valid duration") %>% - expect_error() -RAQSAPI:::format_variables_for_api(x = list()) %>% - expect_equal("") -RAQSAPI:::format_multiple_params_for_api(x = list()) %>% - expect_equal("") -RAQSAPI:::aqsmultiyearparams(parameter = "99999", - bdate = as.Date("2000-01-01", format = "%Y-%m-%d"), - edate = as.Date("1999-01-01", format = "%Y-%m-%d"), - service = "not a service" - ) %>% - expect_error() -RAQSAPI:::format_variables_for_api(x = list()) %>% expect_equal("") -}) diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib deleted file mode 100644 index ffe7ea7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/AQSAPI.bib +++ /dev/null @@ -1,139 +0,0 @@ - @Manual{package:tibble, - title = {tibble: Simple Data Frames}, - author = {Kirill Müller and Hadley Wickham}, - year = {2021}, - note = {R package version 3.1.6}, - url = {https://CRAN.R-project.org/package=tibble}, - } - -@electronic{website:whatisR, - authors = "The R Foundation for Statistical Computing", - title = "What is {R}?", - month = "February", - year = "2020", - url = "https://www.r-project.org/about.html" -} - -@misc{cleanairact, - authors = "Environmental Protection Agency", - title = "Overview of the {C}lean {A}ir {A}ct and {A}ir {P}ollution", - month = "February", - year = "2021", - url = "https://www.epa.gov/clean-air-act-overview" -} - -@electronic{AboutAQSdata, - authors = "US EPA AQS Data Mart Team", - title = "About {AQS} Data", - month = "May", - year = "2019", - url = "https://aqs.epa.gov/aqsweb/documents/about_aqs_data.html", - note = "Version 1.1" -} - -@electronic{website:GNUproject, - authors = "Free Software Foundation", - title = "GNU Operating System", - month = "Feburaury", - year = "2020", - url = "https://www.gnu.org" -} - -@electronic{AQSDataMartWelcome, - authors = "US EPA AQS Data Mart Team", - title = "AQS Data Mart Welcome", - month = "Aug", - year = "2018", - url = "https://aqs.epa.gov/aqsweb/documents/data_mart_welcome.html" -} - -@book{book:RPackages, - author = "Hadley Wckham", - title = "R Packages", - ISBN = "1491910585, 9781491910580", - publisher = "O'Reilly Media Inc.", - year = "2015" -} - -@misc{website:RPackages, - author = "Hadley Wckham", - title = "R Packages", - publisher = "Hadley Wckham", - year = "2017", - url = "http://r-pkgs.had.co.nz/" -} - -@Manual{RBase, - title = "R: A Language and Environment for Statistical Computing", - author = "R Core Team", - organization = "R Foundation for Statistical Computing", - address = "Vienna, Austria", - year = "2019", - url = "https://www.R-project.org/", - } - -@Manual{WritingRexensions, - author = {\relax R Development Core Team}, - title="Writing R Extensions", - organization = "Comprehensive R Archive Network", - year = "2019", - url = "https://cran.r-project.org/doc/manuals/r-release/R-exts.html" -} - -@Manual{Tidyversestyleguide, - author = "Hadley Wckham", - title = "Tidyverse Style Guide", - url = "https://style.tidyverse.org/", - year = "2020" -} - -@Manual{CRANRepoPolicy, - author = {\relax CRAN Repository Maintainers}, - title = "CRAN Repository Policy", - organization = "The Comprehensive R Archive Network", - revision = "4197", - url = "https://cran.r-project.org/submit.html" -} - - @Manual{package:badgecreatr, - title = {badgecreatr: Create Badges for 'Travis', 'Repostatus' 'Codecov.io' - Etc in Github Readme}, - author = {Roel M. Hogervorst}, - year = {2019}, - note = {R package version 0.2.0}, - url = {https://CRAN.R-project.org/package=badgecreatr}, - } - - @Manual{package:usethis, - title = {usethis: Automate Package and Project Setup}, - author = {Hadley Wickham and Jennifer Bryan and Malcolm Barrett}, - year = {2021}, - note = {R package version 2.1.3}, - url = {https://CRAN.R-project.org/package=usethis}, - } - - @Manual{package:lintr, - title = {lintr: A 'Linter' for R Code}, - author = {Jim Hester and Florent Angly and Russ Hyde}, - year = {2020}, - note = {R package version 2.0.1}, - url = {https://CRAN.R-project.org/package=lintr}, - } - - @Manual{package:remotes, - title = {remotes: R Package Installation from Remote Repositories, Including - 'GitHub'}, - author = {Gábor Csárdi and Jim Hester and Hadley Wickham and Winston Chang - and Martin Morgan and Dan Tenenbaum}, - year = {2021}, - note = {R package version 2.4.2}, - url = {https://CRAN.R-project.org/package=remotes}, - } - -@Manual{package:hexsticker, - title = {hexSticker: Create Hexagon Sticker in R}, - author = {Guangchuang Yu}, - year = {2020}, - note = {R package version 0.4.9}, - url = {https://CRAN.R-project.org/package=hexSticker}, - } diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Acknowledgements.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Acknowledgements.Rmd deleted file mode 100644 index c80f9e4..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Acknowledgements.Rmd +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: RAQSAPI - Acknowledgements -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -lang: en-US -vignette: > - %\VignetteIndexEntry{RAQSAPI - Acknowledgements} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# Acknowledgements -RAQSAPI was included in the Rblogger's March 2021: “Top 40” [New CRAN Packages](https://www.r-bloggers.com/2021/04/march-2021-top-40-new-cran-packages/). - - The RAQSAPI package borrows upon functions and code provided by sources not -mentioned in the DESCRIPTION file. Here we attempt to acknowledge those sources -with them RAQSAPI would not be possible. - -* README badges are provided by R package `badgecreator`[@package:badgecreatr]. -* The R package `usethis`[@package:usethis] was used to generate GitHub actions - for Continuous integration (CI). -* Code cleanup was assisted by the R package `lintr`[@package:lintr] -* the function *install.packages* are provided by the R package `utils`[@RBase] -* the function *install_github* are provided by the R package `remotes`[ - @package:remotes] -* .gitignore file borrowed examples from - https://github.com/github/gitignore/blob/master/R.gitignore -* The RAQSAPI hexsticker was created using the - `hexSticker`[@package:hexsticker] package for R diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/EPA_Disclaimer.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/EPA_Disclaimer.Rmd deleted file mode 100644 index 5bbfa85..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/EPA_Disclaimer.Rmd +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: RAQSAPI - EPA Disclaimer -author: -- affiliation: |- - United States Environmental Protection Agency (US EPA), - Region III, - Air and Radiation Division, - Air Quality and Analysis Branch - name: Clinton Mccrowey -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - EPA Disclaimer} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# EPA Disclaimer - -This software/application was developed by the U.S. Environmental Protection -Agency (USEPA). No warranty expressed or implied is made regarding the accuracy -or utility of the system, nor shall the act of distribution constitute any such -warranty. The USEPA has relinquished control of the information and no longer -has responsibility to protect the integrity, confidentiality or availability of -the information. Any reference to specific commercial products, processes, or -services by service mark, trademark, manufacturer, or otherwise, does not -constitute or imply their endorsement, recommendation or favoring by the USEPA. -The USEPA seal and logo shall not be used in any manner to imply endorsement of -any commercial product or activity by the USEPA or the United States Government. diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/InstallandSetup.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/InstallandSetup.Rmd deleted file mode 100644 index d22b6a1..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/InstallandSetup.Rmd +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: RAQSAPI - Install and Setup -author: -- affiliation: |- - United States Environmental Protection Agency (US EPA), - Region III, - Air and Radiation Division, - Air Quality and Analysis Branch - name: Clinton Mccrowey -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - Install and Setup} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# Installing RAQSAPI - -Either install the stable version from CRAN or install the latest -development version from GitHub. - -## Option 1: Installing the stable version from CRAN - -```R -install.packages(pkgs="RAQSAPI", dependencies = TRUE ) -``` - -## Option 2: Installing the development version of RAQSAPI - -To install the development version of `RAQSAPI`, first if not already installed, -install the `remotes` package and its dependencies. Then run the following in a -R environment. - -```R -remotes::install_github(repo = "USEPA/raqsapi", - dependencies = TRUE, - upgrade = "always", - build = TRUE, - #optional, set TRUE if the manual is desired, - #requires pandoc - build_manual = FALSE, - build_vignettes = TRUE - ) -``` diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Intro.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Intro.Rmd deleted file mode 100644 index 9e289b5..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Intro.Rmd +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: RAQSAPI - Introduction to RAQSAPI -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - Introduction to RAQSAPI} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -| Warning: US EPA's AQS Data Mart API V2 is currently \ -in beta phase of development, the API interface has not been finalized. \ -This means that certain functionality of the API may change or be removed \ -without notice. As a result, this package is also currently marked as beta and \ -may also change to reflect any changes made to the Data Mart API or in respect \ -to improvements in the design, functionality, quality and documentation of \ -this package. The authors assume no liability for any problems that may occur \ -as a result of using this package, the Data Mart service, any software, \ -service, hardware, or user accounts that may utilize this package. | -| -- | - -# Introduction - -The `RAQSAPI` package for the R programming environment allows a R programming - environment to connect to and retrieve data from the United States - Environmental Protection Agency's (US EPA) Air Quality System (AQS) Data Mart - API v2 Air Quality System[@AQSDataMartWelcome] - interface directly. This package enables the data user to omit legacy - challenges including coercing data from a JSON object to a usable R object, - retrieving multiple years of data, formatting API requests, retrieving - results, handling credentials, requesting multiple pollutant data and rate - limiting data requests. All the basic functionality of the API have been - implemented that are available from the AQS API Data Mart server. The library - connects to AQS Data Mart API via Hypertext Transfer Protocol (HTTP) so there - is no need to install external ODBC drivers, configure ODBC connections or - deal with the security vulnerabilities associated with them. Most functions - have a parameter, return_header which by default is set to FALSE. If the user - decides to set return_header to TRUE, then that function will return a R - AQS_DATAMART_APIv2 S3 object which is a two item named list. - The first item, (\$Header) in the AQS_DATAMART_APIv2 object is a - tibble[@package:tibble] - which contains the header information. The Header contains status - information regarding the request (success/fail), any applicable error - messages returned from the API, if any exist, the URL used in the request, a - date and time stamp noting when request was received and other useful - information. The second item of the AQS_DATAMART_APIv2 object (\$Data) is a - tibble which contains the actual data being requested. For functions with the - return_header option set to FALSE (default) a simple tibble is returned with - just the $Data portion of the request. After each call to the API a five - second stall is invoked to help prevent overloading the Data Mart API server - and to serve as a simple rate limit. ^[RAQSAPI's rate limit does not - guarantee that the user will not go over the rate limit and does not guarantee - that API calls do not overload the AQS Data Mart system, each user should - monitor their requests independently.] diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Brief.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Brief.Rmd deleted file mode 100644 index bdaaac7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Brief.Rmd +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: RAQSAPI - A Brief introduction into RAQSAPI functions -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - A Brief introduction into RAQSAPI functions} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - - -| Information: AQS Data Mart API restricts the \ -maximum amount of monitoring data to one full year of data per API \ -call. | -| -- | - -RAQSAPI functions are named according to the service and filter variables that -are available by the Data Mart -API.^[See (https://aqs.epa.gov/aqsweb/documents/data_api.html) for the full -details of the Data Mart API] - -## Data Mart aggregate functions - -These functions retrieve aggregated data from the Data Mart API and are grouped -by how each function aggregates the data. There are 7 different families of -related aggregate functions in which the AQS Data Mart API groups data. - -**These seven families are**: - - - **\_by_site** - - **\_by_county** - - **\_by_state** - - **\_by\_\** (_by_box) - - **\_by\_\** (_by_MA) - - **\_by\_\** (_by_pqao) - - **\_by\_\** (_by_cbsa). - -Within these families of aggregated data functions there are functions that call -on the 13 different aggregate services that the Data Mart API provides. -**Note that not all aggregations are available for each service.** - - -**These fourteen services are**: - - - **Monitors** (aqs_monitors_by_*) - - **Sample Data** (aqs_sampledata_by_*) - - **Daily Summary Data** (aqs_dailysummary_by_*) - - **Annual Summary Data** (aqs_annualsummary_by_*) - - **Quarterly Summary Data** (aqs_quarterlysummary_by_*) - - **Quality Assurance - Blanks Data** (aqs_qa_blanks_by_*) - - **Quality Assurance - Collocated Assessments** - (aqs_qa_collocated_assessments_by_*) - - **Quality Assurance - Flow Rate Verifications** - (aqs_qa_flowrateverification_by_*) - - **Quality Assurance - Flow Rate Audits** (aqs_qa_flowrateaudit_by_*) - - **Quality Assurance - One Point Quality Control Raw Data** - (aqs_qa_one_point_qc_by_*) - - **Quality Assurance - PEP Audits** (aqs_qa_pep_audit_by_*) - - **Transaction Sample - AQS Submission data in transaction Format (RD)** - (aqs_transactionsample_by_*) - - **Quality Assurance - Annual Performance Evaluations** \ - (aqs_qa_annualperformanceeval_by_*) - - **Quality Assurance - Annual Performance Evaluations in the AQS** \ - **Submission transaction format (RD)** - (aqs_qa_annualperformanceevaltransaction_by_*) - -| Information: AQS Data Mart API restricts the \ -maximum amount of monitoring data to one full year of data per \ -API call. These functions are able to return multiple years of data by \ -making repeated calls to the API. Each call to the Data Mart API will take \ -time to complete. The more years of data being requested the longer RAQSAPI \ -will take to return the results. | -| -- | - -Aggregate functions are named AQS_API\\_\() where -\ is one of the 13 services listed above and \ is -either "\_by\_site", "\_by\_county", "\_by\_state", "\_by\_box", "\_by\_cbsa", -"\_by\_ma", or "\_by\_pqao". - -### See the RAQSAPI vignette for more details -(RAQSAPI must be installed and built with BUILD_MANUAL = TRUE enabled) -```R - RShowDoc(what="RAQSAPIvignette", type="html", package="RAQSAPI") -``` diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Long.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Long.Rmd deleted file mode 100644 index 44a9c91..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIFunctions-Long.Rmd +++ /dev/null @@ -1,727 +0,0 @@ ---- -title: RAQSAPI - RAQSAPI functions Long version -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - RAQSAPI functions Long version} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- -# RAQSAPI functions -The RAQSAPI library exports the following functions (in alphabetical order): - -```{r RAQSAPIfun_all, echo = FALSE, comment = NA} -knitr::opts_chunk$set(collapse = TRUE, comment = "#>" ) -invisible(library(magrittr, warn.conflicts = FALSE, quietly = TRUE)) -invisible(library(stringr, warn.conflicts = FALSE, quietly = TRUE)) -invisible(library(tibble, warn.conflicts = FALSE, quietly = TRUE)) -invisible(library(glue, warn.conflicts = FALSE, quietly = TRUE)) - -#AQAD-33, using list.files works when knitting the vignette but does -#not seem to work when the vignette is knitted as part of a package. -#Instead function names need to be hard coded. -# RAQSAPI_functions <- list.files(path = "./man/", pattern = ".Rd$") %>% -# stringr::str_remove_all(pattern = ".Rd") %>% -# str_replace("ni_infix_operator", replacement = NA_character_) %>% -# str_replace("RAQSAPI", replacement = NA_character_) %>% -# str_replace_all("_services_", replacement = NA_character_) %>% -# na.omit() %>% -# as.character() -RAQSAPI_functions <- c( -"aqs_annualsummary_by_box", -"aqs_annualsummary_by_cbsa", -"aqs_annualsummary_by_county", -"aqs_annualsummary_by_site", -"aqs_annualsummary_by_state", -"aqs_cbsas", -"aqs_classes", -"aqs_counties_by_state", -"aqs_credentials", -"aqs_dailysummary_by_box", -"aqs_dailysummary_by_cbsa", -"aqs_dailysummary_by_county", -"aqs_dailysummary_by_site", -"aqs_dailysummary_by_state", -"aqs_fields_by_service", -"aqs_isavailable", -"aqs_knownissues", -"aqs_mas", -"aqs_monitors_by_box", -"aqs_monitors_by_cbsa", -"aqs_monitors_by_county", -"aqs_monitors_by_site", -"aqs_monitors_by_state", -"aqs_parameters_by_class", -"aqs_pqaos", -"aqs_qa_annualperformanceeeval_by_county", -"aqs_qa_annualperformanceeval_by_MA", -"aqs_qa_annualperformanceeval_by_pqao", -"aqs_qa_annualperformanceeval_by_site", -"aqs_qa_annualperformanceeval_by_state", -"aqs_qa_annualperformanceevaltransaction_by_county", -"aqs_qa_annualperformanceevaltransaction_by_MA", -"aqs_qa_annualperformanceevaltransaction_by_pqao", -"aqs_qa_annualperformanceevaltransaction_by_site", -"aqs_qa_annualperformanceevaltransaction_by_state", -"aqs_qa_blanks_by_county", -"aqs_qa_blanks_by_MA", -"aqs_qa_blanks_by_pqao", -"aqs_qa_blanks_by_site", -"aqs_qa_blanks_by_state", -"aqs_qa_collocated_assessments_by_county", -"aqs_qa_collocated_assessments_by_MA", -"aqs_qa_collocated_assessments_by_pqao", -"aqs_qa_collocated_assessments_by_site", -"aqs_qa_collocated_assessments_by_state", -"aqs_qa_flowrateaudit_by_county", -"aqs_qa_flowrateaudit_by_MA", -"aqs_qa_flowrateaudit_by_pqao", -"aqs_qa_flowrateaudit_by_site", -"aqs_qa_flowrateaudit_by_state", -"aqs_qa_flowrateverification_by_county", -"aqs_qa_flowrateverification_by_MA", -"aqs_qa_flowrateverification_by_pqao", -"aqs_qa_flowrateverification_by_site", -"aqs_qa_flowrateverification_by_state", -"aqs_qa_one_point_qc_by_county", -"aqs_qa_one_point_qc_by_MA", -"aqs_qa_one_point_qc_by_pqao", -"aqs_qa_one_point_qc_by_site", -"aqs_qa_one_point_qc_by_state", -"aqs_qa_pep_audit_by_county", -"aqs_qa_pep_audit_by_MA", -"aqs_qa_pep_audit_by_pqao", -"aqs_qa_pep_audit_by_site", -"aqs_qa_pep_audit_by_state", -"aqs_quarterlysummary_by_box", -"aqs_quarterlysummary_by_county", -"aqs_quarterlysummary_by_pqao", -"aqs_quarterlysummary_by_site", -"aqs_quarterlysummary_by_state", -"aqs_removeheader", -"aqs_revisionhistory", -"aqs_sampledata_by_box", -"aqs_sampledata_by_cbsa", -"aqs_sampledata_by_county", -"aqs_sampledata_by_site", -"aqs_sampledata_by_state", -"aqs_sampledurations", -"aqs_sign_up", -"aqs_sites_by_county", -"aqs_states", -"aqs_transactionsample_by_county", -"aqs_transactionsample_by_site", -"aqs_transactionsample_by_state", -"aqs_transactionsample_by_MA" -) - -RAQSAPI_functions %>% - cat(sep = " \n") -``` - -RAQSAPI functions are named according to the service and filter variables that -are available by the AQS Data Mart API.^[See -(https://aqs.epa.gov/aqsweb/documents/data_api.html) for full details of the -Data Mart API] - -# Variable descriptions and usage. -These are all the available variables that can be used with various functions -exported from the RAQSAPI library listed alphabetically. Not all of these -variables are used with every function, and not all of these parameters are -required. See the -[RAQSAPI functional families](#RAQSAPI functional families) section to -see which parameters are used with each function. - -* AQSobject: a R S3 object that is returned from RAQSAPI aggregate functions - where return_header is TRUE. An AQS_Data_Mart_APIv2 is a 2 item - named list in which the first item (\$Header) is a tibble of - header information from the AQS API and the second item (\$Data) - is a tibble of the data returned. - -* bdate: a R date object which represents the begin date of the data selection. - Only data on or after this date will be returned. - -* cbdate (optional): a R date object which represents the "beginning date of - last change" that indicates when the data was last - updated. cbdate is used to filter data based on the - change date. Only data that changed on or after this date - will be returned. This is an optional variable which - defaults to NA. - -* cedate (optional): a R date object which represents the "end date of last - change" that indicates when the data was last updated. - cedate is used to filter data based on the change date. - Only data that changed on or before this date will be - returned. This is an optional variable which defaults to - NA. - -* countycode: a R character object which represents the 3 digit state FIPS code - for the county being requested (with leading zero(s)). Refer to - [aqs_counties_by_state()] for a table of available county - codes for each state. - -* duration (optional): a R character string that represents the parameter - duration code that limits returned data to a specific - sample duration. The default value of NA_character_ - will result in no filtering based on duration code. - Valid durations include actual sample - durations and not calculated durations such as 8 hour - CO or O${_3}$ rolling averages, 3/6 day PM averages or - Pb 3 month rolling averages. Refer to - [aqs_sampledurations()] for a table of all available - duration codes. - -* edate: a R date object which represents the end date of the data selection. - Only data on or before this date will be returned. - -* email: a R character object which represents the email account that will be - used to register with the AQS API or change an existing user's key. A - verification email will be sent to the account specified. - -* key: the key used in conjunction with the username given to connect to AQS - Data Mart. - -* MA_code: a R character object which represents the 4 digit AQS Monitoring - Agency code (with leading zeroes). -* maxlat: a R character object which represents the maximum latitude of a - geographic box. Decimal latitude with north begin positive. Only - data south of this latitude will be returned. - -* maxlon: a R character object which represents the maximum longitude of a - geographic box. Decimal longitude with east being positive. Only - data west of this longitude will be returned. Note that -80 is less - than -70. - -* minlat: a R character object which represents the minimum latitude of a - geographic box. Decimal latitude with north being positive. - Only data north of this latitude will be returned. - -* minlon: a R character object which represents the minimum longitude of a - geographic box. Decimal longitude with east begin positive. Only - data east of this longitude will be returned. - -* parameter: a R character list or single character object which represents - the parameter code of the air pollutant related to the data - being requested. - -* return_header If FALSE (default) only returns data requested. If TRUE - returns a AQSAPI_v2 object which is a two item list that - contains header information returned from the API server - mostly used for debugging purposes in addition to the - data requested. - -* service a string which represents the services provided by the AQS - API. For a list of available services refer to - https://aqs.epa.gov/aqsweb/documents/data_api.html#services - for the complete listing of services available through the - Datamart API - -* sitenum: a R character object which represents the 4 digit site number (with - leading zeros) within the county and state being requested. - -* stateFIPS: a R character object which represents the 2 digit state FIPS code - (with leading zero) for the state being requested. - -* pqao_code: a R character object which represents the 4 digit AQS Primary - Quality Assurance Organization code (with leading zeroes). - -* username: a R character object which represents the email account that will - be used to connect to the AQS API. - -
- -# RAQSAPI functional families -## Sign up and credentials -The functions included in this family of functions are: - -```{r SIGNUPANDCREDENTIALS, echo = FALSE, comment = NA} -signupandcredentials <- paste(".sign_up", ".credentials", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = signupandcredentials) %>% - cat(sep = " \n") -``` -These functions are used to sign up with Data Mart and to store credential - information to use with RAQSAPI. The RAQSAPI::aqs_signup function takes - one parameter: - -* email: - -The RAQSAPI::aqs_credentials function takes two parameters: - -* username: -* key: - -## Data Mart API metadata functions -```{r METADATAFUNCTIONS, echo = FALSE, comment = NA} -metadatafunctions <- paste(".available", - ".field_by_service", - ".knownissues", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = metadatafunctions) %>% - cat(sep = " \n") -``` -These functions return Data Mart meta data - -The RAQSAPI::aqs_isavailable function takes no parameters and returns a - table which details the status of the AQS API. - -The RAQSAPI::aqs_field_by_Service function takes one parameter, service, - which is a R character object which represents the services provided by - the AQS API. For a list of available services see - [Air Quality System (AQS) API - Services Overview]( - https://aqs.epa.gov/aqsweb/documents/data_api.html#services) - -The RAQSAPI::aqs_knownissues function takes no parameters and Returns a - table of any known issues with system functionality or the data. These are - usually issues that have been identified internally and will require some - time to correct in Data Mart or the API. This function implements a direct - API call to Data Mart and returns data directly from the API. Issues - returned via this function do not include any issues from the RAQSAPI R - package. - -The RAQSAPI::aqs_revisionhistory function is used to query Data Mart for the - change history to the API. - -## Data Mart API list functions -```{r LISTFUNCTIONS, echo = FALSE, comment = NA} -listfunctions <- paste(".states", - ".counties_by_state", - ".sites_by_county", - ".cbsas", - ".classes", - ".pqaos", - ".mas", - sep = '|' - ) - -str_subset(string = RAQSAPI_functions, pattern = listfunctions) %>% - cat(sep = " \n") -``` -List functions return options or groupings that can be used in conjunction with - other API calls. By default each function in this category returns results - as a tibble. If return_header parameter is set to TRUE a AQSAPI_v2 object is - returned instead. - -RAQSAPI::aqs_cbsas returns a table of all available Core Based Statistical - Areas (cbsas) and their respective cbsa codes. - -RAQSAPI::aqs_states takes no arguments and returns a table of the available - states and their respective state FIPS codes. - -RAQSAPI::aqs_sampledurations takes no arguments and returns a table of the - available sample duration code used to construct other requests. - -RAQSAPI::aqs_classes takes no arguments and returns a table of parameter - classes (groups of parameters, i.e. "criteria" or "all"). - -RAQSAPI::aqs_counties_by_state takes one parameter, stateFIPS, which is a two - digit state FIPS code for the state being requested represented as a - R character object and returns a table of counties and their - respective FIPS code for the state requested. Use RAQSAPI::aqs_states to - receive a table of valid state FIPS codes. - -RAQSAPI::aqs_sites_by_county takes two parameters, stateFIPS, which is a - two digit state FIPS code for the state being requested and county_code - which is a three digit county FIPS code for the county being requested, - both stateFIPS and county_code should be encoded as a R character object - This function returns a table of all air monitoring sites with the - requested state and county FIPS code combination. - -RAQSAPI::aqs_pqaos takes no parameters and returns an AQS_DATAMART_APIv2 - S3 object containing a table of primary quality assurance - organizations (pqaos). - -RAQSAPI::aqs_mas takes no parameters and returns an AQS_DATAMART_APIv2 S3 - object containing a table of monitoring agencies (MA). - -## Data Mart aggregate functions - -| Information: AQS Data Mart API restricts the \ -maximum amount of monitoring data to one full year of data per \ -API call. These functions are able to return multiple years of data by \ -making repeated calls to the API. Each call to the Data Mart API will take \ -time to complete. The more years of data being requested the longer RAQSAPI \ -will take to return the results. | -| -- | - -These functions retrieve aggregated data from the Data Mart API and are - grouped by how each function aggregates the data. There are 5 different - families of related aggregate functions. These families are arranged by how - the Data Mart API groups the returned data, _by_site, _by_county, _by_state, - _by_ (_by_box) and - _by_ (_by_cbsa). Within each family - of aggregated data functions there are functions that call on the 10 - different services that the Data Mart API provides. All Aggregate - functions return a tibble by default. If the return_Header parameter is - set to TRUE an AQS_DATAMART_APIv2 S3 object is returned instead. - -* **These fourteen services are**: -1. **Monitors**: Returns operational information about the samplers (monitors) - used to collect the data. Includes identifying information, - operational dates, operating organizations, etc. Functions - using this service contain *\*monitors_by_*\* in the function - name. -2. **Sample Data**: Returns sample data - the most fine grain data reported to - EPA. Usually hourly, sometimes 5-minute, 12-hour, etc. - This service is available in several geographic selections - based on geography: site, county, state, cbsa (core based - statistical area, a grouping of counties), or - by latitude/longitude bounding box. Functions using this - service contain *\*sampledata_by_*\* in the function name. - All Sample Data functions accept two additional, optional - parameters; cbdate and cedate: - + cbdate: a R date object which represents a "beginning date of last - change" that indicates when the data was last updated. - cbdate is used to filter data based on the change date. - Only data that changed on or after this date will be - returned. This is an optional variable which defaults to - NA_Date_. - + cedate: a R date object which represents an "end date of last change" - that indicates when the data was last updated. cedate is - used to filter data based on the change date. Only data - that changed on or before this date will be returned. This - is an optional variable which defaults to NA_Date_. - + duration: an optional R character string that represents the - parameter duration code that limits returned data to - a specific sample duration. The default value of - NA_character_ results in no filtering based on - duration code. Valid durations include actual sample - durations and not calculated durations such as 8 hour - CO or $O_3$ rolling averages, 3/6 day PM averages or - Pb 3 month rolling averages. Refer to - [aqs_sampledurations()] for a list of all available - duration codes. -3. **Daily Summary Data**: Returns data summarized at the daily level. All daily - summaries are calculated on midnight to midnight - basis in local time. Variables returned include - date, mean value, maximum value, etc. Functions - using this service contain *\*dailysummary_by_*\* in - the function name. All Daily Summary Data functions - accept two additional parameters; cbdate and cedate: - + cbdate: a R date object which represents a "beginning date of last - change" that indicates when the data was last updated. - cbdate is used to filter data based on the change date. Only - data that changed on or after this date will be returned. - This is an optional variable which defaults to NA_Date_. - + cedate: a R date object which represents an "end date of last change" - that indicates when the data was last updated. cedate is - used to filter data based on the change date. Only data that - changed on or before this date will be returned. This is an - optional variable which defaults to NA_Date_. -4. **Annual Summary Data**: Returns data summarized at the yearly level. - Variables include mean value, maxima, percentiles, - etc. Functions using this service contain - *\*annualdata_by_*\* in the function name. All - Annual Summary Data functions accept two - additional parameters; cbdate and cedate: - + cbdate: a R date object which represents a "beginning date of last - change" that indicates when the data was last updated. cbdate - is used to filter data based on the change date. Only data - that changed on or after this date will be returned. This is - an optional variable which defaults to NA_Date_. - + cedate: a R date object which represents an "end date of last change" - that indicates when the data was last updated. cedate is used - to filter data based on the change date. Only data that - changed on or before this date will be returned. This is an - optional variable which defaults to NA_Date_. -5. **Quarterly Summary Data**: Returns data summarized at the quarterly level. - Variables include mean value, maxima, percentiles, - etc. Functions using this service contain - *\*quarterlydata_by_*\* in the function name. All - Annual Summary Data functions accept two - additional parameters; cbdate and cedate: - + cbdate: a R date object which represents a "beginning date of last - change" that indicates when the data was last updated. cbdate - is used to filter data based on the change date. Only data - that changed on or after this date will be returned. This is - an optional variable which defaults to NA_Date_. - + cedate: a R date object which represents an "end date of last change" - that indicates when the data was last updated. cedate is used - to filter data based on the change date. Only data that - changed on or before this date will be returned. This is an - optional variable which defaults to NA_Date_. -6. **Quality Assurance - Blanks Data**: - Quality assurance data - blanks samples. - Blanks are unexposed sample collection devices - (e.g., filters) that are transported with the - exposed sample devices to assess if contamination - is occurring during the transport or handling of - the samples. Functions using this service contain - *\*qa\_blanks_by_*\* in the function name. -7. **Quality Assurance - Collocated Assessments**: - Quality assurance data - collocated assessments. - Collocated assessments are pairs of samples - collected by different samplers at the same time and - place. (These are "operational" samplers, - assessments with independently calibrated samplers - are called "audits".). Functions using this service - contain *\*qa_collocated_assessments_by_*\* in the - function name. -8. **Quality Assurance - Flow Rate Verifications**: - Quality assurance data - flow rate verifications. - Several times per year, each PM monitor must have it's - (fixed) flow rate verified by an operator taking a - measurement of the flow rate. Functions using this - service contain *\*qa_flowrateverification_by_*\* in - the function name. -9. **Quality Assurance - Flow Rate Audits**: - Quality assurance data - flow rate audits. At least twice - year, each PM monitor must have it's flow rate - measurement audited by an expert using a different - method than is used for flow rate verifications. - Functions using this service contain - *\*qa_flowrateaudit_by_*\* in the function name. -10. **Quality Assurance - One Point Quality Control Raw Data**: - Quality assurance data - one point quality control check - raw data. At least every two weeks, certain gaseous - monitors must be challenged with a known concentration to - determine monitor performance. Functions using this - service contain *\*qa_one_point_qc_by_*\* in the function - name. -11. **Quality Assurance - pep Audits**: - Quality assurance data - performance evaluation program - (pep) audits. pep audits are independent assessments used - to estimate total measurement system bias with a primary - quality assurance organization. Functions using this - service contain *\*qa_pep_audit_by_*\* in the function - name. - -12. **Transaction Sample - AQS Submission data in transaction format (RD)**: - Transaction sample data - The raw transaction sample data - uploaded to AQS by the agency responsible for data - submissions in RD format. Functions using this - service contain *\*transactionsample_by_*\* in the - function name. Transaction sample data is only available - aggregated by site, county, state or monitoring agency. - -13. **Quality Assurance - Annual Performance Evaluations**: - Quality assurance data - Annual performance evaluations. - A performance evaluation must be conducted on each primary - monitor once per year. The percent differences between - known and measured concentrations at several levels are - used to assess the quality of the monitoring data. - Functions using this service contain - *\*aqs_qa_annualperformanceeval_by_*\* in the function - name. Annual performance in transaction format are - only available aggregated by site, county, state, - monitoring agency, and primary quality assurance - organization. Annual performance evaluations are only - available aggregated by site, county, state, - monitoring agency, and primary quality assurance - organization. - -14. **Quality Assurance - Annual performance Evaluations in transaction** \ - **format (RD)**: - Quality assurance data - The raw transaction annual - performance evaluations data in RD format. Functions using - this service contain - *\*aqs_qa_annualperformanceevaltransaction_by_*\* in the - function name. Annual performance evaluations in transaction - format are only available aggregated by site, county, state, - monitoring agency, and primary quality assurance - organization. - - -### Data Mart aggregate functions _by_site -```{r _by_Sitefunctions, echo = FALSE, comment = NA} -by_sitefunctions <- paste("_by_site", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_sitefunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the site level. All - \*_by_site functions accept the following variables: - -* parameter: -* bdate: -* edate: -* stateFIPS: -* countycode: -* sitenum: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* functions and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* functions and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - -### Data Mart aggregate functions _by_county -```{r _by_countyfuncions, echo = FALSE, comment = NA} -by_countyfunctions <- paste("._by_county", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_countyfunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the county level. - All functions accept the following variables: - -* parameter: -* bdate: -* edate: -* stateFIPS: -* countycode: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - -### Data Mart aggregate functions by Monitoring agency (MA) - -```{r _by_STATEfunctions, echo = FALSE, comment = NA} -by_STATEfunctions <- paste("._by_state", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_STATEfunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the state level. - All functions accept the following variables: - -* parameter: -* bdate: -* edate: -* stateFIPS: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* functions and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - -```{r _by_MAfunctions, echo = FALSE, comment = NA} -by_MAfunctions <- paste("._by_MA", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_MAfunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the Monitoring Agency - (MA) level. All functions accept the following variables: - -* parameter: -* bdate: -* edate: -* MA_code: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledataby*\*, *\*dailysummaryby*\*, - *\*annualdataby*\* and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledataby*\*, *\*dailysummaryby*\*, - *\*annualdataby*\* and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - -### Data Mart aggregate functions by Core Based Statistical Area (cbsa) -```{r bycbsafunctions, echo = FALSE, comment = NA} -by_cbsafunctions <- paste("._by_cbsa", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_cbsafunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the Core Based - Statistical Area (cbsa, as defined by the US Census Bureau) level. - All functions accept the following variables: - -* parameter: -* bdate: -* edate: -* cbsa_code: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - - -### Data Mart aggregate functions by Primary Quality Assurance Organization (pqao) -```{r _by_pqaofunctions, echo = FALSE, comment = NA} -by_pqaofunctions <- paste("._by_pqao", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_pqaofunctions) %>% - cat(sep = " \n") -``` -functions in this family of functions aggregate data at the Primary Quality - Assurance Organization (pqao) level. All functions accept the following - variables: - -* parameter: -* bdate: -* edate: -* pqao_code: -* return_header (optional): set to FALSE by default. - -### Data Mart aggregate functions by latitude/longitude bounding box (_by_box) -```{r _by_BOXfunctions, echo = FALSE, comment = NA} -by_BOXfunctions <- paste("._by_box", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = by_BOXfunctions) %>% - cat(sep = " \n") -``` -Functions in this family of functions aggregate data by a - latitude/longitude bounding box (_by_box) level. All functions accept the - following variables: - -* parameter: -* bdate: -* edate: -* minlat: -* minlon: -* maxlon: -* maxlat: -* cbdate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* cedate (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\*, *\*dailysummary_by_*\*, - *\*annualdata_by_*\* and - *\*quarterlysummary_by_*\* functions). -* return_header (optional): set to FALSE by default. -* duration (optional): (This parameter is only used in conjunction with - *\*sampledata_by_*\* functions). - -### Data Mart aggregate functions _by_state - -### RAQSAPI Miscellaneous functions -```{r misc, echo = FALSE, comment = NA} -misc_functions <- paste("aqs_removeheader", sep = '|') - -str_subset(string = RAQSAPI_functions, pattern = misc_functions) %>% - cat(sep = " \n") -``` -These are miscellaneous functions exported by RAQSAPI. - -RAQSAPI::aqs_removeheader is the function that the RAQSAPI library -uses internally to coerce an AQS_DATAMART_APIv2 S3 object into a tibble. -This is useful if the user saves the output from another RAQSAPI function -with return_header = TRUE set but later decides that they want just a -simple tibble object. This function takes only one variable: - -* AQSobject: diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIPurpose.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIPurpose.Rmd deleted file mode 100644 index 1e9070b..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIPurpose.Rmd +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "RAQSAPI - Objectives of the RAQSAPI package" -author: -- affiliation: |- - "United States Environmental Protection Agency (US EPA), - Region III, - Air and Radiation Division, - Air Quality and Analysis Branch" - name: Clinton Mccrowey -output: - rmarkdown::html_vignette: default -bibliography: AQSAPI.bib -lang: en-US -#csl: acs-nano.csl -subtitle: RAQSAPI Purpose -abstract: RAQSAPI is an add-on package for the R programming language and - environment (hereafter referred to as simply "R") that connects R to a U.S. - EPA database for the retrieval of ambient air pollution data. This document - is intended to state the purpose of creating RAQSAPI. -vignette: > - %\VignetteIndexEntry{RAQSAPI - Objectives of the RAQSAPI package} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -```{r setup, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>" -) -``` -# The Air Quality System (AQS) -The Clean Air act [@cleanairact] requires all federal, state, local and tribal -air pollution control agencies monitor ambient air for concentrations of certain -air pollutants. Codified in 40 CFR Part 58 are the statutory requirements for -these monitoring programs, including monitoring network technical requirements, -operating schedules, data certification, data submittal and archiving -requirements. In addition to the required air pollution and meteorological -monitoring, pollution control agencies often perform additional and/or voluntary -air monitoring. - -* The three objectives of ambient air monitoring programs as stated in 40 CFR -Part 58 Appendix D.1 are as follows: - + Provide air pollution data to the public in a timely manner; - + Support compliance with ambient air quality standards and emissions - strategy development; and - + Support for air pollution research studies. - -As required by 40 CFR Part 58, air pollution and meteorological data is -submitted to the United States Environmental Protection Agency along with -associated metadata and quality assurance metadata via EPA's Air -Quality System (AQS)[@AboutAQSdata]. - -## About AQS Data Mart -AQS Data Mart is a publicly accessible mirror of data stored on the AQS database -designed to make air monitoring data more accessible and useful to the technical -community, scientific community and the general public. Data on AQS is copied to -AQS Data Mart once per week and this data is made available to the public -through web-based applications and APIs (application programming interface) -[@AQSDataMartWelcome]. RAQSAPI functions use the APIs provided by AQS Data Mart -to retrieve data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Benefits of using RAQSAPI -RAQSAPI package for R is a easy to use R package that allows -anyone using the R programming environment to retrieve data from AQS Data Mart -Database vi the exposed API interface using a set of functions with consistent -input variables, function names and output structure. RAQSAPI does not require -installation of software or drivers external to R. The goal of RAQSAPI is to -make a package which eases retrieving of ambient air monitoring data from AQS -Data Mart. - -* Some possible uses of the RAQSAPI package - + Can be used as part of a monitoring agency's data validation process - + RAQSAPI can be used for data retrieval as part of quality management of air - data - + Ambient air monitoring data retrieval for Design value calculations - + To retrieve ambient air pollution concentrations - * Useful for retrieving ambient background air pollution data needed model - to perform air quality dispersion modeling - + Data retrieval for automation of Network Analysis - + Statistical analysis of ambient air data - + Compare ambient air pollution concentrations from different air monitoring - sites. - + Data retrieval to generate quarterly/audit reports - -# References diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIusagetipsandprecautions.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIusagetipsandprecautions.Rmd deleted file mode 100644 index e886bb7..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIusagetipsandprecautions.Rmd +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: RAQSAPI - Usage tips and precautions -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - Usage tips and precautions} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -## Usage tips and precautions -This section contains suggestions for completing certain data related tasks. - -* Determine if or how much data exists for a time-parameter-geography - combination: - + Retrieve data using the annualdata service. - + If no records are returned, we do not have the data. - + If records are returned, use the observation count to determine the - temporal and geographic distribution of the data. -* Monthly averages: - + AQS does not routinely calculate monthly aggregate statistics. - + If you need these, you must calculate them yourself. - + These can be calculated from the sample data or the daily data without - loss of fidelity. -* Determine a single value for a site with collocated monitors: - + Many sites will have collocated monitors - monitors collecting the same - parameter at the same time. - + The API currently provides only monitor level values. (site-level values - will be added in the future.) - + For some criteria pollutants (PM2.5, ozone, lead, and NO2), the - regulations define procedures for defining a single site-level value. - + For other pollutants, determining a single site-level value is left to - the investigator. - -* __Please adhere to the following when using the AQS Data Mart API__: - + __Limit the size of queries__. The AQS Data Mart contains billions of values - and you may request more than you intend. If you are unsure of the - amount of data, start small and work your way up. Please limit - queries to 1,000,000 rows of data each. You can use the - "observation count" field on the annualdata service to determine how - much data exists for a time-parameter-geography combination. - + __Limit the frequency of queries__. The AQS Data Mart can process a limited - load. Please wait for one request to complete before submitting another - and do not make more than 10 requests per minute. - + Be advised that RAQSAPI is capable of retrieving results for multiple - pollutants, this can result in the amount of data being returned being - multiplied by the number of pollutants being requested. - + Be advised that the AQS Data Mart API limits certain data requests to one - year of data at a time with the exception of the Monitor service. In order - to retrieve multiple years of data for these functions the RAQSAPI library - conveniently sends multiple API requests to the Data Mart API server, one - request for each year, this can result in the amount of data being returned - being multiplied by the number of years of data being requested. - -__The AQS Data Mart administrators may disable accounts without notice for -failure to adhere to these terms (Though they will contact the offending -user via the email address provided)__ diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIvignette.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIvignette.Rmd deleted file mode 100644 index 3a3562f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/RAQSAPIvignette.Rmd +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Introduction to the RAQSAPI package -author: -- affiliation: |- - United States Environmental Protection Agency (US EPA), - Region III, - Air and Radiation Division, - Air Quality and Analysis Branch - name: Clinton Mccrowey -abstract: RAQSAPI is a package for R that connects the R programming language - environment to the United States Environmental Protection Agency's (US EPA) - Air Quality System (AQS) Data Mart database API for retrieval of ambient - air pollution data. -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{Introduction to the RAQSAPI package} - %\VignetteEncoding{UTF-8} - %\VignetteKeyword{R} - %\VignetteKeyword{AQS} - %\VignetteKeyword{EPA} - %\VignetteKeyword{Data Mart} - %\VignetteKeyword{API} - %\VignetteDepends{magrittr} - %\VignetteDepends{stringr} - %\VignetteDepends{tibble} - %\VignetteDepends{purrr} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteDepends{RAQSAPI} - %\VignetteEngine{knitr::rmarkdown} -bibliography: AQSAPI.bib -csl: acs-nano.csl ---- - -```{r SETUP, echo = FALSE, message = FALSE, warning = FALSE} -invisible(library(glue, warn.conflicts = FALSE, quietly = TRUE)) - -#usethisurl <- "https://usethis.r-lib.org" -#usethissetup <- "/articles/articles/usethis-setup.html" -#usethispatsection <- "#get-and-store-a-github-personal-access-token" - -#patsetuplink <- glue::glue("{usethisurl}{usethissetup}{usethispatsection}") -``` -RAQSAPI hexsticker - -```{r child = "EPA_Disclaimer.Rmd", echo = FALSE, comment = NA} -``` - -```{r child = "Intro.Rmd", echo = FALSE, comment = NA} -``` - -```{r child = "TimelinessofAQSData.Rmd"} -``` - -```{r child = "InstallandSetup.Rmd", echo = FALSE} -``` - -```{r child = "UsingRAQSAPI.Rmd", echo = FALSE} -``` - -```{r child = "RAQSAPIusagetipsandprecautions.Rmd", echo = FALSE} -``` - -```{r child = "RAQSAPIFunctions-Long.Rmd", echo = FALSE} -``` - -```{r child = "Troubleshooting.Rmd", echo = FALSE} -``` - -```{r child = "Acknowledgements.Rmd", echo = FALSE} -``` - -# References diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/TimelinessofAQSData.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/TimelinessofAQSData.Rmd deleted file mode 100644 index 1e6d21e..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/TimelinessofAQSData.Rmd +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: RAQSAPI - About the timeliness of AQS Data -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - About the timeliness of AQS Data} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# About the timeliness of AQS Data - -EPA's AQS Datamart API, the service that RAQSAPI retrieves data from, does not -host real time (collected now/today) data. If real time data is needed, please -use the AirNow API and direct all questions toward real time data there. RAQSAPI -does not work with AirNow and cannot retrieve real time data. For more details -see section 7.1 of the About AQS Data page[@AboutAQSdata]. diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Troubleshooting.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Troubleshooting.Rmd deleted file mode 100644 index 7cf6149..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/Troubleshooting.Rmd +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: RAQSAPI - Troubleshooting RAQSAPI -author: Clinton Mccrowey physical scientist - US EPA -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - Troubleshooting RAQSAPI} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# Troubleshooting - -parameters must be supplied exactly as they are specified, for example the -stateFIPS for Alabama is "01", entering a value of "1" for the stateFIPS -may lead to unexpected results. Do not omit leading zeros in parameters that -expect them. - -In Functions that have the return_header=TRUE option set the returned object is -an AQSAPI_v2 object, this is a 2 item list where the first object is a tibble -with the label \$Header, the second, a tibble with the label \$Data. sampledata -functions are limited by the API to one calendar year of data per API call so if -the user requests multiple years of data the sampledata call will return multiple -AQSAPI_v2 objects, one for each call to the API. The returned result is a list -of AQSAPI_v2 objects. In R to access the data in each item in the list the user -will need to use the "double bracket operator" ("[[", "]]") not the single -bracket operator ("[", "]"). diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/UsingRAQSAPI.Rmd b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/UsingRAQSAPI.Rmd deleted file mode 100644 index 8f7679f..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/UsingRAQSAPI.Rmd +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: "RAQSAPI - Using RAQSAPI" -author: "Clinton Mccrowey physical scientist - US EPA" -date: "April 5, 2021" -output: - rmarkdown::html_vignette: default -vignette: > - %\VignetteIndexEntry{RAQSAPI - Using RAQSAPI} - %\VignetteEncoding{UTF-8} - %\VignetteDepends{knitr} - %\VignetteDepends{rmarkdown} - %\VignetteEngine{knitr::rmarkdown} ---- - -# Using The RAQSAPI library - -## Load RAQSAPI - after successfully installing the `RAQSAPI` package, load the `RAQSAPI` - library: - -```R -library(RAQSAPI) -``` - -## Sign up and setting up user credentials with the RAQSAPI library - -If you have not already done so you will need to sign up with AQS Data Mart - using aqs_sign_up function, ^[Use "?aqs_sign_up" after the RAQSAPI library has - been loaded to see the full usage description of the aqs_sign_up - function.] this function takes one input, "email", which is a R - character object, that represents the email address that you want to use - as a user credential to the AQS Data Mart service. After a successful call to - aqs_sign_up an email message will be sent to the email address provided - with a new Data Mart key which will be used as a credential key to access the - Data Mart API. The aqs_sign_up function can also be used to regenerate a - new key for an existing user, to generate a new key simply call the - aqs_sign_up function with the parameter "email" set to an existing - account. A new key will be e-mailed to the account given. - -The credentials used to access the Data Mart API service are stored in a R - environment variable that needs to be set every time the `RAQSAPI` library is - attached or the key is changed. Without valid credentials, the Data Mart - server will reject any request sent to it. The key used with Data Mart is a - key and is not a password, so the RAQSAPI library does not treat the key as a - password; this means that the key is stored in plain text and there are no - attempts to encrypt Data Mart credentials as would be done for a username and - password combination. The key that is supplied to use with Data Mart is not - intended for authentication but only account monitoring. Each time RAQSAPI is - loaded and before using any of it's functions use the aqs_credentials ^[Use - "?aqs_credentials" after the RAQSAPI library has been loaded to see the full - usage description of the aqs_credentials function.] function - to enter in the user credentials so that RAQSAPI can access the AQS Data Mart - server. - -| Note: The credentials used to access AQS Data Mart \ -API is not the same as the credentials used to access AQS. AQS users who do \ -not have access to the AQS Data Mart will need to create new credentials. \ - | -| -- | - - -## (suggested) Use the `keyring` package to manage credentials -It is highly suggested that users use a keyring manager to store and retrieve -their credentials while using RAQSAPI. One such credential manager is provided -by the `keyring` -package ^[[R `Keyring` package]https://cran.r-project.org/package=keyring)]. -The `Keyring` package uses the credential manager available for most popular -operating systems to store and manage user credentials. This will help avoid -hard coding credential information into R scripts. - -To use the `keyring` package with `RAQSAPI` first install `keyring`: - -```R -install.package("keyring") -``` - -Ensure that your system is supported by the `keyring` package before proceeding. - -```R - keyring::has_keyring_support() -``` - -then set the keyring used to access AQS Data Mart (make sure to replace the text -in the angled brackets with your specific user information): - -```R - library("keyring") - keyring::key_set(service = "AQSDatamart", - username = "\") -``` - -a popup window will appear for the user to input their keyring information. -Enter the AQS Data mart credential key associated with the AQS user name -provided, then hit enter. Now the AQS Data Mart user credential is set using -`keyring`. - -To retrieve the keyring to use with `RAQSAPI` load the `keyring` package and use -the function key_get to return the user credential to RAQSAPI: - -```R - library(RAQSAPI) - library(keyring) - datamartAPI_user <- \ - server <- "AQSDatamart" -``` - -then pass these variables to the aqs_credentials function when using RAQSAPI: - -```R - aqs_credentials(username = datamartAPI_user, - key = key_get(service = server, - username = datamartAPI_user - ) - ) -``` -To change the keyring stored with the `keyring` package repeat the steps above -to call the keyring::key_set function again with the new credential information. - -To retrieve a list of all keyrings managed with the `keyring` package use -the function: -> keyring::key_list() - -Refer the the[`keyring` package documentation]( -https://cran.r-project.org/package=keyring/readme/README.html) -for an in depth explanation on using the `keyring` package. diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/acs-nano.csl b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/acs-nano.csl deleted file mode 100644 index 17c71ed..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/acs-nano.csl +++ /dev/null @@ -1,18 +0,0 @@ - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/american-chemical-society.csl b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/american-chemical-society.csl deleted file mode 100644 index e428327..0000000 --- a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/american-chemical-society.csl +++ /dev/null @@ -1,279 +0,0 @@ - - diff --git a/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/AQS_LOGO.png b/RAQSAPI.Rcheck/00_pkg_src/RAQSAPI/vignettes/figures/AQS_LOGO.png deleted file mode 100644 index 0382bbeff826a199f973594de8c283bfa1c19a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108565 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

f3W%xpd$zrCU7-+}5^HT7 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 diff --git a/RAQSAPI.Rcheck/RAQSAPI-Ex.R b/RAQSAPI.Rcheck/RAQSAPI-Ex.R deleted file mode 100644 index f9fe16c..0000000 --- a/RAQSAPI.Rcheck/RAQSAPI-Ex.R +++ /dev/null @@ -1,2581 +0,0 @@ -pkgname <- "RAQSAPI" -source(file.path(R.home("share"), "R", "examples-header.R")) -options(warn = 1) -options(pager = "console") -base::assign(".ExTimings", "RAQSAPI-Ex.timings", pos = 'CheckExEnv') -base::cat("name\tuser\tsystem\telapsed\n", file=base::get(".ExTimings", pos = 'CheckExEnv')) -base::assign(".format_ptime", -function(x) { - if(!is.na(x[4L])) x[1L] <- x[1L] + x[4L] - if(!is.na(x[5L])) x[2L] <- x[2L] + x[5L] - options(OutDec = '.') - format(x[1L:3L], digits = 7L) -}, -pos = 'CheckExEnv') - -### * -library('RAQSAPI') - -base::assign(".oldSearch", base::search(), pos = 'CheckExEnv') -base::assign(".old_wd", base::getwd(), pos = 'CheckExEnv') -cleanEx() -nameEx("aqs_annualsummary_by_box") -### * aqs_annualsummary_by_box - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_annualsummary_by_box -### Title: aqs_annualsummary_by_box -### Aliases: aqs_annualsummary_by_box - -### ** Examples - -# Returns a tibble containing ozone annual summaries - # in the vicinity of central Alabama for the first two days - # of May, 2015 - ## Not run: -##D aqs_annualsummary_by_box(parameter = "44201", -##D bdate = as.Date("20150501", -##D format = "%Y%m%d"), -##D edate = as.Date("20170502", -##D format = "%Y%m%d"), -##D minlat = "33.3", -##D maxlat = "33.6", -##D minlon = "-87.0", -##D maxlon = "-86.7" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_annualsummary_by_box", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_annualsummary_by_cbsa") -### * aqs_annualsummary_by_cbsa - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_annualsummary_by_cbsa -### Title: aqs_annualsummary_by_cbsa -### Aliases: aqs_annualsummary_by_cbsa - -### ** Examples - -# Returns a tibble of annual summary $NO_{2}$ - # data the for Charlotte-Concord-Gastonia, NC cbsa on - # Janurary 01, 2017 - ## Not run: -##D aqs_annualsummary_by_cbsa(parameter = "42602", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D cbsa_code = "16740" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_annualsummary_by_cbsa", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_annualsummary_by_county") -### * aqs_annualsummary_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_annualsummary_by_county -### Title: aqs_annualsummary_by_county -### Aliases: aqs_annualsummary_by_county - -### ** Examples - -# returns an aqs S3 object with annual summary FRM/FEM - # PM2.5 data for Wake County, NC between January - # and February 2016 - ## Not run: -##D aqs_annualsummary_by_county(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180228", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_annualsummary_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_annualsummary_by_site") -### * aqs_annualsummary_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_annualsummary_by_site -### Title: aqs_annualsummary_by_site -### Aliases: aqs_annualsummary_by_site - -### ** Examples - -# Returns a tibble of annual summary ozone - # data for the Millbrook School site (\#0014) in Wake County, - # NC for 2017 (Note, for annual data, only the - # year portion of the bdate and edate are used and only whole - # years of data are returned. For example, bdate = 2017-12-31 and - # edate = 2018-01-01 will return full data for 2017 and 2018 ) - ## Not run: -##D aqs_annualsummary_by_site(parameter = "44201", -##D bdate = as.Date("20170618", -##D format="%Y%m%d"), -##D edate = as.Date("20190618", -##D format="%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_annualsummary_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_annualsummary_by_state") -### * aqs_annualsummary_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_annualsummary_by_state -### Title: aqs_annualsummary_by_state -### Aliases: aqs_annualsummary_by_state - -### ** Examples - -# returns a tibble of all benzene annualy - # summaries from North Carolina collected for 1995 - ## Not run: -##D aqs_annualsummary_by_state(parameter = "45201", -##D bdate = as.Date("19950515", -##D format="%Y%m%d" -##D ), -##D edate = as.Date("19950515", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "37" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_annualsummary_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_cbsas") -### * aqs_cbsas - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_cbsas -### Title: aqs_cbsas -### Aliases: aqs_cbsas - -### ** Examples - -# Returns a tibble of Core Based Statistical Areas (cbsas) - # and their respective cbsa codes - ## Not run: aqs_cbsas() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_cbsas", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_classes") -### * aqs_classes - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_classes -### Title: aqs_classes -### Aliases: aqs_classes - -### ** Examples - -# Returns a tibble of parameter classes (groups of parameters, i.e. - # "criteria" or all") - ## Not run: aqs_classes() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_classes", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_counties_by_state") -### * aqs_counties_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_counties_by_state -### Title: aqs_counties_by_state -### Aliases: aqs_counties_by_state - -### ** Examples - - # Returns a tibble all the counties - # in North Carolina the county FIPS codes (county codes) for - # each. - ## Not run: aqs_counties_by_state(stateFIPS = "37") - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_counties_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_credentials") -### * aqs_credentials - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_credentials -### Title: aqs_credentials -### Aliases: aqs_credentials - -### ** Examples - - #to authenticate an existing user the email address - # "John.Doe@myemail.com" and key = "MyKey" - # after calling this function please follow the instructions that are sent - # in the verification e-mail before proceeding. - ## Not run: -##D aqs_credentials(username = "John.Doe@myemail.com", -##D key = "MyKey") -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_credentials", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_dailysummary_by_box") -### * aqs_dailysummary_by_box - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_dailysummary_by_box -### Title: aqs_dailysummary_by_box -### Aliases: aqs_dailysummary_by_box - -### ** Examples - -#Returns a tibble of ozone daily summaries in the vicinity of - # central Alabama for the first two days of May 2015 - - ## Not run: -##D aqs_dailysummary_by_box(parameter = "44201", -##D bdate = as.Date("20140501", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20160502", -##D format = "%Y%m%d" -##D ), -##D mqinlat ="33.3", -##D maxlat = "33.6", -##D minlon = "-87.0", -##D maxlon = "-86.7" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_dailysummary_by_box", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_dailysummary_by_cbsa") -### * aqs_dailysummary_by_cbsa - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_dailysummary_by_cbsa -### Title: aqs_dailysummary_by_cbsa -### Aliases: aqs_dailysummary_by_cbsa - -### ** Examples - -# Returns a tibble of $NO_{2}$ daily summary - # data the for Charlotte-Concord-Gastonia, NC cbsa on - # Janurary 01, 2017 - ## Not run: -##D aqs_dailysummary_by_cbsa(parameter = "42602", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190101", -##D format = "%Y%m%d" -##D ), -##D cbsa_code = "16740" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_dailysummary_by_cbsa", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_dailysummary_by_county") -### * aqs_dailysummary_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_dailysummary_by_county -### Title: aqs_dailysummary_by_county -### Aliases: aqs_dailysummary_by_county - -### ** Examples - -# returns an aqs S3 object of daily summary FRM/FEM PM2.5 data - # for Wake County, NC between January and February 2016 - ## Not run: -##D aqs_dailysummary_by_county(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20170228", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_dailysummary_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_dailysummary_by_site") -### * aqs_dailysummary_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_dailysummary_by_site -### Title: aqs_dailysummary_by_site -### Aliases: aqs_dailysummary_by_site - -### ** Examples - -#Returns a tibble of daily summary ozone - # data for the Millbrook School site (\#0014) in Wake County, - # NC for June 18, 2017. - ## Not run: -##D aqs_dailysummary_by_site(parameter = "44201", -##D bdate = as.Date("20160618", -##D format = "%Y%m%d"), -##D edate = as.Date("20190618", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_dailysummary_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_dailysummary_by_state") -### * aqs_dailysummary_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_dailysummary_by_state -### Title: aqs_dailysummary_by_state -### Aliases: aqs_dailysummary_by_state - -### ** Examples - -# returns a tibble of all benzene daily - # summaries from North Carolina collected on May 15th, 1995 - ## Not run: -##D aqs_dailysummary_by_state(parameter = "45201", -##D bdate = as.Date("19950515", -##D format="%Y%m%d" -##D ), -##D edate = as.Date("19970515", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "37" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_dailysummary_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_fields_by_service") -### * aqs_fields_by_service - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_fields_by_service -### Title: aqs_fieldsbyservice -### Aliases: aqs_fields_by_service - -### ** Examples - -# Returns a tibble containing a list and definitions - # of fields in the Sample Data service - ## Not run: aqs_fieldsbyservice(service = "sampleData") - - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_fields_by_service", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_isavailable") -### * aqs_isavailable - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_isavailable -### Title: aqs_isavailable -### Aliases: aqs_isavailable - -### ** Examples - - # Check if the AQS API is up, running and accepting requests. - ## Not run: aqs_isAvailable() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_isavailable", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_knownissues") -### * aqs_knownissues - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_knownissues -### Title: aqs_knownissues -### Aliases: aqs_knownissues - -### ** Examples - - # Retrieve a tibble of known issues directly from the AQS data mart API - ## Not run: aqs_knownissues() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_knownissues", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_mas") -### * aqs_mas - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_mas -### Title: aqs_mas -### Aliases: aqs_mas - -### ** Examples - -# Returns a tibble or an AQS_Data Mart_APIv2 S3 object - # of monitoring agencies and their respective - # monitoring agency codes. - ## Not run: aqs_mas() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_mas", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_monitors_by_box") -### * aqs_monitors_by_box - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_monitors_by_box -### Title: aqs_monitors_by_box -### Aliases: aqs_monitors_by_box - -### ** Examples - -# Returns a tibble of all ozone - # monitors in the vicinity of central Alabama that operated in - # 1995 - ## Not run: -##D aqs_monitors_by_box(parameter="44201", -##D bdate=as.Date("19950101", -##D format="%Y%m%d"), -##D edate=as.Date("19951231", -##D format="%Y%m%d"), -##D minlat="33.3", -##D maxlat="33.6", -##D minlon="-87.0", -##D maxlon="-86.7" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_monitors_by_box", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_monitors_by_cbsa") -### * aqs_monitors_by_cbsa - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_monitors_by_cbsa -### Title: aqs_monitors_by_cbsa -### Aliases: aqs_monitors_by_cbsa - -### ** Examples - -# returns a tibble of $NO_{2}$ monitors - # for Charlotte-Concord-Gastonia, NC cbsa that were operating - # on Janurary 01, 2017 - ## Not run: -##D aqs_monitors_by_cbsa(parameter="42602", -##D bdate=as.Date("20170101", -##D format="%Y%m%d"), -##D edate=as.Date("20170101", -##D format="%Y%m%d"), -##D cbsa_code="16740" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_monitors_by_cbsa", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_monitors_by_county") -### * aqs_monitors_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_monitors_by_county -### Title: aqs_monitors_by_county -### Aliases: aqs_monitors_by_county - -### ** Examples - -# returns an aqs_v2 S3 object containing all SO2 monitors in - # Hawaii County, HI that were operating between May 01-02, 2015. - ## Not run: -##D aqs_monitors_by_county(parameter="42401", -##D bdate=as.Date("20150501", format="%Y%m%d"), -##D edate=as.Date("20150502", format="%Y%m%d"), -##D stateFIPS="15", -##D countycode="001" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_monitors_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_monitors_by_site") -### * aqs_monitors_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_monitors_by_site -### Title: aqs_monitors_by_site -### Aliases: aqs_monitors_by_site - -### ** Examples - - #Returns a tibble of the SO2 monitors at Hawaii - # Volcanoes NP site (\#0007) in Hawaii County, HI that were operating - # between May 1 , 2015-2019. (Note, all monitors that operated between the - # bdate and edate will be returned). - ## Not run: -##D aqs_monitors_by_site(parameter = "42401", -##D bdate = as.Date("20150501", -##D format="%Y%m%d"), -##D edate = as.Date("20190501", -##D format="%Y%m%d"), -##D stateFIPS = "15", -##D countycode = "001", -##D sitenum = "0007" -##D ) -##D -## End(Not run) - - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_monitors_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_monitors_by_state") -### * aqs_monitors_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_monitors_by_state -### Title: aqs_monitors_by_state -### Aliases: aqs_monitors_by_state - -### ** Examples - -# returns a tibble of SO2 monitors in Hawaii - # that were operating on May 01, 2017 - ## Not run: -##D aqs_monitors_by_state(parameter="88101", -##D bdate=as.Date("20170101", -##D format="%Y%m%d"), -##D edate=as.Date("20171231", -##D format="%Y%m%d"), -##D stateFIPS="01" -##D ) -##D -## End(Not run) - - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_monitors_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_parameters_by_class") -### * aqs_parameters_by_class - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_parameters_by_class -### Title: aqs_parameters_by_class -### Aliases: aqs_parameters_by_class - -### ** Examples - -# Returns a tibble of AQS parameters in the criteria class - ## Not run: aqs_parameters_by_class(class = "CRITERIA") - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_parameters_by_class", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_pqaos") -### * aqs_pqaos - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_pqaos -### Title: aqs_pqaos -### Aliases: aqs_pqaos - -### ** Examples - -# Returns a tibble of primary quality assurance - # organizations (pqaos) - ## Not run: aqs_pqaos() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_pqaos", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceeval_by_MA") -### * aqs_qa_annualperformanceeval_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceeval_by_MA -### Title: aqs_qa_annualperformanceeval_by_MA -### Aliases: aqs_qa_annualperformanceeval_by_MA - -### ** Examples - - # Returns a tibble containing annual performance evaluation data - # for ozone where the monitoring agency is the Alabama Department - # of Environmental Management (MA_code 0013). - ## Not run: -##D aqs_qa_annualperformanceeval_by_MA(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceeval_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceeval_by_county") -### * aqs_qa_annualperformanceeval_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceeval_by_county -### Title: aqs_qa_annualperformanceeval_by_county -### Aliases: aqs_qa_annualperformanceeval_by_county - -### ** Examples - -# Returns a tibble containing annual performance evaluation data - # (raw) for ozone in Baldwin County, AL for 2017 in RD format. - ## Not run: -##D aqs_qa_annualperformanceeval_by_county(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "003" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceeval_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceeval_by_pqao") -### * aqs_qa_annualperformanceeval_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceeval_by_pqao -### Title: aqs_qa_annualperformanceeval_by_pqao -### Aliases: aqs_qa_annualperformanceeval_by_pqao - -### ** Examples - -# Returns a tibble containing annual performance evaluation data - # for ozone where the PQAO is the Alabamaba Department of - # Environmental Management (pqao_code 0013). - ## Not run: -##D aqs_qa_annualperformanceeval_by_pqao(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceeval_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceeval_by_site") -### * aqs_qa_annualperformanceeval_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceeval_by_site -### Title: aqs_qa_annualperformanceeval_by_site -### Aliases: aqs_qa_annualperformanceeval_by_site - -### ** Examples - -#Returns a tibble containing annual performance evaluation data for - # ozone at the Fairhope site in Baldwin County, AL for 2017 - ## Not run: -##D aqs_qa_annualperformanceeval_by_site(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "003", -##D sitenum = "0010" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceeval_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceeval_by_state") -### * aqs_qa_annualperformanceeval_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceeval_by_state -### Title: aqs_qa_annualperformanceeval_by_state -### Aliases: aqs_qa_annualperformanceeval_by_state - -### ** Examples - -# Returns a tibble containing annual performance evaluation - # data for ozone in Alabamba for 2017. - ## Not run: -##D aqs_qa_annualperformanceeval_by_state(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceeval_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceevaltransaction_by_MA") -### * aqs_qa_annualperformanceevaltransaction_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceevaltransaction_by_MA -### Title: aqs_qa_annualperformanceevaltransaction_by_MA -### Aliases: aqs_qa_annualperformanceevaltransaction_by_MA - -### ** Examples - -# Returns a tibble containing annual performance evaluation data - # for ozone in where the MA is the Alabama Department of - # Environmental Management (MA_code 0013) for 2017 in RD format. - ## Not run: -##D aqs_qa_annualperformanceevaltransaction_by_MA(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceevaltransaction_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceevaltransaction_by_county") -### * aqs_qa_annualperformanceevaltransaction_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceevaltransaction_by_county -### Title: aqs_qa_annualperformanceevaltransaction_by_site -### Aliases: aqs_qa_annualperformanceevaltransaction_by_county - -### ** Examples - -# Returns a tibble containing annual performance evaluation data - # (raw) for ozone in Baldwin County, AL for 2017 in RD format. - ## Not run: -##D aqs_qa_annualperformanceevaltransaction_by_county(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "003" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceevaltransaction_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceevaltransaction_by_pqao") -### * aqs_qa_annualperformanceevaltransaction_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceevaltransaction_by_pqao -### Title: aqs_qa_annualperformanceevaltransaction_by_pqao -### Aliases: aqs_qa_annualperformanceevaltransaction_by_pqao - -### ** Examples - -#Returns a tibble containing annual performance evaluation data for - # ozone in where the PQAO is the Alabama Department of - # Environmental Management (pqao_code 0013) for 2017 in RD format. - ## Not run: -##D aqs_qa_annualperformanceevaltransaction_by_pqao(parameter = -##D "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceevaltransaction_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceevaltransaction_by_site") -### * aqs_qa_annualperformanceevaltransaction_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceevaltransaction_by_site -### Title: aqs_qa_annualperformanceevaltransaction_by_site -### Aliases: aqs_qa_annualperformanceevaltransaction_by_site - -### ** Examples - -#Returns a tibble containing annual performance evaluation data - # (raw) for ozone at the Fairhope site in Baldwin County, AL for - # 2017 in RD format. -## Not run: -##D aqs_qa_annualperformanceevaltransaction_by_site(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "003", -##D sitenum = "0010" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceevaltransaction_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_annualperformanceevaltransaction_by_state") -### * aqs_qa_annualperformanceevaltransaction_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_annualperformanceevaltransaction_by_state -### Title: aqs_qa_annualperformanceevaltransaction_by_state -### Aliases: aqs_qa_annualperformanceevaltransaction_by_state - -### ** Examples - -# Returns a tibble containing annual performance evaluation data - # for ozone in Alabmba for 2017 in RD format. -## Not run: -##D aqs_qa_annualperformanceevaltransaction_by_state(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d") -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_annualperformanceevaltransaction_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_blanks_by_MA") -### * aqs_qa_blanks_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_blanks_by_MA -### Title: aqs_qa_blanks_by_MA -### Aliases: aqs_qa_blanks_by_MA - -### ** Examples - -# Returns a tibble containing PM2.5 blank data in - # January 2018 where the Monitoring Agency is the Alabama - # Department of Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_blanks_by_MA(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20190131", -##D format = "%Y%m%d"), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_blanks_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_blanks_by_county") -### * aqs_qa_blanks_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_blanks_by_county -### Title: aqs_qa_blanks_by_county -### Aliases: aqs_qa_blanks_by_county - -### ** Examples - -# returns a tibble with PM2.5 blank data for - # Colbert County, AL for January 2018 - ## Not run: -##D aqs_qa_blanks_by_county(parameter = "88101", -##D bdate = as.Date("20170101", -##D format="%Y%m%d"), -##D edate = as.Date("20190131", -##D format="%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "033" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_blanks_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_blanks_by_pqao") -### * aqs_qa_blanks_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_blanks_by_pqao -### Title: aqs_qa_blanks_by_pqao -### Aliases: aqs_qa_blanks_by_pqao - -### ** Examples - -# Returns tibble of PM2.5 blank data in - # January 2018 where the PQAO is the Alabama Department of - # Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_blanks_by_pqao(parameter = "88101", -##D bdate = as.Date("20180101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_blanks_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_blanks_by_site") -### * aqs_qa_blanks_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_blanks_by_site -### Title: aqs_qa_blanks_by_site -### Aliases: aqs_qa_blanks_by_site - -### ** Examples - -#Returns a tibble of PM2.5 blank - # data for the Muscle Shoals site (#0014) in Colbert County, AL - # for January 2018 - ## Not run: -##D aqs_qa_blanks_by_site(parameter = "88101", -##D bdate = as.Date("20170101", -##D format="%Y%m%d"), -##D edate = as.Date("20190131", -##D format="%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "033", -##D sitenum = "1002" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_blanks_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_blanks_by_state") -### * aqs_qa_blanks_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_blanks_by_state -### Title: aqs_qa_blanks_by_state -### Aliases: aqs_qa_blanks_by_state - -### ** Examples - -# returns a tibble which contains PM2.5 blank data - # for Alabama for January 2018 - ## Not run: -##D aqs_qa_blanks_by_state(parameter = "88101", -##D bdate = as.Date("20180101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_blanks_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_collocated_assessments_by_MA") -### * aqs_qa_collocated_assessments_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_collocated_assessments_by_MA -### Title: aqs_qa_collocated_assessments_by_MA -### Aliases: aqs_qa_collocated_assessments_by_MA - -### ** Examples - -# Returns a tibble containing collocated assessment - # data for FRM PM2.5 January 2013 where the Monitoring Agency is - # the Alabama Department of Environmental Management - # (agency 0013) - ## Not run: -##D aqs_qa_collocated_assessments_by_MA(parameter="88101", -##D bdate = as.Date("20130101", -##D format = "%Y%m%d"), -##D edate = as.Date("20150131", -##D format="%Y%m%d"), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_collocated_assessments_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_collocated_assessments_by_county") -### * aqs_qa_collocated_assessments_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_collocated_assessments_by_county -### Title: aqs_qa_collocated_assessments_by_county -### Aliases: aqs_qa_collocated_assessments_by_county - -### ** Examples - -# Returns a tibble with collocated assessment data - # for FRM PM2.5 in Madison County, AL for January 2015 - ## Not run: -##D aqs_qa_collocated_assessments_by_county(parameter = "88101", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20150131", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "01", -##D countycode = "089" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_collocated_assessments_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_collocated_assessments_by_pqao") -### * aqs_qa_collocated_assessments_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_collocated_assessments_by_pqao -### Title: aqs_qa_collocated_assessments_by_pqao -### Aliases: aqs_qa_collocated_assessments_by_pqao - -### ** Examples - -# Returns a tibble of collocated assessment - # data for FRM PM2.5 in January 2013 where the PQAO is the Alabama - # Department of Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_collocated_assessments_by_pqao(parameter = "88101", -##D bdate = as.Date("20130101", -##D format = "%Y%m%d"), -##D edate = as.Date("20150131", -##D format = "%Y%m%d"), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_collocated_assessments_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_collocated_assessments_by_site") -### * aqs_qa_collocated_assessments_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_collocated_assessments_by_site -### Title: aqs_qa_collocated_assessments_by_site -### Aliases: aqs_qa_collocated_assessments_by_site - -### ** Examples - -#returns a tibble of collocated assessment data - # for FRM PM2.5 at the Huntsville Old Airport site (\#0014) - # in Madison County, AL for January 2015: - ## Not run: -##D aqs_qa_collocated_assessments_by_site(parameter = "88101", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20150131", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "01", -##D countycode = "089", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_collocated_assessments_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_collocated_assessments_by_state") -### * aqs_qa_collocated_assessments_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_collocated_assessments_by_state -### Title: aqs_qa_collocated_assessments_by_state -### Aliases: aqs_qa_collocated_assessments_by_state - -### ** Examples - -# returns a tibble of collocated - # assessment data for FRM2.5 for January 2013 - ## Not run: -##D aqs_qa_collocated_assessments_by_state(parameter="88101", -##D bdate = as.Date("20130101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20150131", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_collocated_assessments_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateaudit_by_MA") -### * aqs_qa_flowrateaudit_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateaudit_by_MA -### Title: aqs_qa_flowrateaudit_by_MA -### Aliases: aqs_qa_flowrateaudit_by_MA - -### ** Examples - - # returns a tibble of flow rate audit data - # for FRM PM2.5 January 2016 - Januray 2018 where the Monitoring Agency is - # the Jefferson County, AL Department of Health (agency 0550) - ## Not run: -##D aqs_qa_flowrateaudit_by_MA(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D MA_code = "0550" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateaudit_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateaudit_by_county") -### * aqs_qa_flowrateaudit_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateaudit_by_county -### Title: aqs_qa_flowrateaudit_by_county -### Aliases: aqs_qa_flowrateaudit_by_county - -### ** Examples - -#Returns a tibble of flow rate audit data for - # Jefferson County, AL for January 2018 - ## Not run: -##D aqs_qa_flowrateaudit_by_county(parameter = "88101", -##D bdate = as.Date("20170101", -##D format="%Y%m%d"), -##D edate = as.Date("20190131", -##D format = "%Y%m%d"), -##D tateFIPS = "01", -##D countycode = "073" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateaudit_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateaudit_by_pqao") -### * aqs_qa_flowrateaudit_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateaudit_by_pqao -### Title: aqs_qa_flowrateaudit_by_pqao -### Aliases: aqs_qa_flowrateaudit_by_pqao - -### ** Examples - -# Returns a tibble of flow rate audit data for January - # 2018 where the PQAO is the Jefferson County, AL Department of - # Health (agency 0550). - ## Not run: -##D aqs_qa_flowrateaudit_by_pqao(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D pqao_code = "0550" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateaudit_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateaudit_by_site") -### * aqs_qa_flowrateaudit_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateaudit_by_site -### Title: aqs_qa_flowrate audit_by_site -### Aliases: aqs_qa_flowrateaudit_by_site - -### ** Examples - -# returns a tibble of flow rate audit data - # for the Wylam site (#2003) in Jefferson County, AL - # for January 2018: - ## Not run: -##D aqs_qa_flowrateaudit_by_site(parameter = "88101", -##D bdate = as.Date("20150101", -##D format="%Y%m%d"), -##D edate = as.Date("20180131", -##D format="%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "073", -##D sitenum = "2003" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateaudit_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateaudit_by_state") -### * aqs_qa_flowrateaudit_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateaudit_by_state -### Title: aqs_qa_flowrateaudit_by_state -### Aliases: aqs_qa_flowrateaudit_by_state - -### ** Examples - -# returns a tibble of flow rate audit - # data for Alabama in January 2018 - ## Not run: -##D aqs_qa_flowrateaudit_by_state(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateaudit_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateverification_by_MA") -### * aqs_qa_flowrateverification_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateverification_by_MA -### Title: aqs_qa_flowrateverification_by_MA -### Aliases: aqs_qa_flowrateverification_by_MA - -### ** Examples - - # Returns a tibble containing collocated assessment - # data for FRM PM2.5 January 2013 where the Monitoring Agency is - # the Alabama Department of Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_flowrateverification_by_MA(parameter = "88101", -##D bdate = as.Date("20130101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20150131", -##D format = "%Y%m%d" -##D ), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateverification_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateverification_by_county") -### * aqs_qa_flowrateverification_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateverification_by_county -### Title: aqs_qa_flowrateverification_by_county -### Aliases: aqs_qa_flowrateverification_by_county - -### ** Examples - -# returns a tibble of flow rate verification data for - # Colbert County, AL for January 2018 - ## Not run: -##D aqs_qa_flowrateverification_by_county(parameter = "88101", -##D bdate = as.Date("20180101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190131", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "01", -##D countycode = "033" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateverification_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateverification_by_pqao") -### * aqs_qa_flowrateverification_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateverification_by_pqao -### Title: aqs_qa_flowrateverification_by_pqao -### Aliases: aqs_qa_flowrateverification_by_pqao - -### ** Examples - -# returns a tibble of flow rate verification - # data for January 2018 where the PQAO is the Alabama Department - # of Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_flowrateverification_by_pqao(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190131", -##D format = "%Y%m%d" -##D ), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateverification_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateverification_by_site") -### * aqs_qa_flowrateverification_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateverification_by_site -### Title: aqs_qa_flowrateverification_by_site -### Aliases: aqs_qa_flowrateverification_by_site - -### ** Examples - -# returns a tibble of flow rate verification - # data for the Muscle Shoals site (#1002) in Colbert County, AL - # for January 2018: - ## Not run: -##D aqs_qa_flowrateverification_by_site(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "033", -##D sitenum = "1002" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateverification_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_flowrateverification_by_state") -### * aqs_qa_flowrateverification_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_flowrateverification_by_state -### Title: aqs_qa_flowrateverification_by_state -### Aliases: aqs_qa_flowrateverification_by_state - -### ** Examples - -# Returns a tibble of flow rate verification data for the state of - # Alabama for 2017-2019 - ## Not run: -##D aqs_qa_flowrateverification_by_state(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190131", -##D format="%Y%m%d" -##D ), -##D stateFIPS = "01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_flowrateverification_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_one_point_qc_by_MA") -### * aqs_qa_one_point_qc_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_one_point_qc_by_MA -### Title: aqs_qa_one_point_qc_by_MA -### Aliases: aqs_qa_one_point_qc_by_MA - -### ** Examples - -# returns a tibble of ozone One Point QC data - # in January 2018 where the Monitoring Agency is the - # Massachusetts Department of Environmental Protection - # (agency 0660) - ## Not run: -##D aqs_qa_one_point_qc_by_MA(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D MA_code = "0660" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_one_point_qc_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_one_point_qc_by_county") -### * aqs_qa_one_point_qc_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_one_point_qc_by_county -### Title: aqs_qa_one_point_qc_by_county_ -### Aliases: aqs_qa_one_point_qc_by_county - -### ** Examples - -#returns a tibble of One Point QC data for ozone - # in Barnstable County, MA for January 2018 - ## Not run: -##D aqs_qa_one_point_qc_by_county(parameter= "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = a s.Date("20180131", -##D format = "%Y%m%d"), -##D stateFIPS = "25", -##D countycode = "001" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_one_point_qc_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_one_point_qc_by_pqao") -### * aqs_qa_one_point_qc_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_one_point_qc_by_pqao -### Title: aqs_qa_one_point_qc_by_pqao -### Aliases: aqs_qa_one_point_qc_by_pqao - -### ** Examples - - # returns a tibble of ozone One Point QC - # data for Jan 2017 - January 2018 where the PQAO is the Massachusetts - # Department of Environmental Protection (agency 0660) - ## Not run: -##D aqs_qa_one_point_qc_by_pqao(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D pqao_code = "0660" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_one_point_qc_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_one_point_qc_by_site") -### * aqs_qa_one_point_qc_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_one_point_qc_by_site -### Title: aqs_qa_one_point_qc_by_site -### Aliases: aqs_qa_one_point_qc_by_site - -### ** Examples - -# returns a tibbble of One Point QC data for - # ozone at the Truro National Seashore site (\#0002) in - # Barnstable County, MA for January 2018: - ## Not run: -##D aqs_qa_one_point_qc_by_site(parameter = "44201", -##D bdate = as.Date("20180101", -##D format = "%Y%m%d"), -##D edate = as.Date("20180131", -##D format = "%Y%m%d"), -##D stateFIPS = "25", -##D countycode = "001", -##D sitenum = "0002" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_one_point_qc_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_one_point_qc_by_state") -### * aqs_qa_one_point_qc_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_one_point_qc_by_state -### Title: aqs_qa_one_point_qc_by_state -### Aliases: aqs_qa_one_point_qc_by_state - -### ** Examples - -# returns a tibble of one point QC check - # data for ozone in Massachusettes in January 2018 - ## Not run: -##D aqs_qa_one_point_qc_by_state(parameter = "44201", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190131", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "25" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_one_point_qc_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_pep_audit_by_MA") -### * aqs_qa_pep_audit_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_pep_audit_by_MA -### Title: aqs_qa_pep_audit_by_MA -### Aliases: aqs_qa_pep_audit_by_MA - -### ** Examples - -# Returns a tibble of PEP audit data for - # June 2017 where the Monitoring Agency is the Alabama Department - # of Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_pep_audit_by_MA(parameter = "88101", -##D bdate = as.Date("20170601", -##D format = "%Y%m%d"), -##D edate = as.Date("20170630", -##D format = "%Y%m%d"), -##D MA_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_pep_audit_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_pep_audit_by_county") -### * aqs_qa_pep_audit_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_pep_audit_by_county -### Title: aqs_qa_pep_audit_by_county -### Aliases: aqs_qa_pep_audit_by_county - -### ** Examples - -# returns a tibble with PEP Audit data for FRM - # PM2.5 in Madison County, AL for 2017 - ## Not run: -##D aqs_qa_pep_audit_by_county_multiyear(parameter = "88101", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20171231", -##D format = "%Y%m%d" -##D ), -##D stateFIPS = "01", -##D countycode = "089" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_pep_audit_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_pep_audit_by_pqao") -### * aqs_qa_pep_audit_by_pqao - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_pep_audit_by_pqao -### Title: aqs_qa_pep_audit_by_pqao -### Aliases: aqs_qa_pep_audit_by_pqao - -### ** Examples - -# returns a tibble of PEP audit data for - # June 2017 where the pqao is the Alabama Department of - # Environmental Management (agency 0013) - ## Not run: -##D aqs_qa_pep_audit_by_pqao(parameter = "88101", -##D bdate = as.Date("20170601", -##D format = "%Y%m%d" -##D ), -##D edate = as.Date("20190630", -##D format = "%Y%m%d"), -##D pqao_code = "0013" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_pep_audit_by_pqao", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_pep_audit_by_site") -### * aqs_qa_pep_audit_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_pep_audit_by_site -### Title: aqs_qa_pep_audit_by_site -### Aliases: aqs_qa_pep_audit_by_site - -### ** Examples - -# returns a tibble of pep Audit data for FRM PM2.5 - # at the Huntsville Old Airport site (\#0014) in Madison County, - # AL for 2017 - 2019. - ## Not run: -##D aqs_qa_pep_audit_by_site(parameter = "88101", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20191231", -##D format = "%Y%m%d"), -##D stateFIPS = "01", -##D countycode = "089", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_pep_audit_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_qa_pep_audit_by_state") -### * aqs_qa_pep_audit_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_qa_pep_audit_by_state -### Title: aqs_qa_pep_audit_by_state -### Aliases: aqs_qa_pep_audit_by_state - -### ** Examples - -# returns a tibble of PEP audit data for PM2.5 in Alabama 2017 - ## Not run: -##D aqs_qa_pep_audit_by_state_multiyear(parameter="88101", -##D bdate=as.Date("20160101", -##D format="%Y%m%d"), -##D edate=as.Date("20171231", -##D format="%Y%m%d"), -##D stateFIPS="01" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_qa_pep_audit_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_quarterlysummary_by_box") -### * aqs_quarterlysummary_by_box - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_quarterlysummary_by_box -### Title: aqs_quarterlysummary_by_box -### Aliases: aqs_quarterlysummary_by_box - -### ** Examples - -# Returns a tibble containing ozone quarterly summaries - # in the vicinity of central Alabama for each quarter in - # between 2015 - 2017 - ## Not run: -##D aqs_quarterlysummary_by_box(parameter = "44201", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D minlat = "33.3", -##D maxlat = "33.6", -##D minlon = "-87.0", -##D maxlon = "-86.7" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_quarterlysummary_by_box", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_quarterlysummary_by_cbsa") -### * aqs_quarterlysummary_by_cbsa - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_quarterlysummary_by_cbsa -### Title: aqs_quarterlysummary_by_cbsa -### Aliases: aqs_quarterlysummary_by_cbsa - -### ** Examples - -# Returns a tibble of $NO_{2}$ quartyerly summary - # data the for Charlotte-Concord-Gastonia, NC cbsa for - # each quarter in 2017. - ## Not run: -##D aqs_quarterlysummary_by_cbsa(parameter = "42602", -##D bdate = as.Date("20170101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D cbsa_code = "16740" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_quarterlysummary_by_cbsa", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_quarterlysummary_by_county") -### * aqs_quarterlysummary_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_quarterlysummary_by_county -### Title: aqs_quarterlysummary_by_county -### Aliases: aqs_quarterlysummary_by_county - -### ** Examples - -# returns a tibble containing quarterly summaries for - # FRM/FEM PM2.5 data for Wake County, NC for each quarter of 2016 - ## Not run: -##D aqs_quarterlysummary_by_county(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20170228", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_quarterlysummary_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_quarterlysummary_by_site") -### * aqs_quarterlysummary_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_quarterlysummary_by_site -### Title: aqs_quarterlysummary_by_site -### Aliases: aqs_quarterlysummary_by_site - -### ** Examples - -# returns a tibble containing quarterly summaries for - # FRM/FEM PM2.5 data for Millbrook School in Wake County, NC - # for each quarter of 2016 - ## Not run: -##D aqs_quarterlysummary_by_site(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20160331", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_quarterlysummary_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_quarterlysummary_by_state") -### * aqs_quarterlysummary_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_quarterlysummary_by_state -### Title: aqs_quarterlysummary_by_state -### Aliases: aqs_quarterlysummary_by_state - -### ** Examples - -# Returns an aqs S3 object containing quarterly summaries for - # FRM/FEM PM2.5 data for North Carolina for each quater of 2016 - ## Not run: -##D aqs_quarterlysummary_by_state(parameter = "88101", -##D bdate = as.Date("20160101", -##D format = "%Y%m%d"), -##D edate = as.Date("20171231", -##D format = "%Y%m%d"), -##D stateFIPS = "37" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_quarterlysummary_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_removeheader") -### * aqs_removeheader - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_removeheader -### Title: aqs_removeheader -### Aliases: aqs_removeheader - -### ** Examples - - ## Not run: AQSobject <- aqs_removeheader(AQSobject) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_removeheader", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_revisionhistory") -### * aqs_revisionhistory - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_revisionhistory -### Title: aqs_revisionhistory -### Aliases: aqs_revisionhistory - -### ** Examples - - # Returns a DataFrame of the EPA AQS Data Mart API revision history - # \dontrun{aqs_revisionHistory()} - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_revisionhistory", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledata_by_box") -### * aqs_sampledata_by_box - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledata_by_box -### Title: aqs_sampledata_by_box -### Aliases: aqs_sampledata_by_box - -### ** Examples - -# Returns a tibble containing all ozone samples - # in the vicinity of central Alabama between - # May 1, 2015 - May 2, 2017 - ## Not run: -##D aqs_sampledata_by_box(parameter = "44201", -##D bdate = as.Date("20150501", -##D format = "%Y%m%d"), -##D edate = as.Date("20170502", -##D format = "%Y%m%d"), -##D minlat = "33.3", -##D maxlat = "33.6", -##D minlon = "-87.0", -##D maxlon = "-86.7" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledata_by_box", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledata_by_cbsa") -### * aqs_sampledata_by_cbsa - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledata_by_cbsa -### Title: aqs_sampledata_by_cbsa -### Aliases: aqs_sampledata_by_cbsa - -### ** Examples - -# returns tibble which contains $NO_{2}$ data - # for Charlotte-Concord-Gastonia, NC cbsa for - # Janurary 1, 2015 - Janurary 01, 2017 - ## Not run: -##D aqs_sampledata_by_cbsa(parameter = "42602", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d"), -##D edate = as.Date("20170101", -##D format = "%Y%m%d"), -##D cbsa_code = "16740" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledata_by_cbsa", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledata_by_county") -### * aqs_sampledata_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledata_by_county -### Title: aqs_sampledata_by_county -### Aliases: aqs_sampledata_by_county - -### ** Examples - -# returns all FRM/FEM PM2.5 data for Wake County, NC between - # January 1, 2015 - February 28, 2016 - ## Not run: -##D aqs_sampledata_by_county(parameter = "88101", -##D bdate = as.Date("20150101", -##D format = "%Y%m%d"), -##D edate=as.Date("20160228", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledata_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledata_by_site") -### * aqs_sampledata_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledata_by_site -### Title: aqs_sampledata_by_site -### Aliases: aqs_sampledata_by_site - -### ** Examples - -#Returns a table of ozone monitoring data for the Millbrook School - # site (/#0014) in Wake County, NC for June 18, 2017. - ## Not run: -##D aqs_sampledata_by_site(parameter = "44201", -##D bdate = as.Date("20170618", -##D format = "%Y%m%d"), -##D edate = as.Date("20190618", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledata_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledata_by_state") -### * aqs_sampledata_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledata_by_state -### Title: aqs_sampledata_by_state -### Aliases: aqs_sampledata_by_state - -### ** Examples - -# Returns a tibble with all benzene samples from - # North Carolina collected from May 15th, 1995 - May 15, 1999 - ## Not run: -##D aqs_sampledata_by_state(parameter = "45201", -##D bdate = as.Date("19950515", -##D format="%Y%m%d" -##D ), -##D edate = as.Date("19990515", -##D format = "%Y%m%d"), -##D stateFIPS = "37" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledata_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sampledurations") -### * aqs_sampledurations - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sampledurations -### Title: aqs_sampledurations -### Aliases: aqs_sampledurations - -### ** Examples - -# Returns a tibble or an AQS_Data Mart_APIv2 S3 object of - ## Not run: aqs_sampledurations() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sampledurations", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sign_up") -### * aqs_sign_up - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sign_up -### Title: aqs_sign_up -### Aliases: aqs_sign_up - -### ** Examples - -# to register a new user or generate a new key with the email - # address "John.Doe/@myemail.com" - ## Not run: aqs_sign_up(email = "John.Doe/@myemail.com") - # after calling this function please follow the instructions that - # are sent in the verification e-mail before proceeding. - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sign_up", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_sites_by_county") -### * aqs_sites_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_sites_by_county -### Title: aqs_sites_by_county -### Aliases: aqs_sites_by_county - -### ** Examples - -# Returns an AQS_Data Mart_APIv2 S3 object witch returns all sites - # in Hawaii County, HI - ## Not run: -##D aqs_sites_by_county(stateFIPS = "15", -##D countycode = "001") -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_sites_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_states") -### * aqs_states - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_states -### Title: aqs_states -### Aliases: aqs_states - -### ** Examples - -# Returns a tibble of states and their FIPS codes - ## Not run: aqs_states() - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_states", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_transactionsample_by_MA") -### * aqs_transactionsample_by_MA - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_transactionsample_by_MA -### Title: aqs_transactionsample_MA -### Aliases: aqs_transactionsample_by_MA - -### ** Examples - -#Returns a tibble of ozone transaction sample data for all monitors - #operated by South Coast Air Quality Management District collected - #on May 15, 2015 - ## Not run: -##D aqs_transactionsample_by_MA(parameter = "44201", -##D bdate = as.Date("20150515", -##D format = "%Y%m%d"), -##D edate = as.Date("20150515", -##D format = "%Y%m%d"), -##D MA_code = "0972" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_transactionsample_by_MA", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_transactionsample_by_county") -### * aqs_transactionsample_by_county - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_transactionsample_by_county -### Title: aqs_transactionsample_by_county -### Aliases: aqs_transactionsample_by_county - -### ** Examples - - ## Not run: -##D # Returns all FRM/FEM transaction data for -##D # Wake County, NC between on Feb 28, 2016. -##D aqs_transactionsample_by_county(parameter = "88101", -##D bdate = as.Date("20160228", -##D format = "%Y%m%d"), -##D edate = as.Date("20160228", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_transactionsample_by_county", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_transactionsample_by_site") -### * aqs_transactionsample_by_site - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_transactionsample_by_site -### Title: aqs_transactionsample_by_site -### Aliases: aqs_transactionsample_by_site - -### ** Examples - -#Returns a AQS_Data Mart_APIv2 S3 object of the returns - ## Not run: -##D # returns all ozone transaction data for the -##D # Millbrook School site (#0014) in Wake County, NC for -##D # June 18, 2017 -##D aqs_transactionsample_by_site(parameter = "44201", -##D bdate = as.Date("20170618", -##D format = "%Y%m%d"), -##D edate = as.Date("20170618", -##D format = "%Y%m%d"), -##D stateFIPS = "37", -##D countycode = "183", -##D sitenum = "0014" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_transactionsample_by_site", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -cleanEx() -nameEx("aqs_transactionsample_by_state") -### * aqs_transactionsample_by_state - -flush(stderr()); flush(stdout()) - -base::assign(".ptime", proc.time(), pos = "CheckExEnv") -### Name: aqs_transactionsample_by_state -### Title: aqs_transactionsample_by_state -### Aliases: aqs_transactionsample_by_state - -### ** Examples - -#Returns a AQS_Data Mart_APIv2 S3 object of - ## Not run: -##D # Returns a tibble containing benzene transaction sample -##D # data for North Carolina on May 15, 1995 -##D aqs_transactionsample_by_state(parameter = "45201", -##D bdate = as.Date("19950515", -##D format = "%Y%m%d"), -##D edate = as.Date("19950515", -##D format = "%Y%m%d"), -##D stateFIPS = "37" -##D ) -##D -## End(Not run) - - - -base::assign(".dptime", (proc.time() - get(".ptime", pos = "CheckExEnv")), pos = "CheckExEnv") -base::cat("aqs_transactionsample_by_state", base::get(".format_ptime", pos = 'CheckExEnv')(get(".dptime", pos = "CheckExEnv")), "\n", file=base::get(".ExTimings", pos = 'CheckExEnv'), append=TRUE, sep="\t") -### *

NW+|395H?67>5h*;VbZQy`1j-}?>!xa= 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

+
+ +(10) +Druskat, S.; Spaaks, J. H.; Chue +Hong, N.; Haines, R.; Baker, J.; Bliven, S.; Willighagen, E.; +Pérez-Suárez, D.; Konovalov, A. Citation File Format, 2021. +. + +
+
[^1]: RAQSAPI’s rate limit does not guarantee that the user will not go diff --git a/cran-comments.Rmd b/cran-comments.Rmd index 151480b..aa4665b 100644 --- a/cran-comments.Rmd +++ b/cran-comments.Rmd @@ -7,6 +7,8 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - Added the ability to display server side messages for errors in API calls. + - Added a new CITATION.cff for thanks to R package cffr. - New hexstciker. - aqs_isavailable no longer accepts the return_header parameter, this function just returns a tibble and not a AQS_Data Mart_APIv2 object. diff --git a/cran-comments.md b/cran-comments.md index 151480b..aa4665b 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -7,6 +7,8 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - Added the ability to display server side messages for errors in API calls. + - Added a new CITATION.cff for thanks to R package cffr. - New hexstciker. - aqs_isavailable no longer accepts the return_header parameter, this function just returns a tibble and not a AQS_Data Mart_APIv2 object. diff --git a/vignettes/AQSAPI.bib b/vignettes/AQSAPI.bib index f7576b0..ea66f79 100644 --- a/vignettes/AQSAPI.bib +++ b/vignettes/AQSAPI.bib @@ -138,3 +138,16 @@ @Misc{py3package:pyaqsapi year = {2022}, url = {https://github.com/USEPA/pyaqsapi}, } + +@Misc{package:cffr, + title = {Citation {File} {Format}}, + author = {Stephan Druskat and Jurriaan H. Spaaks and Neil {Chue Hong} and Robert Haines and James Baker and Spencer Bliven and Egon Willighagen and David Pérez-Suárez and Alexander Konovalov}, + year = {2021}, + month = {aug}, + doi = {10.5281/zenodo.5171937}, + url = {https://github.com/citation-file-format/citation-file-format}, + urldate = {2021-11-07}, + copyright = {CC-BY-4.0}, + date = {2021-08}, + abstract = {The Citation File Format lets you provide citation metadata for software or datasets in plaintext files that are easy to read by both humans and machines.}, +} diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index 3798463..ef9d817 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -24,9 +24,10 @@ with them RAQSAPI would not be possible. * README badges are provided by R package `badgecreator`[@package:badgecreatr]. * The R package `usethis`[@package:usethis] was used to generate GitHub actions for Continuous integration (CI). -* Code cleanup was assisted by the R package `lintr`[@package:lintr] +* Code cleanup was assisted by the R package `lintr`[@package:lintr]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAWElEQVR42mNgGPTAxsZmJsVqQApgmGw1yApwKcQiT7phRBuCzzCSDSHGMKINIeDNmWQlA2IigKJwIssQkHdINgxfmBBtGDEBS3KCxBc7pMQgMYE5c/AXPwAwSX4lV3pTWwAAAABJRU5ErkJggg== * the function *install.packages* are provided by the R package `utils`[@RBase] * the function *install_github* are provided by the R package `remotes`[ @package:remotes] * .gitignore file borrowed examples from https://github.com/github/gitignore/blob/master/R.gitignore +* . CITATION.cff file was generated by the R package `cffr` [@package:cffr] From 5944be424a7c2e75b5ef3650d2196bda72b6594e Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 16 Feb 2024 16:12:38 -0500 Subject: [PATCH 14/24] New code to better display issues with API calls and minor other minor documentation related improvements --- .github/workflows/R-CMD-check.yaml | 8 ++++---- DESCRIPTION | 5 +++-- MD5 | 22 +++++++++++----------- R/AQSAPI_helperfunctions.R | 10 +++++----- README.md | 5 ++--- man/RAQSAPI.Rd | 2 +- vignettes/Acknowledgements.Rmd | 2 +- vignettes/RAQSAPIFunctions-Long.R | 26 +++++++++++++------------- vignettes/RAQSAPIFunctions-Long.Rmd | 15 +++++++-------- vignettes/Troubleshooting.Rmd | 12 ++++++------ 10 files changed, 53 insertions(+), 54 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 26580fc..4d2f902 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -2,9 +2,9 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, httr2] + branches: [main, httr2, test_github_workflow] pull_request: - branches: [main, httr2] + branches: [main, httr2, test_github_workflow] name: R-CMD-check @@ -26,8 +26,8 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - RAQSAPIKEY: ${{ secrets.RAQSAPIKEY }} - RAQSAPIUSERNAME: ${{ secrets.RAQSAPIUSERNAME }} + RAQSAPIKEY: ${{ vars.RAQSAPIKEY }} + RAQSAPIUSERNAME: ${{ vars.RAQSAPIUSERNAME }} R_KEEP_PKG_SOURCE: yes steps: diff --git a/DESCRIPTION b/DESCRIPTION index 815e15d..709ae72 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -73,8 +73,9 @@ Suggests: testthat (>= 3.0.0), usethis, withr -SystemRequirements: package manual requires pandoc (>= 1.14) http://pandoc.org -RoxygenNote: 7.2.3 +SystemRequirements: package manual and Vignettes require pandoc + (>= 1.14) http://pandoc.org) +RoxygenNote: 7.3.1 VignetteBuilder: knitr BuildVignettes: true ByteCompile: true diff --git a/MD5 b/MD5 index 23e2ba5..f5ca16c 100644 --- a/MD5 +++ b/MD5 @@ -2,7 +2,7 @@ d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.md bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.Rmd -7b3092d9d1ec246090f159fd55deeb57 *DESCRIPTION +32b197cb6b7fa3ce90996cf9cad52d01 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R @@ -116,10 +116,10 @@ f41ed996be135fb35afe00641621da61 *man/figures/lifecycle-questioning.svg 306bef67d1c636f209024cf2403846fd *man/figures/lifecycle-soft-deprecated.svg ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg -7ce4525010156c02adaf819a8c835134 *man/RAQSAPI.Rd +792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd 797940f405cb85557ee355e7eae5894d *NAMESPACE 904839971aff979c1716322c7d8bcdff *NEWS.md -b63d94a18d37de10925e09e6c3bb2eeb *R/AQSAPI_helperfunctions.R +d214f5204ba0d95601a92910109aad5e *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -feb8f6defa51349e6110273bedcc046b *README.md +4a756ab5cecfa9d56c075e6ed5353d6b *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1329,8 +1329,8 @@ f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R 051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R 014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R -183ed69a443baffdf0454255cade3fcc *vignettes/Acknowledgements.html -18cea3348cace002e6c706d373beb524 *vignettes/Acknowledgements.Rmd +a55434f85eb9ec8d1c4706997b49cc10 *vignettes/Acknowledgements.html +1798121e142b3da718a2e54435a7ef9a *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl e1df58c4692ce8a6e9743bf9d594ff9e *vignettes/AQSAPI.bib @@ -1347,9 +1347,9 @@ ad142c2e81fca7371499f09e294c1dba *vignettes/pyaqsapi.R 733ccd06aa9a7988d1ea78f52c528e55 *vignettes/pyaqsapi.Rmd 8774f9c513ba8110c612b8ccfb9603e3 *vignettes/RAQSAPIFunctions-Brief.html 1dbae57a3f574ccd77b4d2af2c76e831 *vignettes/RAQSAPIFunctions-Brief.Rmd -9b96ebd481321226caedaa7ab4472d05 *vignettes/RAQSAPIFunctions-Long.html -d7c4cb348a250e4f40d1d510cec2df3d *vignettes/RAQSAPIFunctions-Long.R -e923e364682d337856051526b5b8b3a6 *vignettes/RAQSAPIFunctions-Long.Rmd +f1b8ea1d165c0d47b105678c37b32c57 *vignettes/RAQSAPIFunctions-Long.html +7146486d6cb6c29314f88f0e2bbb5ab2 *vignettes/RAQSAPIFunctions-Long.R +e845be67ff86dba758853123789979e5 *vignettes/RAQSAPIFunctions-Long.Rmd d375e86106c359f735a25d53764b7f8e *vignettes/RAQSAPIPurpose.html 2a912d01a36839facb5c2c6dff2d1c7f *vignettes/RAQSAPIPurpose.R 9d564369cb22e187ed61da9fafcac002 *vignettes/RAQSAPIPurpose.Rmd @@ -1360,7 +1360,7 @@ d375e86106c359f735a25d53764b7f8e *vignettes/RAQSAPIPurpose.html 95acca4cbbfe5ebbfcb4c0a3978038bf *vignettes/RAQSAPIvignette.Rmd 42a066ce73b20f2538877f8e4eac1d84 *vignettes/TimelinessofAQSData.html fddf2cec564191b24c0213f260c0f932 *vignettes/TimelinessofAQSData.Rmd -4a6f61ae81515d8b770f30841ef17fc1 *vignettes/Troubleshooting.html -1fee66dbee4d04b47a0b7747ea282a5b *vignettes/Troubleshooting.Rmd +3c09aefb6ebd2dd7f1e623f3eb341b6e *vignettes/Troubleshooting.html +9388c6af388ceb5b62fee3e414452c83 *vignettes/Troubleshooting.Rmd 2f01e9fde3b3c8b82aafc174e2b66833 *vignettes/UsingRAQSAPI.html 969189538d2ec6a0e10ea6d7350ab612 *vignettes/UsingRAQSAPI.Rmd diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index a065b84..e4d423d 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -346,11 +346,11 @@ RAQSAPI_error_msg <- function(AQSresponse) resp_body_json() msg <- glue("At server request time: {AQSresponse$headers$Date} - RAQSAPI experienced an error while processing the following url: - {AQSresponse$url}\n - with status_code: {AQSresponse$status_code} - and status message: {AQSresponse$status} - Server error message: {AQSerr$Header[[1]]$error}") + RAQSAPI experienced an error while processing the following url: + {gsub('(.)', '\\1 ', AQSresponse$url)}\n + with status_code: {AQSresponse$status_code} + and status message: {AQSresponse$status} + Server error message: {AQSerr$Header[[1]]$error}") return(msg) #nocov end diff --git a/README.md b/README.md index 92ca639..94d816c 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--01--03-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--02--16-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -408,8 +408,7 @@ those sources with them RAQSAPI would not be possible. - README badges are provided by R package `badgecreator`5. - The R package `usethis`6 was used to generate GitHub actions for Continuous integration (CI). -- Code cleanup was assisted by the R package - `lintr`7 +- Code cleanup was assisted by the R package `lintr`7 - the function *install.packages* are provided by the R package `utils`8 - the function *install_github* are provided by the R package diff --git a/man/RAQSAPI.Rd b/man/RAQSAPI.Rd index 033a43a..184caa2 100644 --- a/man/RAQSAPI.Rd +++ b/man/RAQSAPI.Rd @@ -2,8 +2,8 @@ % Please edit documentation in R/RAQSAPI-package.R \docType{package} \name{RAQSAPI} -\alias{RAQSAPI} \alias{RAQSAPI-package} +\alias{RAQSAPI} \title{RAQSAPI: A R Interface to The United States Environmental Protection Agency's Air Quality System Data Mart RESTful API server.} \description{ diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index ef9d817..c7c4e5b 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -24,7 +24,7 @@ with them RAQSAPI would not be possible. * README badges are provided by R package `badgecreator`[@package:badgecreatr]. * The R package `usethis`[@package:usethis] was used to generate GitHub actions for Continuous integration (CI). -* Code cleanup was assisted by the R package `lintr`[@package:lintr]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAWElEQVR42mNgGPTAxsZmJsVqQApgmGw1yApwKcQiT7phRBuCzzCSDSHGMKINIeDNmWQlA2IigKJwIssQkHdINgxfmBBtGDEBS3KCxBc7pMQgMYE5c/AXPwAwSX4lV3pTWwAAAABJRU5ErkJggg== +* Code cleanup was assisted by the R package `lintr`[@package:lintr] * the function *install.packages* are provided by the R package `utils`[@RBase] * the function *install_github* are provided by the R package `remotes`[ @package:remotes] diff --git a/vignettes/RAQSAPIFunctions-Long.R b/vignettes/RAQSAPIFunctions-Long.R index 136f2f5..7167f05 100644 --- a/vignettes/RAQSAPIFunctions-Long.R +++ b/vignettes/RAQSAPIFunctions-Long.R @@ -1,4 +1,4 @@ -## ----RAQSAPIfun_all, echo = FALSE, comment = NA---------------------------------------------------------------------------------------- +## ----RAQSAPIfun_all, echo = FALSE, comment = NA--------------------------------------------------------------------------------------------------------------------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>" ) invisible(library(magrittr, warn.conflicts = FALSE, quietly = TRUE)) invisible(library(stringr, warn.conflicts = FALSE, quietly = TRUE)) @@ -106,21 +106,21 @@ RAQSAPI_functions <- c( RAQSAPI_functions %>% cat(sep = " \n") -## ----SIGNUPANDCREDENTIALS, echo = FALSE, comment = NA---------------------------------------------------------------------------------- +## ----SIGNUPANDCREDENTIALS, echo = FALSE, comment = NA--------------------------------------------------------------------------------------------------------------------------------------------------------------- signupandcredentials <- paste(".sign_up", ".credentials", sep = '|') str_subset(string = RAQSAPI_functions, pattern = signupandcredentials) %>% cat(sep = " \n") -## ----METADATAFUNCTIONS, echo = FALSE, comment = NA------------------------------------------------------------------------------------- +## ----METADATAFUNCTIONS, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------------------------------------------------------------ metadatafunctions <- paste(".available", - ".field_by_service", + ".fields_by_service", ".knownissues", sep = '|') str_subset(string = RAQSAPI_functions, pattern = metadatafunctions) %>% cat(sep = " \n") -## ----LISTFUNCTIONS, echo = FALSE, comment = NA----------------------------------------------------------------------------------------- +## ----LISTFUNCTIONS, echo = FALSE, comment = NA---------------------------------------------------------------------------------------------------------------------------------------------------------------------- listfunctions <- paste(".states", ".counties_by_state", ".sites_by_county", @@ -134,49 +134,49 @@ listfunctions <- paste(".states", str_subset(string = RAQSAPI_functions, pattern = listfunctions) %>% cat(sep = " \n") -## ----_by_Sitefunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------- +## ----_by_Sitefunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------------------------------------------------------------ by_sitefunctions <- paste("_by_site", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_sitefunctions) %>% cat(sep = " \n") -## ----_by_countyfuncions, echo = FALSE, comment = NA------------------------------------------------------------------------------------ +## ----_by_countyfuncions, echo = FALSE, comment = NA----------------------------------------------------------------------------------------------------------------------------------------------------------------- by_countyfunctions <- paste("._by_county", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_countyfunctions) %>% cat(sep = " \n") -## ----_by_STATEfunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------ +## ----_by_STATEfunctions, echo = FALSE, comment = NA----------------------------------------------------------------------------------------------------------------------------------------------------------------- by_STATEfunctions <- paste("._by_state", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_STATEfunctions) %>% cat(sep = " \n") -## ----_by_MAfunctions, echo = FALSE, comment = NA--------------------------------------------------------------------------------------- +## ----_by_MAfunctions, echo = FALSE, comment = NA-------------------------------------------------------------------------------------------------------------------------------------------------------------------- by_MAfunctions <- paste("._by_MA", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_MAfunctions) %>% cat(sep = " \n") -## ----bycbsafunctions, echo = FALSE, comment = NA--------------------------------------------------------------------------------------- +## ----bycbsafunctions, echo = FALSE, comment = NA-------------------------------------------------------------------------------------------------------------------------------------------------------------------- by_cbsafunctions <- paste("._by_cbsa", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_cbsafunctions) %>% cat(sep = " \n") -## ----_by_pqaofunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------- +## ----_by_pqaofunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------------------------------------------------------------ by_pqaofunctions <- paste("._by_pqao", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_pqaofunctions) %>% cat(sep = " \n") -## ----_by_BOXfunctions, echo = FALSE, comment = NA-------------------------------------------------------------------------------------- +## ----_by_BOXfunctions, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------------------------------------------------------------- by_BOXfunctions <- paste("._by_box", sep = '|') str_subset(string = RAQSAPI_functions, pattern = by_BOXfunctions) %>% cat(sep = " \n") -## ----misc, echo = FALSE, comment = NA-------------------------------------------------------------------------------------------------- +## ----misc, echo = FALSE, comment = NA------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- misc_functions <- paste("aqs_removeheader", sep = '|') str_subset(string = RAQSAPI_functions, pattern = misc_functions) %>% diff --git a/vignettes/RAQSAPIFunctions-Long.Rmd b/vignettes/RAQSAPIFunctions-Long.Rmd index 359e7c3..865949e 100644 --- a/vignettes/RAQSAPIFunctions-Long.Rmd +++ b/vignettes/RAQSAPIFunctions-Long.Rmd @@ -257,18 +257,19 @@ The RAQSAPI::aqs_credentials function takes two parameters: ## Data Mart API metadata functions ```{r METADATAFUNCTIONS, echo = FALSE, comment = NA} metadatafunctions <- paste(".available", - ".field_by_service", + ".fields_by_service", ".knownissues", sep = '|') str_subset(string = RAQSAPI_functions, pattern = metadatafunctions) %>% cat(sep = " \n") ``` -These functions return Data Mart meta data +These functions return the status of Data Mart API or metadata associated with + it. The RAQSAPI::aqs_isavailable function takes no parameters and returns a table which details the status of the AQS API. -The RAQSAPI::aqs_field_by_Service function takes one parameter, service, +The RAQSAPI::aqs_fields_by_service function takes one parameter, service, which is a R character object which represents the services provided by the AQS API. For a list of available services see [Air Quality System (AQS) API - Services Overview]( @@ -300,7 +301,7 @@ listfunctions <- paste(".states", str_subset(string = RAQSAPI_functions, pattern = listfunctions) %>% cat(sep = " \n") ``` -List functions return the status, API options or groupings that can be used in +List functions return the API options or groupings that can be used in conjunction with other API calls. By default each function in this category returns results as a tibble. If return_header parameter is set to TRUE a AQSAPI_v2 object is returned instead. @@ -580,8 +581,7 @@ functions in this family of functions aggregate data at the county level. * duration (optional): (This parameter is only used in conjunction with *\*sampledata_by_*\* functions). -### Data Mart aggregate functions by Monitoring agency (MA) - +### Data Mart aggregate functions _by_state ```{r _by_STATEfunctions, echo = FALSE, comment = NA} by_STATEfunctions <- paste("._by_state", sep = '|') @@ -607,6 +607,7 @@ functions in this family of functions aggregate data at the state level. * duration (optional): (This parameter is only used in conjunction with *\*sampledata_by_*\* functions). +### Data Mart aggregate functions by Monitoring agency (MA) ```{r _by_MAfunctions, echo = FALSE, comment = NA} by_MAfunctions <- paste("._by_MA", sep = '|') @@ -707,8 +708,6 @@ Functions in this family of functions aggregate data by a * duration (optional): (This parameter is only used in conjunction with *\*sampledata_by_*\* functions). -### Data Mart aggregate functions _by_state - ### RAQSAPI Miscellaneous functions ```{r misc, echo = FALSE, comment = NA} misc_functions <- paste("aqs_removeheader", sep = '|') diff --git a/vignettes/Troubleshooting.Rmd b/vignettes/Troubleshooting.Rmd index 7cf6149..f538d92 100644 --- a/vignettes/Troubleshooting.Rmd +++ b/vignettes/Troubleshooting.Rmd @@ -13,7 +13,7 @@ vignette: > # Troubleshooting -parameters must be supplied exactly as they are specified, for example the +Parameters must be supplied exactly as they are specified, for example the stateFIPS for Alabama is "01", entering a value of "1" for the stateFIPS may lead to unexpected results. Do not omit leading zeros in parameters that expect them. @@ -22,8 +22,8 @@ In Functions that have the return_header=TRUE option set the returned object is an AQSAPI_v2 object, this is a 2 item list where the first object is a tibble with the label \$Header, the second, a tibble with the label \$Data. sampledata functions are limited by the API to one calendar year of data per API call so if -the user requests multiple years of data the sampledata call will return multiple -AQSAPI_v2 objects, one for each call to the API. The returned result is a list -of AQSAPI_v2 objects. In R to access the data in each item in the list the user -will need to use the "double bracket operator" ("[[", "]]") not the single -bracket operator ("[", "]"). +the user requests multiple years of data the sampledata call will return +multiple AQSAPI_v2 objects, one for each call to the API. The returned result is +a list of AQSAPI_v2 objects. In R to access the data in each item in the list +the user will need to use the "double bracket operator" ("[[", "]]") not the +single bracket operator ("[", "]"). From 0f4a8f55cdf8270e2e834da308d98bdbd21bab06 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 16 Feb 2024 18:23:13 -0500 Subject: [PATCH 15/24] edit WORDLIST to include last names from AQSAPI.bib file that is causing build errors --- MD5 | 2 +- inst/WORDLIST | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/MD5 b/MD5 index f5ca16c..b2a50bd 100644 --- a/MD5 +++ b/MD5 @@ -10,7 +10,7 @@ bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.Rmd 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json -f8856800f427562ecf965aa9c4899e8f *inst/WORDLIST +c249300fd572e8b3c57b98e3d3c8745b *inst/WORDLIST e5b82cf7f3c21891bc0643f662a3f1ba *LICENSE 9b3dc9e54281bcaa0a530371869f506c *LICENSE.md e7ec2b281fcab3d1b34b26031438438a *man/aqs_annualsummary_by_box.Rd diff --git a/inst/WORDLIST b/inst/WORDLIST index 63427c4..9d53a9c 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -1,3 +1,4 @@ +Pérez APIv AQS AQSAPI @@ -9,15 +10,21 @@ Angly annualpeferomanceeval annualperformance Badgecreatr +Bliven CBSA CFR +cff +Chue CMD Csárdi DATAMART Datamart +Druskat Github +Haines Hogervorst JSON +Konovalov Lintr Müller ODBC @@ -125,3 +132,6 @@ verifications importFrom annualperformanceeval annualperformanceevaltransaction +Spaaks +Suárez +Willighagen From cac3265c9eb49176fabf93a9a924c4a42a5f411f Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Thu, 22 Feb 2024 14:21:19 -0500 Subject: [PATCH 16/24] debug output added to RAQSAPI_error_msg --- MD5 | 8 ++++---- R/AQSAPI_helperfunctions.R | 3 ++- README.md | 2 +- tests/testthat/helper.R | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/MD5 b/MD5 index b2a50bd..738b94a 100644 --- a/MD5 +++ b/MD5 @@ -119,7 +119,7 @@ bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd 797940f405cb85557ee355e7eae5894d *NAMESPACE 904839971aff979c1716322c7d8bcdff *NEWS.md -d214f5204ba0d95601a92910109aad5e *R/AQSAPI_helperfunctions.R +f2b0589a8087331e39aaa983561329aa *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -4a756ab5cecfa9d56c075e6ed5353d6b *README.md +5680d12ac8564134755c8f3889d17dd8 *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1318,8 +1318,8 @@ b2d403f29050e86e8efa021931ef8649 *revdep/README.md 9566921a96ff55c1a51b6eb898d25884 *tests/spelling.R 846f989b5f8b7a32fa520e52b4675635 *tests/test-RAQSAPI.R.blob 84732d71bac50c96565c4894a24ecc59 *tests/testthat.R -56891c92989166a785013a8953da96a3 *tests/testthat/helper.R -00b1828926ec94b2537bb2343df723d5 *tests/testthat/local.R +89ff48b08754c7fc927acb5b6691bdb1 *tests/testthat/helper.R +d5348436deb0b02017a3f7227ae8e5ab *tests/testthat/local.R 522ea3f8b07f6f4d206ce3fe38f1fbd8 *tests/testthat/test-bybox.R c883634140b22f5fb97c08f909ce377e *tests/testthat/test-byCBSA.R 50d37429e9bf99ad5be17e09d92e16e8 *tests/testthat/test-bycounty.R diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index e4d423d..40cd2d5 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -345,9 +345,10 @@ RAQSAPI_error_msg <- function(AQSresponse) AQSerr <- last_response() %>% resp_body_json() + #debug msg <- glue("At server request time: {AQSresponse$headers$Date} RAQSAPI experienced an error while processing the following url: - {gsub('(.)', '\\1 ', AQSresponse$url)}\n + {str_replace_all(AQSresponse$url, pattern='(.)', '\\1_')}\n #debug {AQSresponse$url} with status_code: {AQSresponse$status_code} and status message: {AQSresponse$status} Server error message: {AQSerr$Header[[1]]$error}") diff --git a/README.md b/README.md index 94d816c..29b2ba5 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--02--16-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--02--22-yellowgreen.svg)](/commits/master)” # EPA Disclaimer diff --git a/tests/testthat/helper.R b/tests/testthat/helper.R index c984b9d..e2bde8b 100644 --- a/tests/testthat/helper.R +++ b/tests/testthat/helper.R @@ -13,5 +13,5 @@ RAQSAPItestsetup_helper <- function() AQScredentials <- list(datamartAPI_user = datamartAPI_user, datamartAPI_key = datamartAPI_key) return(AQScredentials) - } else {print("did not go into if satement")} #debug + } } From d7a71b619451a864a704ed02abe442c53a61aae7 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Mon, 1 Apr 2024 12:49:00 -0400 Subject: [PATCH 17/24] minor change in error output --- MD5 | 6 +++--- R/AQSAPI_helperfunctions.R | 2 +- README.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MD5 b/MD5 index 738b94a..d9eba91 100644 --- a/MD5 +++ b/MD5 @@ -6,7 +6,7 @@ bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.Rmd 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R -6ff6ae2460202c94a0dab25c4cc178de *dev/install_RAQSAPI.R +f6d9a7f697a65fba336f96fa8db1e24b *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -119,7 +119,7 @@ bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd 797940f405cb85557ee355e7eae5894d *NAMESPACE 904839971aff979c1716322c7d8bcdff *NEWS.md -f2b0589a8087331e39aaa983561329aa *R/AQSAPI_helperfunctions.R +f031417051ac3339f2600928ed3b9a29 *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -5680d12ac8564134755c8f3889d17dd8 *README.md +b11756666f31f1f757cc2303dce419a5 *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index 40cd2d5..c5d2e92 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -348,7 +348,7 @@ RAQSAPI_error_msg <- function(AQSresponse) #debug msg <- glue("At server request time: {AQSresponse$headers$Date} RAQSAPI experienced an error while processing the following url: - {str_replace_all(AQSresponse$url, pattern='(.)', '\\1_')}\n #debug {AQSresponse$url} + {str_replace_all(AQSresponse$url, pattern='(.)', '\\1_')}\n with status_code: {AQSresponse$status_code} and status message: {AQSresponse$status} Server error message: {AQSerr$Header[[1]]$error}") diff --git a/README.md b/README.md index 29b2ba5..1a8554b 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--02--22-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--01-yellowgreen.svg)](/commits/master)” # EPA Disclaimer From 784bb8d8638340eb8a629669244c57ea11f45d52 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Tue, 2 Apr 2024 10:37:33 -0400 Subject: [PATCH 18/24] edit github workflow to correct secret name --- .github/workflows/R-CMD-check.yaml | 4 ++-- MD5 | 2 +- README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 4d2f902..3460010 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -26,8 +26,8 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - RAQSAPIKEY: ${{ vars.RAQSAPIKEY }} - RAQSAPIUSERNAME: ${{ vars.RAQSAPIUSERNAME }} + RAQSAPIKEY: ${{ secrets.RAQSAPIKEY }} + RAQSAPIUSERNAME: ${{ secrets.RAQSAPIUSERNAME }} R_KEEP_PKG_SOURCE: yes steps: diff --git a/MD5 b/MD5 index d9eba91..285de3b 100644 --- a/MD5 +++ b/MD5 @@ -133,7 +133,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -b11756666f31f1f757cc2303dce419a5 *README.md +18f76ebd36736b286f12114b4d1a75b1 *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml diff --git a/README.md b/README.md index 1a8554b..e22e76c 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--01-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--02-yellowgreen.svg)](/commits/master)” # EPA Disclaimer From e4eba0bbd092012dac7bba5c56ea88006d951d97 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 5 Apr 2024 09:44:16 -0400 Subject: [PATCH 19/24] add missing importFrom to format_multiple_params_for_api and correct testname in test-byCBSA --- MD5 | 8 ++++---- NAMESPACE | 1 + README.md | 2 +- tests/testthat/test-byCBSA.R | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MD5 b/MD5 index 285de3b..4fb50fe 100644 --- a/MD5 +++ b/MD5 @@ -117,9 +117,9 @@ f41ed996be135fb35afe00641621da61 *man/figures/lifecycle-questioning.svg ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd -797940f405cb85557ee355e7eae5894d *NAMESPACE +eef9bd75f39b496fcfd63a36be7fb5a8 *NAMESPACE 904839971aff979c1716322c7d8bcdff *NEWS.md -f031417051ac3339f2600928ed3b9a29 *R/AQSAPI_helperfunctions.R +f5bb0087a67a6d8912e802b5e53e025a *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R a69de5455537022556f014579766be59 *RAQSAPI.Rproj -18f76ebd36736b286f12114b4d1a75b1 *README.md +0a09f7b01761cf3c04560c3dd27ba89a *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1321,7 +1321,7 @@ b2d403f29050e86e8efa021931ef8649 *revdep/README.md 89ff48b08754c7fc927acb5b6691bdb1 *tests/testthat/helper.R d5348436deb0b02017a3f7227ae8e5ab *tests/testthat/local.R 522ea3f8b07f6f4d206ce3fe38f1fbd8 *tests/testthat/test-bybox.R -c883634140b22f5fb97c08f909ce377e *tests/testthat/test-byCBSA.R +67192eeb2606380b3c349f08851ef9e6 *tests/testthat/test-byCBSA.R 50d37429e9bf99ad5be17e09d92e16e8 *tests/testthat/test-bycounty.R 19a199f8020db0329fe289a41aa71598 *tests/testthat/test-byMA.R f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R diff --git a/NAMESPACE b/NAMESPACE index ababe67..d47ac66 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -139,6 +139,7 @@ importFrom(rlang,format_error_bullets) importFrom(rlang,is_character) importFrom(stringr,str_c) importFrom(stringr,str_detect) +importFrom(stringr,str_replace_all) importFrom(tibble,as_tibble) importFrom(tibble,tibble) importFrom(utils,tail) diff --git a/README.md b/README.md index e22e76c..7d726e2 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--02-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--05-yellowgreen.svg)](/commits/master)” # EPA Disclaimer diff --git a/tests/testthat/test-byCBSA.R b/tests/testthat/test-byCBSA.R index e5f9b29..94a45c7 100644 --- a/tests/testthat/test-byCBSA.R +++ b/tests/testthat/test-byCBSA.R @@ -1,6 +1,6 @@ #' @importFrom magrittr `%>%`() #' @import testthat -test_that("bybox functions", { +test_that("byCBSA functions", { testthat::skip_on_cran() testthat::skip_if_offline() From 38c6786da91ad0dc675b6400eeb927d4ebc7bd70 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Fri, 5 Apr 2024 09:48:31 -0400 Subject: [PATCH 20/24] add missing importFrom to format_multiple_params_for_api --- R/AQSAPI_helperfunctions.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index c5d2e92..e034720 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -327,6 +327,7 @@ format_multiple_params_for_api <- function(x, separator=",") #' @importFrom glue glue #' @importFrom httr2 last_response resp_body_json #' @importFrom magrittr `%<>%` +#' @importFrom stringr str_replace_all #' #' @description A helper function that is called by httr2::req_error when an #' error is encountered performing a request. This function returns From 1e5880c3cfb79e986eead188f66875855aa6872c Mon Sep 17 00:00:00 2001 From: McCrowey Date: Wed, 15 May 2024 11:52:36 -0400 Subject: [PATCH 21/24] remove dependency on depricated package:goodpractice, very minor change to roxygen2 documentation for aqs_sampledurations --- .Rbuildignore | 1 + .github/workflows/R-CMD-check.yaml | 4 ++-- .gitignore | 1 + CITATION.cff | 27 +-------------------------- DESCRIPTION | 1 - MD5 | 23 ++++++++++++----------- R/RAQSAPIlistfunctions.R | 2 +- README.md | 4 ++-- codemeta.json | 12 ------------ cran-comments.Rmd | 1 + cran-comments.md | 1 + man/aqs_sampledurations.Rd | 2 +- 12 files changed, 23 insertions(+), 56 deletions(-) diff --git a/.Rbuildignore b/.Rbuildignore index 0af9392..6662fd1 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -46,3 +46,4 @@ codemeta.json ^.tar.gz ^.zip ^CITATION\.cff$ +^RAQSAPI\.code-workspace$ diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 3460010..49a3d77 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -26,8 +26,8 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - RAQSAPIKEY: ${{ secrets.RAQSAPIKEY }} - RAQSAPIUSERNAME: ${{ secrets.RAQSAPIUSERNAME }} + RAQSAPIKEY: "${{ secrets.RAQSAPIKEY }}" + RAQSAPIUSERNAME: "${{ secrets.RAQSAPIUSERNAME }}" R_KEEP_PKG_SOURCE: yes steps: diff --git a/.gitignore b/.gitignore index c719412..4d471d9 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ dev/.experimental.R # RAQSAPI package files *.tar.gz *.zip +RAQSAPI.code-workspace diff --git a/CITATION.cff b/CITATION.cff index c0844b6..8829566 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ # CITATION file created with {cffr} R package, v0.5.0 # See also: https://docs.ropensci.org/cffr/ # ----------------------------------------------------------- - + cff-version: 1.2.0 message: 'To cite package "RAQSAPI" in publications use:' type: software @@ -274,31 +274,6 @@ references: email: jenny@rstudio.com orcid: https://orcid.org/0000-0002-6983-2759 year: '2023' -- type: software - title: goodpractice - abstract: 'goodpractice: Advice on R Package Building' - notes: Suggests - url: https://github.com/mangothecat/goodpractice - repository: https://CRAN.R-project.org/package=goodpractice - authors: - - family-names: Marks - given-names: Karina - email: karina.marks@ascent.io - - family-names: de Bortoli - given-names: Daniel - - family-names: Csardi - given-names: Gabor - email: csardi.gabor@gmail.com - - family-names: Frick - given-names: Hannah - email: hannah.frick@gmail.com - - family-names: Jones - given-names: Owen - email: owenjonesuob@gmail.com - - family-names: Alexander - given-names: Hannah - email: halexander@mango-solutions.com - year: '2023' - type: software title: keyring abstract: 'keyring: Access the System Credential Store from R' diff --git a/DESCRIPTION b/DESCRIPTION index 709ae72..b63f0ad 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -63,7 +63,6 @@ Imports: Suggests: covr, devtools, - goodpractice, keyring, knitr, markdown, diff --git a/MD5 b/MD5 index 4fb50fe..09ac774 100644 --- a/MD5 +++ b/MD5 @@ -1,12 +1,12 @@ -2d3e0e574783202b33c52d6feba58dd3 *CITATION.cff -d3a7f7cc6aca27a043309d5bf9f32edc *codemeta.json -bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.md -bfa24dfc7e0f2f217163fa917e8d2392 *cran-comments.Rmd -32b197cb6b7fa3ce90996cf9cad52d01 *DESCRIPTION +3fe0b2d4c41b6a7ddea1fcc2dc0742a0 *CITATION.cff +f4ff2345ea66f98028bea8e07bb9b6fa *codemeta.json +6e5839d0c24939143566d26d7f427fce *cran-comments.md +6e5839d0c24939143566d26d7f427fce *cran-comments.Rmd +d4d029fe53e81834a1917cfedb301963 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R -f6d9a7f697a65fba336f96fa8db1e24b *dev/install_RAQSAPI.R +c7475d24c66f403e4d930e4d99750f66 *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -91,7 +91,7 @@ a8f79ece8b275d2f60fc09a58239e661 *man/aqs_quarterlysummary_by_site.Rd 4232385c24cb5041c7ad57ec9279a798 *man/aqs_sampledata_by_county.Rd d6bccf166ae844172cf9b241c89093e2 *man/aqs_sampledata_by_site.Rd a10c5684e68d35cebb418f849c058609 *man/aqs_sampledata_by_state.Rd -0557bd694ffc18246eda85f4813fc2d1 *man/aqs_sampledurations.Rd +e18bec0d4aa22d14a5c796adc3998d91 *man/aqs_sampledurations.Rd f9d84d9671e9c011e40dcf3567f3aa47 *man/aqs_services_by_box.Rd 9291322a3bd3a17248904a0bfcf32d2f *man/aqs_services_by_cbsa.Rd 9ca1f01ed3c413b5c8cd1f9f2bec9f3d *man/aqs_services_by_county.Rd @@ -129,11 +129,12 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R 2e6e59d801dc3b6bd5e415ada7268469 *R/bystate.R 5b01d32e630b9b68041a139e4ae6f748 *R/deprecated.R 87275ab3c5bd1af63ecfbd835ea8f53b *R/RAQSAPI-package.R -8bf50a551dbb3798f968436f95e3c343 *R/RAQSAPIlistfunctions.R +cebed24e7ab755d8642a74c7e9b80fd5 *R/RAQSAPIlistfunctions.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R +25bf50b0ec79d01de8b83b7b5801b4ac *RAQSAPI.code-workspace a69de5455537022556f014579766be59 *RAQSAPI.Rproj -0a09f7b01761cf3c04560c3dd27ba89a *README.md +f6cb61c1475f001928bd1c27d5d1fcc7 *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -890,7 +891,7 @@ d6c68f1fe41ced6e98a766a3757313da *revdep/library/RAQSAPI/old/R6/R/R6 9a2c1961edcf2968e9e17856ed21f7ce *revdep/library/RAQSAPI/old/R6/R/R6.rdx 5f3c708ae9a7e3610961d99f3375e60f *revdep/library/RAQSAPI/old/RAQSAPI/CITATION 3df907b50c4f00bc26ee6d988e0c849f *revdep/library/RAQSAPI/old/RAQSAPI/codecov.yml -70e30c409e2788090f475bef50b5022f *revdep/library/RAQSAPI/old/RAQSAPI/DESCRIPTION +ee3578e05ac28d372c75425e260fcecb *revdep/library/RAQSAPI/old/RAQSAPI/DESCRIPTION cf125d5812045cd97093aee831e5c5f5 *revdep/library/RAQSAPI/old/RAQSAPI/doc/Acknowledgements.html 49025d261826350f3050e677eab9dbac *revdep/library/RAQSAPI/old/RAQSAPI/doc/Acknowledgements.Rmd 4b9af1f3b9da96988881ddf1c8d9ee9d *revdep/library/RAQSAPI/old/RAQSAPI/doc/EPA_Disclaimer.html @@ -1319,7 +1320,7 @@ b2d403f29050e86e8efa021931ef8649 *revdep/README.md 846f989b5f8b7a32fa520e52b4675635 *tests/test-RAQSAPI.R.blob 84732d71bac50c96565c4894a24ecc59 *tests/testthat.R 89ff48b08754c7fc927acb5b6691bdb1 *tests/testthat/helper.R -d5348436deb0b02017a3f7227ae8e5ab *tests/testthat/local.R +2a4012f9bf99ddc63f745bd8e4f845dc *tests/testthat/local.R 522ea3f8b07f6f4d206ce3fe38f1fbd8 *tests/testthat/test-bybox.R 67192eeb2606380b3c349f08851ef9e6 *tests/testthat/test-byCBSA.R 50d37429e9bf99ad5be17e09d92e16e8 *tests/testthat/test-bycounty.R diff --git a/R/RAQSAPIlistfunctions.R b/R/RAQSAPIlistfunctions.R index 7b8113a..97e4fe7 100644 --- a/R/RAQSAPIlistfunctions.R +++ b/R/RAQSAPIlistfunctions.R @@ -415,7 +415,7 @@ aqs_fields_by_service <- function(service, return_header = FALSE) #' @description \lifecycle{stable} #' Returns a table of sample durations and their #' associated duration codes. Returned values are not calculated -#' durations such as 8 hour CO or O${_3}$ rolling averages, 3/6 +#' durations such as 8 hour CO or O$_3$ rolling averages, 3/6 #' day PM averages or Pb 3 month rolling averages. #' @importFrom magrittr `%<>%` #' @param return_header If FALSE (default) only returns data requested. diff --git a/README.md b/README.md index 7d726e2..47a1d4b 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--04--05-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--05--15-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -419,7 +419,7 @@ those sources with them RAQSAPI would not be possible. # References -
+
diff --git a/codemeta.json b/codemeta.json index a54a043..47a9e53 100644 --- a/codemeta.json +++ b/codemeta.json @@ -105,18 +105,6 @@ }, "sameAs": "https://CRAN.R-project.org/package=devtools" }, - { - "@type": "SoftwareApplication", - "identifier": "goodpractice", - "name": "goodpractice", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=goodpractice" - }, { "@type": "SoftwareApplication", "identifier": "keyring", diff --git a/cran-comments.Rmd b/cran-comments.Rmd index aa4665b..3f02685 100644 --- a/cran-comments.Rmd +++ b/cran-comments.Rmd @@ -7,6 +7,7 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - remove depricated package:goodpractice from SUGGESTS - Added the ability to display server side messages for errors in API calls. - Added a new CITATION.cff for thanks to R package cffr. - New hexstciker. diff --git a/cran-comments.md b/cran-comments.md index aa4665b..3f02685 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -7,6 +7,7 @@ output: md_document # cran-comments for RAQSAPI ## RAQSAPI 2.0.5 + - remove depricated package:goodpractice from SUGGESTS - Added the ability to display server side messages for errors in API calls. - Added a new CITATION.cff for thanks to R package cffr. - New hexstciker. diff --git a/man/aqs_sampledurations.Rd b/man/aqs_sampledurations.Rd index 19dc7fd..a92ad10 100644 --- a/man/aqs_sampledurations.Rd +++ b/man/aqs_sampledurations.Rd @@ -22,7 +22,7 @@ their associated duration codes \lifecycle{stable} Returns a table of sample durations and their associated duration codes. Returned values are not calculated -durations such as 8 hour CO or O${_3}$ rolling averages, 3/6 +durations such as 8 hour CO or O$_3$ rolling averages, 3/6 day PM averages or Pb 3 month rolling averages. } \note{ From d0ae7b6846906addbbde29771e39f97e89efee7a Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Wed, 15 May 2024 12:50:11 -0400 Subject: [PATCH 22/24] remove news.md from package --- MD5 | 3 +-- NEWS.md | 8 -------- 2 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 NEWS.md diff --git a/MD5 b/MD5 index 09ac774..29b6c6f 100644 --- a/MD5 +++ b/MD5 @@ -6,7 +6,7 @@ d4d029fe53e81834a1917cfedb301963 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R -c7475d24c66f403e4d930e4d99750f66 *dev/install_RAQSAPI.R +f0746c194aa05f99068a1c8c86ce56f2 *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -118,7 +118,6 @@ ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd eef9bd75f39b496fcfd63a36be7fb5a8 *NAMESPACE -904839971aff979c1716322c7d8bcdff *NEWS.md f5bb0087a67a6d8912e802b5e53e025a *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R diff --git a/NEWS.md b/NEWS.md deleted file mode 100644 index 12e9278..0000000 --- a/NEWS.md +++ /dev/null @@ -1,8 +0,0 @@ -% News.md for RAQSAPI -% Clinton Mccrowey Physical Scientist - EPA Region 3 - Air and Radiation Division - Air Quality Analysis Branch - - -# Please see the cran-comments.md document. From 23f4cd725a335460d15d59b8f5d8bcfce11a6f2b Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Thu, 23 May 2024 16:46:47 -0400 Subject: [PATCH 23/24] fix testing credentials in unit tests --- MD5 | 22 +++++++++++----------- R/AQSAPI_helperfunctions.R | 2 +- README.md | 2 +- tests/testthat/test-RAQSAPlistfunctions.R | 4 ++-- tests/testthat/test-byCBSA.R | 4 ++-- tests/testthat/test-byMA.R | 4 ++-- tests/testthat/test-bybox.R | 4 ++-- tests/testthat/test-bycounty.R | 4 ++-- tests/testthat/test-bypqao.R | 4 ++-- tests/testthat/test-bysite.R | 4 ++-- tests/testthat/test-bystate.R | 4 ++-- tests/testthat/test-helperfunctions.R | 4 ++-- 12 files changed, 31 insertions(+), 31 deletions(-) diff --git a/MD5 b/MD5 index 29b6c6f..ab259a2 100644 --- a/MD5 +++ b/MD5 @@ -118,7 +118,7 @@ ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg 792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd eef9bd75f39b496fcfd63a36be7fb5a8 *NAMESPACE -f5bb0087a67a6d8912e802b5e53e025a *R/AQSAPI_helperfunctions.R +68f4c551ed9b572bb7c6a3ab9228b75c *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R bd8b36cc7325d4fc8b8ed894f0046678 *R/bycbsa.R 253ea551f88c65c1c49feff3cb33f552 *R/bycounty.R @@ -133,7 +133,7 @@ e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R 25bf50b0ec79d01de8b83b7b5801b4ac *RAQSAPI.code-workspace a69de5455537022556f014579766be59 *RAQSAPI.Rproj -f6cb61c1475f001928bd1c27d5d1fcc7 *README.md +9f1bd2ef6f1343108dfae0fa0d6d9cac *README.md b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml @@ -1320,15 +1320,15 @@ b2d403f29050e86e8efa021931ef8649 *revdep/README.md 84732d71bac50c96565c4894a24ecc59 *tests/testthat.R 89ff48b08754c7fc927acb5b6691bdb1 *tests/testthat/helper.R 2a4012f9bf99ddc63f745bd8e4f845dc *tests/testthat/local.R -522ea3f8b07f6f4d206ce3fe38f1fbd8 *tests/testthat/test-bybox.R -67192eeb2606380b3c349f08851ef9e6 *tests/testthat/test-byCBSA.R -50d37429e9bf99ad5be17e09d92e16e8 *tests/testthat/test-bycounty.R -19a199f8020db0329fe289a41aa71598 *tests/testthat/test-byMA.R -f7ea691da1baf266047ed7af4b0c4629 *tests/testthat/test-bypqao.R -41e407548ac72ec4f41e678d23a566dd *tests/testthat/test-bysite.R -051416af24d0386f084eb13a14053ce1 *tests/testthat/test-bystate.R -014b81fb9c8d2350e1347841f41b24a3 *tests/testthat/test-helperfunctions.R -e897203bb026b43141e5bc00dfe3cecd *tests/testthat/test-RAQSAPlistfunctions.R +309a8c9de99e4f0c0d5c280cb7583dd6 *tests/testthat/test-bybox.R +635cfa38957358d566d9e5d17057df7b *tests/testthat/test-byCBSA.R +61e14922bc589edf93a461a7fe4112cc *tests/testthat/test-bycounty.R +bfcb21038f480e4e9638486f99b45efa *tests/testthat/test-byMA.R +16213bfccb07c9052826097a6b24407c *tests/testthat/test-bypqao.R +257512f5b5e206aa789cf85fd3f616dd *tests/testthat/test-bysite.R +273dda836db047478bc65a94c7e0a05d *tests/testthat/test-bystate.R +9ac730cce5b9a3d7b4b877512bc4de25 *tests/testthat/test-helperfunctions.R +2391f6b331d4bc3e5e9e6a0b73980eba *tests/testthat/test-RAQSAPlistfunctions.R a55434f85eb9ec8d1c4706997b49cc10 *vignettes/Acknowledgements.html 1798121e142b3da718a2e54435a7ef9a *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl diff --git a/R/AQSAPI_helperfunctions.R b/R/AQSAPI_helperfunctions.R index e034720..176a3a9 100644 --- a/R/AQSAPI_helperfunctions.R +++ b/R/AQSAPI_helperfunctions.R @@ -349,7 +349,7 @@ RAQSAPI_error_msg <- function(AQSresponse) #debug msg <- glue("At server request time: {AQSresponse$headers$Date} RAQSAPI experienced an error while processing the following url: - {str_replace_all(AQSresponse$url, pattern='(.)', '\\1_')}\n + {AQSresponse$url} with status_code: {AQSresponse$status_code} and status message: {AQSresponse$status} Server error message: {AQSerr$Header[[1]]$error}") diff --git a/README.md b/README.md index 47a1d4b..bea07e4 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.or downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--05--15-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--05--23-yellowgreen.svg)](/commits/master)” # EPA Disclaimer diff --git a/tests/testthat/test-RAQSAPlistfunctions.R b/tests/testthat/test-RAQSAPlistfunctions.R index 52e7483..e7ca0ac 100644 --- a/tests/testthat/test-RAQSAPlistfunctions.R +++ b/tests/testthat/test-RAQSAPlistfunctions.R @@ -12,8 +12,8 @@ test_that("list functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-byCBSA.R b/tests/testthat/test-byCBSA.R index 94a45c7..383109f 100644 --- a/tests/testthat/test-byCBSA.R +++ b/tests/testthat/test-byCBSA.R @@ -11,8 +11,8 @@ test_that("byCBSA functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-byMA.R b/tests/testthat/test-byMA.R index 47cb27e..e0e5f2c 100644 --- a/tests/testthat/test-byMA.R +++ b/tests/testthat/test-byMA.R @@ -11,8 +11,8 @@ test_that("byMA functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-bybox.R b/tests/testthat/test-bybox.R index 445206a..61f173c 100644 --- a/tests/testthat/test-bybox.R +++ b/tests/testthat/test-bybox.R @@ -11,8 +11,8 @@ testthat::skip_if_offline() datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-bycounty.R b/tests/testthat/test-bycounty.R index 74c8a7e..300297b 100644 --- a/tests/testthat/test-bycounty.R +++ b/tests/testthat/test-bycounty.R @@ -11,8 +11,8 @@ test_that("bycounty functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-bypqao.R b/tests/testthat/test-bypqao.R index 352469f..9662f77 100644 --- a/tests/testthat/test-bypqao.R +++ b/tests/testthat/test-bypqao.R @@ -11,8 +11,8 @@ test_that("bypqao functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-bysite.R b/tests/testthat/test-bysite.R index 9f2c556..23b5d2f 100644 --- a/tests/testthat/test-bysite.R +++ b/tests/testthat/test-bysite.R @@ -11,8 +11,8 @@ test_that("bysite functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-bystate.R b/tests/testthat/test-bystate.R index a9a9383..23212a7 100644 --- a/tests/testthat/test-bystate.R +++ b/tests/testthat/test-bystate.R @@ -12,8 +12,8 @@ test_that("bystate functions", { datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key diff --git a/tests/testthat/test-helperfunctions.R b/tests/testthat/test-helperfunctions.R index f5e0f9c..0d49c0c 100644 --- a/tests/testthat/test-helperfunctions.R +++ b/tests/testthat/test-helperfunctions.R @@ -13,8 +13,8 @@ if(file.exists("local.R")) datamartAPI_user <- AQScredentials$datamartAPI_user datamartAPI_key <- AQScredentials$datamartAPI_key } else { - datamartAPI_user <- Sys.getenv("RAQSAPIKEY", names = TRUE) - datamartAPI_key <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_user <- Sys.getenv("RAQSAPIUSERNAME", names = TRUE) + datamartAPI_key <- Sys.getenv("RAQSAPIKEY", names = TRUE) } RAQSAPI::aqs_credentials(username = datamartAPI_user, key = datamartAPI_key From c2b0d71d5925e88fb921d40e2559dc36a17d1e37 Mon Sep 17 00:00:00 2001 From: Clinton Mccrowey Date: Mon, 10 Jun 2024 15:57:27 -0400 Subject: [PATCH 24/24] fixed urls, minor changes to biblography --- DESCRIPTION | 4 ++-- MD5 | 18 +++++++++--------- R/RAQSAPI-package.R | 2 +- README.Rmd | 2 +- README.md | 14 ++++++++++++-- man/RAQSAPI.Rd | 6 +++--- vignettes/AQSAPI.bib | 8 +++++++- vignettes/Acknowledgements.Rmd | 2 ++ 8 files changed, 37 insertions(+), 19 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b63f0ad..2ab9ed2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -45,8 +45,8 @@ Authors@R: c(person(given="Clinton", family="Mccrowey", comment = "West Virginia Department of Environmental Protection, Division of Air Quality" ) ) -URL: , - +URL: https://github.com/USEPA/RAQSAPI/, + https://aqs.epa.gov/aqsweb/documents/data_api.html BugReports: https://github.com/USEPA/RAQSAPI/issues Depends: R (>= 4.0.0) Imports: diff --git a/MD5 b/MD5 index ab259a2..a4be22a 100644 --- a/MD5 +++ b/MD5 @@ -2,11 +2,11 @@ f4ff2345ea66f98028bea8e07bb9b6fa *codemeta.json 6e5839d0c24939143566d26d7f427fce *cran-comments.md 6e5839d0c24939143566d26d7f427fce *cran-comments.Rmd -d4d029fe53e81834a1917cfedb301963 *DESCRIPTION +8d3b9fa84140908686c8837fa1056041 *DESCRIPTION 1dc95961c4c280f8645a65d15662725f *dev/contributing.md 4fc13def6ec5d889261f1f22a13ba542 *dev/contributing.Rmd 74e297a0dc0b508ed18e3821264958d0 *dev/countlinesofcode.R -f0746c194aa05f99068a1c8c86ce56f2 *dev/install_RAQSAPI.R +ed21caa73378a9cdf8de4df12cc848c0 *dev/install_RAQSAPI.R 3c41777493d242206848842b6ba74fde *inst/CITATION 3df907b50c4f00bc26ee6d988e0c849f *inst/codecov.yml dd65d70b425fb86f7c8b6d8841a837d8 *inst/schemaorg.json @@ -116,7 +116,7 @@ f41ed996be135fb35afe00641621da61 *man/figures/lifecycle-questioning.svg 306bef67d1c636f209024cf2403846fd *man/figures/lifecycle-soft-deprecated.svg ed42e3fbd7cc30bc6ca8fa9b658e24a8 *man/figures/lifecycle-stable.svg bf2f1ad432ecccee3400afe533404113 *man/figures/lifecycle-superseded.svg -792c28b91a2c0b5e0b060a2f18a20464 *man/RAQSAPI.Rd +14dea302d2901ec5384577249f059654 *man/RAQSAPI.Rd eef9bd75f39b496fcfd63a36be7fb5a8 *NAMESPACE 68f4c551ed9b572bb7c6a3ab9228b75c *R/AQSAPI_helperfunctions.R a3558975d0256839b174ab7868833075 *R/bybox.R @@ -127,14 +127,14 @@ d82b1ff8ee144afca1879e5b8dc58840 *R/byma.R 6acae078848030131e628154099e5f53 *R/bysite.R 2e6e59d801dc3b6bd5e415ada7268469 *R/bystate.R 5b01d32e630b9b68041a139e4ae6f748 *R/deprecated.R -87275ab3c5bd1af63ecfbd835ea8f53b *R/RAQSAPI-package.R +6fb9bc5a422698bef6bdd147006c0439 *R/RAQSAPI-package.R cebed24e7ab755d8642a74c7e9b80fd5 *R/RAQSAPIlistfunctions.R e6e3b87e48f4403642382987b0f40714 *R/setupfunctions.R 6e659bb3bbf313dc819d4c029f0b22d0 *R/zzz.R 25bf50b0ec79d01de8b83b7b5801b4ac *RAQSAPI.code-workspace a69de5455537022556f014579766be59 *RAQSAPI.Rproj -9f1bd2ef6f1343108dfae0fa0d6d9cac *README.md -b2370e0e3f63a29557cd8f74746d74f6 *README.Rmd +1ef6fd253bab1a2805a72a3777e9eff2 *README.md +9e80ce935498c732a40296459634eb91 *README.Rmd 7ed08f3fb96a77ec01c95c2ad7964250 *revdep/data.sqlite 34952a5944548ea4fc132a9899f8e6ab *revdep/email.yml b7715aa47f5635cfb52f34937886aedf *revdep/library/RAQSAPI/old/askpass/DESCRIPTION @@ -1329,11 +1329,11 @@ bfcb21038f480e4e9638486f99b45efa *tests/testthat/test-byMA.R 273dda836db047478bc65a94c7e0a05d *tests/testthat/test-bystate.R 9ac730cce5b9a3d7b4b877512bc4de25 *tests/testthat/test-helperfunctions.R 2391f6b331d4bc3e5e9e6a0b73980eba *tests/testthat/test-RAQSAPlistfunctions.R -a55434f85eb9ec8d1c4706997b49cc10 *vignettes/Acknowledgements.html -1798121e142b3da718a2e54435a7ef9a *vignettes/Acknowledgements.Rmd +ce44f2334218eff76881442d89ebdee0 *vignettes/Acknowledgements.html +36ae3777b8fd72d52f8a4a6bfa756207 *vignettes/Acknowledgements.Rmd 22d607e5d49e10047a911e5d42183c34 *vignettes/acs-nano.csl 0ec78b946a45069323acf54a24c77566 *vignettes/american-chemical-society.csl -e1df58c4692ce8a6e9743bf9d594ff9e *vignettes/AQSAPI.bib +847af4aba6af007f68c8173be0275e23 *vignettes/AQSAPI.bib de323c3deb36e066a7583c5b756ae49b *vignettes/EPA_Disclaimer.html a79d926b2ab509e6a9e575539b205280 *vignettes/EPA_Disclaimer.Rmd 9f8f6638c5178a9bec62665b4cef5e1d *vignettes/figures/AQS_LOGO.png diff --git a/R/RAQSAPI-package.R b/R/RAQSAPI-package.R index 16292f1..68c9a96 100644 --- a/R/RAQSAPI-package.R +++ b/R/RAQSAPI-package.R @@ -3,7 +3,7 @@ #' @title RAQSAPI: A R Interface to The United States Environmental Protection -#' Agency's Air Quality System Data Mart RESTful API server. +#' Agency's Air Quality System Data Mart RESTful API server #' #' @description RAQSAPI is a package for R that connects the R programming #' environment to the United State's Environmental protection agency's diff --git a/README.Rmd b/README.Rmd index 68ecf85..aa1653c 100644 --- a/README.Rmd +++ b/README.Rmd @@ -36,7 +36,7 @@ knitr::opts_chunk$set( [![metacran downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)]( https://cran.r-project.org/package=RAQSAPI) [![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)]( - https://www.tidyverse.org/lifecycle/#maturing) + https://lifecycle.r-lib.org/articles/stages.html) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)]( https://choosealicense.com/) "[![Last-changedate](https://img.shields.io/badge/last%20change- diff --git a/README.md b/README.md index bea07e4..55a30cd 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,9 @@ developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.re status](https://www.r-pkg.org/badges/version/RAQSAPI)](https://CRAN.R-project.org/package=RAQSAPI) [![metacran downloads](https://cranlogs.r-pkg.org/badges/RAQSAPI)](https://cran.r-project.org/package=RAQSAPI) -[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) +[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![license](https://img.shields.io/badge/license-CC0-lightgrey.svg)](https://choosealicense.com/) -“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--05--23-yellowgreen.svg)](/commits/master)” +“[![Last-changedate](https://img.shields.io/badge/last%20change-%202024--06--10-yellowgreen.svg)](/commits/master)” # EPA Disclaimer @@ -416,6 +416,8 @@ those sources with them RAQSAPI would not be possible. - .gitignore file borrowed examples from - . CITATION.cff file was generated by the R package `cffr`10 +- R package `urlchecker`11 was used to check urls in RAQSAPI + documentation # References @@ -512,6 +514,14 @@ Pérez-Suárez, D.; Konovalov, A. Citation File Format, 2021.
+
+ +(11) +R-Lib/Urlchecker on Github. + (accessed 2023-11-30). + +
+
[^1]: RAQSAPI’s rate limit does not guarantee that the user will not go diff --git a/man/RAQSAPI.Rd b/man/RAQSAPI.Rd index 184caa2..c3470e4 100644 --- a/man/RAQSAPI.Rd +++ b/man/RAQSAPI.Rd @@ -5,7 +5,7 @@ \alias{RAQSAPI-package} \alias{RAQSAPI} \title{RAQSAPI: A R Interface to The United States Environmental Protection -Agency's Air Quality System Data Mart RESTful API server.} +Agency's Air Quality System Data Mart RESTful API server} \description{ RAQSAPI is a package for R that connects the R programming environment to the United State's Environmental protection agency's @@ -37,8 +37,8 @@ activity by the USEPA or the United States Government. \seealso{ Useful links: \itemize{ - \item \url{} - \item \url{} + \item \url{https://github.com/USEPA/RAQSAPI/} + \item \url{https://aqs.epa.gov/aqsweb/documents/data_api.html} \item Report bugs at \url{https://github.com/USEPA/RAQSAPI/issues} } diff --git a/vignettes/AQSAPI.bib b/vignettes/AQSAPI.bib index ea66f79..d6ced58 100644 --- a/vignettes/AQSAPI.bib +++ b/vignettes/AQSAPI.bib @@ -147,7 +147,13 @@ @Misc{package:cffr doi = {10.5281/zenodo.5171937}, url = {https://github.com/citation-file-format/citation-file-format}, urldate = {2021-11-07}, - copyright = {CC-BY-4.0}, date = {2021-08}, abstract = {The Citation File Format lets you provide citation metadata for software or datasets in plaintext files that are easy to read by both humans and machines.}, } + +@Misc{package:urlchecker, + title = {r-lib/urlchecker on github}, + authors = {R Core team, Jim Hester, Gábor Csárdi, Posit Software, PBC}, + urldate = {2023-11-30}, + url = {https://github.com/r-lib/urlchecker}, + } diff --git a/vignettes/Acknowledgements.Rmd b/vignettes/Acknowledgements.Rmd index c7c4e5b..e920444 100644 --- a/vignettes/Acknowledgements.Rmd +++ b/vignettes/Acknowledgements.Rmd @@ -31,3 +31,5 @@ with them RAQSAPI would not be possible. * .gitignore file borrowed examples from https://github.com/github/gitignore/blob/master/R.gitignore * . CITATION.cff file was generated by the R package `cffr` [@package:cffr] +* R package `urlchecker` [@package:urlchecker] was used to check urls in RAQSAPI + documentation