<p><b>dwj07@fsu.edu</b> 2012-04-16 15:57:31 -0600 (Mon, 16 Apr 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Fixing issue with order of dimensions on 2d fields.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/tools/mpas_draw/netcdf_utils.cpp
===================================================================
--- branches/tools/mpas_draw/netcdf_utils.cpp        2012-04-13 22:07:31 UTC (rev 1780)
+++ branches/tools/mpas_draw/netcdf_utils.cpp        2012-04-16 21:57:31 UTC (rev 1781)
@@ -1433,7 +1433,7 @@
         NcVar *var_id;
         int num_dims;
         int type;
-        int nCells, nEdges, nVertices;
+        int nCells, nEdges, nVertices, nVertLevels;
         long *dims;
         //
         //  Open the file.
@@ -1455,16 +1455,28 @@
         nCells = netcdf_mpas_read_dim (filename, &quot;nCells&quot;);
         nEdges = netcdf_mpas_read_dim (filename, &quot;nEdges&quot;);
         nVertices = netcdf_mpas_read_dim (filename, &quot;nVertices&quot;);
+        nVertLevels = netcdf_mpas_read_dim (filename, &quot;nVertLevels&quot;);
 
         type = var_id-&gt;type();
         if(type == 6){ // NCDOUBLE
                 switch(num_dims){
                         case 2:
-                                (*var_id).set_cur(0, cur_level);
                                 if(dims[0] == nCells || dims[0] == nEdges || dims[0] == nVertices){
-                                        (*var_id).get ( &amp;values[0], dims[0], 1);
+                                        if(dims[1] == nVertLevels){
+                                                (*var_id).set_cur(0, cur_level);
+                                                (*var_id).get ( &amp;values[0], dims[0], 1);
+                                        } else {
+                                                (*var_id).set_cur(0, cur_time);
+                                                (*var_id).get ( &amp;values[0], dims[0], 1);
+                                        }
                                 } else {
-                                        (*var_id).get ( &amp;values[0], 1, dims[1]);
+                                        if(dims[0] == nVertLevels){
+                                                (*var_id).set_cur(cur_level, 0);
+                                                (*var_id).get ( &amp;values[0], 1, dims[1]);
+                                        } else {
+                                                (*var_id).set_cur(cur_time, 0);
+                                                (*var_id).get ( &amp;values[0], 1, dims[1]);
+                                        }
                                 }
                                 break;
                         case 3:
@@ -1481,13 +1493,26 @@
 
                 switch(num_dims){
                         case 2:
-                                num_items = dims[0];
-                                tmp_values = new int[num_items];
-                                (*var_id).set_cur(0, cur_level);
                                 if(dims[0] == nCells || dims[0] == nEdges || dims[0] == nVertices){
-                                        (*var_id).get ( &amp;tmp_values[0], dims[0], 1);
+                                        num_items = dims[0];
+                                        tmp_values = new int[num_items];
+                                        if(dims[1] == nVertLevels){
+                                                (*var_id).set_cur(0, cur_level);
+                                                (*var_id).get ( &amp;tmp_values[0], dims[0], 1);
+                                        } else {
+                                                (*var_id).set_cur(0, cur_time);
+                                                (*var_id).get ( &amp;tmp_values[0], dims[0], 1);
+                                        }
                                 } else {
-                                        (*var_id).get ( &amp;tmp_values[0], 1, dims[1]);
+                                        num_items = dims[1];
+                                        tmp_values = new int[num_items];
+                                        if(dims[0] == nVertLevels){
+                                                (*var_id).set_cur(cur_level, 0);
+                                                (*var_id).get ( &amp;tmp_values[0], 1, dims[1]);
+                                        } else {
+                                                (*var_id).set_cur(cur_time, 0);
+                                                (*var_id).get ( &amp;tmp_values[0], 1, dims[1]);
+                                        }
                                 }
                                 break;
                         case 3:

</font>
</pre>