Refuse domains whose fault buffer sits inside the SW4 sponge - #143
Draft
lispandfound wants to merge 1 commit into
Draft
Refuse domains whose fault buffer sits inside the SW4 sponge#143lispandfound wants to merge 1 commit into
lispandfound wants to merge 1 commit into
Conversation
lispandfound
force-pushed
the
nzvm/domain-fault-buffer
branch
from
September 2, 2026 02:23
a05e704 to
928302c
Compare
lispandfound
force-pushed
the
nzvm/domain-fault-buffer
branch
from
September 2, 2026 02:52
928302c to
4b1b46e
Compare
A fault buffer too small to clear the supergrid absorbing layer puts the source inside the region where SW4 solves a damped, coordinate-stretched equation rather than the wave equation. The run completes and produces waveforms; they are just not ground motion predictions. That failure has already cost a campaign once (validation_results_24-08), and it is cheapest to catch before a domain is written rather than after a simulation has run. `generate-domain` now checks the buffer against the sponge, using the same `workflow.sw4` geometry `create-sw4-input` pads with, so the two cannot disagree. The depth is computed before the lateral domain so the refinements can be resolved against it -- the sponge width depends on the coarsest grid, which depends on how deep the domain goes. This is a reordering only; `domain_max_depth` does not depend on the lateral extent. Both `sw4` and `refinements` are optional and their absence is not an error: the v24.2.2.x defaults are EMOD3D-only and have neither section, so those runs skip the check entirely and are unaffected. This is a behaviour change for SW4 realisations: a configuration that previously produced a domain may now be rejected. That is the point. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
lispandfound
force-pushed
the
nzvm/domain-fault-buffer
branch
from
September 4, 2026 01:44
4b1b46e to
a775242
Compare
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.
A fault buffer too small to clear the supergrid absorbing layer puts the
source inside the region where SW4 solves a damped, coordinate-stretched
equation rather than the wave equation. The run completes and produces
waveforms; they are just not ground motion predictions. That failure has
already cost a campaign once (validation_results_24-08), and it is
cheapest to catch before a domain is written rather than after a
simulation has run.
generate-domainnow checks the buffer against the sponge, using thesame
workflow.sw4geometrycreate-sw4-inputpads with, so the twocannot disagree.
The depth is computed before the lateral domain so the refinements can
be resolved against it -- the sponge width depends on the coarsest grid,
which depends on how deep the domain goes. This is a reordering only;
domain_max_depthdoes not depend on the lateral extent.Both
sw4andrefinementsare optional and their absence is not anerror: the v24.2.2.x defaults are EMOD3D-only and have neither section,
so those runs skip the check entirely and are unaffected.
This is a behaviour change for SW4 realisations: a configuration that
previously produced a domain may now be rejected. That is the point.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Stack created with GitHub Stacks CLI • Give Feedback 💬