Skip to content

Submission: tidync #174

@mdsumner

Description

@mdsumner

Summary

  • What does this package do? (explain in 50 words or less):

Explore the contents of a NetCDF source (file or URL) presented as variables organized by grids with a database-like interface. The hyper_filter verb shows the effects of array-slicing expressions by value or index. Actual data read is delayed until explicitly requested, as a data frame or list of arrays.

  • Paste the full DESCRIPTION file inside a code block below:
Package: tidync
Title: A Tidy Approach to 'NetCDF' Data Exploration and Extraction
Version: 0.0.3
Authors@R: c(person("Michael", "Sumner", email = "mdsumner@gmail.com", role = c("aut", "cre")), 
             person("Simon", "Wotherspoon", role = "ctb"), 
             person("Tomas", "Remenyi", role = "ctb"), 
             person("Ben", "Raymond", role = "ctb"))
Description: Tidy tools for 'NetCDF' data sources. Explore the contents of a NetCDF source (file or URL) 
 presented as variables organized by grid with a database-like interface. The 'hyper_filter' verb 
 shows the effects of array-slicing expressions by value or index. Actual data read is delayed until explicitly 
 requested, as a data frame or list of arrays. 
Depends: R (>= 3.3.0)
License: GPL-3
Encoding: UTF-8
LazyData: true
ByteCompile: true
Imports:
    dplyr (>= 0.7.0), 
    forcats,
    magrittr,
    ncdf4,
    ncmeta (>= 0.0.2), 
    purrr, 
    RNetCDF  (>= 1.9-1),
    raster,
    rlang, 
    tabularaster,
    tibble,
    yesno
RoxygenNote: 6.0.1
Suggests: ggplot2,
    knitr,
    memoise,
    ncdump,
    palr,
    rmarkdown,
    testthat,
    covr
Remotes: hypertidy/ncmeta
Roxygen: list(markdown = TRUE)
URL: https://github.com/hypertidy/tidync
BugReports: https://github.com/hypertidy/tidync/issues
  • URL for the package (the development repository, not a stylized html page):

https://github.com/hypertidy/tidync

  • Please indicate which category or categories from our [package fit policies]
  1. data munging because the NetCDF model is so general that no one size fits all, tidync provides ease-of-exploration for development of domain-specific access tools as well as for understanding a new source
  2. data extraction because the data can be actually read by hyper_slice in raw form, with a higher-level output provided by the hyper_tibble wrapper
  •   Who is the target audience and what are scientific applications of this package?  

The target audience is users who learn so much about their particular sub-domain that they become programmers helping others in that arena. They either wrap around tidync to build an interface to a NetCDF source-family, or simply use it to learn to craft lower level calls more directly to the API (with packages RNetCDF, ncdf4, rgdal, rhdf5, etc).

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

The dplyr tbl_cube is the nearest and the in-development stars does have some overlap. but I think the virtual table abstraction in tidync is novel, albeit very heavily inspired by the "laziness" of ggplot2 and the multiple-tables approach in tidygraph. In terms of useability overall - but not in terms of generality - the raster package is the best but it does not handle non-geographic arrays well, can only deal with 2D or 3D slices from higher forms, and does not support grids with non-regular (non-affine) coordinates.

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

Here's the pre-submission enquiry:

#167

Requirements

Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.
  • has a CRAN and OSI accepted license.
  • contains a README with instructions for installing the development version.
  • includes documentation with examples for all functions.
  • contains a vignette with examples of its essential functions and uses.
  • has a test suite.
  • has continuous integration, including reporting of test coverage, using services such as Travis CI, Coeveralls and/or CodeCov.
  • I agree to abide by ROpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.

Publication options

  • Do you intend for this package to go on CRAN?
  • Do you wish to automatically submit to the Journal of Open Source Software? If so:
    • The package has an obvious research application according to JOSS's definition.
    • The package contains a paper.md matching JOSS's requirements with a high-level description in the package root or in inst/.
    • The package is deposited in a long-term repository with the DOI:
    • (Do not submit your package separately to JOSS)
  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
    • 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.
    • (Please do not submit your package separately to Methods in Ecology and Evolution)

Detail

  • Does R CMD check (or devtools::check()) succeed? Paste and describe any errors or warnings:

Passing locally (on Linux), but still having problems on travis.

  • Does the package conform to rOpenSci packaging guidelines? Please describe any exceptions:

  • If this is a resubmission following rejection, please explain the change in circumstances:

  • If possible, please provide recommendations of reviewers - those with experience with similar packages and/or likely users of your package - and their GitHub user names:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions