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

chopin: Computation for Climate and Health research On Parallelized INfrastructure #638

Open
12 of 29 tasks
sigmafelix opened this issue Apr 24, 2024 · 33 comments
Open
12 of 29 tasks
Assignees

Comments

@sigmafelix
Copy link

sigmafelix commented Apr 24, 2024

Submitting Author Name: Insang Song
Submitting Author Github Handle: @sigmafelix
Other Package Authors Github handles: (comma separated, delete if none) @kyle-messier
Repository: https://github.com/NIEHS/chopin
Version submitted: 0.6.2.20240423
Submission type: Standard
Editor: @beatrizmilz
Reviewers: @robitalec

Due date for @robitalec: 2024-06-20

Archive: TBD
Version accepted: TBD
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Package: chopin
Title: CHOPIN: Computation for Climate and Health research On Parallelized INfrastructure
Version: 0.6.2.20240423
Authors@R: c(
    person("Insang", "Song", , "geoissong@gmail.com", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0001-8732-3256")),
    person("Kyle", "Messier", role = c("aut", "ctb"),
           comment = c(ORCID = "0000-0001-9508-9623"))
  )
Description: It enables users with basic understanding on geospatial data
    and sf and terra functions to parallelize geospatial operations for
    geospatial exposure assessment modeling and covariate computation.
    Parallelization is done by dividing large datasets into sub-regions
    with regular grids and data's own hierarchy. A computation over the
    large number of raster files can be parallelized with a chopin
    function as well.
License: MIT + file LICENSE
URL: https://github.com/NIEHS/chopin
BugReports: https://github.com/NIEHS/chopin/issues
Depends: 
    R (>= 4.1)
Encoding: UTF-8
LazyData: true
LazyDataCompression: xz
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
Imports: 
    anticlust,
    dplyr (>= 1.1.0),
    exactextractr (>= 0.8.2),
    future.apply,
    igraph,
    methods,
    rlang (>= 0.4.9),
    sf (>= 1.0-10),
    stars (>= 0.6-0),
    terra (>= 1.7-18)
Suggests: 
    callr,
    covr,
    DiagrammeR,
    doFuture,
    doParallel,
    future,
    future.batchtools,
    future.callr,
    knitr,
    rmarkdown,
    spatstat.random,
    testthat (>= 3.0.0),
    units,
    withr
VignetteBuilder: knitr
Config/testthat/edition: 3

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
    • data validation and testing
    • 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):
    : chopin supports parallel processing for functions in popular spatial data manipulation packages sf and terra on a high-level parallelization framework future. This feature fits to the geospatial data category.

  • Who is the target audience and what are scientific applications of this package?
    : Our first target audience group is spatial epidemiologists and health geographers who want to calculating spatial covariates from spatial and spatiotemporal datasets including climate, transportation, demographics, topography, hydrography, and others. We expect that users are cognizant of basic geographic information system/science. The wider audience could take advantage of the flexibility of this package for expediting spatial operations.

  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
    : A selection of functions in terra (e.g., *app and predict) supports internal parallelization, where a single dataset is accepted. To the best of our knowledge, no packaged solution exists for parallelization of spatial operations where two datasets are involved. sprawl (GitHub-only; not maintained) partially overlaps this package's functionality in that it includes convenience functions connecting multiple basic spatial operations. Besides the R functions, a handful of teaching or demonstration materials briefly covered parallelization of spatial data applications ([1], [2], [3]).

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

  • 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.
    : Presubmission inquiry of the previous version of this package -- Presubmission inquiry: chopin #630 commented by @ldecicco-USGS

  • Explain reasons for any pkgcheck items which your package is unable to pass.
    : Coverage rate (99%) and installation size (25.7 MB; of which data (2.0 MB) and extdata (23.1 MB) exceeded recommended sizes) resulted in notes.

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

Thank you very much for your consideration!

@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

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for chopin (v0.6.2.20240423)

git hash: 26153abb

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✖️ does not have a 'contributing' file.
  • ✖️ The following function has no documented return value: [clip_ras_ext]
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 99.6%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.

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

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 123
internal chopin 33
internal graphics 8
internal stats 6
internal utils 2
imports terra 38
imports sf 20
imports dplyr 5
imports methods 5
imports exactextractr 3
imports future.apply 3
imports rlang 3
imports igraph 2
imports anticlust 1
imports stars 1
suggests callr NA
suggests covr NA
suggests DiagrammeR NA
suggests doFuture NA
suggests doParallel NA
suggests future NA
suggests future.batchtools NA
suggests future.callr NA
suggests knitr NA
suggests rmarkdown NA
suggests spatstat.random NA
suggests testthat NA
suggests units NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (9), switch (9), lapply (7), c (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), data.frame (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), by (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)

terra

buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)

chopin

dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)

sf

st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)

graphics

points (8)

stats

dist (3), quantile (3)

dplyr

n (2), left_join (1), mutate (1), summarize (1)

methods

is (3), el (2)

exactextractr

exact_extract (3)

future.apply

future_lapply (3)

rlang

inject (3)

igraph

graph_from_edgelist (2)

utils

combn (2)

anticlust

balanced_clustering (1)

stars

st_as_stars (1)


2. 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
  • 2 authors
  • 3 vignettes
  • 2 internal data files
  • 10 imported packages
  • 33 exported functions (median 17 lines of code)
  • 34 non-exported functions in R (median 29 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

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

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 45.7
files_vignettes 3 92.4
files_tests 9 89.6
loc_R 1163 72.0
loc_vignettes 652 83.8
loc_tests 1193 89.2
num_vignettes 3 94.2
data_size_total 2100956 97.8 TRUE
data_size_median 1050478 98.5 TRUE
n_fns_r 67 65.5
n_fns_r_exported 33 80.4
n_fns_r_not_exported 34 56.6
n_fns_per_file_r 7 77.9
num_params_per_fn 3 33.6
loc_per_fn_r 21 62.0
loc_per_fn_r_exp 17 40.3
loc_per_fn_r_not_exp 29 77.1
rel_whitespace_R 12 61.7
rel_whitespace_vignettes 32 85.6
rel_whitespace_tests 17 85.6
doclines_per_fn_exp 37 45.3
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 59 69.7

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

check-standard.yaml

GitHub Workflow Results

id name conclusion sha run_number date
8817187321 pages build and deployment success a8aaed 33 2024-04-24
8817133786 pkgdown success 26153a 69 2024-04-24
8817133742 R-CMD-check success 26153a 149 2024-04-24
8817133730 test-coverage-local success 26153a 17 2024-04-24

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following notes:

  1. checking installed package size ... NOTE
    installed size is 25.6Mb
    sub-directories of 1Mb or more:
    data 2.0Mb
    extdata 23.1Mb
  2. checking re-building of vignette outputs ... NOTE
    Error(s) in re-building vignettes:
    ...
    --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown
    --- finished re-building ‘v00_good_practice_parallelization.Rmd’

--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown
File figures/nc-load-1.png not found in resource path
Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v01_par_make_gridset.Rmd’

--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown
File figures/climate-se-states.png not found in resource path
Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v02_climate_examples.Rmd’

SUMMARY: processing the following files failed:
‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’

Error: Vignette re-building failed.
Execution halted

R CMD check generated the following check_fail:

  1. rcmdcheck_reasonable_installed_size

Test coverage with covr

Package coverage: 99.65

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 1 potential issues:

message number of times
Lines should not be more than 80 characters. 1


Package Versions

package version
pkgstats 0.1.3.13
pkgcheck 0.1.2.21


Editor-in-Chief Instructions:

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

@sigmafelix
Copy link
Author

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for chopin (v0.6.2.20240423)

git hash: c0e53b6e

  • ✔️ Package name is available
  • ✔️ 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
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 99.6%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 123
internal chopin 33
internal graphics 8
internal stats 6
internal utils 2
imports terra 38
imports sf 20
imports dplyr 5
imports methods 5
imports exactextractr 3
imports future.apply 3
imports rlang 3
imports igraph 2
imports anticlust 1
imports stars 1
suggests callr NA
suggests covr NA
suggests DiagrammeR NA
suggests doFuture NA
suggests doParallel NA
suggests future NA
suggests future.batchtools NA
suggests future.callr NA
suggests knitr NA
suggests rmarkdown NA
suggests spatstat.random NA
suggests testthat NA
suggests units NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (9), switch (9), lapply (7), c (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), data.frame (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), by (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)

terra

buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)

chopin

dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)

sf

st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)

graphics

points (8)

stats

dist (3), quantile (3)

dplyr

n (2), left_join (1), mutate (1), summarize (1)

methods

is (3), el (2)

exactextractr

exact_extract (3)

future.apply

future_lapply (3)

rlang

inject (3)

igraph

graph_from_edgelist (2)

utils

combn (2)

anticlust

balanced_clustering (1)

stars

st_as_stars (1)


2. 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
  • 2 authors
  • 3 vignettes
  • 2 internal data files
  • 10 imported packages
  • 33 exported functions (median 17 lines of code)
  • 34 non-exported functions in R (median 29 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

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

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 45.7
files_vignettes 3 92.4
files_tests 9 89.6
loc_R 1163 72.0
loc_vignettes 652 83.8
loc_tests 1193 89.2
num_vignettes 3 94.2
data_size_total 2100956 97.8 TRUE
data_size_median 1050478 98.5 TRUE
n_fns_r 67 65.5
n_fns_r_exported 33 80.4
n_fns_r_not_exported 34 56.6
n_fns_per_file_r 7 77.9
num_params_per_fn 3 33.6
loc_per_fn_r 21 62.0
loc_per_fn_r_exp 17 40.3
loc_per_fn_r_not_exp 29 77.1
rel_whitespace_R 12 61.7
rel_whitespace_vignettes 32 85.6
rel_whitespace_tests 17 85.6
doclines_per_fn_exp 37 45.3
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 59 69.7

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

check-standard.yaml

GitHub Workflow Results

id name conclusion sha run_number date
8818976584 pages build and deployment success 1b88a2 36 2024-04-24
8818927586 pkgdown success f8c659 71 2024-04-24
8818927598 R-CMD-check success f8c659 151 2024-04-24
8818927585 test-coverage-local success f8c659 19 2024-04-24

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following notes:

  1. checking installed package size ... NOTE
    installed size is 25.6Mb
    sub-directories of 1Mb or more:
    data 2.0Mb
    extdata 23.1Mb
  2. checking re-building of vignette outputs ... NOTE
    Error(s) in re-building vignettes:
    ...
    --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown
    --- finished re-building ‘v00_good_practice_parallelization.Rmd’

--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown
File figures/nc-load-1.png not found in resource path
Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v01_par_make_gridset.Rmd’

--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown
File figures/climate-se-states.png not found in resource path
Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v02_climate_examples.Rmd’

SUMMARY: processing the following files failed:
‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’

Error: Vignette re-building failed.
Execution halted

R CMD check generated the following check_fail:

  1. rcmdcheck_reasonable_installed_size

Test coverage with covr

Package coverage: 99.65

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 1 potential issues:

message number of times
Lines should not be more than 80 characters. 1


Package Versions

package version
pkgstats 0.1.3.13
pkgcheck 0.1.2.21


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

@sigmafelix
Copy link
Author

@ropensci-review-bot help

@ropensci-review-bot
Copy link
Collaborator

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


# Add an author's response info to the ROpenSci logs
@ropensci-review-bot submit response <AUTHOR_RESPONSE_URL>

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

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

# Invite the author of a package to the corresponding rOpenSci team. This command should be issued by the author of the package.
@ropensci-review-bot invite me to ropensci/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

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

# Checks srr documentation for stats packages
@ropensci-review-bot check srr

@sigmafelix
Copy link
Author

@ropensci-review-bot submit response #638 (comment)

@ropensci-review-bot
Copy link
Collaborator

Couldn't find entry for chopin in the packages log

@ldecicco-USGS
Copy link

@ropensci-review-bot assign @beatrizmilz as editor

@ropensci-review-bot
Copy link
Collaborator

Assigned! @beatrizmilz is now the editor

@beatrizmilz
Copy link

Hello @sigmafelix !
Thank you for your submission. I am the editor who will be working with you on this package.

Editor checks:

  • Documentation: The package has sufficient documentation available online (README, pkgdown docs) to allow for an assessment of functionality and scope without installing the package. In particular,
    • Is the case for the package well made?
    • Is the reference index page clear (grouped by topic if necessary)?
    • Are vignettes readable, sufficiently detailed and not just perfunctory?
  • Fit: The package meets criteria for fit and overlap.
  • Installation instructions: Are installation instructions clear enough for human users?
  • Tests: If the package has some interactivity / HTTP / plot production etc. are the tests using state-of-the-art tooling?
  • Contributing information: Is the documentation for contribution clear enough e.g. tokens for tests, playgrounds?
  • License: The package has a CRAN or OSI accepted license.
  • Project management: Are the issue and PR trackers in a good shape, e.g. are there outstanding bugs, is it clear when feature requests are meant to be tackled?

Editor comments

    1. Seems like the package was created in the organization called Spatiotemporal-Exposures-and-Toxicology and then was transfered to NIEHS, and some of the links in the documentation are still pointing to the old organization. Can you update them to point to the new organization, please? This might help: https://github.com/search?q=repo%3ANIEHS%2Fchopin%20Spatiotemporal-Exposures-and-Toxicology&type=code
    1. The vignette Extracting Weather/Climate Geospatial Data with chopin is well detailed and informative. However, the vignette Generate computational grids can be more detailed. It would be great if you could improve that vignette with more text explaining the code and the steps.
    1. I ran devtools::test() and all the tests passed. However, I noticed that there is a lot of messages from dplyr joins, because aparently there are some joins that are being done without declaring which are the key columns. This is not a problem, but it would be nice if you could add the by argument to the dplyr::**_join() functions in the code. Here is part of the messages that I got:
✔ |         41 | processing [8.1s]                                             
⠏ |          0 | tests                                                         Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
⠴ |          6 | tests                                                         Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
⠙ |         12 | tests                                                         Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id, FIPS)`
Joining with `by = join_by(from_id, to_id)`
✔ |         13 | tests
    1. The package has >99% of code covered by tests. 🎉
      Screenshot 2024-05-06 at 11-54-27 Screenshot

Can you please address these comments?
Thank you!

@sigmafelix
Copy link
Author

@beatrizmilz I appreciate your time to review our package. I will address all your points in the revision on top of fixing some bugs we identified in the meantime and respond to you soon. Thank you.

@sigmafelix
Copy link
Author

@beatrizmilz Thank you for your patience. I think I addressed all comments in the current version available in main. Please let me know if you have additional comments.

@beatrizmilz
Copy link

Thank you @sigmafelix !

@beatrizmilz
Copy link

@ropensci-review-bot seeking reviewers

@ropensci-review-bot
Copy link
Collaborator

Please add this badge to the README of your package repository:

[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/638_status.svg)](https://github.com/ropensci/software-review/issues/638)

Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news

@beatrizmilz
Copy link

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for chopin (v0.6.3.20240515)

git hash: 094a6460

  • ✔️ Package name is available
  • ✔️ 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
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 99.7%.
  • ✖️ R CMD check found 1 error.
  • ✔️ R CMD check found no warnings.

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

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 133
internal chopin 33
internal graphics 8
internal stats 6
internal utils 2
imports terra 38
imports sf 20
imports dplyr 10
imports methods 5
imports exactextractr 3
imports future.apply 3
imports rlang 3
imports igraph 2
imports anticlust 1
imports stars 1
suggests callr NA
suggests covr NA
suggests DiagrammeR NA
suggests doFuture NA
suggests doParallel NA
suggests future NA
suggests future.batchtools NA
suggests future.callr NA
suggests knitr NA
suggests rmarkdown NA
suggests spatstat.random NA
suggests testthat NA
suggests units NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (9), switch (9), c (7), lapply (7), by (6), data.frame (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)

terra

buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)

chopin

dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)

sf

st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)

dplyr

left_join (6), n (2), mutate (1), summarize (1)

graphics

points (8)

stats

dist (3), quantile (3)

methods

is (3), el (2)

exactextractr

exact_extract (3)

future.apply

future_lapply (3)

rlang

inject (3)

igraph

graph_from_edgelist (2)

utils

combn (2)

anticlust

balanced_clustering (1)

stars

st_as_stars (1)


2. 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
  • 2 authors
  • 3 vignettes
  • 2 internal data files
  • 10 imported packages
  • 33 exported functions (median 17 lines of code)
  • 34 non-exported functions in R (median 29 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

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

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 45.7
files_vignettes 3 92.4
files_tests 9 89.6
loc_R 1176 72.3
loc_vignettes 831 88.0
loc_tests 1289 90.2
num_vignettes 3 94.2
data_size_total 2100956 97.8 TRUE
data_size_median 1050478 98.5 TRUE
n_fns_r 67 65.5
n_fns_r_exported 33 80.4
n_fns_r_not_exported 34 56.6
n_fns_per_file_r 7 77.9
num_params_per_fn 3 33.6
loc_per_fn_r 21 62.0
loc_per_fn_r_exp 17 40.3
loc_per_fn_r_not_exp 29 77.1
rel_whitespace_R 12 61.7
rel_whitespace_vignettes 33 90.4
rel_whitespace_tests 16 85.6
doclines_per_fn_exp 37 45.3
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 61 70.3

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

check-standard.yaml

GitHub Workflow Results

id name conclusion sha run_number date
9116757038 pages build and deployment success 9e3af8 43 2024-05-16
9116716549 pkgdown success 094a64 77 2024-05-16
9116716555 R-CMD-check success 094a64 157 2024-05-16
9116716552 test-coverage-local success 094a64 25 2024-05-16

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following error:

  1. checking re-building of vignette outputs ... ERROR
    Error(s) in re-building vignettes:
    ...
    --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown
    --- finished re-building ‘v00_good_practice_parallelization.Rmd’

--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown
File figures/nc-gen-points-1.png not found in resource path
Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v01_par_make_gridset.Rmd’

--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown
File figures/climate-se-states.png not found in resource path
Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics:
pandoc document conversion failed with error 99
--- failed re-building ‘v02_climate_examples.Rmd’

SUMMARY: processing the following files failed:
‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’

Error: Vignette re-building failed.
Execution halted

R CMD check generated the following note:

  1. checking installed package size ... NOTE
    installed size is 25.8Mb
    sub-directories of 1Mb or more:
    data 2.0Mb
    extdata 23.1Mb

R CMD check generated the following check_fail:

  1. rcmdcheck_reasonable_installed_size

Test coverage with covr

Package coverage: 99.65

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 2 potential issues:

message number of times
Avoid using sapply, consider vapply instead, that's type safe 1
Lines should not be more than 80 characters. This line is 81 characters. 1


Package Versions

package version
pkgstats 0.1.5.2
pkgcheck 0.1.2.34


Editor-in-Chief Instructions:

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

@beatrizmilz
Copy link

Hi @sigmafelix !
There was one error on the R CMD check: #638 (comment) .
Could you please verify that, before we proceed to add the reviewers?

Thank you!

@sigmafelix
Copy link
Author

Hi @sigmafelix ! There was one error on the R CMD check: #638 (comment) . Could you please verify that, before we proceed to add the reviewers?

Thank you!

@beatrizmilz Thank you for the update. In the most recent version of chopin, I think the R CMD CHECK error was fixed. Thank you!

@beatrizmilz
Copy link

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for chopin (v0.7.0.20240525)

git hash: 052c8627

  • ✔️ Package name is available
  • ✔️ 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
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 98.1%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 144
internal chopin 32
internal graphics 8
internal stats 5
internal utils 2
imports terra 44
imports sf 20
imports dplyr 10
imports methods 6
imports exactextractr 3
imports future.apply 3
imports rlang 3
imports collapse 3
imports anticlust 2
imports igraph 2
imports stars 1
suggests callr NA
suggests covr NA
suggests DiagrammeR NA
suggests doFuture NA
suggests future NA
suggests future.batchtools NA
suggests future.callr NA
suggests knitr NA
suggests rmarkdown NA
suggests spatstat.random NA
suggests testthat NA
suggests units NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (10), switch (9), c (7), lapply (7), by (6), unlist (6), nrow (5), which (5), data.frame (4), if (4), names (4), split (4), mapply (3), try (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), expand.grid (2), grep (2), grepl (2), length (2), log10 (2), mode (2), paste (2), round (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), unname (2), args (1), as.data.frame (1), as.list (1), as.logical (1), as.numeric (1), as.vector (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), matrix (1), ncol (1), paste0 (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), startsWith (1), strsplit (1), suppressWarnings (1), table (1), vector (1)

terra

buffer (9), crop (8), crs (6), distance (4), ext (4), vect (4), nearby (2), project (2), rast (2), intersect (1), is.lonlat (1), nlyr (1)

chopin

dep_check (14), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), check_subject (1), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), extract_at_buffer_kernel (1), par_group_balanced (1)

sf

st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)

dplyr

left_join (6), n (2), mutate (1), summarize (1)

graphics

points (8)

methods

is (4), el (2)

stats

quantile (3), dist (2)

collapse

rowbind (3)

exactextractr

exact_extract (3)

future.apply

future_lapply (3)

rlang

inject (3)

anticlust

balanced_clustering (2)

igraph

graph_from_edgelist (2)

utils

combn (2)

stars

st_as_stars (1)


2. 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
  • 2 authors
  • 3 vignettes
  • 2 internal data files
  • 11 imported packages
  • 34 exported functions (median 17 lines of code)
  • 35 non-exported functions in R (median 32 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

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

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 45.7
files_vignettes 3 92.4
files_tests 8 88.2
loc_R 1281 74.5
loc_vignettes 744 86.2
loc_tests 1449 91.3
num_vignettes 3 94.2
data_size_total 2100956 97.8 TRUE
data_size_median 1050478 98.5 TRUE
n_fns_r 69 66.3
n_fns_r_exported 34 81.0
n_fns_r_not_exported 35 57.4
n_fns_per_file_r 7 78.2
num_params_per_fn 3 33.6
loc_per_fn_r 21 62.0
loc_per_fn_r_exp 18 42.0
loc_per_fn_r_not_exp 32 80.3
rel_whitespace_R 11 63.3
rel_whitespace_vignettes 34 89.0
rel_whitespace_tests 15 85.9
doclines_per_fn_exp 36 45.0
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 68 72.4

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

check-standard.yaml

GitHub Workflow Results

id name conclusion sha run_number date
9308315230 pages build and deployment success 764f4b 53 2024-05-30
9308277371 pkgdown success 052c86 88 2024-05-30
9308277362 R-CMD-check success 052c86 168 2024-05-30
9308277364 test-coverage-local success 052c86 36 2024-05-30

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following note:

  1. checking installed package size ... NOTE
    installed size is 25.7Mb
    sub-directories of 1Mb or more:
    data 2.0Mb
    extdata 23.1Mb

R CMD check generated the following check_fail:

  1. rcmdcheck_reasonable_installed_size

Test coverage with covr

Package coverage: 98.11

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
par_grid 15

Static code analyses with lintr

lintr found the following 7 potential issues:

message number of times
Avoid library() and require() calls in packages 7


Package Versions

package version
pkgstats 0.1.5.2
pkgcheck 0.1.2.41


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

@beatrizmilz
Copy link

Hi @sigmafelix ! There was one error on the R CMD check: #638 (comment) . Could you please verify that, before we proceed to add the reviewers?
Thank you!

@beatrizmilz Thank you for the update. In the most recent version of chopin, I think the R CMD CHECK error was fixed. Thank you!

Great!

@beatrizmilz
Copy link

@ropensci-review-bot assign @robitalec as reviewer

@ropensci-review-bot
Copy link
Collaborator

@robitalec added to the reviewers list. Review due date is 2024-06-20. Thanks @robitalec for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

@ropensci-review-bot
Copy link
Collaborator

@robitalec: If you haven't done so, please fill this form for us to update our reviewers records.

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

No branches or pull requests

4 participants