<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, "nCells");
        nEdges = netcdf_mpas_read_dim (filename, "nEdges");
        nVertices = netcdf_mpas_read_dim (filename, "nVertices");
+        nVertLevels = netcdf_mpas_read_dim (filename, "nVertLevels");
        type = var_id->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 ( &values[0], dims[0], 1);
+                                        if(dims[1] == nVertLevels){
+                                                (*var_id).set_cur(0, cur_level);
+                                                (*var_id).get ( &values[0], dims[0], 1);
+                                        } else {
+                                                (*var_id).set_cur(0, cur_time);
+                                                (*var_id).get ( &values[0], dims[0], 1);
+                                        }
                                } else {
-                                        (*var_id).get ( &values[0], 1, dims[1]);
+                                        if(dims[0] == nVertLevels){
+                                                (*var_id).set_cur(cur_level, 0);
+                                                (*var_id).get ( &values[0], 1, dims[1]);
+                                        } else {
+                                                (*var_id).set_cur(cur_time, 0);
+                                                (*var_id).get ( &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 ( &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 ( &tmp_values[0], dims[0], 1);
+                                        } else {
+                                                (*var_id).set_cur(0, cur_time);
+                                                (*var_id).get ( &tmp_values[0], dims[0], 1);
+                                        }
                                } else {
-                                        (*var_id).get ( &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 ( &tmp_values[0], 1, dims[1]);
+                                        } else {
+                                                (*var_id).set_cur(cur_time, 0);
+                                                (*var_id).get ( &tmp_values[0], 1, dims[1]);
+                                        }
                                }
                                break;
                        case 3:
</font>
</pre>