Skip to content

Conversation

ygahounzo
Copy link

This is a cleanup of tracer advection in preparation for adding higher order advection options in a subsequent pull request. All existing cases are bit for bit the same as before.

Many of the tracer modules have code lines (exclusive of comments) of more than 100 characters. These have been edited for length in the modules updated here.

Internally, TRACER_ADVECTION_SCHEME is now implmented as an integer lookup table, rather than as a set of logicals.

Regional and OBC dye tracers can now be used in the same model run, provided the optional NUM_DYED_TRACERS is used in place of NUM_DYE_TRACERS for dyed_obc tracers with NUM_DYE_TRACERS then referring to the number of regional dye tracers. They can both now also go through their initialization code if they are not found in the restart files. For OBC dye tracers this requires TRACERS_MAY_REINIT=.true..

The new option to specify a different advection scheme for some passive tracers has been implemented for regional and OBC dye tracers. This is controlled by DYED_TRACER_ADVECTION_SCHEME for OBC dye tracers, and by DYExxx_TRACER_ADVECTION_SCHEME, where xxx is the 3 digit tracer number, for regional dye tracers. It is possible to test multiple advection schemes in the same model run by configuring multiple regional tracers with the same region but different advection schemes.

This is a cleanup of tracer advection in preparation for adding
higher order advection options in a subsequent pull request.  All
existing cases are bit for bit the same as before.

Many of the tracer modules have code lines (exclusive of comments)
of more than 100 characters.  These have been edited for length in
the modules updated here.

Internally, TRACER_ADVECTION_SCHEME is now implmented as an integer
lookup table, rather than as a set of logicals.

Regional and OBC dye tracers can now be used in the same model run,
provided the optional NUM_DYED_TRACERS is used in place of
NUM_DYE_TRACERS for dyed_obc tracers with NUM_DYE_TRACERS then
referring to the number of regional dye tracers.  They can both
now also go through their initialization code if they are not found
in the restart files.  For OBC dye tracers this requires
TRACERS_MAY_REINIT=.true..

The new option to specify a different advection scheme for some
passive tracers has been implemented for regional and OBC dye
tracers.  This is controlled by DYED_TRACER_ADVECTION_SCHEME for
OBC dye tracers, and by DYExxx_TRACER_ADVECTION_SCHEME, where xxx
is the 3 digit tracer number, for regional dye tracers.  It is
possible to test multiple advection schemes in the same model run
by configuring multiple regional tracers with the same region but
different advection schemes.
@ygahounzo ygahounzo closed this Mar 24, 2025
@ygahounzo ygahounzo deleted the tracer_advection_schemes branch March 24, 2025 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant