-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
Submission: tidync #174
Comments
👋 @mdsumner We have been on break (and for a couple more days). I will advise with next steps upon my return next week. |
Editor checks:
Editor commentsThanks for your submission @mdsumner !!
It is good practice to
✖ write unit tests for all functions, and all package code
in general. 60% of code lines are covered by test cases.
R/activate.R:32:NA
R/activate.R:33:NA
R/activate.R:35:NA
R/activate.R:36:NA
R/activate.R:54:NA
... and 132 more lines
✖ avoid long code lines, it is bad for readability. Also,
many people prefer editor windows that are about 80 characters
wide. Try make your lines shorter than 80 characters
R/activate.R:54:1
R/activate.R:56:1
R/activate.R:59:1
R/activate.R:73:1
R/activate.R:75:1
... and 53 more lines
✖ fix this R CMD check ERROR: Packages suggested but not
available: ‘ncdump’ ‘palr’ The suggested packages are required for
a complete check. Checking can be attempted without them by setting
the environment variable _R_CHECK_FORCE_SUGGESTS_ to a false value.
See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’
manual. Seeking reviewers now 🕐 Reviewers: @timcdlucas @Nowosad |
Thanks @sckott ! I added the rOpenSci badge, and I'll fix the lines and lack of tests. I expect the "suggested but not available" error goes away if you install Editor, and reviewers: please note there's a Remotes: hypertidy/ncmeta which will need to go on CRAN soon as well. |
Reviewers assigned Reviewers: @timcdlucas @Nowosad |
Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing:
Review Comments
Installation
Automated tests
README
Vignette
ExamplesI would suggest improving some of the examples in the help files:
Function namesI found two small inconsistencies in the function names:
Questions
@mdsumner thanks for developing the package and let me know if you have any questions regarding to my comments. |
thanks for your review @Nowosad ! |
thanks @Nowosad - lots of good points here! I'm trying a few things to come up with a better naming scheme, your feedback is very helpful In terms of the Question "Is it possible to get actual values (or their ranges) in the interactive mode?" , I guess you mean seeing the range of "chlor_a" in this output? library(tidync)
f <- "S20092742009304.L3m_MO_CHL_chlor_a_9km.nc"
l3file <- system.file("extdata/oceandata", f, package= "tidync")
## filter by value
tidync(l3file) %>% hyper_filter(lon = lon < 100) The problem is that this filtering is completely lazy, there's only information about the metadata (axis names and step values) - so it's effectively free in computation terms. Polling the variables for values implies quite a lot of i/o. It's possible to get the "valid range" for some variables, but I'm not sure how useful that would be (not affected by filter expressions, not always present afaik). |
Ah, it didn't occur to me until now that the ranges of 1D axis variables is useful, that definitely has to be in the summary - big multi-d variables are hard to scan, but the axis ranges are readily available: x <- tidync(l3file)
axes <- axis_transforms(x)
lapply(names(axes), function(nm) range(axes[[nm]][[nm]])) I couldn't see a good purrrish way to do that but I'll figure it out and make sure those ranges are in the summary print. |
@mdsumner That would definitely be an improvement. |
Just a check in to say sorry for being slow. I'll be done by the 3 week deadline. |
tidync reviewAuthor: Tim Lucas Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: 4 (lots of time wasted trying to install NetCDF) Review CommentsOverviewThis package provides a nice interface for dealing with NetCDF files. It seems to work as stated showing summaries of NetCDF files without reading the whole file and allowing slices from the data to be loaded and munged into a number of useful data formats. Specific commentsWhile it could possibly be assumed that the user has NetCDF installed (why else would they want to use the package?) some details on how to install it would still be useful in the README. I have switched computers since I last used NetCDF and it did take me quite a while to get it installed. Large block of commented out examples in raadtools in tidync example is a github only package. And then I get:
ggplot2 example in
Example in
Furthermore the description for var_names is very terse. Even though it is fairly clear what the function does just from the function name. The tests for the function raadtools is not mentioned in The function As mentioned above, after installing
so I cannot run any of the unit tests. +1 for the request for variable ranges. It is hard to know how to subset until you know this! ConclusionOverall, this looks like a promising package with a clear and useful set of functionality. |
Thanks both @Nowosad and @timcdlucas I'm working through these issues, I appreciate the reviews! One request I have is if there were NetCDF files/sources of interest that you used? Are there sources that would be compelling if I built them into the tests, or as example data in the package? I totally agree it's important to remove the raadtools stuff, but I otherwise find it hard to get enough interesting data to test with - I'd lost sight of how dependent on that local system I am, so apologies for that. Would it be suitable to have the tests download files, perhaps using rappdirs and just skip those when on CRAN, but link to them in examples? |
One other question, @timcdlucas were you working on Ubuntu? Is that where you have problems installing? I'm going through a fresh install on 16.04 to make sure it works, but I should do the same with Mac somehow too. |
thanks @timcdlucas @Nowosad when you get a chance can you look at the new version and see if you have any more feedback? |
I've already took a look at the changes and they are 👍 . The only thing that still can be improved is the vignette. |
thanks @Nowosad |
Hi all, Great work @mdsumner. Hope I'm looking at the right version. I'm using bfb975ce565fc807e482497c7a7b953b6e66463c I still get 1 test failure.
in Other than that the only thing I can see is that the readme isn't currently runeable. Otherwise I'm happy! Tim |
Awesome, thanks so much @timcdlucas I'll clean those things up! |
I think I've addressed everything, thanks again for the responses! I've done a run over the documentation and it's a lot tighter and uses links better now, every bit of feedback here has been really helpful and I appreciate the patience provided to me. I didn't foresee this being wrapped up so nicely a few weeks ago. (For CRAN it's down to needing a release of |
nice work @mdsumner - any issues we can help on with |
It comes down to revdepcheck which I just can't get to finish ATM. I need to make sure a release doesn't disrupt stars,and I don't feel confident on that without revdep. If you revdepcheck ncmeta and share the results that would be helpful? |
problems and readme from revdepcheck aattached |
That was fast! Awesome, that's very helpful - I think I only need to condition on version pre and post and it'll be safe. THANKS (hopefully I can get revdep working again too ...) |
I've got this sorted now, ncmeta will have to follow the next version of stars onto CRAN. |
And now on CRAN. I still see stuff that needs fixing but functionally I think all is well. THANK YOU @sckott @timcdlucas and @Nowosad ! A while back I just didn't think this was going to work, but the whole process has been extremely helpful and I appreciate all the patience. It occurred to me I haven't credited efforts from this review enough in the package itself, but I will rectify that. While it's fresh, the things I got wrong during the CRAN submission:
|
Thanks, glad to have helped. Didn't know print was explicitly banned. Will remember that. |
@sckott are we good for rOpenSci here? I found some personal time to push this out to CRAN and kind of lost track of the status here -can we go to the next steps? Apologies if I've overlooked something I needed to do |
@mdsumner All is good, was waiting i think for ncmeta to get on CRAN, now it's on CRAN. Approved! Thanks again for your submission @mdsumner ! And thanks for your reviews @Nowosad and @timcdlucas 👌 To-dos:
We've started putting together a bookdown with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved. The repo is at https://github.com/ropensci/dev_guide Are you interested in doing a blog post for our blog https://ropensci.org/blog/ ? either a short-form intro to it (https://ropensci.org/technotes/) or long-form post with more narrative about its development (https://ropensci.org/blog/). If so, we'll have our community manager @stefaniebutland get in touch with you on that |
Great thanks! All done apart from
tidync 0.2.0 just hit CRAN! |
try again, admin should be fixed |
Are you considering a blog post @mdsumner ? |
Oh definitely! |
Most excellent! Once published, it will show up on your author page Happy to answer any questions. |
sorry to change recommendation @mdsumner - we recommend continuing to maintain your appveyor badge under your own acct |
Oh that's all good, the change is only that appveyor creates a new link (another random suffix), but the badge hangs off github/ropensci:
|
@mdsumner so is that okay? |
Yes, my only Todo now is the blog! |
Summary
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.
https://github.com/hypertidy/tidync
hyper_slice
in raw form, with a higher-level output provided by thehyper_tibble
wrapperThe 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).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.Here's the pre-submission enquiry:
#167
Requirements
Confirm each of the following by checking the box. This package:
Publication options
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.Detail
R CMD check
(ordevtools::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:
The text was updated successfully, but these errors were encountered: