openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
696 stars 36 forks source link

[PRE REVIEW]: Reservoir Assessment Tool (RAT): A Python Package for monitoring the dynamic state of reservoirs and analyzing dam operations #5917

Closed editorialbot closed 8 months ago

editorialbot commented 9 months ago

Submitting author: !--author-handle-->@SanchitMinocha<!--end-author-handle-- (Sanchit Minocha) Repository: https://github.com/UW-SASWE/RAT Branch with paper.md (empty if default branch): joss-paper Version: v3.0.1 Editor: Pending Reviewers: Pending Managing EiC: Kristen Thyng

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/82757e2b4e21b7df998c76b19f130c1e"><img src="https://joss.theoj.org/papers/82757e2b4e21b7df998c76b19f130c1e/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/82757e2b4e21b7df998c76b19f130c1e/status.svg)](https://joss.theoj.org/papers/82757e2b4e21b7df998c76b19f130c1e)

Author instructions

Thanks for submitting your paper to JOSS @SanchitMinocha. Currently, there isn't a JOSS editor assigned to your paper.

@SanchitMinocha if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.

Editor instructions

The JOSS submission bot @editorialbot is here to help you find and assign reviewers and start the main review. To find out what @editorialbot can do for you type:

@editorialbot commands
editorialbot commented 9 months ago

Hello human, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 9 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.15 s (408.8 files/s, 70035.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          35           1290           1043           5839
Markdown                        19            486              0           1550
YAML                             6             16              9            189
TeX                              1             15              0            153
CSS                              1             24              8            131
TOML                             1              2              0             37
-------------------------------------------------------------------------------
SUM:                            63           1833           1060           7899
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 9 months ago

Wordcount for paper.md is 1398

editorialbot commented 9 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- None

MISSING DOIs

- 10.21105/joss.02042 may be a valid DOI for title: MetSim: A Python package for estimation and disaggregation of meteorological data
- 10.1016/j.rse.2020.112209 may be a valid DOI for title: Automatic water detection from multidimensional hierarchical clustering for Sentinel-2 images and a comparison with Level 2A processors
- 10.1016/j.envsoft.2022.105533 may be a valid DOI for title: Reservoir Assessment Tool 2.0: Stakeholder driven improvements to satellite remote sensing based reservoir monitoring
- 10.1175/jhm-d-19-0058.1 may be a valid DOI for title: Understanding reservoir operating rules in the transboundary nile river basin using macroscale hydrologic modeling with satellite measurements
- 10.5194/gmd-11-3481-2018 may be a valid DOI for title: The Variable Infiltration Capacity model version 5 (VIC-5): Infrastructure improvements for new applications and reproducibility
- 10.1029/2023wr034514 may be a valid DOI for title: Restoring the Mesopotamian Rivers for Future Generations: A Practical Approach
- 10.5194/gmd-2023-130 may be a valid DOI for title: Reservoir Assessment Tool Version 3.0: A Scalable and User-Friendly Software Platform to Mobilize the Global Water Management Community
- 10.3390/rs6087522 may be a valid DOI for title: Estimation of reservoir discharges from Lake Nasser and Roseires Reservoir in the Nile Basin using satellite altimetry and imagery data
- 10.3390/su14052557 may be a valid DOI for title: PyGEE-SWToolbox: A Python Jupyter Notebook Toolbox for Interactive Surface Water Mapping and Analysis Using Google Earth Engine
- 10.5194/hess-2023-193 may be a valid DOI for title: Satellite-based Tracking of Reservoir Operations for Flood Management during the 2018 Extreme Weather Event in Kerala, India

INVALID DOIs

- None
editorialbot commented 9 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

kthyng commented 9 months ago

Hi @SanchitMinocha and apologies for the delay getting this started (I've been out of office).

I read the note you submitted with this and it sounds like we will need more details about the differences between this and previous versions of the software as well as differences between this paper and the other you have recently submitted.

editorialbot commented 9 months ago

Five most similar historical JOSS papers:

rabpro: global watershed boundaries, river elevation profiles, and catchment statistics Submitting author: @jonschwenk Handling editor: @crvernon (Active) Reviewers: @thurber, @kanishkan91 Similarity score: 0.8344

PySWMM: The Python Interface to Stormwater Management Model (SWMM) Submitting author: @katmratliff Handling editor: @kbarnhart (Retired) Reviewers: @nickrsan, @jrkasprzyk Similarity score: 0.8279

VisWaterNet: A Python package for visualization of water distribution networks Submitting author: @meghnathomas Handling editor: @crvernon (Active) Reviewers: @erexer, @thurber Similarity score: 0.8258

IPART: A Python Package for Image-Processing based Atmospheric River Tracking Submitting author: @Xunius Handling editor: @kbarnhart (Retired) Reviewers: @sadielbartholomew, @rabernat Similarity score: 0.8239

RELSAD: A Python package for reliability assessment of modern distribution systems Submitting author: @stinefm Handling editor: @fraukewiese (Active) Reviewers: @robinroche, @blthayer Similarity score: 0.8220

⚠️ Note to editors: If these papers look like they might be a good match, click through to the review issue for that paper and invite one or more of the authors before before considering asking the reviewers of these papers to review again for JOSS.

SanchitMinocha commented 9 months ago

Hi @kthyng! Thank you so much for getting this started and no worries about the delay.

Here are the key differences summarized between Reservoir Assessment Tool Version 3.0 and 2.0 from architectural point of view:

  1. Scalability: a) RAT 2.0 was a set of code that was hard coded for the dams in the river basin of Mekong but RAT 3.0 has been generalized and is applicable for any reservoir worldwide. b) Apart from the hard coded scripts, the input requirements in case of RAT 2.0 were a lot which further makes it difficult to apply the same for dam of any other river basin. RAT 3.0 effectively handles the automatic generation of a lot of these inputs, therefore significantly reducing the number of inputs required. c) In RAT 2.0, there was a disconnect between code of hydrological modeling and the code of google earth engine requiring the user to create assets first in the user's account. Also, the automatic input generations were not there. This has led to a lot of manual work for the user. In RAT 3.0, all of this is handled completely automatically. User does not need to create assets in google earth engine account and all the inputs are generated automatically using global and publicly available datasets.

  2. Robust a) RAT 2.0 and RAT 3.0 both uses real-time meteorological datasets from different servers. RAT 3.0 handles the missing data in a better way as compared to the RAT 2.0. For example if a temperature data of a single day has been missing, it will automatically be interpolated in time domain. b) Error and exception handling has been significantly improved for RAT 3.0 as compared to RAT 2.0. In Rat 2.0, only a single log file was created which was difficult for a user to follow. In RAT 3.0, this log file is accompanied by another short and summarized log file which can be easily followed by a user. c) In RAT 2.0 if the hydrological model fails for some reason, the rest of the code won't be executed. In RAT 3.0, if some part of a code related to hydrological modeling fails to generate inflow, the earth engine code will still run for surface area computations. This is because of the modular architecture of RAT 3.0.

  3. User-Friendly a) In RAT 2.0, the outputs produced by RAT were not organized into proper directories making it difficult for a user to track down the different outputs given that the number of output files generated by RAT are a lot. In RAT 3.0, the directory structure has been reorganized in an intuitive manner so that user can easily track down outputs produced at different stages of RAT while execution. b) For RAT 2.0, maximum of all inputs was handled using a configuration file but there were some inputs like user has to upload assets to one's earth engine account. RAT 3.0 handles all the inputs using a single configuration file. Though the input requirements are minimal for beginners, advanced users can easily customize the inputs according to their needs using the configuration file. c) RAT 3.0 has an inbuilt feature that a user can use to operationalize it using a cron job. For RAT 2.0, a user has to set a different cron job of manually changing configuration file every time before executing RAT in an operational manner.

  4. Efficiency a) RAT 2.0 used to execute the hydrological model from the very beginning even for operational jobs which is less efficient both time and resource wise. RAT 3.0 provides a feature to hot-start from where the execution stopped the last time. It saves the last state of the model to do so. b) A lot of processes in RAT 3.0 have been parallelized using dask python library. Downloading of meteorological data and execution of routing model for different dams are some jobs which make use of the parallel computations. RAT 2.0 was not using the implementation of parallel processing. c) The extensive set of output files generated by RAT 2.0 used to pile up, taking a lot of memory space making RAT memory inefficient. RAT 3.0 provides a feature to the user to select automatic deletion of intermediate output files for its different modules.

Comparison of RAT 1.0, RAT 2.0 and RAT 3.0 from technical aspect is as given below:

RAT 1.0: • Monthly estimates of outflow and storage change. • Evaporation modeled without Penman's equation. • Only one satellite mission (Landsat 8) for surface area estimation. RAT 2.0: • Weekly estimates of outflow and storage change. • Improved evaporation modeling with Penman's equation. • Incorporation of more satellite missions (Landsat 8, Sentinel 1, Sentinel 2) for surface area estimation, enhancing accuracy. RAT 3.0: • Frequency of estimates improved to every 3-5 days. • Addition of Landsat 9 satellite mission for further improving the frequency of estimates.

The progression highlights the evolution of RAT software, with each version offering enhancements in terms of temporal resolution, evaporation modeling, and satellite data utilization.

More details about RAT 2.0 are covered in this paper and about RAT 1.0 are covered in this paper


Here is the key distinction between the two papers (paper 1 submitted in the Geoscientific Model Development serves as the companion paper, while paper 2 is the one submitted to JOSS for review):

Paper 1: It is focused on the efforts put to create a more scalable, efficient, and robust software architecture for RAT.

The motivation is: a) to encourage peer production and open collaboration. b) to make it easy and intuitive to use so that it can have a broader outreach. c) to make it applicable worldwide

The paper talks about: a) the ideology, architecture, and modular design of RAT 3.0. b) the significant differences between version 3.0 and 2.0, as summarized earlier, and elucidates why there was a necessity for the development of this new scalable architecture. c) the imperative need for globally accessible reservoir data. d) To facilitate (c), a web application has been established at www.satellitedams.net. The objective is to provide a centralized access point for real-time reservoir data for major dams worldwide, a topic that paper 1 also discusses. e) the global datasets that can be integrated with RAT 3.0 to minimize the required inputs.

Paper 2: It is focused on the efforts put to disseminate this architecture to a broader audience, ensuring accessibility, user-friendliness, and comprehensive documentation by converting this to a python package.

The motivation is: a) to lower the barrier of installation and setup of RAT along with its dependencies like hydrological model which are not merely python packages. b) to ensure user has access to thorough documentation. c) to make it easy for users to verify the set-up of RAT package.

The paper talks about: a) command-line functionality developed for RAT 3.0 to streamline the installation and testing procedures. (i) Initialization command is provided to assist users in installation of the hydrological model, providing access to the global database, along with the necessary parameter and configuration files for RAT 3.0 (ii) There is a command to verify the successful installation of RAT by running it with test data and comparing the results. (iii) Command to automatically populate the configuration file for convenience. b) Input requirements for execution of RAT and the outputs produced.

With this paper, we also want to refer and highlight the documentation developed for RAT that describes all the parameters in the configuration file required to run RAT. It also covers how to set up accounts for services that RAT relies on, making it easy for a user to get started.

This is how the distinct focus and contributions of each paper differs, with Paper 1 emphasizing the software architecture and data access, while Paper 2 concentrates on user-friendly dissemination of that architecture along with all the components linked to the architecture (hydrological model, cloud computing using google earth-engine and satellite remote sensing), and the extensive documentation.

kthyng commented 9 months ago

Thanks for the details @SanchitMinocha. One particular concern is that GMD papers are often about software — not with the same emphasis as JOSS but still much more than other journals. Because of this I will run a scope query to see what other editors here think. This process will take a few weeks.

kthyng commented 9 months ago

@editorialbot query scope

editorialbot commented 9 months ago

Submission flagged for editorial review.

kthyng commented 8 months ago

Hi @SanchitMinocha — unfortunately the editorial board has determined this submission to not pass the bar of substantial scholarly effort separate from the pre-existing paper. If the other paper had been about applying the scientific methods of the software to an application with no emphasis on the code, or if there had been substantial enough development since that paper, publication with JOSS would be a possibility, but as it stands we see this as duplicate publication.

One additional comment suggests improving the test suite and adding more docstrings.

kthyng commented 8 months ago

@editorialbot reject

editorialbot commented 8 months ago

Paper rejected.