Skip to content
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

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

Closed
whedon opened this issue May 22, 2019 · 60 comments

Comments

Projects
None yet
7 participants
@whedon
Copy link
Collaborator

commented May 22, 2019

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 whedon added the pre-review label May 22, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 22, 2019

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 😸

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

This comment has been minimized.

Copy link
Collaborator Author

commented May 22, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 22, 2019

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:in initialize'
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:in set_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:in run'
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:in dispatch'
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

This comment has been minimized.

Copy link

commented May 22, 2019

👋 @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

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

@danielskatz

This comment has been minimized.

Copy link

commented May 23, 2019

@danielskatz

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link
Collaborator

commented May 23, 2019

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

This comment has been minimized.

Copy link
Collaborator

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

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

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

@marshallward

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@marshallward

This comment has been minimized.

Copy link

commented May 23, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 23, 2019

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

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

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

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

This comment has been minimized.

Copy link

commented May 24, 2019

@whedon assign @danielskatz as editor

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 24, 2019

OK, the editor is @danielskatz

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

@whedon assign @zbeekman as reviewer

@whedon whedon assigned danielskatz and zbeekman and unassigned danielskatz May 24, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 24, 2019

OK, the reviewer is @zbeekman

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

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

@zbeekman

This comment has been minimized.

Copy link
Collaborator

commented May 24, 2019

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

Ok, let's see if Damian is available, or we will stick with you. In any case, we need another reviewer. Suggestions from @marshallward or @zbeekman ?

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

@tclune, @kc9qey - would either of you be willing to review this submission to JOSS? (A JOSS review covers the short paper and the code repository, using this set of criteria)

@tclune

This comment has been minimized.

Copy link
Collaborator

commented May 24, 2019

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

Thanks @tclune - with 2 reviewers now, we'll get going.

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

@whedon add @tclune as reviewer

@whedon whedon assigned danielskatz and zbeekman and unassigned zbeekman and danielskatz May 24, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 24, 2019

OK, @tclune is now a reviewer

@danielskatz

This comment has been minimized.

Copy link

commented May 24, 2019

@whedon start review

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented May 24, 2019

OK, I've started the review over in #1474. Feel free to close this issue now!

@rouson

This comment has been minimized.

Copy link

commented May 25, 2019

@danielskatz It sounds like you have enough reviewers. If not, another person I would recommend is Craig Rasmussen. I'm not sure if my tagging him here work, but here goes: @rasmussn. My experience with python is very limited so I'm probably not the best reviewer.

@danielskatz

This comment has been minimized.

Copy link

commented May 25, 2019

Yes, we're all set, but thanks anyhow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.