PPM advection#419
Merged
Merged
Conversation
There was some code duplication in the implementation of PPM tracer advection, which was eliminated in favour of adding an additional conditional check.
This scheme uses slope data from neighbouring cells to calculate the edge values that are used for constructing the interpolating parabola within a cell. This differs from the Huynh (PPM:H3) scheme in that the stencil is larger.
The non-Huyhn advection reconstruction requires a larger stencil to compute interface values. To ensure the group pass mechanism updates when the stencil is invalid, we change the stencil value to 3 for this advection method.
This is an incomplete introduction to the tracer advection algorithm in MOM6. It tries to cover aspects of the flux advection algorithm, including numerical considerations, as well as the subcell reconstruction methods that are used for calculating the actual fluxes.
iangrooms
pushed a commit
to iangrooms/MOM6
that referenced
this pull request
May 12, 2026
Fix how fluxes sent to MARBL are treated when DT_THERMO is bigger than coupling interval
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.
Here's all that I think is required to implement the PPM reconstruction for tracer advection. We basically use the limited slope from adjacent cells (which was already being calculated for PLM) to determine estimates for interface values, which slightly increases the stencil requirement.
I don't know that adding another boolean flag is the most elegant method of switching between schemes. If there are further reconstructions planned, maybe an ALE-like enum would be more appropriate.
I've also started documentation for tracer advection in a .dox file, as is becoming the norm for the rest of the repository.