Index: /issm/trunk-jpl/test/NightlyRun/test3019.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3019.m	(revision 16195)
+++ /issm/trunk-jpl/test/NightlyRun/test3019.m	(revision 16196)
@@ -4,9 +4,6 @@
 md=parameterize(md,'../Par/SquareShelfConstrained.par');
 md=setflowequation(md,'SSA','all');
-md.cluster=generic('name',oshostname(),'np',3);
-%md.debug.valgrind=true;
-%md.verbose=verbose('11111111')
-md.toolkits.DefaultAnalysis=issmmumpssolver();
-%md.toolkits.DefaultAnalysis.solver_type='gsl';
+md.cluster=generic('name',oshostname(),'np',1);
+md.toolkits.DefaultAnalysis=issmgslsolver();
 
 md.autodiff.isautodiff=true;
@@ -23,6 +20,16 @@
 jac_reverse=md.results.TransientSolution(1).AutodiffJacobian;
 
+%now run vectorial forward mode
+md.autodiff.independents={independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',(1:md.mesh.numberofvertices)')};
+md.autodiff.dependents={dependent('name','MaxVel','type','scalar')};
+md.autodiff.driver='fov_forward';
+
+md=solve(md,TransientSolutionEnum());
+
+%recover jacobian: 
+jac_forward=md.results.TransientSolution(1).AutodiffJacobian;
+
 %Fields and tolerances to track changes
-field_names     ={'Jac Reverse'};
-field_tolerances={1e-8};
-field_values={jac_reverse};
+field_names     ={'Jac Forward','Jac Reverse','Jac Forward - Reverse'};
+field_tolerances={1e-8,1e-8,1e-6};
+field_values={jac_forward,jac_reverse,jac_forward-jac_reverse};
