<p><b>dwj07@fsu.edu</b> 2012-03-09 13:16:28 -0700 (Fri, 09 Mar 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Adding doxygen comments to new advection routines.<br>
        Renaming some functions to prevent namespace conflicts.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,18 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection
+!
+!&gt; \brief MPAS ocean tracer advection driver
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains driver routine for tracer advection tendencys
+!&gt;  as well as the routines for setting up advection coefficients and 
+!&gt;  initialization of the advection routines.
+!
+!-----------------------------------------------------------------------
+
 module mpas_ocn_tracer_advection
 
    use mpas_kind_types
@@ -19,10 +34,23 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_coefficients
+!
+!&gt; \brief MPAS ocean tracer advection coefficients
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine precomputes the advection coefficients for horizontal
+!&gt;  advection of tracers.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_coefficients( grid )!{{{
 
       implicit none
-      type (mesh_type) :: grid
+      type (mesh_type) :: grid !&lt; Input: Grid information
 
       real (kind=RKIND), dimension(:,:,:), pointer :: deriv_two
       real (kind=RKIND), dimension(:,:), pointer :: adv_coefs, adv_coefs_3rd
@@ -176,17 +204,31 @@
 
    end subroutine mpas_ocn_tracer_advection_coefficients!}}}
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_tend
+!
+!&gt; \brief MPAS ocean tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for computing the tendency for
+!&gt;  advection of tracers.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)!{{{
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: uh, w, h
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: tracer tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input/Output: tracer values
+      real (kind=RKIND), dimension(:,:), intent(in) :: uh !&lt; Input: Thickness weighted horizontal velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: w  !&lt; Input: Vertical velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: h  !&lt; Input: Thickness field
       real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of a cell
-      real (kind=RKIND), intent(in) :: dt
-      type (mesh_type), intent(in) :: grid
-      real (kind=RKIND), dimension(:,:), intent(in) :: tend_h
+      real (kind=RKIND), intent(in) :: dt !&lt; Input: Time step
+      type (mesh_type), intent(in) :: grid !&lt; Input: grid information
+      real (kind=RKIND), dimension(:,:), intent(in) :: tend_h !&lt; Input: Thickness tendency information
 
-
       if(monotonicOn) then
          call mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)
       else
@@ -194,9 +236,22 @@
       endif
    end subroutine mpas_ocn_tracer_advection_tend!}}}
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_init
+!
+!&gt; \brief MPAS ocean tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for initialization of 
+!&gt;  the tracer advection routines.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_init(err)!{{{
 
-      integer, intent(inout) :: err
+      integer, intent(inout) :: err !&lt; Input/Output: Error flag
 
       integer :: err_tmp
 

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_helpers.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_helpers.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_helpers.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,15 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_helpers
+!
+!&gt; \brief MPAS ocean tracer advection helper functions
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains helper functions tracer advection.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_helpers
 
    use mpas_kind_types
@@ -7,17 +19,50 @@
 
    contains
 
-   real function flux4(q_im2, q_im1, q_i, q_ip1, u)!{{{
-        real (kind=RKIND), intent(in) :: q_im2, q_im1, q_i, q_ip1, u
-        flux4 = u*( 7.*(q_i + q_im1) - (q_ip1 + q_im2) )/12.0
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  function mpas_ocn_tracer_advection_vflux4
+!
+!&gt; \brief MPAS ocean 4th order vertical tracer advection stencil
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This function provides the stencil for 4th order vertical advection of tracers.
+!
+!-----------------------------------------------------------------------
+   real function mpas_ocn_tracer_advection_vflux4(q_im2, q_im1, q_i, q_ip1, w)!{{{
+        real (kind=RKIND), intent(in) :: q_im2 !&lt; Input: Tracer value at index i-2
+        real (kind=RKIND), intent(in) :: q_im1 !&lt; Input: Tracer value at index i-1
+        real (kind=RKIND), intent(in) :: q_i !&lt; Input: Tracer value at index i
+        real (kind=RKIND), intent(in) :: q_ip1 !&lt; Input: Tracer value at index i+1
+        real (kind=RKIND), intent(in) :: w !&lt; Input: vertical veloicity
+        mpas_ocn_tracer_advection_vflux4 = w*( 7.*(q_i + q_im1) - (q_ip1 + q_im2) )/12.0
    end function!}}}
 
-   real function flux3( q_im2, q_im1, q_i, q_ip1, u, coef)!{{{
-        real (kind=RKIND), intent(in) :: q_im2, q_im1, q_i, q_ip1, u, coef
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  function mpas_ocn_tracer_advection_vflux3
+!
+!&gt; \brief MPAS ocean 3rd order vertical tracer advection stencil
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This function provides the stencil for 3rd order vertical advection of tracers.
+!
+!-----------------------------------------------------------------------
+   real function mpas_ocn_tracer_advection_vflux3( q_im2, q_im1, q_i, q_ip1, w, coef)!{{{
+        real (kind=RKIND), intent(in) :: q_im2 !&lt; Input: Tracer value at index i-2
+        real (kind=RKIND), intent(in) :: q_im1 !&lt; Input: Tracer value at index i-1
+        real (kind=RKIND), intent(in) :: q_i !&lt; Input: Tracer value at index i
+        real (kind=RKIND), intent(in) :: q_ip1 !&lt; Input: Tracer value at index i+1
+        real (kind=RKIND), intent(in) :: w !&lt; Input: vertical veloicity
+        real (kind=RKIND), intent(in) :: coef !&lt; Input: Advection coefficient
 
         !dwj 02/21/12 flux3 is different in ocean and atmosphere
         !flux3 = (u * (7.0 * (q_i + q_im1) - (q_ip1 + q_im2)) + coef * abs(u) * ((q_ip1 - q_im2) - 3.0*(q_i-q_im1)))/12.0
-        flux3 = (u * (7.0 * (q_i + q_im1) - (q_ip1 + q_im2)) - coef * abs(u) * ((q_ip1 - q_im2) - 3.0*(q_i-q_im1)))/12.0
+        mpas_ocn_tracer_advection_vflux3 = (w * (7.0 * (q_i + q_im1) - (q_ip1 + q_im2)) - coef * abs(w) * ((q_ip1 - q_im2) - 3.0*(q_i-q_im1)))/12.0
    end function!}}}
 
 end module mpas_ocn_tracer_advection_helpers

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_mono.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,15 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_mono
+!
+!&gt; \brief MPAS ocean monotonic tracer advection with FCT
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains routines for monotonic advection of tracers using a FCT
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_mono
 
    use mpas_kind_types
@@ -15,6 +27,19 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_mono_tend
+!
+!&gt; \brief MPAS ocean monotonic tracer advection tendency with FCT
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine computes the monotonic tracer advection tendencity using a FCT.
+!&gt;  Both horizontal and vertical.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)!{{{
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
    !
@@ -30,8 +55,8 @@
       real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of a cell
       real (kind=RKIND), dimension(:,:), intent(in) :: tend_h !&lt; Input: Tendency for thickness field
       real (kind=RKIND), intent(in) :: dt !&lt; Input: Timestep
-      type (mesh_type), intent(in) :: grid
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: Tracer tendency
 
       integer :: i, iCell, iEdge, k, iTracer, cell1, cell2
       integer :: nVertLevels, num_tracers, nCells, nEdges, nCellsSolve
@@ -126,7 +151,7 @@
           tracer_min(k,iCell) = min(tracer_cur(k-1,iCell),tracer_cur(k,iCell),tracer_cur(k+1,iCell))
              
           do k=3,maxLevelCell(iCell)-1
-             high_order_vert_flux(k,iCell) = flux3( tracer_cur(k-2,iCell),tracer_cur(k-1,iCell),  &amp;
+             high_order_vert_flux(k,iCell) = mpas_ocn_tracer_advection_vflux3( tracer_cur(k-2,iCell),tracer_cur(k-1,iCell),  &amp;
                                     tracer_cur(k  ,iCell),tracer_cur(k+1,iCell),  &amp;
                                     w(k,iCell), coef_3rd_order )
              tracer_max(k,iCell) = max(tracer_cur(k-1,iCell),tracer_cur(k,iCell),tracer_cur(k+1,iCell))

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,17 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std
+!
+!&gt; \brief MPAS ocean tracer advection driver (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains driver routine for tracer advection tendencies
+!&gt;  as well as the routines for setting up advection coefficients and 
+!&gt;  initialization of the advection routines.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std
 
    use mpas_kind_types
@@ -18,6 +32,19 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_tend
+!
+!&gt; \brief MPAS ocean standard tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for the standard computation of 
+!&gt;  tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_tend(tracers, uh, w, verticalCellSize, grid, tend)!{{{
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
    !
@@ -27,11 +54,12 @@
    ! Output: tend - computed scalar tendencies
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: uh, w
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: Tracer tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer values
+      real (kind=RKIND), dimension(:,:), intent(in) :: uh !&lt; Input: Thickness weighted horizontal velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: w !&lt; Input: Vertical Velocity
       real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of a cell
-      type (mesh_type), intent(in) :: grid
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
       call mpas_timer_start(&quot;tracer-hadv&quot;, .false.)
       call mpas_ocn_tracer_advection_std_hadv_tend(tracers, uh, grid, tend)
@@ -42,8 +70,21 @@
 
    end subroutine mpas_ocn_tracer_advection_std_tend!}}}
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_init
+!
+!&gt; \brief MPAS ocean standard tracer advection initialization
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for the initializtion of the standard 
+!&gt;  tracer advection routines.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_init(err)!{{{
-      integer, intent(inout) :: err
+      integer, intent(inout) :: err !&lt; Input: Error Flags
 
       integer :: err_tmp
 

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_hadv.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_hadv.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_hadv.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,16 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std_hadv
+!
+!&gt; \brief MPAS ocean standard horizontal tracer advection (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains routines for horizontal tracer advection tendencies
+!&gt;  and initialization of the horizontal advection routines.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std_hadv
 
    use mpas_kind_types
@@ -20,20 +33,24 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_hadv_tend
+!
+!&gt; \brief MPAS ocean standard horizontal tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine computes the tendency for 3rd order horizontal advection of tracers.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_hadv_tend(tracers, uh, grid, tend)!{{{
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
-   !
-   ! Input: s - current model state
-   !        grid - grid metadata
-   !
-   ! Output: tend - computed tracer tendencies
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/output: Tracer tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer values
+      real (kind=RKIND), dimension(:,:), intent(in) :: uh !&lt; Input: Thickness weighted horizontal velocity
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: uh
-      type (mesh_type), intent(in) :: grid
-
       integer :: i, iCell, iEdge, k, iTracer, cell1, cell2
       real (kind=RKIND) :: flux, tracer_weight
 
@@ -43,7 +60,6 @@
       integer, dimension(:,:), pointer :: advCellsForEdge
       integer, dimension(:), pointer :: nAdvCellsForEdge
       real (kind=RKIND), dimension(:,:), pointer :: adv_coefs, adv_coefs_3rd
-!     real (kind=RKIND), dimension( s_old % num_tracers, grid % nVertLevels ) :: flux_arr
       real (kind=RKIND), dimension(:,:), allocatable :: flux_arr
       integer :: nVertLevels, num_tracers
 
@@ -63,7 +79,6 @@
       allocate(flux_arr(num_tracers, grid % nVertLevels))
 
       !  horizontal flux divergence, accumulate in tracer_tend
-
       do iEdge=1,grid%nEdges
          cell1 = cellsOnEdge(1,iEdge)
          cell2 = cellsOnEdge(2,iEdge)
@@ -92,8 +107,20 @@
 
    end subroutine mpas_ocn_tracer_advection_std_hadv_tend!}}}
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_hadv_init
+!
+!&gt; \brief MPAS ocean standard horizontal tracer advection initialization
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine initializes the 3rd order standard horizontal advection of tracers
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_hadv_init(err)!{{{
-      integer, intent(inout) :: err
+      integer, intent(inout) :: err !&lt; Input/Output: Error flag
 
       err = 0
 

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,16 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std_vadv
+!
+!&gt; \brief MPAS ocean vertical tracer advection driver (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains driver routines for vertical tracer advection tendencies
+!&gt;  and initialization of the advection routines.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std_vadv
 
    use mpas_kind_types
@@ -20,13 +33,26 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_vadv_tend
+!
+!&gt; \brief MPAS ocean standard vertical tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for the standard computation of 
+!&gt;  vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_vadv_tend(tracers, w, verticalCellSize, grid, tend)!{{{
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: w, verticalCellSize
-      type (mesh_type), intent(in) :: grid
-      real (kind=RKIND) :: dt
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: Tracer Tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer Values
+      real (kind=RKIND), dimension(:,:), intent(in) :: w !&lt; Input: Vertical Velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of cell
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
       if(order2) then
         call mpas_ocn_tracer_advection_std_vadv2_tend(tracers, w, verticalCellSize, grid, tend) 
@@ -38,8 +64,20 @@
 
    end subroutine mpas_ocn_tracer_advection_std_vadv_tend!}}}
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_vadv_init
+!
+!&gt; \brief MPAS ocean standard vertical tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine initializes the vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_vadv_init(err)!{{{
-     integer, intent(inout) :: err
+     integer, intent(inout) :: err !&lt; Input/Output: Error flag
 
      err = 0
 

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv2.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv2.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv2.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,15 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std_vadv2
+!
+!&gt; \brief MPAS ocean 2nd order vertical tracer advection driver (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains routines for 2nd order vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std_vadv2
 
    use mpas_kind_types
@@ -15,20 +27,26 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_vadv2_tend
+!
+!&gt; \brief MPAS ocean 2nd order standard vertical tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine is the driver routine for the 2nd order standard computation of 
+!&gt;  vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_vadv2_tend(tracers, w, verticalCellSize, grid, tend)!{{{
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
-   !
-   ! Input: s - current model state
-   !        grid - grid metadata
-   !
-   ! Output: tend - computed tracer tendencies
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: tracer tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer values
+      real (kind=RKIND), dimension(:,:), intent(in) :: w !&lt; Input: Vertical Velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of cell
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: w, verticalCellSize
-      type (mesh_type), intent(in) :: grid
-
       integer :: i, iCell, iEdge, k, iTracer, cell1, cell2
       real (kind=RKIND) :: flux, tracer_edge, tracer_weight
       real (kind=RKIND) :: tracer_weight_cell1, tracer_weight_cell2
@@ -39,8 +57,6 @@
       integer :: nVertLevels, num_tracers
       integer, dimension(:), pointer :: maxLevelCell
 
-      integer, parameter :: hadv_opt = 2
-
       nVertLevels = grid % nVertLevels
       num_tracers = size(tracers, dim=1)
       maxLevelCell =&gt; grid % maxLevelCell % array

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv3.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv3.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv3.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,15 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std_vadv3
+!
+!&gt; \brief MPAS ocean 3rd order vertical tracer advection driver (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains routines for 3rd order vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std_vadv3
 
    use mpas_kind_types
@@ -17,21 +29,25 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_vadv3_tend
+!
+!&gt; \brief MPAS ocean 3rd order standard vertical tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine computes the 3rd order vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_vadv3_tend(tracers, w, verticalCellSize, grid, tend)!{{{
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
-   !
-   ! Input: s - current model state
-   !        grid - grid metadata
-   !
-   ! Output: tend - computed tracer tendencies
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: Tracer Tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer Values
+      real (kind=RKIND), dimension(:,:), intent(in) :: w !&lt; Input: Vertical Velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of cell
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: w, verticalCellSize
-      type (mesh_type), intent(in) :: grid
-      real (kind=RKIND) :: dt
-
       integer :: i, iCell, iEdge, k, iTracer, cell1, cell2
 
       real (kind=RKIND), dimension(:,:), allocatable :: vert_flux
@@ -39,8 +55,6 @@
       integer :: nVertLevels, num_tracers
       integer, dimension(:), pointer :: maxLevelCell
 
-      integer, parameter :: hadv_opt = 2
-
       coef_3rd_order = config_coef_3rd_order
 
       nVertLevels = grid % nVertLevels
@@ -62,7 +76,7 @@
         
         do k=3,maxLevelCell(iCell)-1
           do iTracer=1,num_tracers
-            vert_flux(iTracer,k) = flux3( tracers(iTracer,k-2,iCell),tracers(iTracer,k-1,iCell),  &amp;
+            vert_flux(iTracer,k) = mpas_ocn_tracer_advection_vflux3( tracers(iTracer,k-2,iCell),tracers(iTracer,k-1,iCell),  &amp;
                                      tracers(iTracer,k  ,iCell),tracers(iTracer,k+1,iCell),  &amp;
                                      w(k,iCell), coef_3rd_order )
           end do

Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv4.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv4.F        2012-03-09 19:00:23 UTC (rev 1612)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_tracer_advection_std_vadv4.F        2012-03-09 20:16:28 UTC (rev 1613)
@@ -1,3 +1,15 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  ocn_tracer_advection_std_vadv4
+!
+!&gt; \brief MPAS ocean 4th order vertical tracer advection driver (non-monotonic/fct)
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This module contains routines for 4th order vertical tracer advection.
+!
+!-----------------------------------------------------------------------
 module mpas_ocn_tracer_advection_std_vadv4
 
    use mpas_kind_types
@@ -15,21 +27,25 @@
 
    contains
 
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+!  routine mpas_ocn_tracer_advection_std_vadv4_tend
+!
+!&gt; \brief MPAS ocean 4th order standard vertical tracer advection tendency
+!&gt; \author Doug Jacobsen
+!&gt; \date   03/09/12
+!&gt; \version SVN:$Id:$
+!&gt; \details
+!&gt;  This routine computes the 4th order vertical tracer advection tendencies.
+!
+!-----------------------------------------------------------------------
    subroutine mpas_ocn_tracer_advection_std_vadv4_tend(tracers, w, verticalCellSize, grid, tend)!{{{
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
-   !
-   ! Input: s - current model state
-   !        grid - grid metadata
-   !
-   ! Output: tend - computed tracer tendencies
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
+      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !&lt; Input/Output: Tracer tendency
+      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !&lt; Input: Tracer Values
+      real (kind=RKIND), dimension(:,:), intent(in) :: w !&lt; Input: Vertical Velocity
+      real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !&lt; Input: Distance between vertical interfaces of cell
+      type (mesh_type), intent(in) :: grid !&lt; Input: Grid information
 
-      real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend
-      real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers
-      real (kind=RKIND), dimension(:,:), intent(in) :: w, verticalCellSize
-      type (mesh_type), intent(in) :: grid
-      real (kind=RKIND) :: dt
-
       integer :: i, iCell, iEdge, k, iTracer, cell1, cell2
 
       real (kind=RKIND), dimension(:,:), allocatable :: vert_flux
@@ -60,7 +76,7 @@
         enddo
         do k=3,nVertLevels-1
           do iTracer=1,num_tracers
-            vert_flux(iTracer,k) = flux4( tracers(iTracer,k-2,iCell),tracers(iTracer,k-1,iCell),  &amp;
+            vert_flux(iTracer,k) = mpas_ocn_tracer_advection_vflux4( tracers(iTracer,k-2,iCell),tracers(iTracer,k-1,iCell),  &amp;
                                      tracers(iTracer,k  ,iCell),tracers(iTracer,k+1,iCell), w(k,iCell) )
           end do
         end do

</font>
</pre>