Index: /issm/trunk/src/ad/validation/Makefile
===================================================================
--- /issm/trunk/src/ad/validation/Makefile	(revision 9819)
+++ /issm/trunk/src/ad/validation/Makefile	(revision 9819)
@@ -0,0 +1,2 @@
+clean: 
+	rm -rf *.outbin *.errlog *.outlog *.lock
Index: /issm/trunk/src/ad/validation/MatlabScript/update.m
===================================================================
--- /issm/trunk/src/ad/validation/MatlabScript/update.m	(revision 9819)
+++ /issm/trunk/src/ad/validation/MatlabScript/update.m	(revision 9819)
@@ -0,0 +1,25 @@
+tolerance=1e-13;
+
+md=setmesh(model,'Exp/Square.exp',150000);
+md=setmask(md,'all','');
+md=parameterize(md,'Par/SquareShelfConstrained.par');
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.autodiff.analysis=true;
+md.autodiff.forward=true;
+md.verbose=verbose('solution',true);
+
+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
+
Index: /issm/trunk/src/ad/validation/MatlabScript/validation.m
===================================================================
--- /issm/trunk/src/ad/validation/MatlabScript/validation.m	(revision 9818)
+++ /issm/trunk/src/ad/validation/MatlabScript/validation.m	(revision 9819)
@@ -1,21 +1,13 @@
 tolerance=1e-13;
 
-loadmodel=1;
+md=model;
+md.cluster=generic('name',oshostname(),'np',3);
+md.miscellaneous.name='validation';
 
-if loadmodel,
-	load Archive/model
-else
-	md=setmesh(model,'Exp/Square.exp',150000);
-	md=setmask(md,'all','');
-	md=parameterize(md,'Par/SquareShelfConstrained.par');
-	md=setflowequation(md,'macayeal','all');
-	md.cluster=generic('name',oshostname(),'np',3);
 
-	md.autodiff.analysis=true;
-	md.autodiff.forward=true;
-	md.verbose=verbose('solution',true);
-end
+%launch solution directly: 
+!source validation.queue
 
-md=solve(md,PrognosticSolutionEnum);
+md=loadresultsfromdisk(md,'validation.outbin');
 
 s=load('Archive/archive.mat'); h0=s.Archive110_field1;
Index: /issm/trunk/src/ad/validation/validation.petsc
===================================================================
--- /issm/trunk/src/ad/validation/validation.petsc	(revision 9819)
+++ /issm/trunk/src/ad/validation/validation.petsc	(revision 9819)
@@ -0,0 +1,17 @@
+%Petsc options file: validation.petsc written from Matlab solver array
+
++NoneAnalysis
+-mat_type mpiaij
+-ksp_type preonly
+-pc_type lu
+-pc_factor_mat_solver_package mumps
+-mat_mumps_icntl_14 120
+-pc_factor_shift_positive_definite true
+
++DiagnosticVertAnalysis
+-mat_type mpiaij
+-ksp_type preonly
+-pc_type lu
+-pc_factor_mat_solver_package mumps
+-mat_mumps_icntl_14 120
+-pc_factor_shift_positive_definite true
Index: /issm/trunk/src/ad/validation/validation.queue
===================================================================
--- /issm/trunk/src/ad/validation/validation.queue	(revision 9819)
+++ /issm/trunk/src/ad/validation/validation.queue	(revision 9819)
@@ -0,0 +1,2 @@
+#!/bin/sh
+mpiexec -np 3 $ISSM_TIER/bin/issm.exe PrognosticSolution ./  validation  > validation.outlog
