<p><b>mpetersen@lanl.gov</b> 2010-05-07 14:11:46 -0600 (Fri, 07 May 2010)</p><p>Added some temporary code to initialize zlevel variables.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/z_level_mrp/mpas/src/core_ocean/module_test_cases.F
===================================================================
--- branches/ocean_projects/z_level_mrp/mpas/src/core_ocean/module_test_cases.F        2010-05-07 19:17:39 UTC (rev 260)
+++ branches/ocean_projects/z_level_mrp/mpas/src/core_ocean/module_test_cases.F        2010-05-07 20:11:46 UTC (rev 261)
@@ -94,6 +94,98 @@
         block_ptr =&gt; block_ptr % next
       end do
 
+      ! mrp 100507:  This whole section is just temporary
+      ! print some diagnostics
+      block_ptr =&gt; domain % blocklist
+      do while (associated(block_ptr))
+         h          =&gt; block_ptr % time_levs(1) % state % h % array
+         u          =&gt; block_ptr % time_levs(1) % state % u % array
+         rho        =&gt; block_ptr % time_levs(1) % state % rho % array
+         tracers    =&gt; block_ptr % time_levs(1) % state % tracers % array
+
+         u_src      =&gt; block_ptr % mesh % u_src % array
+         xCell      =&gt; block_ptr % mesh % xCell % array
+         yCell      =&gt; block_ptr % mesh % yCell % array
+
+         hZLevel    =&gt; block_ptr % mesh % hZLevel % array
+         zmidZLevel =&gt; block_ptr % mesh % zmidZLevel % array
+         zbotZLevel =&gt; block_ptr % mesh % zbotZLevel % array
+
+         nCells      = block_ptr % mesh % nCells
+         nEdges      = block_ptr % mesh % nEdges
+         nVertices   = block_ptr % mesh % nVertices
+         nVertLevels = block_ptr % mesh % nVertLevels
+
+         ! mrp 100426: initialize z-level variables.
+      if (config_vert_grid_type.eq.'zlevel') then
+         ! These should eventually be in an input file.  For now
+         ! I just read them in from h(:,1).
+        hZLevel = h(:,1)
+        zmidZLevel(1) = -0.5*hZLevel(1)
+        zbotZLevel(1) = -hZLevel(1)
+        do iLevel = 2,nVertLevels
+           zmidZLevel(iLevel) = zbotZLevel(iLevel-1)-0.5*hZLevel(iLevel)
+           zbotZLevel(iLevel) = zbotZLevel(iLevel-1)-    hZLevel(iLevel)
+         enddo
+         if (config_vert_grid_type.eq.'isopycnal') then
+           print *, ' Using isopycnal coordinates'
+         elseif (config_vert_grid_type.eq.'zlevel') then
+           print *, ' Using z-level coordinates'
+         else 
+           print *, ' Incorrect choice of config_vert_grid_type:',&amp;
+             config_vert_grid_type
+           stop
+         endif
+
+         tracers = 0.0
+         do iCell = 1,nCells
+           do iLevel = 1,nVertLevels
+             ! for 20 layer test
+             tracers(index_salinity,iLevel,iCell) = 1.4 + iLevel*0.6  ! salinity
+             tracers(index_temperature,iLevel,iCell) = 5.0  ! temperature
+
+             tracers(index_tracer1,iLevel,iCell) = 1.0
+             tracers(index_tracer2,iLevel,iCell) = &amp;
+               (yCell(iCell)/4000.e3 + xCell(iCell)/2500.e3 )/2.0
+
+             rho(iLevel,iCell) = 1000.0*(  1.0 &amp;
+               - 2.5e-4*tracers(index_temperature,iLevel,iCell) &amp;
+               + 7.6e-4*tracers(index_salinity,iLevel,iCell))
+           enddo
+         enddo
+
+      endif
+         ! mrp 100426 end: initialize z-level variables.
+
+         print '(10a)', 'ilevel',&amp;
+            '  rho      ',&amp;
+            '  min u       max u     ',&amp;
+            '  min u_src   max u_src ', &amp;
+            '  min h       max h     ',&amp;
+            '  hZLevel     zmidZlevel', &amp;
+            '  zbotZlevel'
+         do iLevel = 1,nVertLevels
+            print '(i5,20es12.4)', ilevel, rho(ilevel,1), &amp;
+              minval(u(iLevel,1:nEdges)), maxval(u(iLevel,1:nEdges)), &amp;
+              minval(u_src(iLevel,1:nEdges)), maxval(u_src(iLevel,1:nEdges)), &amp;
+              minval(h(iLevel,1:nCells)), maxval(h(iLevel,1:nCells)), &amp;
+              hZLevel(iLevel),zmidZlevel(iLevel),zbotZlevel(iLevel)
+         enddo
+
+         ! print some diagnostics
+         print '(10a)', 'itracer ilevel  min tracer  max tracer'
+         do iTracer=1,num_tracers
+         do iLevel = 1,nVertLevels
+            print '(2i5,20es12.4)', iTracer,ilevel, &amp;
+              minval(tracers(itracer,iLevel,1:nCells)), maxval(tracers(itracer,iLevel,1:nCells))
+         enddo
+         enddo
+
+         block_ptr =&gt; block_ptr % next
+      end do
+      ! mrp 100507 end:  This whole section is just temporary
+
+
    end subroutine setup_sw_test_case
 
 

</font>
</pre>