Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
TYPE: [bug fix] KEYWORDS: real.exe, MPI, bug fix SOURCE: Marc Honnorat (EXWEXs) DESCRIPTION OF CHANGES: Problem: The communicator `mpi_comm_allcompute`, created by subroutine `split_communicator` called by `init_modules(1)`, is not explicitly activated for the call to `wrf_dm_bcast_bytes( configbuf, nbytes )` in real.exe. On some platforms, this may prevent broadcast of namelist configuration (put in `configbuf` after the call to `get_config_as_buffer()`) across the MPI processes _before_ the call to `setup_physics_suite()`. An example of a problematic platform: a cluster of Intel Xeon E5-2650 v4 running on CentOS Linux release 7.6.1810, with Intel Parallel Studio XE (various versions, including 2018u3 and 2020u4) and Intel MPI Library (same version). Solution: The initialization step used in the WRF executable never triggers a failure as described in issue #1267. This PR reuses the temporary MPI context switch from WRF code. ISSUE: Fixes #1267 LIST OF MODIFIED FILES: M main/real_em.F TESTS CONDUCTED: 1. The modification systematically solves the problem on the noted cluster. 2. Jenkins tests are all passing. RELEASE NOTE: A fix for an MPI synchronization bug related to (not used) split communicators in the real program provides a solution to issue #1267. For users that have had no troubles with the real program running MPI, this will have no impact.
- Loading branch information