Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

weathercan #27

Open
27 tasks
mpadge opened this issue Nov 2, 2021 · 11 comments
Open
27 tasks

weathercan #27

mpadge opened this issue Nov 2, 2021 · 11 comments

Comments

@mpadge
Copy link
Member

mpadge commented Nov 2, 2021

Reviewers:
Language Code
Submitting Author: Name (@github_handle)
Repository: https://github.com/ropensci/weathercan
Version submitted: v0.0.1
Submission type: Standard
Editor: TBD
Reviewers: TBD

Archive: TBD
Version accepted: TBD


  • Paste the full DESCRIPTION file inside a code block below:

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

  • Who is the target audience and what are scientific applications of this package?

  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?

  • (If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

@ropensci-review-bot
Copy link
Collaborator

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

@ropensci-review-bot
Copy link
Collaborator

Missing values: language

@ropensci-review-bot
Copy link
Collaborator

🚀

The following problem was found in your submission template:

  • 'author1' variable must be GitHub hanle only ('@myhandle')
    Editors: Please ensure these problems with the submission template are rectified. Package checks have been started regardless.

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for weathercan (v0.6.1.9000)

git hash: d1c70f4d

  • ✔️ Package name is available
  • ✔️ has a 'CITATION' file.
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✖️ These functions do not have examples: [codes.Rd, finches.Rd, flags.Rd, glossary_normals.Rd, glossary.Rd, kamloops_day.Rd, kamloops.Rd, normals_measurements.Rd, pg.Rd].
  • ✔️ Package has continuous integration checks.
  • ✖️ Package coverage failed
  • ✖️ R CMD check found 1error.
  • ✔️ R CMD check found no warnings.

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL-3


1. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 7 files) and
  • 1 authors
  • 12 vignettes
  • 9 internal data files
  • 15 imported packages
  • 8 exported functions (median 28 lines of code)
  • 84 non-exported functions in R (median 10 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 7 41.4
files_vignettes 10 99.2
files_tests 54 99.1
loc_R 1264 72.7
loc_vignettes 147 62.6
loc_tests 53047 99.7 TRUE
num_vignettes 12 99.8 TRUE
data_size_total 214000 87.7
data_size_median 4789 74.2
n_fns_r 92 68.3
n_fns_r_exported 8 35.1
n_fns_r_not_exported 84 74.0
n_fns_per_file_r 8 78.1
num_params_per_fn 4 67.6
loc_per_fn_r 10 40.0
loc_per_fn_r_exp 28 63.2
loc_per_fn_r_not_exp 10 47.1
rel_whitespace_R 21 76.5
rel_whitespace_vignettes 150 95.1 TRUE
rel_whitespace_tests 1 96.4 TRUE
doclines_per_fn_exp 50 63.9
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 51 62.7

1a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)

3a. Continuous Integration Badges

github

GitHub Workflow Results

name conclusion sha date
R-CMD-check 43a27d 2021-11-02
test-coverage 43a27d 2021-11-02

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following error:

  1. checking tests ...
    Running ‘testthat.R’
    ERROR
    Running the tests in ‘tests/testthat.R’ failed.
    Last 13 lines of output:
    4. │ └─rlang::eval_bare(expr, quo_get_env(quo))
    5. └─testthat::expect_silent(...)
    ── Failure (test_08_normals.R:250:5): normals_dl() gets extreme wind chill correctly ──
    nd <- normals_dl(climate_id = "2100517") produced messages.
    Backtrace:
    1. ├─expect_silent(nd <- normals_dl(climate_id = "2100517")) %>% expect_is("tbl_df") test_08_normals.R:250:4
    2. ├─testthat::expect_is(., "tbl_df")
    3. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
    4. │ └─rlang::eval_bare(expr, quo_get_env(quo))
    5. └─testthat::expect_silent(nd <- normals_dl(climate_id = "2100517"))

[ FAIL 37 | WARN 0 | SKIP 7 | PASS 637 ]
Error: Test failures
Execution halted

R CMD check generated the following note:

  1. checking data for non-ASCII characters ... NOTE
    Note: found 3 marked UTF-8 strings

R CMD check generated the following test_fail:

  1. library(testthat)

library(weathercan)
weathercan v0.6.1.9000
The internal stations data has been deprecated in favour of the function stations().
See ?stations for more details.

Sys.setenv("R_TESTS" = "")

test_check("weathercan")
══ Skipped tests ═══════════════════════════════════════════════════════════════
• On CRAN (7)

══ Failed tests ════════════════════════════════════════════════════════════════
── Failure (test_02_utils.R:19:3): check_ids() as expected ─────────────────────
check_ids(1795, stations(), type = "station_id") produced messages.
── Failure (test_02_utils.R:20:3): check_ids() as expected ─────────────────────
check_ids("301AR54", stations(), type = "climate_id") produced messages.
── Failure (test_03_station_dl.R:83:2): stations() /stations_meta() return data ──
s <- stations() produced messages.
Backtrace:

  1. ├─expect_silent(s <- stations()) %>% expect_s3_class("data.frame") test_03_station_dl.R:83:1
  2. ├─testthat::expect_s3_class(., "data.frame")
  3. │ └─testthat::quasi_label(enquo(object), arg = "object")
  4. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  5. └─testthat::expect_silent(s <- stations())
    ── Failure (test_03_station_dl.R:189:3): stations_search quiet/verbose ─────────
    stations_search(c(54, -122), quiet = TRUE) produced messages.
    ── Failure (test_03_station_dl.R:190:3): stations_search quiet/verbose ─────────
    stations_search(coords = c(54, -122), quiet = TRUE) produced messages.
    ── Failure (test_03_station_dl.R:253:3): stations_search returns normals only ──
    s <- stations_search("Brandon", normals_years = "current") produced messages.
    ── Failure (test_03_station_dl.R:258:3): stations_search returns normals only ──
    s1 <- stations_search("Brandon", normals_years = "1981-2010") produced messages.
    ── Failure (test_03_station_dl.R:262:3): stations_search returns normals only ──
    s2 <- stations_search("Brandon", normals_years = "1971-2000") produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:19:3): weather (hour) returns a data frame ──
    weather_dl(station_ids = 51423, start = "2014-01-01", end = "2014-01-31") produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:49:3): weather (hour) formats timezone display ──
    { ... } produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:57:3): weather (hour) formats NL timezone ──
    { ... } produced messages.
    Backtrace:
  6. ├─vcr::use_cassette(...) test_06_weather_dl_1_hour.R:57:2
  7. │ └─cassette$call_block(...)
  8. ├─%>%(...) test_06_weather_dl_1_hour.R:58:4
  9. ├─testthat::expect_is(., "data.frame")
  10. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  11. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  12. └─testthat::expect_silent(...)
    ── Failure (test_06_weather_dl_1_hour.R:69:3): weather (hour) multiple stations ──
    { ... } produced messages.
    Backtrace:
  13. ├─vcr::use_cassette(...) test_06_weather_dl_1_hour.R:69:2
  14. │ └─cassette$call_block(...)
  15. └─testthat::expect_silent(...) test_06_weather_dl_1_hour.R:70:4
    ── Failure (test_06_weather_dl_1_hour.R:78:3): weather (hour) multiple stations ──
    { ... } produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:88:3): weather (hour) multiple stations ──
    { ... } produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:100:3): weather (hour) gets all ────────
    ... <- NULL produced messages.
    Backtrace:
  16. ├─vcr::use_cassette(...) test_06_weather_dl_1_hour.R:100:2
  17. │ └─cassette$call_block(...)
  18. └─testthat::expect_silent(...) test_06_weather_dl_1_hour.R:101:4
    ── Failure (test_06_weather_dl_1_hour.R:175:3): weather (hour) verbose and quiet ──
    weather_dl(...) produced messages.
    ── Failure (test_06_weather_dl_1_hour.R:186:3): weather (hour) handles data with different numbers of columns ──
    ... <- NULL produced messages.
    Backtrace:
  19. ├─vcr::use_cassette(...) test_06_weather_dl_1_hour.R:186:2
  20. │ └─cassette$call_block(...)
  21. └─testthat::expect_silent(...) test_06_weather_dl_1_hour.R:187:4
    ── Failure (test_06_weather_dl_1_hour.R:210:3): weather (hour) crosses the year line ──
    ... <- NULL produced messages.
    Backtrace:
  22. ├─vcr::use_cassette(...) test_06_weather_dl_1_hour.R:210:2
  23. │ └─cassette$call_block(...)
  24. └─testthat::expect_silent(...) test_06_weather_dl_1_hour.R:211:4
    ── Failure (test_06_weather_dl_2_day.R:43:3): weather (day) gets all, one year ──
    ... <- NULL produced messages.
    Backtrace:
  25. ├─vcr::use_cassette(...) test_06_weather_dl_2_day.R:43:2
  26. │ └─cassette$call_block(...)
  27. └─testthat::expect_silent(...) test_06_weather_dl_2_day.R:44:4
    ── Failure (test_06_weather_dl_2_day.R:53:3): weather (day) gets all, one year ──
    weather_dl(...) produced messages.
    ── Failure (test_06_weather_dl_2_day.R:69:3): weather (day) gets all, one year ──
    ... <- NULL produced messages.
    ── Failure (test_06_weather_dl_2_day.R:80:3): weather (day) crosses the year line ──
    ... <- NULL produced messages.
    ── Failure (test_06_weather_dl_2_day.R:89:3): weather (day) trims NAs ──────────
    ... <- NULL produced messages.
    ── Failure (test_06_weather_dl_2_day.R:92:3): weather (day) trims NAs ──────────
    ... <- NULL produced messages.
    ── Failure (test_06_weather_dl_2_day.R:172:3): weather (day) verbose and quiet ──
    weather_dl(...) produced messages.
    ── Failure (test_06_weather_dl_3_month.R:6:3): weather (month) returns a data frame ──
    ... <- NULL produced messages.
    Backtrace:
  28. ├─vcr::use_cassette(...) test_06_weather_dl_3_month.R:6:2
  29. │ └─cassette$call_block(...)
  30. └─testthat::expect_silent(...) test_06_weather_dl_3_month.R:7:4
    ── Failure (test_06_weather_dl_3_month.R:86:3): weather (month) multiple stations ──
    ... <- NULL produced messages.
    Backtrace:
  31. ├─vcr::use_cassette(...) test_06_weather_dl_3_month.R:86:2
  32. │ └─cassette$call_block(...)
  33. └─testthat::expect_silent(...) test_06_weather_dl_3_month.R:87:4
    ── Failure (test_06_weather_dl_3_month.R:111:3): weather (month) verbose and quiet ──
    weather_dl(...) produced messages.
    ── Failure (test_06_weather_dl_3_month.R:123:3): weather (month) handles data with different numbers of columns ──
    ... <- NULL produced messages.
    Backtrace:
  34. ├─vcr::use_cassette(...) test_06_weather_dl_3_month.R:123:2
  35. │ └─cassette$call_block(...)
  36. └─testthat::expect_silent(...) test_06_weather_dl_3_month.R:124:4
    ── Failure (test_06_weather_dl_3_month.R:132:3): weather (month) handles data with different numbers of columns ──
    ... <- NULL produced messages.
    Backtrace:
  37. ├─vcr::use_cassette(...) test_06_weather_dl_3_month.R:132:2
  38. │ └─cassette$call_block(...)
  39. └─testthat::expect_silent(...) test_06_weather_dl_3_month.R:133:4
    ── Failure (test_06_weather_dl_3_month.R:161:3): weather (month) crosses the year line ──
    ... <- NULL produced messages.
    ── Failure (test_07_weather_args.R:55:3): weather_dl() month format = FALSE ────
    ... <- NULL produced messages.
    Backtrace:
  40. ├─vcr::use_cassette(...) test_07_weather_args.R:55:2
  41. │ └─cassette$call_block(...)
  42. └─testthat::expect_silent(...) test_07_weather_args.R:56:4
    ── Failure (test_08_normals.R:196:3): normals_dl() downloads normals/frost dates as tibble - single ──
    nd <- normals_dl(climate_id = "5010480") produced messages.
    Backtrace:
  43. ├─vcr::use_cassette(...) test_08_normals.R:196:2
  44. │ └─cassette$call_block(...)
  45. ├─expect_silent(nd <- normals_dl(climate_id = "5010480")) %>% expect_is("tbl_df") test_08_normals.R:197:4
  46. ├─testthat::expect_is(., "tbl_df")
  47. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  48. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  49. └─testthat::expect_silent(nd <- normals_dl(climate_id = "5010480"))
    ── Failure (test_08_normals.R:202:3): normals_dl() downloads normals/frost dates as tibble - single ──
    nd <- normals_dl(climate_id = "5010480", normals_years = "1971-2000") produced messages.
    Backtrace:
  50. ├─vcr::use_cassette(...) test_08_normals.R:202:2
  51. │ └─cassette$call_block(...)
  52. ├─%>%(...) test_08_normals.R:203:4
  53. ├─testthat::expect_is(., "tbl_df")
  54. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  55. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  56. └─testthat::expect_silent(...)
    ── Failure (test_08_normals.R:211:5): normals_dl() downloads normals/frost dates as tibble - multi 1981 ──
    nd <- normals_dl(climate_id = c("2403500", "5010480", "1096450")) produced messages.
    Backtrace:
  57. ├─%>%(...) test_08_normals.R:211:4
  58. ├─testthat::expect_is(., "tbl_df")
  59. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  60. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  61. └─testthat::expect_silent(...)
    ── Failure (test_08_normals.R:229:5): normals_dl() downloads normals/frost dates as tibble - multi 1971 ──
    ... <- NULL produced messages.
    Backtrace:
  62. ├─%>%(...) test_08_normals.R:229:4
  63. ├─testthat::expect_is(., "tbl_df")
  64. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  65. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  66. └─testthat::expect_silent(...)
    ── Failure (test_08_normals.R:250:5): normals_dl() gets extreme wind chill correctly ──
    nd <- normals_dl(climate_id = "2100517") produced messages.
    Backtrace:
  67. ├─expect_silent(nd <- normals_dl(climate_id = "2100517")) %>% expect_is("tbl_df") test_08_normals.R:250:4
  68. ├─testthat::expect_is(., "tbl_df")
  69. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
  70. │ └─rlang::eval_bare(expr, quo_get_env(quo))
  71. └─testthat::expect_silent(nd <- normals_dl(climate_id = "2100517"))

[ FAIL 37 | WARN 0 | SKIP 7 | PASS 637 ]
Error: Test failures
Execution halted

R CMD check generated the following check_fails:

  1. cyclocomp
  2. rcmdcheck_non_ascii_characters_in_data
  3. rcmdcheck_tests_pass

Test coverage with covr

ERROR: Test Coverage Failed

Cyclocomplexity with cyclocomp

The following functions have cyclocomplexity >= 15:

function cyclocomplexity
weather_dl 63
stations_search 30
weather_interp 27
stations_dl_internal 24

Static code analyses with lintr

lintr found the following 43 potential issues:

message number of times
Avoid 1:nrow(...) expressions, use seq_len. 1
Lines should not be more than 80 characters. 41
Use <-, not =, for assignment. 1


Package Versions

package version
pkgstats 0.0.2.64
pkgcheck 0.0.2.104


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with ✖️ have been resolved.

@mpadge
Copy link
Member Author

mpadge commented Jun 22, 2022

@ropensci-review-bot help

@mpadge
Copy link
Member Author

mpadge commented Jun 22, 2022

@ropensci-review-bot thanks

@ropensci-review-bot
Copy link
Collaborator

You are welcome

@mpadge
Copy link
Member Author

mpadge commented Jun 23, 2022

@ropensci-review-bot help

2 similar comments
@xuanxu
Copy link

xuanxu commented Jun 23, 2022

@ropensci-review-bot help

@mpadge
Copy link
Member Author

mpadge commented Jun 23, 2022

@ropensci-review-bot help

@ropensci-review-bot
Copy link
Collaborator

Hello @mpadge, here are the things you can ask me to do:


# Add a review's info to the ROpenSci logs
@ropensci-review-bot submit review <REVIEW_URL> time <REVIEW_HOURS(ex. 10.5)>

# List all available commands
@ropensci-review-bot help

# Show our Code of Conduct
@ropensci-review-bot code of conduct

# Switch to "seeking reviewers"
@ropensci-review-bot seeking reviewers

# Approves a package. This command will close the issue.
@ropensci-review-bot approve package-name

# Adds package's repo to the rOpenSci team. This command should be issued after approval and transfer of the package.
@ropensci-review-bot finalize transfer of package-name

# Mint package as [bronze/silver/gold]
@ropensci-review-bot mint silver

# Add a user to this issue's reviewers list
@ropensci-review-bot assign xxxxx as reviewer

# Remove a user from the reviewers list
@ropensci-review-bot remove xxxxx from reviewers

# Assign a user as the editor of this submission
@ropensci-review-bot assign @username as editor

# Put the submission on hold for the next 90 days
@ropensci-review-bot put on hold

# Remove the editor assigned to this submission
@ropensci-review-bot remove editor

# Change or add a review's due date for a reviewer
@ropensci-review-bot set due date for @reviewer to YYYY-MM-DD

# Close the issue
@ropensci-review-bot out of scope

# Various package checks
@ropensci-review-bot check package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants