Skip to content

ADIOS2 Updates for Code Coupling - #3450

Open
Steven-Roberts wants to merge 10 commits into
boutproject:nextfrom
Steven-Roberts:adios-for-coupling
Open

ADIOS2 Updates for Code Coupling#3450
Steven-Roberts wants to merge 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();

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.

1 participant