Repository navigation
archive-format: record that time and space may be nested the wrong way round - #19
Merged
Merged
Conversation
The document has one temporal collection per function space, each with its own list of instants, which is XDMF's shape: a Temporal GridCollection belongs to a grid type. The transpose -- one time collection with the spaces inside each instant -- is likely the better model. The objection is operator splitting, and cekees's answer is that it does not hold: a fractional-step calculation has synchronization points where every space is known, which are the logical archive points anyway, and where it does not there are rational ways to write every space at the finest-grained step. More to the point the archiving step is a separate choice from the numerical step -- writing every space at every step it was approximated at is not usually affordable -- so the archive already samples at instants, which is what the transposed shape describes. Noted rather than done: it is a format version, it changes both ends of the reader and writer, and ymf2xmf would transpose on the way out. Worth recording now because append_step, added in this branch, has to name a collection in every record precisely because collections appear lazily as models first archive. Under the transposed shape that problem does not exist -- one record per instant, no names needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Documentation only. One commit, 53 lines, no code.
The archive has one temporal collection per function space, each with its
own list of instants — XDMF's shape, where a
TemporalGridCollectionbelongs to a grid type. This records the case for the transpose: one time
collection with the spaces nested inside each instant.
The objection is operator splitting, and it does not hold. A fractional-step
calculation has synchronization points where every space is known, and those
are the logical archive points anyway; where it does not, there are rational
ways to write every space at the finest-grained step. More to the point the
archiving step is a separate choice from the numerical step — writing every
space at every step it was approximated at is not usually affordable — so the
archive already samples at instants, which is exactly what the transposed
shape describes.
It would also simplify the append path this repository just gained.
append_stephas to name a collection in every record only because collections appear
lazily, as models first archive. One record per instant needs no names, so
#18's naming scheme is partly a workaround for the nesting rather than a
design to keep.
Costs a format version, both ends of reader and writer, and a transpose in
ymf2xmf. Not scheduled — written down so the decision is made deliberatelyrather than inherited. It belongs to proteus's C27 (ymf semantics) as much as
to C1.
Separated from #18 because it was committed after that PR merged, which left
it stranded on a merged branch.
🤖 Generated with Claude Code