Index: /issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk/test/NightlyRun/IdToName.m	(revision 10373)
+++ /issm/trunk/test/NightlyRun/IdToName.m	(revision 10374)
@@ -285,4 +285,5 @@
 	case 1501, name='SquareShelfTranSawTooth2d';
 	case 1502, name='SquareShelfTranSawTooth3d';
+	case 1601, name='SquareShelfRotation';
 	otherwise, name='N/A';
 end
Index: /issm/trunk/test/NightlyRun/test1601.m
===================================================================
--- /issm/trunk/test/NightlyRun/test1601.m	(revision 10374)
+++ /issm/trunk/test/NightlyRun/test1601.m	(revision 10374)
@@ -0,0 +1,34 @@
+md=setmesh(model,'../Exp/Square.exp',150000);
+md=setmask(md,'all','');
+md.settings.results_on_vertices=1;
+md=parameterize(md,'../Par/SquareShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.diagnostic.spcvx(find(md.mesh.y>0))=NaN;
+md.initialization.vx(:)=0;
+md.initialization.vy(:)=0;
+md.initialization.vel(:)=0;
+
+md.cluster=generic('name',oshostname,'np',2);
+md=solve(md,DiagnosticSolutionEnum);
+vel0=md.results.DiagnosticSolution.Vel;
+
+theta=30*pi/180;
+x=md.mesh.x;
+y=md.mesh.y;
+md.mesh.x=cos(theta)*x-sin(theta)*y;
+md.mesh.y=sin(theta)*x+cos(theta)*y;
+
+md.diagnostic.referential(:,1:3)=repmat([cos(theta),sin(theta),0],md.mesh.numberofvertices,1);
+md.diagnostic.referential(:,4:6)=repmat([0,0,1],md.mesh.numberofvertices,1);
+md=solve(md,DiagnosticSolutionEnum);
+vel1=md.results.DiagnosticSolution.Vel;
+
+plotmodel(md,'data',vel0,'data',vel1,'data',vel1-vel0,'title','Cartesian CS','title','Rotated CS','title','difference')
+disp(['Error between Cartesian and rotated CS: ' num2str(max(vel0-vel1))]);
+
+%Fields and tolerances to track changes
+field_names     ={'vel1'};
+field_tolerances={1e-11};
+field_values={...
+	vel1, ...
+	};
