-
Notifications
You must be signed in to change notification settings - Fork 3
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
Ye JOSS Review Comments #3
Comments
Thank you so much for your suggestions! Please see below my response to each of the points.
Response: the function mainly converts the timestamps into the one R can read and also removes unused lines in the raw data file. This description has been added into the help file.
Response: I revised the code with match.arg() and parse_date_time() added as suggested. Thank you!
Response: I changed the date argument to “date_ms” standing for date of measurement to distinguish it from other argument that takes column names. “Ta” is kept as it was here, since it takes the column name of air temperature which is in line with other argument (e.g., time, CO2 and CH4). For the “Ta” in the function
Response: revised accordingly.
Response: I have added a more detailed instruction in the interactive graph and included two steps and clarified that the user should end the operation by clicking the “Stop” button on the top-left corner of the window.
Response: the error is caused by selecting a point that results in a failure in the regression. This error message has been added to Line 217 in the
Response: the output format has been modified to include both the start and end time that each flux is calculated and used the long format. The index is removed to avoid confusion.
Response: Agree! I have modified the input of the time cues to be data frame instead of a file. In addition, I added an argument “other” to take the column names in the time cue data that can passed to the output.
Response: all the unused constants are now removed. An argument “digits” has been added so that the users can define by themselves.
Response: these duplicated codes have been built into functions and called afterwards.
Response: the time cue selecting procedure has now been separated from the original
Response: these arguments are the unique dimensions of the chambers used for the measurements. Therefore, they are different from case to case and should be entered by the users themselves. I have moved these two arguments up to 3rd and 4th place.
Response: agree! I have added an argument
Response: codes have been revised according to the suggestions returned from goodpractice::gp().
Response: I have carefully revised the name style and used small case letter for argument (except for CO2, CH4 and Ta, which are conventions) and the CamelCase for function names.
Response: column indices are replaced with the column names. Other constants are defined at the beginning of the code and called by the names afterwards.
Response: error messages are added which are triggered when wrong column names are detected.
Response: links have been added to the help whenever other functions are mentioned.
Response: a vignette file is added with examples of using the functions under different scenarios. Screenshots are included also to demonstrate the interactive cue selecting graph and the check-up graph.
Response: changed accordingly.
Response: agree! I have added more background information in the first three paragraphs and clarified the “gap” that this package fills and also highlighted the features this package has that facilitate the flux calculation.
Response: according the suggestion, I explicitly explained the challenge of selecting the valid data and added the formula of flux calculation. The features of the packages have been moved down to the 5th paragraph.
Response: here I removed the word “manually” to avoid confusion.
Response: The flux calculation is based on the assumption that the gas concentration change follows a straight line (i.e., the flux rate is constant during the measurement period). Therefore, R2 of the linear regression is usually used to identify the quality of the measurement. Two references are added to support the idea. |
Hi,
This seems like a very handy tool for resolving a tedious aspect of computing fluxes from raw sensor data.
Below are the detailed comments for my JOSS review:
Functionality:
Load_LGR()
Time_format
argument only takes a few values. Preferred style for handling this is usingmatch.arg()
, but in this case, I'd recommend re-using theorders
argument fromlubridate::parse_date_time()
and passing the argument through.Load_Other
Date
argument, in that it represents a constant date on which the measurements were made, if such data were not present in the file. Mainly because most of the other arguments refer to columns of the input data file. Maybe you could use some other argument naming scheme to indicate such (and then add a similar additional argument for temperature, instead of reusingTa
in multiple ways)Time_format
as forLoad_LGR()
FluxCal
identify
to figure out that I needed to click a different mouse button. Unfortunately this didn't work on my laptop, and I had to plug in a mouse. There needs to be instruction for how to proceed, as well as a more accessible option.Plot
andLight.Dark
columns) associated with the timing cues that is ignored. It would be great to include this as part of the output, for easier analysis purposes (than having to later match the output with the metadata in the timing file).vol
andArea
that would work? It's a bit awkward to have them be required arguments, but not at the front of the list of arguments. Maybe a unitless calculation could work?The software paper mention that the analysis is "reproducible" -- but if the peaks and valleys are manually chosen, this seems to be non-reproducible. Perhaps you can add an option for selecting peaks and valleys to be turned into a timing cues data structure and output file, to make the calculations reproducible, with the manual interaction only needing to happen once.
You might try running
goodpractice::gp()
to look for additional issues. Not all of them are relevant for JOSS, but it can identify some general ways to improve the package.Code Style:
Error checking:
Documentation:
\link{\code{}}
). There are a few spots where this would be useful in the docs.Software paper:
Paragraph 1, line 4: "for" -> "because of".
The text was updated successfully, but these errors were encountered: