Index: /issm/trunk/src/ad/validation/Update/SquareShelfConstrained.par
===================================================================
--- /issm/trunk/src/ad/validation/Update/SquareShelfConstrained.par	(revision 10330)
+++ /issm/trunk/src/ad/validation/Update/SquareShelfConstrained.par	(revision 10330)
@@ -0,0 +1,51 @@
+%Start defining model parameters here
+
+%Geometry
+hmin=300;
+hmax=1000;
+ymin=min(md.mesh.y);
+ymax=max(md.mesh.y);
+md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin);
+md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+
+%Initial velocity 
+load('SquareShelfConstrained.data','-mat');
+md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
+md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
+clear vx vy x y index;
+md.initialization.vz=zeros(md.mesh.numberofvertices,1);
+md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
+
+%Materials
+md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1);
+md.materials.rheology_B=paterson(md.initialization.temperature);
+md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
+
+%Surface mass balance and basal melting
+md.surfaceforcings.mass_balance=10*ones(md.mesh.numberofvertices,1);
+md.basalforcings.melting_rate=5*ones(md.mesh.numberofvertices,1);
+
+%Friction
+pos=find(md.mask.elementonfloatingice);
+md.friction.coefficient=20*ones(md.mesh.numberofvertices,1);
+md.friction.coefficient(md.mesh.elements(pos,:))=0;
+md.friction.p=ones(md.mesh.numberofelements,1);
+md.friction.q=ones(md.mesh.numberofelements,1);
+
+%Numerical parameters
+md.diagnostic.viscosity_overshoot=0.0;
+md.prognostic.stabilization=1;
+md.thermal.stabilization=1;
+md.verbose=verbose(0);
+md.settings.waitonlock=30;
+md.diagnostic.restol=0.05;
+md.diagnostic.reltol=0.05;
+md.steadystate.reltol=0.05;
+md.diagnostic.abstol=NaN;
+md.timestepping.time_step=1;
+md.timestepping.final_time=3;
+
+%Deal with boundary conditions:
+md=SetIceShelfBC(md);
+md.miscellaneous.name='validation';
Index: /issm/trunk/src/ad/validation/Update/update.m
===================================================================
--- /issm/trunk/src/ad/validation/Update/update.m	(revision 10329)
+++ /issm/trunk/src/ad/validation/Update/update.m	(revision 10330)
@@ -1,11 +1,13 @@
 tolerance=1e-13;
 
-md=setmesh(model,'Exp/Square.exp',150000);
+md=setmesh(model,'Square.exp',150000);
 md=setmask(md,'all','');
-md=parameterize(md,'Par/SquareShelfConstrained.par');
+md=parameterize(md,'SquareShelfConstrained.par');
 md=setflowequation(md,'macayeal','all');
+md.settings.results_on_vertices=1;
 md.cluster=generic('name',oshostname(),'np',3);
+md.cluster.executionpath=[issmtier() '/src/ad/validation/Validation/'];
 
-md.autodiff.analysis=true;
+md.autodiff.isautodiff=true;
 md.autodiff.forward=true;
 md.verbose=verbose('solution',true);
@@ -13,13 +15,4 @@
 md=solve(md,PrognosticSolutionEnum);
 
-s=load('Archive/archive.mat'); h0=s.Archive110_field1;
-h=PatchToVec(md.results.PrognosticSolution.Thickness);
-
-error_diff=full(max(abs(h-h0))/(max(abs(h0))+eps));
-
-if (error_diff>tolerance);
-	disp(sprintf(['\n\n\nERROR   difference: %-7.2g > %7.2g \n\n\n'],error_diff,tolerance));
-else
-	disp(sprintf(['\n\n\nSUCCESS difference: %-7.2g < %7.2g \n\n\n'],error_diff,tolerance));
-end
-
+thickness=md.results.PrognosticSolution.Thickness;
+save ../Validation/Archive.mat thickness;
Index: /issm/trunk/src/ad/validation/Validation/validation.m
===================================================================
--- /issm/trunk/src/ad/validation/Validation/validation.m	(revision 10329)
+++ /issm/trunk/src/ad/validation/Validation/validation.m	(revision 10330)
@@ -4,5 +4,4 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.miscellaneous.name='validation';
-
 
 %launch solution directly: 
@@ -12,5 +11,5 @@
 
 s=load('Archive/archive.mat'); h0=s.Archive110_field1;
-h=PatchToVec(md.results.PrognosticSolution.Thickness);
+h=md.results.PrognosticSolution.Thickness;
 
 error_diff=full(max(abs(h-h0))/(max(abs(h0))+eps));
Index: /issm/trunk/src/ad/validation/Validation/validation.queue
===================================================================
--- /issm/trunk/src/ad/validation/Validation/validation.queue	(revision 10329)
+++ /issm/trunk/src/ad/validation/Validation/validation.queue	(revision 10330)
@@ -1,2 +1,2 @@
 #!/bin/sh
-mpiexec -np 3 $ISSM_TIER/bin/issm.exe PrognosticSolution ./  validation  > validation.outlog
+mpiexec -np 3 $ISSM_TIER/bin/issm.exe PrognosticSolution ./ validation > validation.outlog
