Add functionality to index grib files as a grib file is written#494
Open
ColemanTom wants to merge 1 commit into
Open
Add functionality to index grib files as a grib file is written#494ColemanTom wants to merge 1 commit into
ColemanTom wants to merge 1 commit into
Conversation
Previous workflow: - create grib file - save it - create index from that grib file New workflow: - create message for grib file - save message - add message details to index file - repeat for remaining messages in file There is no need for double handling of the grib file data anymore, providing significant time savings for this pattern.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Previous workflow:
New workflow:
There is no need for double handling of the grib file data anymore, providing significant time savings for this pattern.
NOTE: I only tested writing a grib file on the fly. In theory it should work for bufr too. I have confirmed bufr index's made before and after this change are identical.
Test cases
I ran both workflows above with the new build, and the output index files are bit identical. I also compared against an index created using 2.36.0 and got bit identical results still.
I ran this and collected timings with
and
I also tested the fortran bindings and they work too
Timing details
I ran the two workflows mentioned above on three different disk types - /dev/shm, an NFS disk and a Lustre disk (no flash storage). In all three cases the new approach provided significant improvements. The number of messages being indexed is 490.
What has not been done?
Contributor Declaration
By opening this pull request, I affirm the following: