<p><b>lipscomb</b> 2012-01-10 15:27:40 -0700 (Tue, 10 Jan 2012)</p><p><br>
Added a skeleton version of a new land-ice velocity module<br>
</p><hr noshade><pre><font color="gray">Modified: branches/land_ice/mpas/src/core_land_ice/Makefile
===================================================================
--- branches/land_ice/mpas/src/core_land_ice/Makefile        2012-01-10 22:01:37 UTC (rev 1344)
+++ branches/land_ice/mpas/src/core_land_ice/Makefile        2012-01-10 22:27:40 UTC (rev 1345)
@@ -4,6 +4,7 @@
mpas_land_ice_test_cases.o \
        mpas_land_ice_advection.o \
        mpas_land_ice_time_integration.o \
+ mpas_land_ice_vel.o \
        mpas_land_ice_global_diagnostics.o
all: core_land_ice
@@ -17,9 +18,11 @@
mpas_land_ice_time_integration.o:
+mpas_land_ice_vel.o:
+
mpas_land_ice_global_diagnostics.o:
-mpas_land_ice_mpas_core.o: mpas_land_ice_global_diagnostics.o mpas_land_ice_test_cases.o mpas_land_ice_time_integration.o mpas_land_ice_advection.o
+mpas_land_ice_mpas_core.o: mpas_land_ice_global_diagnostics.o mpas_land_ice_test_cases.o mpas_land_ice_time_integration.o mpas_land_ice_advection.o mpas_land_ice_vel.o
clean:
        $(RM) *.o *.mod *.f90 libdycore.a
Added: branches/land_ice/mpas/src/core_land_ice/mpas_land_ice_vel.F
===================================================================
--- branches/land_ice/mpas/src/core_land_ice/mpas_land_ice_vel.F         (rev 0)
+++ branches/land_ice/mpas/src/core_land_ice/mpas_land_ice_vel.F        2012-01-10 22:27:40 UTC (rev 1345)
@@ -0,0 +1,167 @@
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+!
+! land_ice_vel
+!
+!> \MPAS land-ice velocity driver
+!> \author William Lipscomb
+!> \date 10 January 2012
+!> \version SVN:$Id:$
+!> \details
+!> This module contains the routines for computing ice velocity.
+!>
+!
+!-----------------------------------------------------------------------
+
+module land_ice_vel
+
+ use mpas_grid_types
+ use mpas_configure
+
+ implicit none
+ private
+ save
+
+ !--------------------------------------------------------------------
+ !
+ ! Public parameters
+ !
+ !--------------------------------------------------------------------
+
+ !--------------------------------------------------------------------
+ !
+ ! Public member functions
+ !
+ !--------------------------------------------------------------------
+
+ public :: land_ice_vel_init, &
+ land_ice_vel_solve
+
+ !--------------------------------------------------------------------
+ !
+ ! Private module variables
+ !
+ !--------------------------------------------------------------------
+
+
+!***********************************************************************
+
+contains
+
+!***********************************************************************
+!
+! routine land_ice_vel_init
+!
+!> \brief Initializes velocity solver
+!> \author William Lipscomb
+!> \date 10 January 2012
+!> \version SVN:$Id$
+!> \details
+!> This routine initializes the ice velocity solver.
+!
+!-----------------------------------------------------------------------
+
+ subroutine land_ice_vel_init(grid, err)
+
+ !-----------------------------------------------------------------
+ !
+ ! input variables
+ !
+ !-----------------------------------------------------------------
+
+ type (mesh_type), intent(in) :: &
+ grid !< Input: grid information
+
+ !-----------------------------------------------------------------
+ !
+ ! input/output variables
+ !
+ !-----------------------------------------------------------------
+
+ !-----------------------------------------------------------------
+ !
+ ! output variables
+ !
+ !-----------------------------------------------------------------
+
+ integer, intent(out) :: err !< Output: error flag
+
+ !-----------------------------------------------------------------
+ !
+ ! local variables
+ !
+ !-----------------------------------------------------------------
+
+ err = 0
+
+! cellsOnEdge => grid % cellsOnEdge % array
+! edgesOnEdge => grid % edgesOnEdge % array
+! nEdgesSolve = grid % nEdgesSolve
+
+! do iEdge=1,grid % nEdgesSolve
+! cell1 = cellsOnEdge(1,iEdge)
+! cell2 = cellsOnEdge(2,iEdge)
+! end do
+
+ !--------------------------------------------------------------------
+
+ end subroutine land_ice_vel_init
+
+!***********************************************************************
+
+ subroutine land_ice_vel_solve(grid, thck, unorm, err)
+
+ !-----------------------------------------------------------------
+ !
+ ! input variables
+ !
+ !-----------------------------------------------------------------
+
+ type (mesh_type), intent(in) :: &
+ grid !< Input: grid information
+
+ real (kind=RKIND), dimension(:,:), intent(in) :: &
+ thck !< Input: Thickness at cell center
+
+ !-----------------------------------------------------------------
+ !
+ ! input/output variables
+ !
+ !-----------------------------------------------------------------
+
+ real (kind=RKIND), dimension(:,:,:), intent(in) :: &
+ unorm !< Input/Output: Normal velocity at cell edge
+
+ !-----------------------------------------------------------------
+ !
+ ! output variables
+ !
+ !-----------------------------------------------------------------
+
+ integer, intent(out) :: err !< Output: error flag
+
+ !-----------------------------------------------------------------
+ !
+ ! local variables
+ !
+ !-----------------------------------------------------------------
+
+ err = 0
+
+! cellsOnEdge => grid % cellsOnEdge % array
+! edgesOnEdge => grid % edgesOnEdge % array
+! nEdgesSolve = grid % nEdgesSolve
+
+! do iEdge=1,grid % nEdgesSolve
+! cell1 = cellsOnEdge(1,iEdge)
+! cell2 = cellsOnEdge(2,iEdge)
+! end do
+
+ !--------------------------------------------------------------------
+
+ end subroutine land_ice_vel_solve
+
+!***********************************************************************
+
+end module land_ice_vel
+
+!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</font>
</pre>