<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'>Hi Tim,<br>How was Boulder trip?<br>I think that this portion of the code assumes that NP=4 (so, the spectral order is 3)<br>...<br>   // read connectivity into that space<br>  if (!spectral_mesh)<br>    std::copy(&tmp_conn[start_idx], &tmp_conn[start_idx+4*num_fine_quads], conn_arr);<br>  else {<br>   <b> const unsigned int permute_array[] =<br>        {0, 25, 34, 11, // corner nodes<br>         1, 13, 26, 30, 22, 23, 8, 4, // edge nodes<br>         15, 17, 18, 19 // interior nodes<br>        };</b><br>    int f = start_idx;<br>    for (int c = 0; c < num_coarse_quads; c++) {<br>      for (int i = 0; i < verts_per_quad; i++) <br>        conn_arr[i] = tmp_conn[f+permute_array[i]];<br>      f += 4*spectral_unit;<br>      conn_arr += verts_per_quad;<br>    }<br>    conn_arr -= 4*spectral_unit*num_coarse_quads;<br>  }<br><br>I think they use 4 most of the time, but should it be more general or not?<br><br>So should I work with coarse or fine grid, for ACES4BGC?<br><br>Iulian<br><br><br><hr id="zwchr"><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px;">Author: tautges<br>Date: 2012-10-30 10:20:17 -0500 (Tue, 30 Oct 2012)<br>New Revision: 5841<br><br>Modified:<br>   MOAB/trunk/src/io/ReadNC.cpp<br>   MOAB/trunk/src/io/ReadNC.hpp<br>   MOAB/trunk/tools/mbcoupler/Coupler.cpp<br>   MOAB/trunk/tools/mbcoupler/Coupler.hpp<br>Log:<br>Backing up some changes in ReadNC towards an option to create coarse,<br>  true spectral elements, instead of fine linear hexes from a spectral mesh.<br><br>In Coupler, some fixes for locate_points that I'd made some time back but<br>  hadn't committed.<br><br>Passes make check, serial and parallel.<br><br><br><br>Modified: MOAB/trunk/src/io/ReadNC.cpp<br>===================================================================<br>--- MOAB/trunk/src/io/ReadNC.cpp        2012-10-30 05:50:06 UTC (rev 5840)<br>+++ MOAB/trunk/src/io/ReadNC.cpp        2012-10-30 15:20:17 UTC (rev 5841)<br>@@ -34,8 +34,9 @@<br> <br> ReadNC::ReadNC(Interface* impl) :<br>   mbImpl(impl), CPU_WORD_SIZE(-1), IO_WORD_SIZE(-1), fileId(-1), tMin(-1), tMax(-1), iDim(-1), jDim(-1), tDim(-1), iCDim(-1),<br>-      jCDim(-1), numUnLim(-1), mCurrentMeshHandle(0), startVertex(0), startElem(0), mGlobalIdTag(0), max_line_length(-1),<br>-      max_str_length(-1), vertexOffset(0), dbgOut(stderr), isParallel(false), partMethod(-1), ucdMesh(false), npMesh(false)<br>+  jCDim(-1), numUnLim(-1), mCurrentMeshHandle(0), startVertex(0), startElem(0), mGlobalIdTag(0), max_line_length(-1),<br>+  max_str_length(-1), vertexOffset(0), dbgOut(stderr), isParallel(false), partMethod(-1), camType(NOT_CAM), isCf(false),<br>+  spectralOrder(-1), npMesh(false)<br> <br> #ifdef USE_MPI<br> , myPcomm(NULL)<br>@@ -80,8 +81,6 @@<br>   dbgOut = stderr;<br>   mCurrentMeshHandle = 0;<br>   vertexOffset = 0;<br>-  ucdMesh = false;<br>-  npMesh = false;<br> <br> #ifdef USE_MPI<br>   myPcomm = NULL;<br>@@ -112,9 +111,9 @@<br>       return rval;<br>   }<br> <br>-  bool nomesh = false, novars = false;<br>+  bool nomesh = false, novars = false, spectral_mesh = false;<br>   std::string partition_tag_name;<br>-  rval = parse_options(opts, var_names, tstep_nums, tstep_vals, nomesh, novars, partition_tag_name);<br>+  rval = parse_options(opts, var_names, tstep_nums, tstep_vals, nomesh, novars, spectral_mesh, partition_tag_name);<br>   ERRORR(rval, "Trouble parsing option string.");<br> <br>   // Open the file<br>@@ -155,27 +154,6 @@<br>   rval = read_header();<br>   ERRORR(rval, " ");<br> <br>-  // check if CF convention is being followed<br>-  std::string attname;<br>-  std::map<std::string, AttData>::iterator attIt = globalAtts.find("conventions");<br>-  if (attIt == globalAtts.end()) {<br>-    attIt = globalAtts.find("Conventions");<br>-    attname = std::string("Conventions");<br>-  }<br>-  else<br>-    attname = std::string("conventions");<br>-  if (attIt == globalAtts.end())<br></blockquote><br></div></body></html>