openjournals / joss-reviews

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

[REVIEW]: Viable North Sea (ViNoS): A NetLogo Agent-based Model of German Small-scale Fisheries #5731

Closed editorialbot closed 6 months ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@platipodium<!--end-author-handle-- (Carsten Lemmen) Repository: https://codebase.helmholtz.cloud/mussel/netlogo-northsea-species.git Branch with paper.md (empty if default branch): main Version: v1.3.2 Editor: !--editor-->@marcosvital<!--end-editor-- Reviewers: @nick-gauthier, @Fabbiologia, @changliao1025 Archive: 10.5281/zenodo.7928199

Status

status

Status badge code:

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

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@nick-gauthier & @Fabbiologia & @changliao1025, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @marcosvital know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @Fabbiologia

📝 Checklist for @changliao1025

📝 Checklist for @nick-gauthier

platipodium commented 11 months ago

[x] A statement of need: I don't quite understand the application of this model since there are a couple of limitations. 1) if the steps are randomly generated, then should this be used a guidance or it should be treated as a scenario emulator? For example, the purpose this model is to find the best location for fishing, then should it implement some optimization scheme instead of using a random approach? I might have misunderstood something, correct me if I am wrong about the details.

  1. The intended use is the scenario emulator. We will improve the description https://codebase.helmholtz.cloud/mussel/netlogo-northsea-species/-/issues/118
  2. There is optimisation implemented. Fishers remember (and look for new) good fishing locations subject to competition and resource depletion. There is a small random variation added on the exact choice of fishing location to represent things like tidal current variability and place uncertainty, collision avoidance, resource spatial variability, etc...
changliao1025 commented 11 months ago

@platipodium Thanks for the response. I have another comment: the paper mentioned that currently, the model does not consider interactions between different boats. Can you provide more detail in some way? For example, if an agent boat visits a list of grid cells, should other agent boats tend to avoid those grid cells? The power of ABM is to consider the interactions between agents, so I expect this to be a key capability in this model. Maybe some clarification of this "interaction" is needed somewhere.

changliao1025 commented 11 months ago

