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

Output from different model components simultaneously #116

Open
mo-mglover opened this issue Aug 31, 2023 · 0 comments
Open

Output from different model components simultaneously #116

mo-mglover opened this issue Aug 31, 2023 · 0 comments
Assignees
Labels
good first issue Good for newcomers question Further information is requested

Comments

@mo-mglover
Copy link
Collaborator

mo-mglover commented Aug 31, 2023

PR #106 Adds user-specified communicators. This is OK if we have Vernier in one coupled model component. If we wanted to run Vernier in more than one coupled model component, we would need to either use a broader-scale communicator or have different sets of output files for each sub-communicator / sub-component.

Perhaps we could add a tag - set during the call to vernier.init(...) - which ultimately sets a data member in the MPIContext class, readable via a get_tag() method. This tag would then be added to output filenames.

I haven't included this under #106 because the change was getting big without this. Would be useful to have some discussion, anyhow. Depends on #106.

Beware: The Fortran layer would need to add c_null_char to any strings passed from Fortran. There is already a subroutine to do this in the Fortran layer.

@mo-mglover mo-mglover added good first issue Good for newcomers question Further information is requested labels Aug 31, 2023
@mo-mglover mo-mglover added this to the Release 0.3.0 milestone Aug 31, 2023
mo-mglover added a commit that referenced this issue May 3, 2024
Allow client codes to set the MPI communicator used within Vernier. This
is needed to allow one component of a model to use Vernier. [Multiple components using Vernier simultaneously would need further work, since they'd all be trying to write to the same output filenames. See #116 ]

Changes:
* Adds `MPIContext` class.
* Global Vernier object now has `init` and `finalize` methods. 
* Most C++ and Fortran tests now use MPI, if that only means that MPI is
initialised.
andrewcoughtrie pushed a commit that referenced this issue Jun 7, 2024
Allow client codes to set the MPI communicator used within Vernier. This
is needed to allow one component of a model to use Vernier. [Multiple components using Vernier simultaneously would need further work, since they'd all be trying to write to the same output filenames. See #116 ]

Changes:
* Adds `MPIContext` class.
* Global Vernier object now has `init` and `finalize` methods. 
* Most C++ and Fortran tests now use MPI, if that only means that MPI is
initialised.
@andrewcoughtrie andrewcoughtrie removed this from the Release 0.3.0 milestone Jun 12, 2024
@mo-mglover mo-mglover self-assigned this Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants