Index: /issm/trunk/test/Validation/PattynStokes/test1_iceshelf/runme.m
===================================================================
--- /issm/trunk/test/Validation/PattynStokes/test1_iceshelf/runme.m	(revision 4874)
+++ /issm/trunk/test/Validation/PattynStokes/test1_iceshelf/runme.m	(revision 4875)
@@ -11,10 +11,15 @@
 md=setelementstype(md,'Pattyn','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_pattyn=md.results.diagnostic.vel;
-vx_pattyn=md.results.diagnostic.vx;
-vy_pattyn=md.results.diagnostic.vy;
-vz_pattyn=md.results.diagnostic.vz;
-pressure_pattyn=md.results.diagnostic.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_pattyn=zeros(md.numberofgrids,1);
+vel_pattyn(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_pattyn=zeros(md.numberofgrids,1);
+vx_pattyn(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_pattyn=zeros(md.numberofgrids,1);
+vy_pattyn(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_pattyn=zeros(md.numberofgrids,1);
+vz_pattyn(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_pattyn=zeros(md.numberofgrids,1);
+pressure_pattyn(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdpattyn=md;
@@ -29,11 +34,19 @@
 md=setelementstype(md,'Stokes','all','Pattyn','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_stokes=md.vel;
-vx_stokes=md.vx;
-vy_stokes=md.vy;
-vz_stokes=md.vz;
-pressure_stokes=md.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_stokes=zeros(md.numberofgrids,1);
+vel_stokes(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_stokes=zeros(md.numberofgrids,1);
+vx_stokes(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_stokes=zeros(md.numberofgrids,1);
+vy_stokes(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_stokes=zeros(md.numberofgrids,1);
+vz_stokes(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_stokes=zeros(md.numberofgrids,1);
+pressure_stokes(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdstokes=md;
-save modelstokes mdstokes;
+save modelstokes mdstokes
+
+%plot the two velocities
+plotmodel(md,'data',vel_pattyn,'data',vel_stokes,'data',abs((vel_pattyn-vel_stokes)./vel_pattyn)*100,'data',vel_pattyn-vel_stokes,'title','Pattyn velocity','title','Stokes velocity','title','Relative difference','title','Absolute difference','view#all',2)
Index: /issm/trunk/test/Validation/PattynStokes/test2_icesheet/Square.par
===================================================================
--- /issm/trunk/test/Validation/PattynStokes/test2_icesheet/Square.par	(revision 4874)
+++ /issm/trunk/test/Validation/PattynStokes/test2_icesheet/Square.par	(revision 4875)
@@ -34,3 +34,3 @@
 md.np=3;
 md.time=50;
-md.waitonlock=1;
+md.waitonlock=10;
Index: /issm/trunk/test/Validation/PattynStokes/test2_icesheet/runme.m
===================================================================
--- /issm/trunk/test/Validation/PattynStokes/test2_icesheet/runme.m	(revision 4874)
+++ /issm/trunk/test/Validation/PattynStokes/test2_icesheet/runme.m	(revision 4875)
@@ -11,10 +11,15 @@
 md=setelementstype(md,'Pattyn','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_pattyn=md.results.diagnostic.vel;
-vx_pattyn=md.results.diagnostic.vx;
-vy_pattyn=md.results.diagnostic.vy;
-vz_pattyn=md.results.diagnostic.vz;
-pressure_pattyn=md.results.diagnostic.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_pattyn=zeros(md.numberofgrids,1);
+vel_pattyn(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_pattyn=zeros(md.numberofgrids,1);
+vx_pattyn(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_pattyn=zeros(md.numberofgrids,1);
+vy_pattyn(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_pattyn=zeros(md.numberofgrids,1);
+vz_pattyn(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_pattyn=zeros(md.numberofgrids,1);
+pressure_pattyn(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdpattyn=md;
@@ -29,12 +34,19 @@
 md=setelementstype(md,'Pattyn','all','Stokes','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_stokes=md.results.diagnostic.vel;
-vx_stokes=md.results.diagnostic.vx;
-vy_stokes=md.results.diagnostic.vy;
-vz_stokes=md.results.diagnostic.vz;
-pressure_stokes=md.results.diagnostic.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_stokes=zeros(md.numberofgrids,1);
+vel_stokes(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_stokes=zeros(md.numberofgrids,1);
+vx_stokes(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_stokes=zeros(md.numberofgrids,1);
+vy_stokes(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_stokes=zeros(md.numberofgrids,1);
+vz_stokes(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_stokes=zeros(md.numberofgrids,1);
+pressure_stokes(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdstokes=md;
 save modelstokes mdstokes;
 
+%plot the two velocities
+plotmodel(md,'data',vel_pattyn,'data',vel_stokes,'data',abs((vel_pattyn-vel_stokes)./vel_pattyn)*100,'data',vel_pattyn-vel_stokes,'title','Pattyn velocity','title','Stokes velocity','title','Relative difference','title','Absolute difference','view#all',2)
Index: /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/Square.par
===================================================================
--- /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/Square.par	(revision 4874)
+++ /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/Square.par	(revision 4875)
@@ -34,3 +34,3 @@
 md.np=3;
 md.time=50;
-md.waitonlock=1;
+md.waitonlock=10;
Index: /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/runme.m
===================================================================
--- /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/runme.m	(revision 4874)
+++ /issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/runme.m	(revision 4875)
@@ -11,10 +11,15 @@
 md=setelementstype(md,'Pattyn','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_pattyn=md.results.diagnostic.vel;
-vx_pattyn=md.results.diagnostic.vx;
-vy_pattyn=md.results.diagnostic.vy;
-vz_pattyn=md.results.diagnostic.vz;
-pressure_pattyn=md.results.diagnostic.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_pattyn=zeros(md.numberofgrids,1);
+vel_pattyn(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_pattyn=zeros(md.numberofgrids,1);
+vx_pattyn(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_pattyn=zeros(md.numberofgrids,1);
+vy_pattyn(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_pattyn=zeros(md.numberofgrids,1);
+vz_pattyn(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_pattyn=zeros(md.numberofgrids,1);
+pressure_pattyn(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdpattyn=md;
@@ -29,11 +34,19 @@
 md=setelementstype(md,'Pattyn','all','Stokes','all');
 
-md=solve(md,'analysis_type','diagnostic','package','ice');
-vel_stokes=md.results.diagnostic.vel;
-vx_stokes=md.results.diagnostic.vx;
-vy_stokes=md.results.diagnostic.vy;
-vz_stokes=md.results.diagnostic.vz;
-pressure_stokes=md.results.diagnostic.pressure;
+md=solve(md,'analysis_type',DiagnosticSolutionEnum);
+vel_stokes=zeros(md.numberofgrids,1);
+vel_stokes(md.results.DiagnosticSolution.Vel.index)=md.results.DiagnosticSolution.Vel.value;
+vx_stokes=zeros(md.numberofgrids,1);
+vx_stokes(md.results.DiagnosticSolution.Vx.index)=md.results.DiagnosticSolution.Vx.value;
+vy_stokes=zeros(md.numberofgrids,1);
+vy_stokes(md.results.DiagnosticSolution.Vy.index)=md.results.DiagnosticSolution.Vy.value;
+vz_stokes=zeros(md.numberofgrids,1);
+vz_stokes(md.results.DiagnosticSolution.Vz.index)=md.results.DiagnosticSolution.Vz.value;
+pressure_stokes=zeros(md.numberofgrids,1);
+pressure_stokes(md.results.DiagnosticSolution.Pressure.index)=md.results.DiagnosticSolution.Pressure.value;
 
 mdstokes=md;
 save modelstokes mdstokes;
+
+%plot the two velocities
+plotmodel(md,'data',vel_pattyn,'data',vel_stokes,'data',abs((vel_pattyn-vel_stokes)./vel_pattyn)*100,'data',vel_pattyn-vel_stokes,'title','Pattyn velocity','title','Stokes velocity','title','Relative difference','title','Absolute difference','view#all',2)
