openjournals / joss-reviews

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

[PRE REVIEW]: f90nml - A Python module for Fortran namelists #1472

Closed whedon closed 5 years ago

whedon commented 5 years ago

Submitting author: @marshallward (Marshall Ward) Repository: https://github.com/marshallward/f90nml Version: v1.1 Editor: @danielskatz Reviewers: @zbeekman, @tclune

Author instructions

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

@marshallward if you have any suggestions for potential reviewers then please mention them here in this thread. In addition, this list of people have already agreed to review for JOSS and may be suitable for this submission.

Editor instructions

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

@whedon commands
whedon commented 5 years ago

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

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

@whedon commands

What happens now?

This submission is currently in a pre-review state which means we are waiting for an editor to be assigned and for them to find some reviewers for your submission. This may take anything between a few hours to a couple of weeks. Thanks for your patience :smile_cat:

You can help the editor by looking at this list of potential reviewers to identify individuals who might be able to review your submission (please start at the bottom of the list). Also, feel free to suggest individuals who are not on this list by mentioning their GitHub handles here.

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

PDF failed to compile for issue #1472 with the following error:

/app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/lib/whedon.rb:115:in check_fields': Paper YAML header is missing expected fields: bibliography (RuntimeError) from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/lib/whedon.rb:80:ininitialize' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/lib/whedon/processor.rb:36:in new' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/lib/whedon/processor.rb:36:inset_paper' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/bin/whedon:55:in prepare' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:inrun' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:indispatch' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-fc4c5c749ca9/bin/whedon:116:in<top (required)>' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in load' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in

'

danielskatz commented 5 years ago

👋 @marshallward - I think a bibliography is needed by @whedon - perhaps you can reference the Fortran standard if nothing else seems appropriate. Once you've added a .bib file and updated the .md to use it, you can enter @whedon generate pdf here as a new comment to check the build process

marshallward commented 5 years ago

Thank you @danielskatz, I've updated the doc to include a reference to the ISO document. (Not sure what else to cite here, since it's a pretty low level tool). I will direct @whedon in the next post.

Also, I believe that @zbeekman may be a suitable referee for this paper, based on his contributions to the Fortran community.

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

PDF failed to compile for issue #1472 with the following error:

Error producing PDF. ! Undefined control sequence.

\s l.300 ...hierarchical tree of \texttt{Namelists}\s Looks like we failed to compile the PDF
marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

danielskatz commented 5 years ago

Please see https://github.com/marshallward/f90nml/pull/94

danielskatz commented 5 years ago

For submissions to JOSS, papers should talk a bit about the research use and users of the software - see https://joss.readthedocs.io/en/latest/submitting.html#what-should-my-paper-contain

marshallward commented 5 years ago

Given that this is more of a Fortran tool rather than addressing a specific research activity, would you recommend submitting to a different journal?

zbeekman commented 5 years ago

FWIW (maybe not much!) I can see great value in research contexts for such a tool. Two immediate use cases jump to mind (although they are sort of two sides of the same coin):

  1. Research code modernization & portability
  2. Mixed language programming

1. Modernization & Portability

Namelist files are better than old school "input deck" formatted input files, but they still are not as widely used (and easy to work with) as JSON and YAML. Research codes like NASA's FUN3D rely heavily on namelists for input files as do weather & climate codes like WRF. Increasingly these types of Engineering, Geoscience & Physics codes are needing to be integrated into workflows and analysis pipelines using other tools. As such, namelists are a poor choice of data format for both input files and outputs, as they are not easily generated or read by other tools. Increasingly research code inputs may need to be assimilated from more diverse sources, and analysis with tools like Jupyter notebooks or further processing of outputs is desired.

f90nml can help researchers with modernization and porability in two ways:

  1. Translate namelists into more modern and widely utilized (portable) data formats. These might be research code outputs, for example.
  2. Provide bulk, easy translation of namelist input files for Fortran research codes utilizing tools like JSON-Fortran or petaca, which are being increasingly adopted during code modernization and ongoing development.

2. Mixed Language Programming

Python is often used as glue code in scientific and engineering software. For example Helios integrates components written in different languages, mostly Fortran and C++, and can swap in modular near-body CFD solvers for various rotorcraft and wind energy problems, including FUN3D, mentioned above. The glue code, and main driver application is written in python, but needs to generate namelist files to help talk to the Fortran based components. A framework like f90nml that can read and write namelists easily from Python could be attractive as a 3rd party library to be utilized in such applications.

It is my (completely unsolicited and possibly worthless) opinion that, with suitable research, edits and references, that this f90nml joss article could be crafted into one that highlights the research uses, users and applications, and is appropriate for review. (But I haven't read the draft yet, this is based solely on my opinion and familiarity with the software.)

zbeekman commented 5 years ago

P.S. I'm on that list, but recently added, so you must scroll down to the 582nd row.

Should the submission proceed, I hope my enthusiasm above is not mis-interpreted. I do not know, nor have I ever worked with or for the same company as @marshallward; I just appreciate the f90nml tool.

rgieseke commented 5 years ago

Pymagicc (https://doi.org/10.21105/joss.00516) has used f90nml and switching to it has replaced a bunch of hacky code in a previous version, thus greatly speeding up Pymagicc development.

I'm at GitHub's satellite conference right now, where it was just announced that GitHub repos will display "Used by" other projects button.

For f90nml there are 45 repos and 10 packages.

https://github.com/marshallward/f90nml/network/dependents

danielskatz commented 5 years ago

I have no doubts about the usefulness of this software, I'm just trying to make sure if fits JOSS - I'll confer with other editors and be back soon

marshallward commented 5 years ago

Thanks all for the kind feedback. I will modify the manuscript over the next day or so and try to consolidate some of the uses cases from these projects, including the ones linked by @rgieseke. (I was aware of a few via Google, but I'm surprised to see much more).

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

PDF failed to compile for issue #1472 with the following error:

Error reading bibliography ./paper.bib (line 51, column 5): unexpected "a" expecting space, ",", white space or "}" Error running filter pandoc-citeproc: Filter returned error status 1 Looks like we failed to compile the PDF

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

danielskatz commented 5 years ago

@marshallward - We'll go ahead and review this. Let me know when you are satisfied with the paper, and we'll get started.

Also, if you have any suggestions for potential reviewers then please let us know. This list of people have already agreed to review for JOSS and may be suitable for this submission, but feel free to mention other people, whether with a github username or an email address, here as well.

marshallward commented 5 years ago

Hi @danielskatz I've just submitted one more change since the last article proof, and am happy with the current draft. (Please let me know if I need to generate a new PDF, or if the editors will do it internally.)

@zbeekman would probably be a good reviewer, given his background in the sciences and development of Fortran tools. After going through the list, @ngoldbaum may also be suitable since they mention an interest in Python utilities, although that's just based on information on the spreadsheet. Someone with an atmosphere/ocean background and familiarity with Fortran may also be appropriate (too many to pick from on the spreadsheet).

zbeekman commented 5 years ago

I think you need to ask whedon to regenerate the pdf.

I'd be happy to be a reviewer, but I won't be able to look at it until the weekend after this coming one. I'm mid review on another JOSS paper and have a number of other obligations to attend to. Damian Rouson (a friend and colleague of mine) has reviewed for JOSS in the past, (he's on the list too, I think) and is also very involved in the Fortran community. You may consider asking him if my anticipated turn around is not fast enough. (We have a lot of overlap, so it would be a bad idea for us both to be reviewers on the same paper, IMO.)

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

marshallward commented 5 years ago

Damian Rouson would be a great option, I don't know him (nor @zbeekman for that matter!) but follow his work.

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

marshallward commented 5 years ago

~BTW I cannot seem to get the second affiliation working, if anyone knows how to fix...~ Fixed!

marshallward commented 5 years ago

@whedon generate pdf

whedon commented 5 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 5 years ago

:point_right: Check article proof :page_facing_up: :point_left:

danielskatz commented 5 years ago

👋 @zbeekman - it sounds like you are willing to review this?

danielskatz commented 5 years ago

sorry, now I see you said so earlier. I'll assign you, but until we get a second reviewer, nothing will start, and your delay to next weekend is fine

danielskatz commented 5 years ago

@whedon assign @danielskatz as editor

whedon commented 5 years ago

OK, the editor is @danielskatz

danielskatz commented 5 years ago

@whedon assign @zbeekman as reviewer

whedon commented 5 years ago

OK, the reviewer is @zbeekman

danielskatz commented 5 years ago

👋 @rouson - Are you willing to review this for JOSS?

zbeekman commented 5 years ago

I’m not against it but @rouson and I collaborate a lot so having both of us as reviewers may be redundant or offer similar perspectives. I’ll be happy to step aside for @rouson or review w/ him, but I wanted you @danielskatz to be aware of this.

Happy either way so long as I can punt until after May 31.

On Thu, May 23, 2019 at 8:25 PM Daniel S. Katz notifications@github.com wrote:

@whedon https://github.com/whedon assign @zbeekman https://github.com/zbeekman as reviewer

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/1472?email_source=notifications&email_token=AACEIPA2VHLRTGPDXV3DLADPW4YUTA5CNFSM4HOYUNZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWD2RPQ#issuecomment-495429822, or mute the thread https://github.com/notifications/unsubscribe-auth/AACEIPB7ZTSUAOCW4WJKOBLPW4YUTANCNFSM4HOYUNZQ .