<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) < 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) < 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>