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

IO Design documents #16

Merged
merged 2 commits into from
Jun 14, 2023
Merged

Conversation

philipwjones
Copy link

Adds two design documents for an IOStreams capability and an underlying IO layer that interfaces with Scorpio

@philipwjones
Copy link
Author

Oops. Looks like I didn't rebase correctly...will fix.

Copy link

@xylar xylar left a comment

Choose a reason for hiding this comment

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

This looks excellent! Just one very minor suggestion.

Comment on lines 94 to 96
exists. A minimum set of options should include over-writing
(replacing) the file, appending to the existing file, or exiting
with an error message.
Copy link

Choose a reason for hiding this comment

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

It might be good to also have a way to indicate whether to replace existing time slices in a file or skip over them. The former isn't the same as replacing the whole file, and also isn't the same as appending (which I think is the same as the latter -- skipping time slices that exist and only writing new ones).

Copy link
Author

Choose a reason for hiding this comment

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

Added the requirement to over-write portions of a file in latest version. We'll decide names for those options during implementation.

Comment on lines +195 to +198
Note that there is a stdlib iostreams so our use of IOStreams runs
the risk of inadvertent conflict. Use of both the Omega namespace and
the capitalized IOStreams will be used to distinguish the two.
Copy link

Choose a reason for hiding this comment

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

I appreciate this comment!

Copy link

@mark-petersen mark-petersen left a comment

Choose a reason for hiding this comment

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

I read through. It looks good, thanks!

  includes an IOStreams capability and a lower level IO interface
  added the IO designs to the main doc index
  modified requirement to include overwriting portions of a file
@philipwjones philipwjones merged commit caf5654 into E3SM-Project:develop Jun 14, 2023
grnydawn pushed a commit to grnydawn/Omega that referenced this pull request Jun 23, 2023
added initial IO design docs for Omega

 - includes an IOStreams capability and a lower level IO interface
 - added the IO designs to the main doc index
 - modified requirement to include overwriting portions of a file, in response to review
@philipwjones philipwjones deleted the omega/io-design branch July 3, 2023 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants