<p><b>dwj07@fsu.edu</b> 2013-04-02 13:02:42 -0600 (Tue, 02 Apr 2013)</p><p><br>
        -- TRUNK COMMIT --<br>
        COMMENTS AND WHITESPACE ONLY<br>
<br>
        Adding doxygen comments.<br>
        Doesn't change results.<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/mpas/src/operators/mpas_spline_interpolation.F
===================================================================
--- trunk/mpas/src/operators/mpas_spline_interpolation.F        2013-04-02 18:11:14 UTC (rev 2706)
+++ trunk/mpas/src/operators/mpas_spline_interpolation.F        2013-04-02 19:02:42 UTC (rev 2707)
@@ -1,3 +1,15 @@
+!***********************************************************************
+!
+!  mpas_spline_interpolation
+!
+!&gt; \brief   MPAS Vector reconstruction module
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt; This module provides routines for performing spline interpolation.
+!
+!-----------------------------------------------------------------------
 module mpas_spline_interpolation
 
   use mpas_kind_types
@@ -13,44 +25,42 @@
               mpas_interpolate_linear, &amp;
               mpas_test_interpolate
 
-! Short Descriptions:
-
-!   mpas_cubic_spline_coefficients: Compute second derivatives at nodes.  
-!      This must be run before any of the other cubic spine functions.
-
-!   mpas_interpolate_cubic_spline: Compute cubic spline interpolation. 
-
-!   mpas_integrate_cubic_spline:  Compute a single integral from spline data.
-
-!   mpas_integrate_column_cubic_spline:  Compute multiple integrals from spline data.
-
-!   mpas_interpolate_linear:  Compute linear interpolation.
-
-!   mpas_test_interpolate:  Test spline interpolation subroutines.
-
   contains
 
- subroutine mpas_cubic_spline_coefficients(x,y,n,y2ndDer)  
+!***********************************************************************
+!
+!  routine mpas_cubic_spline_coefficients
+!
+!&gt; \brief   MPAS Cubic spline coefficients routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  This routine computes second derivatives at nodes.  
+!&gt;  This must be run before any of the other cubic spine functions.
+!&gt;
+!&gt;  Given arrays x(1:n) and y(1:n) containing a function,
+!&gt;  i.e., y(i) = f(x(i)), with x monotonically increasing
+!&gt;  this routine returns an array y2ndDer(1:n) that contains 
+!&gt;  the second derivatives of the interpolating function at x(1:n). 
+!&gt;  This routine uses boundary conditions for a natural spline, 
+!&gt;  with zero second derivative on that boundary.
+!
+!-----------------------------------------------------------------------
+ subroutine mpas_cubic_spline_coefficients(x,y,n,y2ndDer)  !{{{
 
-!  Given arrays x(1:n) and y(1:n) containing a function,
-!  i.e., y(i) = f(x(i)), with x monotonically increasing
-!  this routine returns an array y2ndDer(1:n) that contains 
-!  the second derivatives of the interpolating function at x(1:n). 
-!  This routine uses boundary conditions for a natural spline, 
-!  with zero second derivative on that boundary.
-
 ! INPUT PARAMETERS:
 
   integer, intent(in) :: &amp;
-    n     ! number of nodes
+    n     !&lt; Input: number of nodes
   real(kind=RKIND), intent(in), dimension(n) :: &amp;
-    x,   &amp;! location of nodes
-    y     ! value at nodes
+    x,   &amp;!&lt; Input: location of nodes
+    y     !&lt; Input: value at nodes
 
 ! OUTPUT PARAMETERS:
 
   real(kind=RKIND), intent(out), dimension(n) :: &amp;
-    y2ndDer    ! dy^2/dx^2 at each node
+    y2ndDer    !&lt; Output: dy^2/dx^2 at each node
 
 !  local variables:
 
@@ -75,39 +85,48 @@
       y2ndDer(i)=y2ndDer(i)*y2ndDer(i+1)+a(i)  
    enddo
 
-  end subroutine mpas_cubic_spline_coefficients
+  end subroutine mpas_cubic_spline_coefficients!}}}
 
-
-  subroutine mpas_interpolate_cubic_spline( &amp;
+!***********************************************************************
+!
+!  routine mpas_interpolate_cubic_spline
+!
+!&gt; \brief   MPAS Cubic spline interpolation routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  Given the arrays x(1:n) and y(1:n), which tabulate a function,
+!&gt;  and given the array y2ndDer(1:n), which is the output from 
+!&gt;  CubicSplineCoefficients above, this routine returns the 
+!&gt;  cubic-spline interpolated values of yOut(1:nOut) at xOut(1:nOut).
+!&gt;  This subroutine assumes that both x and xOut are monotonically
+!&gt;  increasing, and that all values of xOut are within the first and
+!&gt;  last values of x.
+!
+!-----------------------------------------------------------------------
+  subroutine mpas_interpolate_cubic_spline( &amp;!{{{
                 x,y,y2ndDer,n, &amp;
                 xOut,yOut,nOut)  
 
-!  Given the arrays x(1:n) and y(1:n), which tabulate a function,
-!  and given the array y2ndDer(1:n), which is the output from 
-!  CubicSplineCoefficients above, this routine returns the 
-!  cubic-spline interpolated values of yOut(1:nOut) at xOut(1:nOut).
-!  This subroutine assumes that both x and xOut are monotonically
-!  increasing, and that all values of xOut are within the first and
-!  last values of x.
-
 ! INPUT PARAMETERS:
 
   real (kind=RKIND), dimension(n), intent(in) :: &amp;
-    x,         &amp;! node location, input grid
-    y,       &amp;! interpolation variable, input grid
-    y2ndDer     ! 2nd derivative of y at nodes
+    x,         &amp;!&lt; Input: node location, input grid
+    y,       &amp;!&lt; Input: interpolation variable, input grid
+    y2ndDer     !&lt; Input: 2nd derivative of y at nodes
 
   real (kind=RKIND), dimension(nOut), intent(in) :: &amp;
-    xOut          ! node location, output grid
+    xOut          !&lt; Input: node location, output grid
 
   integer, intent(in) :: &amp;
-    n,      &amp;! number of nodes, input grid
-    nOut       ! number of nodes, output grid
+    n,      &amp;!&lt; Input: number of nodes, input grid
+    nOut       !&lt; Input: number of nodes, output grid
 
 ! OUTPUT PARAMETERS:
 
   real (kind=RKIND), dimension(nOut), intent(out) :: &amp;
-    yOut        ! interpolation variable, output grid
+    yOut        !&lt; Output: interpolation variable, output grid
 
 !  local variables:
 
@@ -139,34 +158,43 @@
   
   enddo kInLoop
 
-end subroutine mpas_interpolate_cubic_spline
+end subroutine mpas_interpolate_cubic_spline!}}}
 
+!***********************************************************************
+!
+!  routine mpas_integrate_cubic_spline
+!
+!&gt; \brief   MPAS Cubic spline integration routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  Given the arrays x(1:n) and y(1:n), which tabulate a function,
+!&gt;  and given the array y2ndDer(1:n), which is the output from 
+!&gt;  CubicSplineCoefficients above, this routine returns y_integral,
+!&gt;  the integral of y from x1 to x2.  The integration formula was 
+!&gt;  created by analytically integrating a cubic spline between each node.
+!&gt;  This subroutine assumes that x is monotonically increasing, and
+!&gt;  that x1 &lt; x2.
+!
+!-----------------------------------------------------------------------
+subroutine mpas_integrate_cubic_spline(x,y,y2ndDer,n,x1,x2,y_integral)  !{{{
 
-subroutine mpas_integrate_cubic_spline(x,y,y2ndDer,n,x1,x2,y_integral)  
-
-!  Given the arrays x(1:n) and y(1:n), which tabulate a function,
-!  and given the array y2ndDer(1:n), which is the output from 
-!  CubicSplineCoefficients above, this routine returns y_integral,
-!  the integral of y from x1 to x2.  The integration formula was 
-!  created by analytically integrating a cubic spline between each node.
-!  This subroutine assumes that x is monotonically increasing, and
-!  that x1 &lt; x2.
-
 ! INPUT PARAMETERS:
 
   integer, intent(in) :: &amp;
-    n     ! number of nodes
+    n     !&lt; Input: number of nodes
   real(kind=RKIND), intent(in), dimension(n) :: &amp;
-    x,   &amp;! location of nodes
-    y,   &amp;! value at nodes
-    y2ndDer    ! dy^2/dx^2 at each node
+    x,   &amp;!&lt; Input: location of nodes
+    y,   &amp;!&lt; Input: value at nodes
+    y2ndDer    !&lt; Input: dy^2/dx^2 at each node
   real(kind=RKIND), intent(in) :: &amp;
-    x1,x2 ! limits of integration
+    x1,x2 !&lt; Input: limits of integration
 
 ! OUTPUT PARAMETERS:
 
   real(kind=RKIND), intent(out) :: &amp;
-    y_integral  ! integral of y
+    y_integral  !&lt; Output: integral of y
 
 !  local variables:
   
@@ -215,40 +243,49 @@
 
   enddo ! j
 
-  end subroutine mpas_integrate_cubic_spline
+  end subroutine mpas_integrate_cubic_spline!}}}
 
-
-  subroutine mpas_integrate_column_cubic_spline( &amp;
+!***********************************************************************
+!
+!  routine mpas_integrate_column_cubic_spline
+!
+!&gt; \brief   MPAS Cubic spline column integration routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  Given the arrays x(1:n) and y(1:n), which tabulate a function,
+!&gt;  and given the array y2ndDer(1:n), which is the output from 
+!&gt;  CubicSplineCoefficients above, this routine returns 
+!&gt;  y_integral(1:nOut), the integral of y.
+!&gt;  This is a cumulative integration, so that
+!&gt;  y_integral(j) holds the integral of y from x(1) to xOut(j).
+!&gt;  The integration formula was created by analytically integrating a 
+!&gt;  cubic spline between each node.
+!&gt;  This subroutine assumes that both x and xOut are monotonically
+!&gt;  increasing, and that all values of xOut are within the first and
+!
+!-----------------------------------------------------------------------
+  subroutine mpas_integrate_column_cubic_spline( &amp;!{{{
                x,y,y2ndDer,n, &amp;
                xOut,y_integral, nOut)  
 
-!  Given the arrays x(1:n) and y(1:n), which tabulate a function,
-!  and given the array y2ndDer(1:n), which is the output from 
-!  CubicSplineCoefficients above, this routine returns 
-!  y_integral(1:nOut), the integral of y.
-!  This is a cumulative integration, so that
-!  y_integral(j) holds the integral of y from x(1) to xOut(j).
-!  The integration formula was created by analytically integrating a 
-!  cubic spline between each node.
-!  This subroutine assumes that both x and xOut are monotonically
-!  increasing, and that all values of xOut are within the first and
-
 ! INPUT PARAMETERS:
 
   integer, intent(in) :: &amp;
-    n,   &amp;! number of nodes
-    nOut  ! number of output locations to compute integral
+    n,   &amp;!&lt; Input: number of nodes
+    nOut  !&lt; Input: number of output locations to compute integral
   real(kind=RKIND), intent(in), dimension(n) :: &amp;
-    x,   &amp;! location of nodes
-    y,   &amp;! value at nodes
-    y2ndDer    ! dy^2/dx^2 at each node
+    x,   &amp;!&lt; Input: location of nodes
+    y,   &amp;!&lt; Input: value at nodes
+    y2ndDer    !&lt; Input: dy^2/dx^2 at each node
   real(kind=RKIND), dimension(nOut), intent(in) :: &amp;
-    xOut  ! output locations to compute integral
+    xOut  !&lt; Input: output locations to compute integral
 
 ! OUTPUT PARAMETERS:
 
   real(kind=RKIND), dimension(nOut), intent(out) :: &amp;
-    y_integral  ! integral from 0 to xOut
+    y_integral  !&lt; Output: integral from 0 to xOut
 
 !  local variables:
 
@@ -295,37 +332,47 @@
 
   enddo k_loop
 
- end subroutine mpas_integrate_column_cubic_spline
+ end subroutine mpas_integrate_column_cubic_spline!}}}
 
-
- subroutine mpas_interpolate_linear( &amp;
+!***********************************************************************
+!
+!  routine mpas_interpolate_linear
+!
+!&gt; \brief   MPAS Linear interpolation routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  Given the arrays x(1:n) and y(1:n), which tabulate a function,
+!&gt;  this routine returns the linear interpolated values of yOut(1:nOut)
+!&gt;  at xOut(1:nOut).
+!&gt;  This subroutine assumes that both x and xOut are monotonically
+!&gt;  increasing, and that all values of xOut are within the first and
+!&gt;  last values of x.
+!
+!-----------------------------------------------------------------------
+ subroutine mpas_interpolate_linear( &amp;!{{{
                 x,y,n, &amp;
                 xOut,yOut,nOut)  
 
-!  Given the arrays x(1:n) and y(1:n), which tabulate a function,
-!  this routine returns the linear interpolated values of yOut(1:nOut)
-!  at xOut(1:nOut).
-!  This subroutine assumes that both x and xOut are monotonically
-!  increasing, and that all values of xOut are within the first and
-!  last values of x.
 
 ! !INPUT PARAMETERS:
 
   real (kind=RKIND), dimension(n), intent(in) :: &amp;
-    x,         &amp;! node location, input grid
-    y         ! interpolation variable, input grid
+    x,         &amp;!&lt; Input: node location, input grid
+    y         !&lt; Input: interpolation variable, input grid
 
   real (kind=RKIND), dimension(nOut), intent(in) :: &amp;
-    xOut          ! node location, output grid
+    xOut          !&lt; Input: node location, output grid
 
   integer, intent(in) :: &amp;
-    N,      &amp;! number of nodes, input grid
-    NOut       ! number of nodes, output grid
+    N,      &amp;!&lt; Input: number of nodes, input grid
+    NOut       !&lt; Input: number of nodes, output grid
 
 ! !OUTPUT PARAMETERS:
 
   real (kind=RKIND), dimension(nOut), intent(out) :: &amp;
-    yOut        ! interpolation variable, output grid
+    yOut        !&lt; Output: interpolation variable, output grid
 
 !-----------------------------------------------------------------------
 !
@@ -355,13 +402,22 @@
   
   enddo kInLoop
 
-  end subroutine mpas_interpolate_linear
+  end subroutine mpas_interpolate_linear!}}}
 
+!***********************************************************************
+!
+!  routine mpas_test_interpolate
+!
+!&gt; \brief   MPAS Interpolation test routine
+!&gt; \author  Mark Petersen
+!&gt; \date    04/02/13
+!&gt; \version SVN:$Id$
+!&gt; \details 
+!&gt;  Test routine to show how to operate the cubic spline subroutines
+!
+!-----------------------------------------------------------------------
+  subroutine mpas_test_interpolate!{{{
 
-  subroutine mpas_test_interpolate
-
-!  Test function to show how to operate the cubic spline subroutines
-
   integer, parameter :: &amp;
     n = 10
   real (kind=RKIND), dimension(n) :: &amp;
@@ -426,7 +482,7 @@
    print '(a,100f8.4,a)', 'yOut = [',yOut,'];'
    print *, &quot;plot(x,y,'-*r',xOut,yOut,'x')&quot;
 
-  end subroutine mpas_test_interpolate
+  end subroutine mpas_test_interpolate!}}}
 
 end module mpas_spline_interpolation
 

</font>
</pre>