<p><b>mpetersen@lanl.gov</b> 2010-03-23 12:59:26 -0600 (Tue, 23 Mar 2010)</p><p>Put EXPAND_LEVELS capability back into module_test_cases, which is just copying u and h to multiple levels.<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/mpas/src/core_ocean/Registry
===================================================================
--- trunk/mpas/src/core_ocean/Registry        2010-03-22 23:11:50 UTC (rev 152)
+++ trunk/mpas/src/core_ocean/Registry        2010-03-23 18:59:26 UTC (rev 153)
@@ -30,8 +30,6 @@
 dim vertexDegree vertexDegree
 dim nVertLevels nVertLevels
 dim nTracers nTracers
-dim iTemperature 1
-dim iSalinity 2
 
 #
 # var  type  name_in_file  ( dims )  iro-  name_in_code super-array array_class
@@ -81,9 +79,7 @@
 var real    fEdge ( nEdges ) iro fEdge - -
 var real    fVertex ( nVertices ) iro fVertex - -
 var real    h_s ( nCells ) iro h_s - -
-# mrp 100112:
 var real    rho ( nVertLevels nCells Time ) iro rho - -
-# mrp 100112 end
 
 # Arrays required for reconstruction of velocity field
 var real    matrix_reconstruct ( maxEdges maxEdges nCells ) - matrix_reconstruct - -

Modified: trunk/mpas/src/core_ocean/module_test_cases.F
===================================================================
--- trunk/mpas/src/core_ocean/module_test_cases.F        2010-03-22 23:11:50 UTC (rev 152)
+++ trunk/mpas/src/core_ocean/module_test_cases.F        2010-03-23 18:59:26 UTC (rev 153)
@@ -1,4 +1,4 @@
-module test_cases
+ module test_cases
 
    use grid_types
    use configure
@@ -95,14 +95,16 @@
          nVertices   = block_ptr % mesh % nVertices
          nVertLevels = block_ptr % mesh % nVertLevels
 
-
          ! Momentum forcing u_src
-         ! for shallow water test cases:
-         ! u_src = 0.0
-         ! for rectangular basin:
-         do iEdge=1,nEdges
-            u_src(1:nVertLevels, iEdge) = u_src(1, iEdge) / nVertLevels
-         end do
+         if (config_test_case &gt; 0) then
+           ! for shallow water test cases:
+           u_src = 0.0
+         elseif (config_test_case == 0 ) then
+           ! for rectangular basin:
+           do iEdge=1,nEdges
+              u_src(1:nVertLevels, iEdge) = u_src(1, iEdge) / nVertLevels
+           end do
+         endif
 
          ! define the density for multiple layers
          delta_rho=0.0
@@ -114,6 +116,23 @@
            rho(iLevel,:) = rho(iLevel,1)
          enddo
 
+#ifdef EXPAND_LEVELS
+         print '(10a)', 'EXPAND_LEVELS compiler flag is on.', &amp;
+            ' Copying h and u from k=1 to other levels.'
+         print '(a,i5)', 'EXPAND_LEVELS =', EXPAND_LEVELS
+         print '(a,i5)', 'nVertLevels =', nVertLevels
+         do iCell=1,nCells
+            ! make the total thickness equal to the single-layer thickness:
+            h(1:nVertLevels, iCell) = h(1,iCell) / nVertLevels
+         end do
+
+         do iEdge=1,nEdges
+            u(2:nVertLevels, iEdge) = u(1,iEdge)
+         end do
+#else
+         print '(10a)', 'EXPAND_LEVELS compiler flag is off.'
+#endif
+
          do i=2,nTimeLevs
             call copy_state(block_ptr % time_levs(1) % state, &amp;
                             block_ptr % time_levs(i) % state)

</font>
</pre>