Tracer Advection Code:  Second-Order Moments (SOM, 1986)

The Second-Order Moments advection algorithm has been recoded extensively since the original 1986 publication.  What is given here along with 1-D and 3-D sample tests is a major rewrite in vector / intrinsic mode plus two greatly improved flux limters (see below).

The new INTRINSIC / VECTOR formulation of CTM advection core contains no conditionals, its abstract coding is correct and easier to follow, BUT it runs much more slowly than the same code with do-loops on typical computers (e.g., IBM p-series 8- and 32-proc boards).  Thus you may want to put the do loops and indices back in (as we have done).  Also the allocation of memory every time QVECT is called also slows down the code.  Fixed allocations are what we run with now.

The flux limiters now include:
      LIMTR=0  no limits, neg. tracer allowed
      LIMTR=1  pos. definite SOM fix (per Prather 1986): adjusts QXT & QXX
      LIMTR=2  pos. definite & monotonic (ca. 1994-95): adjust QXT,QXX,QXY,QXZ
      LIMTR=3  min/max limiters (revised 2003-2007)

More recently the SOM code-on-a-sphere has improved accuracy and efficiency: 
(1) the vector form, along with the stacking of vertical advection has increased the efficiency of vertical transport on vector machines:
(2) E-W and N-S flow are now done as continuous loops with over-the-pole flow treated much more accurately (retaining SOM info).

Sample tests coded here run test cases in 1-D and 3-D (but not spherical) through all the LIMTR options showing how rms error increases slowly but ripples disppear.  A sample code for the new spherical 3D flow (see PDF figures on the web site) is being prepared for posting.

Michael Prather
23 Mar 2007




SOM vector code - standalone 3D (not sphere) with tests (3/2007)
         in a zip-file: SOM_2007.zip

Test runs are included:
     compile:  SOM3DX.f + QVECT.f (or SOM1DX.f + QVECT.f)
     run as:   SOM3DX <stdin.som > SOM3DX.out
     and look at fort.16 (included as SOM3DX.16) for more details, e.g., tracer patterns.


SOM original paper

M.J. Prather, Numerical Advection by Conservation of Second-Order Moments, J. Geophys. Res., 91, 6671-6681, 1986.  (Copyright 1986 American Geophysical Union. Further reproduction or electronic distribution is not permitted.)

.

SOM Vectorized Pipe Flow on a Sphere - schematics

UCIrvine Chemistry-Transport Model: Tracer Advection with Second-Order Moments on a Spherical Grid
(OpenMP, vectorized version 5.0, Apr 2003)
.