<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 > 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.', &
+ ' 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, &
block_ptr % time_levs(i) % state)
</font>
</pre>