ropensci / software-review

rOpenSci Software Peer Review.
290 stars 104 forks source link

fireexposuR: Compute and Visualize Wildfire Exposure #659

Open heyairf opened 3 hours ago

heyairf commented 3 hours ago

Submitting Author Name: Air Forbes Submitting Author Github Handle: !--author1-->@heyairf<!--end-author1-- Repository: https://github.com/heyairf/fireexposuR Version submitted: 1.0.0 Submission type: Standard Editor: TBD Reviewers: TBD

Archive: TBD Version accepted: TBD Language: en


Type: Package
Package: fireexposuR
Title: Compute and Visualize Wildfire Exposure
Version: 1.0.0
Authors@R: c(person("Air", "Forbes", email = "amforbes@ualberta.ca", 
    role = c("aut", "cre"), comment = c(ORCID = "0000-0002-9842-7648")),
    person("Jennifer", "Beverly", role = "aut"))
Description: This package computes wildfire exposure using methods from
    Beverly et al. (2010), Beverly et al. (2021), and Beverly and Forbes
    (2023).  It provides functions to standardize the mapping and
    visualization of wildfire exposure. This package requires
    pre-processing of data which is docomented in Forbes and Beverly
    (in preparation).
License: GPL (>= 3)
Imports: 
    dplyr,
    geosphere,
    ggplot2,
    ggspatial,
    magrittr,
    maptiles,
    MultiscaleDTM,
    rlang,
    terra,
    tidyr,
    tidyselect,
    tidyterra
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.2
Roxygen: list(markdown = TRUE)
URL: https://github.com/heyairf/fireexposuR
BugReports: https://github.com/heyairf/fireexposuR/issues
Suggests: 
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
Config/testthat/edition: 3
Depends: 
    R (>= 2.10)
VignetteBuilder:
    knitr

Scope

This package was developed to share methodologies from existing research by modifying/expanding existing functions. The functions automate and standardize assessments to increase access and quality assurance in the calculation for interested users.

Users interested in wildfire risk assessments including but not limited to researchers, consultants, planners, land use decision makers.

There are no other R packages that fill this role.

n/a

#652

all pkgcheck's are currently passing

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

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](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) 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 commented 3 hours ago

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

ropensci-review-bot commented 3 hours ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 1 hour ago

Checks for fireexposuR (v1.0.0)

git hash: aacfb397

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL (>= 3)


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 | 147| |internal |fireexposuR | 14| |internal |grid | 12| |internal |stats | 10| |internal |utils | 6| |internal |graphics | 4| |internal |grDevices | 2| |imports |magrittr | 95| |imports |dplyr | 49| |imports |ggplot2 | 49| |imports |terra | 45| |imports |tidyterra | 15| |imports |geosphere | 8| |imports |maptiles | 6| |imports |ggspatial | 4| |imports |tidyr | 3| |imports |MultiscaleDTM | 2| |imports |rlang | NA| |imports |tidyselect | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |testthat | 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()', and examining the 'external_calls' table.

base

c (27), exp (19), sum (11), cbind (9), data.frame (9), as.data.frame (8), paste (6), ifelse (5), by (4), levels (4), matrix (4), ncol (4), all (3), factor (3), labels (3), rep (3), seq (3), class (2), match (2), names (2), round (2), unique (2), as.factor (1), for (1), if (1), length (1), max (1), mean (1), missing (1), outer (1), plot (1), rbind (1), scale (1), table (1)

magrittr

%>% (95)

dplyr

mutate (43), count (4), case_when (1), summarise (1)

ggplot2

element_blank (9), ggplot (7), aes (6), element_text (5), coord_sf (4), geom_col (3), labs (3), element_rect (2), expansion (2), scale_fill_manual (2), geom_bar (1), geom_hline (1), geom_vline (1), scale_x_discrete (1), scale_y_continuous (1), theme (1)

terra

classify (7), crop (6), focal (4), mask (4), project (4), vect (4), extract (3), res (3), rescale (3), spatSample (2), as.polygons (1), buffer (1), crs (1), merge (1), perim (1)

tidyterra

geom_spatraster_rgb (6), geom_spatvector (3), rename (2), filter (1), geom_spatraster (1), scale_fill_whitebox_c (1), whitebox.colors (1)

fireexposuR

exposure (7), direxp (2), adjustexp (1), extractexp (1), mapexpclass (1), mapexpcont (1), multidirexp (1)

grid

unit (12)

stats

window (6), df (4)

geosphere

destPoint (8)

maptiles

get_credit (3), get_tiles (3)

utils

data (6)

ggspatial

annotation_scale (4)

graphics

title (4)

tidyr

pivot_wider (2), pivot_longer (1)

grDevices

palette (2)

MultiscaleDTM

annulus_window (2)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


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 11 files) and - 2 authors - 1 vignette - no internal data file - 12 imported packages - 9 exported functions (median 52 lines of code) - 9 non-exported functions in R (median 76 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 11| 60.1| | |files_vignettes | 1| 62.0| | |files_tests | 10| 87.6| | |loc_R | 808| 59.6| | |loc_vignettes | 114| 28.0| | |loc_tests | 289| 60.1| | |num_vignettes | 1| 59.0| | |n_fns_r | 18| 25.4| | |n_fns_r_exported | 9| 42.3| | |n_fns_r_not_exported | 9| 20.6| | |n_fns_per_file_r | 1| 1.9|TRUE | |num_params_per_fn | 4| 51.1| | |loc_per_fn_r | 60| 92.4| | |loc_per_fn_r_exp | 52| 80.4| | |loc_per_fn_r_not_exp | 76| 95.3|TRUE | |rel_whitespace_R | 11| 47.2| | |rel_whitespace_vignettes | 32| 25.7| | |rel_whitespace_tests | 20| 58.5| | |doclines_per_fn_exp | 50| 62.7| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 1| 11.5| | ---

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 [![R-CMD-check.yaml](https://github.com/heyairf/fireexposuR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/heyairf/fireexposuR/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |-----------:|:----------------|:----------|:------|----------:|:----------| | 11037129203|pkgcheck |success |aacfb3 | 7|2024-09-25 | | 11037129172|R-CMD-check.yaml |success |aacfb3 | 7|2024-09-25 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) rcmdcheck found no errors, warnings, or notes #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 93.87 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following function have cyclocomplexity >= 15: function | cyclocomplexity --- | --- extractexp | 17 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 10 potential issues: message | number of times --- | --- Avoid 1:length(...) expressions, use seq_len. | 1 Avoid library() and require() calls in packages | 3 Lines should not be more than 80 characters. This line is 83 characters. | 4 Lines should not be more than 80 characters. This line is 84 characters. | 1 Lines should not be more than 80 characters. This line is 85 characters. | 1


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages: - - `exposure` from mds, mlxR, netdiffuseR, RsSimulx


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.6.17 | |pkgcheck |0.1.2.58 |


Editor-in-Chief Instructions:

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