<p><b>ringler@lanl.gov</b> 2009-08-14 22:57:41 -0600 (Fri, 14 Aug 2009)</p><p><br>
added normals, tangents and velocity fields to DX mapping files<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/swmodel/matlab/MapDataToDx.m
===================================================================
--- trunk/swmodel/matlab/MapDataToDx.m        2009-08-12 22:56:04 UTC (rev 29)
+++ trunk/swmodel/matlab/MapDataToDx.m        2009-08-15 04:57:41 UTC (rev 30)
@@ -6,11 +6,12 @@
 
 eps = 1.0e-12
 
-ncid = netcdf.open('output.nc','nc_nowrite')
+ncid = netcdf.open('../output.nc','nc_nowrite')
 
 doThickness = 1;
 doKE = 1;
 doVorticity = 1;
+doVelocity = 1;
 
 [nCellsName, nCellsLength] = netcdf.inqDim(ncid,0);
 [nEdgesName, nEdgesLength] = netcdf.inqDim(ncid,1);
@@ -34,6 +35,17 @@
 [vorticityName,xtype,dimids,natts] = netcdf.inqVar(ncid,vorticityID);
 vorticity=work;
 
+uID = netcdf.inqVarID(ncid,'u');
+work =  netcdf.getVar(ncid,uID);
+[uName,xtype,dimids,natts] = netcdf.inqVar(ncid,uID);
+u=work;
+
+vID = netcdf.inqVarID(ncid,'v');
+work =  netcdf.getVar(ncid,vID);
+[vName,xtype,dimids,natts] = netcdf.inqVar(ncid,vID);
+v=work;
+
+
 if (doThickness == 1)
 system('rm -f ../dx/h.*.*.data')
 for iLevel=1:nVertLevelsLength
@@ -87,3 +99,41 @@
 end
 end
 end
+
+if (doVelocity == 1)
+system('rm -f ../dx/u.*.*.data')
+for iLevel=1:nVertLevelsLength
+for iTime=0:TimeLength-1
+    stringTime = int2str(iTime)
+    stringVert = int2str(iLevel)
+    FileName = strcat('../dx/', uName, '.', ...
+        stringVert, '.', stringTime, '.', 'data')
+    for iEdge=1:nEdgesLength
+      data = u(iLevel,iEdge,iTime+1);
+      if abs(data) &lt; eps, data=0;, end;
+      dlmwrite(FileName, data, ...
+         'precision', '%18.10e', '-append')
+    end
+end
+end
+end
+
+if (doVelocity == 1)
+system('rm -f ../dx/v.*.*.data')
+for iLevel=1:nVertLevelsLength
+for iTime=0:TimeLength-1
+    stringTime = int2str(iTime)
+    stringVert = int2str(iLevel)
+    FileName = strcat('../dx/', vName, '.', ...
+        stringVert, '.', stringTime, '.', 'data')
+    for iEdge=1:nEdgesLength
+      data = v(iLevel,iEdge,iTime+1);
+      if abs(data) &lt; eps, data=0;, end;
+      dlmwrite(FileName, data, ...
+         'precision', '%18.10e', '-append')
+    end
+end
+end
+end
+
+

Modified: trunk/swmodel/matlab/MapGridToDx.m
===================================================================
--- trunk/swmodel/matlab/MapGridToDx.m        2009-08-12 22:56:04 UTC (rev 29)
+++ trunk/swmodel/matlab/MapGridToDx.m        2009-08-15 04:57:41 UTC (rev 30)
@@ -5,9 +5,10 @@
 
 clear all
 
-doWrite = 0
+doWrite = 1
 doVor = 1
 doTri = 1
+doEdge = 1
 
 ncid = netcdf.open('../grid.nc','nc_nowrite')
 
@@ -116,5 +117,77 @@
 
 end;
 
+if (doEdge == 1)
+    
+    [nEdgesName, nEdgesLength] = netcdf.inqDim(ncid,1);
+    xE_id = netcdf.inqVarID(ncid,'xEdge');
+    yE_id = netcdf.inqVarID(ncid,'yEdge');
+    zE_id = netcdf.inqVarID(ncid,'zEdge');
+    nCellsOnEdge = 2;
+    nEdges = nEdgesLength;
+    cellsOnEdge_id = netcdf.inqVarID(ncid, 'cellsOnEdge');
 
+    xE=netcdf.getVar(ncid, xE_id);
+    yE=netcdf.getVar(ncid, yE_id);
+    zE=netcdf.getVar(ncid, zE_id);
+    cellsOnEdge=netcdf.getVar(ncid, cellsOnEdge_id);
+    
+    for i=1:nEdges
+      
+        j1 = cellsOnEdge(1,i);
+        j2 = cellsOnEdge(2,i);
+        iCell1 = min(j1,j2);
+        iCell2 = max(j1,j2);
+        
+        x(1) = xC(iCell2)-xC(iCell1);
+        x(2) = yC(iCell2)-yC(iCell1);
+        x(3) = zC(iCell2)-zC(iCell2);
+        
+        normal(:,i) = unit_vector(x(:));
+        x(1) = xE(i); x(2) = yE(i); x(3) = zE(i);
+        tangent(:,i) = cross(x(:),normal(:,i));
+    end;
+    
+    
+ if (doWrite == 1)
+     
+    system('rm -f ../dx/edge.position.data')
+    system('rm -f ../dx/normal.data')
+    system('rm -f ../dx/tangent.data')
+    
+    for i=1:nEdges
+        
+        dlmwrite('../dx/edge.position.data', xE(i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/edge.position.data', yE(i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/edge.position.data', zE(i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/normal.data', normal(1,i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/normal.data', normal(2,i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/normal.data', normal(3,i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/tangent.data', tangent(1,i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/tangent.data', tangent(2,i), ...
+           'precision', '%18.10e', '-append')
+       
+        dlmwrite('../dx/tangent.data', tangent(3,i), ...
+           'precision', '%18.10e', '-append')
+    
+    end;
+    
+end;    
+    
+end;
+
 netcdf.close(ncid)
\ No newline at end of file

</font>
</pre>