Skip to content

ADIOS2 Updates for Code Coupling - #3450

Merged
dschwoerer merged 10 commits into
boutproject:nextfrom
Steven-Roberts:adios-for-coupling
Aug 12, 2026
Merged

ADIOS2 Updates for Code Coupling#3450
dschwoerer merged 10 commits into
boutproject:nextfrom
Steven-Roberts:adios-for-coupling

Conversation

@Steven-Roberts

Copy link
Copy Markdown
Contributor

This expands some of the ADIOS2 functionality that was in adios_object.cxx and options_adios.cxx to have a simple public interface for reading and writing standard BOUT++ data types such as Field2D, Field3D, and Array. This is mainly intended for code coupling where the usage would look something like

// Write (via a stream) a Field3D to another code
Field3D temperature = ...;
bout::ADIOSStream &writerStream = bout::ADIOSStream::ADIOSGetStream("temperature", adios2::Mode::Write, "SST");
writerStream.beginStep();
writerStream.Put("temperature", temperature);
writerStream.endStep();

// Read (via a stream) a Field3D from another code
Field3D forcing = ...;
bout::ADIOSStream &readerStream = bout::ADIOSStream::ADIOSGetStream("forcing", adios2::Mode::Read, "SST");
readerStream.beginStep();
readerStream.Get("forcing", forcing);
readerStream.endStep();

@dschwoerer dschwoerer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a short glance this seems reasonable. But I am not an Adios2 user, thus I have not tested it.

The formatting fails because it comes from a fork, I run it locally and everything is fine.

I would support merging this. @ZedThree do you want to review this, or should we just merge this?

@dschwoerer
dschwoerer merged commit 37adc61 into boutproject:next Aug 12, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants