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

Replace #include <mpif.h> with use mpi on default platforms #30

Closed
marshallward opened this issue Jun 17, 2017 · 1 comment · Fixed by #580
Closed

Replace #include <mpif.h> with use mpi on default platforms #30

marshallward opened this issue Jun 17, 2017 · 1 comment · Fixed by #580
Assignees
Labels
Milestone

Comments

@marshallward
Copy link
Member

marshallward commented Jun 17, 2017

Some hiccups on our system's wrapper scripts revealed that FMS models are still doing #include <mpif.h> to import the MPI symbols, even though the standard recommends the module (use mpi).

Currently only the sgi_mipspro flag enables use mpi. The default is to use the CPP #include statement.


To be annoyingly pedantic (sorry!), here are some quotes from the MPI 3.1 standard.

p605:

INCLUDE ’mpif.h’: This method is described in Section 17.1.4. The use of the include file mpif.h is strongly discouraged starting with MPI-3.0, because this method neither guarantees compile-time argument checking nor provides sufficient techniques to solve the optimization problems with nonblocking calls, and is therefore inconsistent with the Fortran standard. It exists only for backwards compatibility with legacy MPI applications.

p611:

The use of the mpif.h include file is strongly discouraged and may be deprecated in a future
version of MPI.

The comments above refer to the Fortran include statement (include 'mpif.h'); the standard doesn't even consider using the CPP include, which is probably even more strongly discouraged.


Rather than send a patch, I figured that you guys might be more aware of any odd platforms that still require this and would be in a better position to make the change.

nichannah pushed a commit to nichannah/FMS that referenced this issue Jun 19, 2017
The conserve_water namelist option in diag_manager_mod caused confusion with external users of the diag_manager.  The name is changed in this commit to help clarify what the option did.  Documentation has also been added.

Fixes NOAA-GFDL#30
@underwoo
Copy link
Member

@marshallward apologies for missing this until now. I have taken your suggestion into our internal issue tracker. We will let you know of our decision to switch to use mpi instead of #include <mpif.h> in Fortran sources.

GFDL-Eric pushed a commit to GFDL-Eric/FMS that referenced this issue Aug 5, 2020
@bensonr bensonr self-assigned this Sep 18, 2020
@bensonr bensonr added this to the 2020.04 milestone Sep 18, 2020
uramirez8707 pushed a commit to uramirez8707/FMS that referenced this issue May 21, 2024
…OAA-GFDL#30)

* Split update_atmos_radiation_physics

* Address comments from Rusty
uramirez8707 pushed a commit to uramirez8707/FMS that referenced this issue Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants