<p><b>mhoffman@lanl.gov</b> 2012-05-15 11:54:07 -0600 (Tue, 15 May 2012)</p><p>BRANCH COMMIT - land_ice<br>
Modifying ocn_initialize_advection_rk() to work on a planar mesh without giving a FPE.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/land_ice_projects/implement_core/src/core_ocean/mpas_ocn_advection.F
===================================================================
--- branches/land_ice_projects/implement_core/src/core_ocean/mpas_ocn_advection.F        2012-05-15 17:21:01 UTC (rev 1913)
+++ branches/land_ice_projects/implement_core/src/core_ocean/mpas_ocn_advection.F        2012-05-15 17:54:07 UTC (rev 1914)
@@ -272,16 +272,17 @@
          do i=1,grid % nEdgesOnCell % array (iCell)
             ip1 = i+1
             if (ip1 &gt; n-1) ip1 = 1
+
+            if ( grid % on_a_sphere ) then  
+                iEdge = grid % EdgesOnCell % array (i,iCell)
+                xv1 = grid % xVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
+                yv1 = grid % yVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
+                zv1 = grid % zVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
+                xv2 = grid % xVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
+                yv2 = grid % yVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
+                zv2 = grid % zVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
   
-            iEdge = grid % EdgesOnCell % array (i,iCell)
-            xv1 = grid % xVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
-            yv1 = grid % yVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
-            zv1 = grid % zVertex % array(grid % verticesOnEdge % array (1,iedge))/grid % sphere_radius
-            xv2 = grid % xVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
-            yv2 = grid % yVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
-            zv2 = grid % zVertex % array(grid % verticesOnEdge % array (2,iedge))/grid % sphere_radius
-  
-            if ( grid % on_a_sphere ) then
+
                call ocn_arc_bisect( xv1, yv1, zv1,  &amp;
                                 xv2, yv2, zv2,  &amp;
                                 xec, yec, zec   )
@@ -295,7 +296,15 @@
                else
                   thetae(2,grid % EdgesOnCell % array (i,iCell)) = thetae_tmp
                end if
-!            else
+            else
+                iEdge = grid % EdgesOnCell % array (i,iCell)
+                xv1 = grid % xVertex % array(grid % verticesOnEdge % array (1,iedge))
+                yv1 = grid % yVertex % array(grid % verticesOnEdge % array (1,iedge))
+                zv1 = grid % zVertex % array(grid % verticesOnEdge % array (1,iedge))
+                xv2 = grid % xVertex % array(grid % verticesOnEdge % array (2,iedge))
+                yv2 = grid % yVertex % array(grid % verticesOnEdge % array (2,iedge))
+                zv2 = grid % zVertex % array(grid % verticesOnEdge % array (2,iedge))
+
 !
 !               xe(grid % EdgesOnCell % array (i,iCell)) = 0.5 * (xv1 + xv2)
 !               ye(grid % EdgesOnCell % array (i,iCell)) = 0.5 * (yv1 + yv2)

</font>
</pre>