@platipodium Another biased opinion: the current model uses the WGS for the mesh grid, which means different grid cell has different area depending on the latitude. This will also cause different travel distance, and fuel costs in different areas. Is this possible to use a projected system, or even better use a discrete global grids (DGGs), such as the dggrid mesh (https://github.com/sahrk/DGGRID)?

platipodium commented 11 months ago

@platipodium Another biased opinion: the current model uses the WGS for the mesh grid, which means different grid cell has different area depending on the latitude. This will also cause different travel distance, and fuel costs in different areas. Is this possible to use a projected system, or even better use a discrete global grids (DGGs), such as the dggrid mesh (https://github.com/sahrk/DGGRID)?

Thanks you for pointing this out. Actually, all the travel distance and fuel cost operations do consider the projection to NetLogo space. I elaborated the ODD section with the following text:

The spatial domain is described by a grid, whose cells (in NetLogo: patches) carry spatial information on the environment and record activity information. The domain itself is the German Bight including Germany's EEZ. It is represented geographically in the WGS84 datum and as equilateral cells in latitude and longitude, thus corresponding to the Concise Spatial QUery And REpresentation System (c-squares) on which much of the reported data is available. The model domain is bounded by the rectangle spanned by the coordinates (2° E; 53° N) and (10° E; 56° N); the resolution is 0.025 x 0.025 degree (1.5 arc minutes, or approximately 1.7 x 2.9 km). The resulting grid has a size of 320 columns x 120 rows.

All distance and speed calculations are performed in geographical coordinates using great circle distance; these length calculation are then converted to NetLogo coordinate distances for agent sensing and movement.

I hope this clarifies and motivates the choice of the current grid system.

platipodium commented 11 months ago

@platipodium Thanks for the response. I have another comment: the paper mentioned that currently, the model does not consider interactions between different boats. Can you provide more detail in some way? For example, if an agent boat visits a list of grid cells, should other agent boats tend to avoid those grid cells?

Thanks for pointing out the lack of a statement on this. Yes, boats do interact, here's the relevant section from the updated ODD:

Boats in phase 2 steam to a preferred location for the next fishing haul. This preferred location is individually chosen by proximity to prior successful hauls, but constrained by fuel limitation, maximum distance, cargo shipping activity, and presence of other fishing boats.

platipodium commented 11 months ago

[x] Automated tests: I could not find any test information.

There is an extensive CI pipeline using unit tests and NetLogo BehaviorSpace, see .gitlab-ci.yml and CI files in ./.gitlab/, and behaviors in ./netlogo/behavior/*xml. There is not standard Test Framework available in NetLogo. How would you @changliao1025 suggest to report test information?

platipodium commented 11 months ago
  1. The intended use is the scenario emulator. We will improve the description https://codebase.helmholtz.cloud/mussel/netlogo-northsea-species/-/issues/118

It is stated that the model

".. is intended to be used for scenario development for future sustainable fisheries."

changliao1025 commented 10 months ago

@platipodium Thanks for addressing all my previous comments. Overall I am satisfied with the responses and model behavior. I have a couple of suggestions for the authors to consider in future development:

Thank you.

platipodium commented 10 months ago

Overall I am satisfied with the responses and model behavior.

Thanks @changliao1025

  • expose APIs to the Python environment. I know the currently the model is embedded under Netlogo GUI. It would be more powerful to allow the simulations without GUI, such as using https://github.com/quaquel/pyNetLogo?
  • streamline the model workflow so users can apply it to other domains.

There is is a feature request active on making the domain more dynamic in zoom level. https://codebase.helmholtz.cloud/mussel/netlogo-northsea-species/-/issues/109. This should then help apply the model also to other domains.

platipodium commented 10 months ago

@nick-gauthier you have not continued your review. Is there an accessibility issue that I should resolve to make it easier to obtain/download/run the software?

@marcosvital Please bump version to 1.3.0

marcosvital commented 9 months ago

@editorialbot set 1.3.0 as version

editorialbot commented 9 months ago

Done! version is now 1.3.0

marcosvital commented 9 months ago

@nick-gauthier, let us know when you are able to continue your review, and if you need any assistance to finish it, ok?

nick-gauthier commented 9 months ago

Hi @platipodium, I've opened a few issues on the repo primarily focusing on:

Beyond these minor points this is an excellent piece of work that will be of use to its intended stakeholders, as well as other researchers working on similar problems in NetLogo.

platipodium commented 9 months ago

Thank you @nick-gauthier for your thorough review and helpful requests for improvements. Below, I made a checklist of the upstream items to be checked off once they are resolved on the upstream repo:

platipodium commented 8 months ago

@nick-gauthier I addressed all the issues you raised. Thanks again for helping me to improve the model and its documentation.

platipodium commented 8 months ago

@marcosvital can you collect final approval from all reviewers @nick-gauthier @Fabbiologia @changliao1025 (if necessary) to proceed with publication?

platipodium commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

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

platipodium commented 8 months ago

Please bear with me, the pdf built from the wrong sources, I'll fix this and report back

platipodium commented 8 months ago

@marcosvital please advise: JOSS is building the paper pdf from ./doc/assumptions/paper.md instead of building from ./doc/joss/paper.md. I suspect this happened when I added the assumptions directory and that it is now search (alphabetically) before joss. How can I force the build on the correct ./doc/joss/paper.md?

platipodium commented 8 months ago

@editorialbot commands

editorialbot commented 8 months ago

Hello @platipodium, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Check the references of the paper for missing DOIs
@editorialbot check references

# Perform checks on the repository
@editorialbot check repository

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for branch
@editorialbot set joss-paper as branch

# Generates the pdf paper
@editorialbot generate pdf

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Get a link to the complete list of reviewers
@editorialbot list reviewers
platipodium commented 8 months ago

I renamed all other documents not to confuse INARA. So hopefully the paper builds correctly now.

platipodium commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

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

platipodium commented 8 months ago

@marcosvital can you collect final approval from all reviewers @nick-gauthier @Fabbiologia @changliao1025 to proceed with publication?

Fabbiologia commented 8 months ago

I approve the publication!

nick-gauthier commented 8 months ago

I approve it as well.

platipodium commented 7 months ago

Pinging @changliao1025 and @marcosvital for final approval.

changliao1025 commented 7 months ago

I approve it, thank you.

marcosvital commented 7 months ago

Thank you so much for all your contributions, @nick-gauthier, @Fabbiologia, @changliao1025

@platipodium, it seems we are almost ready for acceptance. A couple of points:

marcosvital commented 7 months ago

@editorialbot check references

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

OK DOIs

- 10.1201/9781351106252 is OK
- 10.1016/j.ecolmodel.2010.08.019 is OK
- 10.18564/jasss.4259 is OK
- 10.1007/978-3-319-43884-9_13 is OK
- 10.1016/j.ocecoaman.2023.106543 is OK
- 10.1111/j.1365-2664.2008.01488.x is OK
- 10.1016/j.rser.2022.112108 is OK
- 10.1007/978-3-030-37371-9_23 is OK
- 10.1016/j.marpol.2021.104675 is OK
- 10.1007/s10618-019-00646-y is OK
- 10.17895/ices.pub.8105 is OK
- 10.1093/icesjms/fsaa050 is OK
- 10.17487/rfc4180 is OK

MISSING DOIs

- None

INVALID DOIs

- https://doi.org/10.1111/faf.12466 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/0377-2217(87)90092-0 is INVALID because of 'https://doi.org/' prefix
platipodium commented 7 months ago

Thanks @marcosvital,

  • Is 1.3.0 the current version?

I am about to release 1.3.2, which is a maintenance release to 1.3.0. That should be the version archived with the paper. I am still fighting some errors in the CI pipeline to finalise that release ...

  • I see that version 1.2.2 is deposited at Zenodo, but we will need the most up to date version archived.

Sure! The Zenodo automated deposition is one of the things to be fixed in 1.3.2 :=). I'll provide an update when 1.3.2 is released, along with the zenodo doi and the fixed doi (see below)

marcosvital commented 7 months ago

OK, thanks @platipodium, let me know when 1.3.2 is released and we will move on.

platipodium commented 7 months ago

The source tree is deposited on zenodo as 10.5281/zenodo.10798132

platipodium commented 7 months ago

The current version is now 1.3.2, please update @marcosvital

platipodium commented 7 months ago

@editorialbot check references

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

OK DOIs

- 10.1201/9781351106252 is OK
- 10.1016/j.ecolmodel.2010.08.019 is OK
- 10.18564/jasss.4259 is OK
- 10.1007/978-3-319-43884-9_13 is OK
- 10.1016/j.ocecoaman.2023.106543 is OK
- 10.1111/j.1365-2664.2008.01488.x is OK
- 10.1016/j.rser.2022.112108 is OK
- 10.1007/978-3-030-37371-9_23 is OK
- 10.1016/j.marpol.2021.104675 is OK
- 10.1007/s10618-019-00646-y is OK
- 10.17895/ices.pub.8105 is OK
- 10.1093/icesjms/fsaa050 is OK
- 10.17487/rfc4180 is OK
- 10.1111/faf.12466 is OK
- 10.1016/0377-2217(87)90092-0 is OK

MISSING DOIs

- No DOI given, and none found for title: Shrimp, plaice, sole
- No DOI given, and none found for title: Spatio temporal diversity in German brown shrimp f...
- No DOI given, and none found for title: The Dynamic Interaction Between Economy and Ecolog...
- No DOI given, and none found for title: Validation for Journal of Open Source Software
- No DOI given, and none found for title: NetLogo
- No DOI given, and none found for title: REUSE Software
- No DOI given, and none found for title: NetLogo how to add a legend?
- No DOI given, and none found for title: The ocean economy in 2030
- No DOI given, and none found for title: Gesetz zur Entwicklung und Förderung der Windenerg...
- No DOI given, and none found for title: The North Sea brown shrimp fisheries (pp. 5–103)
- No DOI given, and none found for title: Bericht an die Europaäische Kommission nach Artike...
- No DOI given, and none found for title: Towards a Community Framework for Agent-Based Mode...

INVALID DOIs

- None
platipodium commented 7 months ago

The paper now also builds from the main default branch, not only the joss branch. If possible @marcosvital , use the default branch from now on so I can close the joss branch.

platipodium commented 7 months ago

@marcosvital I went over the post-review checklist and can confirm that I

Please proceed with publication or advise what else to check

marcosvital commented 7 months ago

@editorialbot set 1.3.2 as version

editorialbot commented 7 months ago

Done! version is now 1.3.2

marcosvital commented 7 months ago

@editorialbot set 10.5281/zenodo.7928199 as archive

editorialbot commented 7 months ago

Done! archive is now 10.5281/zenodo.7928199

marcosvital commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

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

marcosvital commented 7 months ago

@editorialbot set main as branch

editorialbot commented 7 months ago

Done! branch is now main