Index: /issm/oecreview/Archive/11229-11250/Date.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/Date.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/Date.tex	(revision 11514)
@@ -0,0 +1,1 @@
+Feb-23-2012
Index: /issm/oecreview/Archive/11229-11250/ISSM-11229-11230.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11229-11230.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11229-11230.diff	(revision 11514)
@@ -0,0 +1,62 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test102.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test102.m	(revision 11229)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test102.m	(revision 11230)
+@@ -1,16 +1,22 @@
+-md=triangle(model,'../Exp/Square.exp',150000);
++md=triangle(model,'../Exp/Square.exp',50000);
+ md=setmask(md,'all','');
+ md=parameterize(md,'../Par/SquareShelfConstrained.par');
+ md=setflowequation(md,'macayeal','all');
+ md.cluster=generic('name',oshostname(),'np',3);
++md.diagnostic.requested_outputs=StressTensorEnum;
+ md=solve(md,DiagnosticSolutionEnum);
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'Vx','Vy','Vel','Pressure'};
+-field_tolerances={1e-13,1e-13,1e-13,1e-13};
++field_names     ={'Vx','Vy','Vel','Pressure',...
++	'StressTensorxx','StressTensoryy','StressTensorxy'};
++field_tolerances={1e-13,1e-13,1e-13,1e-13,...
++	1e-13,1e-13,1e-13};
+ field_values={...
+ 	(md.results.DiagnosticSolution.Vx),...
+ 	(md.results.DiagnosticSolution.Vy),...
+ 	(md.results.DiagnosticSolution.Vel),...
+ 	(md.results.DiagnosticSolution.Pressure),...
++	(md.results.DiagnosticSolution.StressTensorxx),...
++	(md.results.DiagnosticSolution.StressTensoryy),...
++	(md.results.DiagnosticSolution.StressTensorxy),...
+ 	};
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m	(revision 11229)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m	(revision 11230)
+@@ -4,15 +4,25 @@
+ md=extrude(md,3,2);
+ md=setflowequation(md,'pattyn','all');
+ md.cluster=generic('name',oshostname(),'np',3);
++md.diagnostic.requested_outputs=StressTensorEnum;
++md.debug.valgrind=1;
+ md=solve(md,DiagnosticSolutionEnum);
+ 
+ %Fields and tolerances to track changes
+-field_names     ={'Vx','Vy','Vz','Vel','Pressure'};
+-field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09};
++field_names     ={'Vx','Vy','Vz','Vel','Pressure',...
++	'StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz'};
++field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,...
++	1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
+ field_values={...
+ 	(md.results.DiagnosticSolution.Vx),...
+ 	(md.results.DiagnosticSolution.Vy),...
+ 	(md.results.DiagnosticSolution.Vz),...
+ 	(md.results.DiagnosticSolution.Vel),...
+ 	(md.results.DiagnosticSolution.Pressure),...
++	(md.results.DiagnosticSolution.StressTensorxx),...
++	(md.results.DiagnosticSolution.StressTensoryy),...
++	(md.results.DiagnosticSolution.StressTensorzz),...
++	(md.results.DiagnosticSolution.StressTensorxy),...
++	(md.results.DiagnosticSolution.StressTensorxz),...
++	(md.results.DiagnosticSolution.StressTensoryz),...
+ 	};
Index: /issm/oecreview/Archive/11229-11250/ISSM-11230-11231.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11230-11231.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11230-11231.diff	(revision 11514)
@@ -0,0 +1,20 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m	(revision 11230)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test106.m	(revision 11231)
+@@ -5,7 +5,6 @@
+ md=setflowequation(md,'pattyn','all');
+ md.cluster=generic('name',oshostname(),'np',3);
+ md.diagnostic.requested_outputs=StressTensorEnum;
+-md.debug.valgrind=1;
+ md=solve(md,DiagnosticSolutionEnum);
+ 
+ %Fields and tolerances to track changes
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive102.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive106.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/11229-11250/ISSM-11232-11233.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11232-11233.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11232-11233.diff	(revision 11514)
@@ -0,0 +1,14 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11232)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11233)
+@@ -493,9 +493,6 @@
+ 	double		sigma_yz[NUMVERTICES];
+ 	GaussPenta* gauss=NULL;
+ 
+-	/*retrive parameters: */
+-	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+-
+ 	/* Get node coordinates and dof list: */
+ 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
+ 
Index: /issm/oecreview/Archive/11229-11250/ISSM-11233-11234.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11233-11234.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11233-11234.diff	(revision 11514)
@@ -0,0 +1,71 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/processmesh.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/processmesh.m	(revision 11233)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/processmesh.m	(revision 11234)
+@@ -7,8 +7,11 @@
+ %   See also: PLOTMODEL, PROCESSDATA
+ 
+ %some checks
++if md.mesh.numberofvertices==0,
++	error('plot error message: mesh is empty')
++end
+ if md.mesh.numberofvertices==md.mesh.numberofelements
+-	error('plot error message: the number of elements is the same as the number of nodes! cannot plot anything with model/plot, use matlab/plot instead')
++	error(['plot error message: the number of elements is the same as the number of nodes...']);
+ end
+ 
+ if (isempty(data) | ~isstruct(data)),
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/setmask.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/setmask.m	(revision 11233)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/setmask.m	(revision 11234)
+@@ -1,5 +1,5 @@
+ function md=setmask(md,floatingicename,groundedicename)
+-%GEOGRAPHY - establish boundaries between grounded and floating ice.
++%SETMASK - establish boundaries between grounded and floating ice.
+ %
+ %   By default, ice is considered grounded. The contour floatingicename defines nodes 
+ %   for which ice is floating. The contour groundedicename defines nodes inside an floatingice, 
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m	(revision 11233)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m	(revision 11234)
+@@ -35,15 +35,12 @@
+ 	me2=struct('message',me.message,'stack',me.stack);
+ 
+ 	%rename parameter file
++	me2.message=regexprep(me2.message,[temporaryname '.m'],parametername);
+ 	for i=1:length(me2.stack)-1,
+-		if (strncmp(fliplr(me2.stack(i).file),fliplr([temporaryname '.m']),length(temporaryname)+2))
+-			me2.stack(i).file=parametername;
+-		end
+-		if strcmp(me2.stack(i).name,temporaryname),
+-			me2.stack(i).name=parametername;
+-		end
+-		if strcmp(me2.stack(i).name,temporaryname),
+-			%remove parameterize.m error "TemporaryParameterFile" misleading
++		me2.stack(i).file=regexprep(me2.stack(i).file,[temporaryname '.m'],parametername);
++		me2.stack(i).name=regexprep(me2.stack(i).name,[temporaryname '.m'],parametername);
++		if strcmp(me2.stack(i).name,'parameterize'),
++			%remove error (eval(temporaryname);) misleading
+ 			me2.stack(i)=[];
+ 		end
+ 	end
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/extrude.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/extrude.m	(revision 11233)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/extrude.m	(revision 11234)
+@@ -58,9 +58,11 @@
+ end
+ 
+ if numlayers<2,
+-	disp('number of layers should be at least 2. returning initial model...');
+-	return
++	error('number of layers should be at least 2');
+ end
++if md.mesh.dimension==3,
++	error('Cannot extrude a 3d mesh (extrude cannot be called more than once)');
++end
+ 
+ %Initialize with the 2d mesh
+ x3d=[]; 
Index: /issm/oecreview/Archive/11229-11250/ISSM-11234-11235.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11234-11235.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11234-11235.diff	(revision 11514)
@@ -0,0 +1,13 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m	(revision 11234)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/parameterization/parameterize.m	(revision 11235)
+@@ -38,7 +38,7 @@
+ 	me2.message=regexprep(me2.message,[temporaryname '.m'],parametername);
+ 	for i=1:length(me2.stack)-1,
+ 		me2.stack(i).file=regexprep(me2.stack(i).file,[temporaryname '.m'],parametername);
+-		me2.stack(i).name=regexprep(me2.stack(i).name,[temporaryname '.m'],parametername);
++		me2.stack(i).name=regexprep(me2.stack(i).name,[temporaryname],parametername);
+ 		if strcmp(me2.stack(i).name,'parameterize'),
+ 			%remove error (eval(temporaryname);) misleading
+ 			me2.stack(i)=[];
Index: /issm/oecreview/Archive/11229-11250/ISSM-11235-11236.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11235-11236.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11235-11236.diff	(revision 11514)
@@ -0,0 +1,238 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS	(revision 11236)
+@@ -1,15 +1,15 @@
+ Ice Sheet System Model is a JPL/UCI collaboration to develop a massively-parallelized
+ multi-purpose finite element framework dedicated to ice sheet modeling
+ 
+-Team manager: 
++Project Scientist: 
+    Eric Rignot <eric.rignot@jpl.nasa.gov>
+ 
+-Development manager: 
++Project Manager: 
+    Eric Larour <eric.larour@jpl.nasa.gov>
+ 
+ Current core developers:
+    * Eric Larour <eric.larour@jpl.nasa.gov>
+-	* Helene Seroussi <helene.seroussi@jpl.nasa.gov>
++   * Helene Seroussi <helene.seroussi@jpl.nasa.gov>
+    * Mathieu Morlighem <mathieu.morlighem@jpl.nasa.gov>
+ 
+ Contributors:
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp	(revision 11236)
+@@ -179,8 +179,6 @@
+ 	bool   results_as_patches;
+ 	int    numberofvertices,numberofelements;
+ 	int    numberofresults,vectorsize;
+-	int    rank;
+-	int    minrank;
+ 
+ 	/*Recover parameters: */
+ 	parameters->FindParam(&io_gather,SettingsIoGatherEnum);
+@@ -191,31 +189,25 @@
+ 	if(!results_as_patches){
+ 		/*No patch here, we prepare vectors*/
+ 
+-		/*Get rank of first cpu that has results*/
+-		if(this->Size()) rank=my_rank;
+-		else rank=num_procs;
+-		MPI_Allreduce (&rank,&minrank,1,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
+-
+ 		/*see what the first element of this partition has in stock (this is common to all partitions)*/
+-		if(my_rank==minrank){
+-			if(this->Size()==0) _error_("Cannot write results because there is no element??");
++		if(my_rank==0){
++			if(this->Size()==0) _error_("Cannot write results because first partition has no element. Maybe too many cpus were requested");
+ 			Element* element=(Element*)this->GetObjectByOffset(0);
+ 			element->ListResultsInfo(&resultsenums,&resultssizes,&resultstimes,&resultssteps,&numberofresults);
+ 		}
+-		MPI_Bcast(&numberofresults,1,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
+-
++		MPI_Bcast(&numberofresults,1,MPI_DOUBLE,0,MPI_COMM_WORLD);
+ 		/*Get out if there is no results. Otherwise broadcast info*/
+ 		if(!numberofresults) return;
+-		if(my_rank!=minrank){
++		if(my_rank!=0){
+ 			resultsenums=(int*)xmalloc(numberofresults*sizeof(int));
+ 			resultssizes=(int*)xmalloc(numberofresults*sizeof(int));
+ 			resultstimes=(double*)xmalloc(numberofresults*sizeof(double));
+ 			resultssteps=(int*)xmalloc(numberofresults*sizeof(int));
+ 		}
+-		MPI_Bcast(resultsenums,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
+-		MPI_Bcast(resultssizes,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
+-		MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
+-		MPI_Bcast(resultssteps,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
++		MPI_Bcast(resultsenums,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
++		MPI_Bcast(resultssizes,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
++		MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,0,MPI_COMM_WORLD);
++		MPI_Bcast(resultssteps,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
+ 
+ 		/*Loop over all results and get nodal vector*/
+ 		for(int i=0;i<numberofresults;i++){
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp	(revision 11236)
+@@ -17,7 +17,10 @@
+ 
+ /* This timer is faster and more robust (if it exists). */
+     struct rusage rusage;
+-    int getrusage();
++    /*int getrusage(); commenting this out. not sure why it's there anymore
++	 *as it clobbers the prototype int getrusag(int target,rusage* results) which 
++	 *is defined in the <sys/time.h> and <sys/resource.h> header files. Leaving it 
++	 *for reference in case we have a problem here in the future*/
+  
+     getrusage(RUSAGE_SELF, &rusage);
+     curtime = ((rusage.ru_utime.tv_sec + rusage.ru_stime.tv_sec) +
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11236)
+@@ -70,7 +70,7 @@
+ 	printf("   y: %g\n",y);
+ 	printf("   z: %g\n",z);
+ 	printf("   sigma: %g\n",sigma);
+-	printf("   connectivity: %i\n",connectivity);
++	printf("   connectivity: %g\n",connectivity);
+ 	printf("   dof: %i\n",dof);
+ 	printf("   clone: %i\n",clone);
+ 
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox	(revision 11236)
+@@ -45,38 +45,42 @@
+ <th  bgcolor=#7AA9DD style="text-align:left;">Language</th><th  bgcolor=#7AA9DD style="text-align:right;">files</th><th  bgcolor=#7AA9DD style="text-align:right;">blank</th><th  bgcolor=#7AA9DD style="text-align:right;">comment</th><th  bgcolor=#7AA9DD style="text-align:right;">code</th><th  bgcolor=#7AA9DD style="text-align:right;">Total</th>
+ </th>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">531</td><td  bgcolor=#FFFFFF style="text-align:right;">15433</td><td  bgcolor=#FFFFFF style="text-align:right;">17169</td><td  bgcolor=#FFFFFF style="text-align:right;">57344</td><td  bgcolor=#FFFFFF style="text-align:right;">89946</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">533</td><td  bgcolor=#FFFFFF style="text-align:right;">15543</td><td  bgcolor=#FFFFFF style="text-align:right;">17244</td><td  bgcolor=#FFFFFF style="text-align:right;">57848</td><td  bgcolor=#FFFFFF style="text-align:right;">90635</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">970</td><td  bgcolor=#C6E2FF style="text-align:right;">7248</td><td  bgcolor=#C6E2FF style="text-align:right;">13716</td><td  bgcolor=#C6E2FF style="text-align:right;">31608</td><td  bgcolor=#C6E2FF style="text-align:right;">52572</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">970</td><td  bgcolor=#C6E2FF style="text-align:right;">7187</td><td  bgcolor=#C6E2FF style="text-align:right;">13630</td><td  bgcolor=#C6E2FF style="text-align:right;">31601</td><td  bgcolor=#C6E2FF style="text-align:right;">52418</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">397</td><td  bgcolor=#FFFFFF style="text-align:right;">3047</td><td  bgcolor=#FFFFFF style="text-align:right;">2706</td><td  bgcolor=#FFFFFF style="text-align:right;">10262</td><td  bgcolor=#FFFFFF style="text-align:right;">16015</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">399</td><td  bgcolor=#FFFFFF style="text-align:right;">3064</td><td  bgcolor=#FFFFFF style="text-align:right;">2726</td><td  bgcolor=#FFFFFF style="text-align:right;">10343</td><td  bgcolor=#FFFFFF style="text-align:right;">16133</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> Objective  C </th><td  bgcolor=#C6E2FF style="text-align:right;">32</td><td  bgcolor=#C6E2FF style="text-align:right;">99</td><td  bgcolor=#C6E2FF style="text-align:right;">0</td><td  bgcolor=#C6E2FF style="text-align:right;">402</td><td  bgcolor=#C6E2FF style="text-align:right;">501</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> m4 </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">238</td><td  bgcolor=#C6E2FF style="text-align:right;">163</td><td  bgcolor=#C6E2FF style="text-align:right;">1871</td><td  bgcolor=#C6E2FF style="text-align:right;">2272</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#FFFFFF style="text-align:right;">9</td><td  bgcolor=#FFFFFF style="text-align:right;">59</td><td  bgcolor=#FFFFFF style="text-align:right;">98</td><td  bgcolor=#FFFFFF style="text-align:right;">272</td><td  bgcolor=#FFFFFF style="text-align:right;">429</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> Objective  C </th><td  bgcolor=#FFFFFF style="text-align:right;">9</td><td  bgcolor=#FFFFFF style="text-align:right;">98</td><td  bgcolor=#FFFFFF style="text-align:right;">0</td><td  bgcolor=#FFFFFF style="text-align:right;">370</td><td  bgcolor=#FFFFFF style="text-align:right;">468</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> Perl </th><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">21</td><td  bgcolor=#C6E2FF style="text-align:right;">23</td><td  bgcolor=#C6E2FF style="text-align:right;">240</td><td  bgcolor=#C6E2FF style="text-align:right;">284</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#C6E2FF style="text-align:right;">8</td><td  bgcolor=#C6E2FF style="text-align:right;">59</td><td  bgcolor=#C6E2FF style="text-align:right;">98</td><td  bgcolor=#C6E2FF style="text-align:right;">262</td><td  bgcolor=#C6E2FF style="text-align:right;">419</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> IDL </th><td  bgcolor=#FFFFFF style="text-align:right;">1</td><td  bgcolor=#FFFFFF style="text-align:right;">18</td><td  bgcolor=#FFFFFF style="text-align:right;">4</td><td  bgcolor=#FFFFFF style="text-align:right;">124</td><td  bgcolor=#FFFFFF style="text-align:right;">146</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> Perl </th><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">21</td><td  bgcolor=#FFFFFF style="text-align:right;">23</td><td  bgcolor=#FFFFFF style="text-align:right;">240</td><td  bgcolor=#FFFFFF style="text-align:right;">284</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> C </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">24</td><td  bgcolor=#C6E2FF style="text-align:right;">30</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> IDL </th><td  bgcolor=#C6E2FF style="text-align:right;">1</td><td  bgcolor=#C6E2FF style="text-align:right;">18</td><td  bgcolor=#C6E2FF style="text-align:right;">4</td><td  bgcolor=#C6E2FF style="text-align:right;">124</td><td  bgcolor=#C6E2FF style="text-align:right;">146</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> Python </th><td  bgcolor=#FFFFFF style="text-align:right;">2</td><td  bgcolor=#FFFFFF style="text-align:right;">1</td><td  bgcolor=#FFFFFF style="text-align:right;">4</td><td  bgcolor=#FFFFFF style="text-align:right;">13</td><td  bgcolor=#FFFFFF style="text-align:right;">18</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> C </th><td  bgcolor=#FFFFFF style="text-align:right;">2</td><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">24</td><td  bgcolor=#FFFFFF style="text-align:right;">30</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> SUM: </th><td  bgcolor=#C6E2FF style="text-align:right;">1947</td><td  bgcolor=#C6E2FF style="text-align:right;">25929</td><td  bgcolor=#C6E2FF style="text-align:right;">33723</td><td  bgcolor=#C6E2FF style="text-align:right;">100289</td><td  bgcolor=#C6E2FF style="text-align:right;">159941</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> Python </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">1</td><td  bgcolor=#C6E2FF style="text-align:right;">4</td><td  bgcolor=#C6E2FF style="text-align:right;">13</td><td  bgcolor=#C6E2FF style="text-align:right;">18</td>
+ </tr>
++<tr>
++<th  bgcolor=#FFFFFF style="text-align:left;"> SUM: </th><td  bgcolor=#FFFFFF style="text-align:right;">1929</td><td  bgcolor=#FFFFFF style="text-align:right;">26232</td><td  bgcolor=#FFFFFF style="text-align:right;">33895</td><td  bgcolor=#FFFFFF style="text-align:right;">102696</td><td  bgcolor=#FFFFFF style="text-align:right;">162823</td>
++</tr>
+ </table>
+ 
+ 
+ 
++
+ 	<I> Copyright (C) 2011 </I>
+   */
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m	(revision 11236)
+@@ -31,6 +31,9 @@
+ 
+ 			%does the region domain outline exist or do we have to look for xlim,ylim in basinzoom?
+ 			if ~exist(region,'file'),
++				if (length(region)>3 & ~strcmp(region(end-3),'.exp')),
++					error(['Error: File ' region ' not found!']);
++				end
+ 				[xlim,ylim]=basinzoom('basin',region);
+ 				flag_nodes=double(md.mesh.x<xlim(2) & md.mesh.x>xlim(1) &  md.mesh.y<ylim(2) & md.mesh.y>ylim(1));
+ 				flag=prod(flag_nodes(md.mesh.elements),2);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m	(revision 11236)
+@@ -107,7 +107,7 @@
+ 			fielddisplay(obj,'iscontrol','is inversion activated?');
+ 			fielddisplay(obj,'control_parameters','parameter where inverse control is carried out; ex: {''FrictionCoefficient''}, or {''MaterialsRheologyBbar''}');
+ 			fielddisplay(obj,'nsteps','number of optimization searches');
+-			fielddisplay(obj,'cost_functions','indicate the type of response for each optimization step');
++			fielddisplay(obj,'cost_functions','indicate the type of response for each optimization steps');
+ 			fielddisplay(obj,'cost_functions_coefficients','cost_functions_coefficients applied to the misfit of each vertex and for each control_parameter');
+ 			fielddisplay(obj,'cost_function_threshold','misfit convergence criterion. Default is 1%, NaN if not applied');
+ 			fielddisplay(obj,'maxiter_per_step','maximum iterations during each optimization step');
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m	(revision 11236)
+@@ -8,8 +8,8 @@
+ disp(sprintf('%s','	   go to ',ISSM_TIER,'/examples/SquareIceshelf'));
+ disp(sprintf('%s','	   md=model;                                %creates a new empty model structure'));
+ disp(sprintf('%s','	   md=triangle(md,''DomainOutline.exp'',50000);   %creates a mesh of the domain outline with a resolution of 50000m'));
+-disp(sprintf('%s','	   md=setmask(md,''all'','''');               %defines the glacier system as an ice shelf (no island)'));
++disp(sprintf('%s','	   md=geography(md,''all'','''');               %defines the glacier system as an ice shelf (no island)'));
+ disp(sprintf('%s','	   md=parameterize(md,''Square.par'');        %fills all the other fields of the model'));
+-disp(sprintf('%s','	   md=setflowequation(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
+-disp(sprintf('%s','	   md=solve(md,DiagnosticSolutionEnum);   %generate the velocity field of the ice shelf'));
+-disp(sprintf('%s','	   plotmodel(md,''data'',md.results.DiagnosticSolucion.Vel);              %displays the velocity (type plotdoc for plotmodel help)'));
++disp(sprintf('%s','	   md=setelementstype(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
++disp(sprintf('%s','	   md=solve(md,DiagnosticSolutionEnum);   %generate the velocity field'));
++disp(sprintf('%s','	   plotmodel(md,''data'',md.results.DiagnosticSolution.Vel);    %displays the velocity (type plotdoc for plotmodel help)'));
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS	(revision 11236)
+@@ -1,3 +1,4 @@
++
+ please go to the ISSM website for the latest news:
+ 
+ http://issm.jpl.nasa.gov/
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par	(revision 11235)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par	(revision 11236)
+@@ -10,9 +10,9 @@
+ md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+ 
+ disp('      creating drag');
+-pos=find(md.mask.elementonfloatingice);
+-md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1.
+-md.friction.coefficient(md.mesh.elements(pos,:))=0;
++pos=find(md.mask.vertexonfloatingice);
++md.friction.coefficient=200*ones(md.mesh.numberofvertices,1);
++md.friction.coefficient(pos)=0;
+ md.friction.p=ones(md.mesh.numberofelements,1);
+ md.friction.q=ones(md.mesh.numberofelements,1);
+ 
+
+Property changes on: /proj/ice/larour/issm-uci-clean/trunk-jpl
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Merged /issm/trunk:r11027-11232
+
Index: /issm/oecreview/Archive/11229-11250/ISSM-11237-11238.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11237-11238.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11237-11238.diff	(revision 11514)
@@ -0,0 +1,6 @@
+
+Property changes on: /proj/ice/larour/issm-uci-clean/trunk-jpl
+___________________________________________________________________
+Modified: svn:mergeinfo
+   Merged /issm/trunk:r11236
+
Index: /issm/oecreview/Archive/11229-11250/ISSM-11240-11241.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11240-11241.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11240-11241.diff	(revision 11514)
@@ -0,0 +1,104 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/doxygen/install.sh
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/doxygen/install.sh	(revision 11240)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/doxygen/install.sh	(revision 11241)
+@@ -1,24 +1,13 @@
+ #!/bin/bash
+ 
+-#wget http://ftp.stack.nl/pub/users/dimitri/doxygen-1.7.4.src.tar.gz
+-
+ #Some cleanup
+-rm -rf src
+ rm -rf install
+-rm -rf doxygen-1.7.4
+ 
+-#Create src and install directories
+-mkdir src install
++#Download latest version
++svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk install
+ 
+-#Untar 
+-tar -zxvf  doxygen-1.7.4.src.tar.gz
+-
+-#Move doxygen into src directory
+-mv doxygen-1.7.4/* src
+-rm -rf doxygen-1.7.4
+-
+ #Configure doxygen
+-cd src && ./configure --prefix "$ISSM_TIER/externalpackages/doxygen/install"
++cd install && ./configure --prefix "$ISSM_TIER/externalpackages/doxygen/install"
+ if [ -z $1 ]; then
+ 	make
+ else
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox	(revision 11240)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox	(revision 11241)
+@@ -45,22 +45,22 @@
+ <th  bgcolor=#7AA9DD style="text-align:left;">Language</th><th  bgcolor=#7AA9DD style="text-align:right;">files</th><th  bgcolor=#7AA9DD style="text-align:right;">blank</th><th  bgcolor=#7AA9DD style="text-align:right;">comment</th><th  bgcolor=#7AA9DD style="text-align:right;">code</th><th  bgcolor=#7AA9DD style="text-align:right;">Total</th>
+ </th>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">533</td><td  bgcolor=#FFFFFF style="text-align:right;">15543</td><td  bgcolor=#FFFFFF style="text-align:right;">17244</td><td  bgcolor=#FFFFFF style="text-align:right;">57848</td><td  bgcolor=#FFFFFF style="text-align:right;">90635</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">533</td><td  bgcolor=#FFFFFF style="text-align:right;">15491</td><td  bgcolor=#FFFFFF style="text-align:right;">17275</td><td  bgcolor=#FFFFFF style="text-align:right;">58005</td><td  bgcolor=#FFFFFF style="text-align:right;">90771</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">970</td><td  bgcolor=#C6E2FF style="text-align:right;">7187</td><td  bgcolor=#C6E2FF style="text-align:right;">13630</td><td  bgcolor=#C6E2FF style="text-align:right;">31601</td><td  bgcolor=#C6E2FF style="text-align:right;">52418</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">977</td><td  bgcolor=#C6E2FF style="text-align:right;">7199</td><td  bgcolor=#C6E2FF style="text-align:right;">13702</td><td  bgcolor=#C6E2FF style="text-align:right;">31690</td><td  bgcolor=#C6E2FF style="text-align:right;">52591</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">399</td><td  bgcolor=#FFFFFF style="text-align:right;">3064</td><td  bgcolor=#FFFFFF style="text-align:right;">2726</td><td  bgcolor=#FFFFFF style="text-align:right;">10343</td><td  bgcolor=#FFFFFF style="text-align:right;">16133</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">399</td><td  bgcolor=#FFFFFF style="text-align:right;">3069</td><td  bgcolor=#FFFFFF style="text-align:right;">2727</td><td  bgcolor=#FFFFFF style="text-align:right;">10358</td><td  bgcolor=#FFFFFF style="text-align:right;">16154</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> m4 </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">238</td><td  bgcolor=#C6E2FF style="text-align:right;">163</td><td  bgcolor=#C6E2FF style="text-align:right;">1871</td><td  bgcolor=#C6E2FF style="text-align:right;">2272</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> m4 </th><td  bgcolor=#C6E2FF style="text-align:right;">7</td><td  bgcolor=#C6E2FF style="text-align:right;">1061</td><td  bgcolor=#C6E2FF style="text-align:right;">242</td><td  bgcolor=#C6E2FF style="text-align:right;">8941</td><td  bgcolor=#C6E2FF style="text-align:right;">10244</td>
+ </tr>
+ <tr>
+ <th  bgcolor=#FFFFFF style="text-align:left;"> Objective  C </th><td  bgcolor=#FFFFFF style="text-align:right;">9</td><td  bgcolor=#FFFFFF style="text-align:right;">98</td><td  bgcolor=#FFFFFF style="text-align:right;">0</td><td  bgcolor=#FFFFFF style="text-align:right;">370</td><td  bgcolor=#FFFFFF style="text-align:right;">468</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#C6E2FF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#C6E2FF style="text-align:right;">8</td><td  bgcolor=#C6E2FF style="text-align:right;">59</td><td  bgcolor=#C6E2FF style="text-align:right;">98</td><td  bgcolor=#C6E2FF style="text-align:right;">262</td><td  bgcolor=#C6E2FF style="text-align:right;">419</td>
++<th  bgcolor=#C6E2FF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#C6E2FF style="text-align:right;">8</td><td  bgcolor=#C6E2FF style="text-align:right;">61</td><td  bgcolor=#C6E2FF style="text-align:right;">98</td><td  bgcolor=#C6E2FF style="text-align:right;">271</td><td  bgcolor=#C6E2FF style="text-align:right;">430</td>
+ </tr>
+ <tr>
+ <th  bgcolor=#FFFFFF style="text-align:left;"> Perl </th><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">21</td><td  bgcolor=#FFFFFF style="text-align:right;">23</td><td  bgcolor=#FFFFFF style="text-align:right;">240</td><td  bgcolor=#FFFFFF style="text-align:right;">284</td>
+@@ -75,12 +75,9 @@
+ <th  bgcolor=#C6E2FF style="text-align:left;"> Python </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">1</td><td  bgcolor=#C6E2FF style="text-align:right;">4</td><td  bgcolor=#C6E2FF style="text-align:right;">13</td><td  bgcolor=#C6E2FF style="text-align:right;">18</td>
+ </tr>
+ <tr>
+-<th  bgcolor=#FFFFFF style="text-align:left;"> SUM: </th><td  bgcolor=#FFFFFF style="text-align:right;">1929</td><td  bgcolor=#FFFFFF style="text-align:right;">26232</td><td  bgcolor=#FFFFFF style="text-align:right;">33895</td><td  bgcolor=#FFFFFF style="text-align:right;">102696</td><td  bgcolor=#FFFFFF style="text-align:right;">162823</td>
++<th  bgcolor=#FFFFFF style="text-align:left;"> SUM: </th><td  bgcolor=#FFFFFF style="text-align:right;">1941</td><td  bgcolor=#FFFFFF style="text-align:right;">27022</td><td  bgcolor=#FFFFFF style="text-align:right;">34078</td><td  bgcolor=#FFFFFF style="text-align:right;">110036</td><td  bgcolor=#FFFFFF style="text-align:right;">171136</td>
+ </tr>
+ </table>
+ 
+-
+-
+-
+-	<I> Copyright (C) 2011 </I>
++	<I> Copyright (C) 2012 </I>
+   */
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/getloc.sh
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/getloc.sh	(revision 11240)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/getloc.sh	(revision 11241)
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+ #get number of lines of code
+-cloc-1.55.pl $ISSM_TIER/src --exclude-dir=.svn --exclude-ext=exp --exclude-lang=make --out=temp
++cloc-1.55.pl $ISSM_TIER/src $ISSM_TIER/m4 --exclude-dir=.svn --exclude-ext=exp --exclude-lang=make --out=temp
+ cat temp
+ ./cloc2html.py
+ rm temp
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/cloc2html.py
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/cloc2html.py	(revision 11240)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/scripts/cloc2html.py	(revision 11241)
+@@ -78,7 +78,7 @@
+ 	outfile.write(mystr)
+ 
+ #write header
+-outfile.write('</table>\n\n')
++outfile.write('</table>\n')
+ 
+ #close all files
+ infile.close()
Index: /issm/oecreview/Archive/11229-11250/ISSM-11241-11242.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11241-11242.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11241-11242.diff	(revision 11514)
@@ -0,0 +1,94 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 11241)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 11242)
+@@ -11,23 +11,32 @@
+ 
+ int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters){
+ 
+-	int i;
+-	Vertex* vertex=NULL;
+-	double* thickness=NULL;
+-	double* bed=NULL;
++	int     i;
++	Vec     vz        = NULL;
++	Vertex *vertex    = NULL;
++	double *thickness = NULL;
++	double *bed       = NULL;
+ 
+ 	/*get vertex vectors for bed and thickness: */
+-	GetVectorFromInputsx( &thickness,elements,nodes, vertices, loads, materials, parameters, ThicknessEnum,VertexEnum);
+-	GetVectorFromInputsx( &bed      ,elements,nodes, vertices, loads, materials, parameters, BedEnum,      VertexEnum);
++	GetVectorFromInputsx(&thickness,elements,nodes, vertices, loads, materials, parameters, ThicknessEnum,VertexEnum);
++	GetVectorFromInputsx(&bed      ,elements,nodes, vertices, loads, materials, parameters, BedEnum,      VertexEnum);
+ 
++	/*Allocate vector*/
++	vz=NewVec(vertices->NumberOfVertices());
++
+ 	/*Update verices new geometry: */
+ 	for (i=0;i<vertices->Size();i++){
+ 		vertex=(Vertex*)vertices->GetObjectByOffset(i);
+-		vertex->UpdatePosition(thickness,bed);
++		vertex->UpdatePosition(vz,parameters,thickness,bed);
+ 	}
+ 
++	/*Assemble mesh velocity*/
++	VecAssemblyBegin(vz);
++	VecAssemblyEnd(vz);
++
+ 	/*Free ressources:*/
+ 	xfree((void**)&thickness);
+ 	xfree((void**)&bed);
++	VecFree(&vz);
+ 	return 1;
+ }
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11241)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11242)
+@@ -70,7 +70,7 @@
+ 	printf("   y: %g\n",y);
+ 	printf("   z: %g\n",z);
+ 	printf("   sigma: %g\n",sigma);
+-	printf("   connectivity: %g\n",connectivity);
++	printf("   connectivity: %i\n",connectivity);
+ 	printf("   dof: %i\n",dof);
+ 	printf("   clone: %i\n",clone);
+ 
+@@ -272,10 +272,21 @@
+ int    Vertex::Sid(void){ return sid; }
+ /*}}}*/
+ /*FUNCTION Vertex::UpdateVertexPosition {{{1*/
+-void  Vertex::UpdatePosition(double* thickness,double* bed){
++void  Vertex::UpdatePosition(Vec vz,Parameters* parameters,double* thickness,double* bed){
+ 
++	double oldz,newz;
++	double dt,velz;
++
++	/*Get time stepping*/
++	parameters->FindParam(&dt,TimesteppingTimeStepEnum);
++
+ 	/*sigma remains constant. z=bed+sigma*thickness*/
+-	this->z=bed[this->dof]+sigma*thickness[this->dof];
++	oldz = this->z;
++	newz = bed[this->dof]+sigma*thickness[this->dof];
++	velz = (newz-oldz)/dt;
++	this->z = newz;
+ 
++	/*put vz in vector*/
++	VecSetValue(vz,this->Sid(),velz,INSERT_VALUES);
+ }
+ /*}}}*/
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.h	(revision 11241)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.h	(revision 11242)
+@@ -62,7 +62,7 @@
+ 		/*Vertex management: {{{1*/
+ 		int   Sid(void); 
+ 		int   Connectivity(void); 
+-		void  UpdatePosition(double* thickness,double* bed);
++		void  UpdatePosition(Vec vz,Parameters* parameters,double* thickness,double* bed);
+ 		/*}}}*/
+ };
+ #endif  /* _VERTEX_H */
Index: /issm/oecreview/Archive/11229-11250/ISSM-11242-11243.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11242-11243.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11242-11243.diff	(revision 11514)
@@ -0,0 +1,13 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m	(revision 11242)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m	(revision 11243)
+@@ -5,7 +5,7 @@
+ md=parameterize(md,'../Par/SquareShelf.par');
+ md=setflowequation(md,'macayeal','all');
+ md=extrude(md,3,1);
+-md.cluster=generic('name',oshostname(),'np',3);
++md.cluster=generic('name',oshostname(),'np',1);
+ md.transient.isthermal=0;
+ 
+ md.timestepping.time_step=1;
Index: /issm/oecreview/Archive/11229-11250/ISSM-11243-11244.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11243-11244.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11243-11244.diff	(revision 11514)
@@ -0,0 +1,26 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1108.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1108.m	(revision 11243)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1108.m	(revision 11244)
+@@ -75,7 +75,7 @@
+ 	1e-08,1e-08,1e-08,...
+ 	1e-08,1e-07,1e-08,...
+ 	1e-08,1e-08,1e-08,...
+-	1e-08,1e-08,1e-08,...
++	1e-08,1e-07,1e-07,...
+ 	1e-07,1e-06,1e-07,...
+ };
+ field_values={};
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1109.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1109.m	(revision 11243)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1109.m	(revision 11244)
+@@ -95,7 +95,7 @@
+ field_tolerances={...
+ 	1e-06,1e-05,1e-05,...
+ 	1e-06,1e-06,1e-06,...
+-	1e-06,1e-05,1e-05,...
++	1e-06,1e-05,1e-04,...
+ 	1e-06,1e-06,1e-06,...
+ };
+ field_values={};
Index: /issm/oecreview/Archive/11229-11250/ISSM-11244-11245.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11244-11245.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11244-11245.diff	(revision 11514)
@@ -0,0 +1,55 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp	(revision 11244)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp	(revision 11245)
+@@ -124,6 +124,7 @@
+ 		//save should be done by the analysis... see control_core
+ 		if(solution_type==TransientSolutionEnum && !control_analysis && (step%output_frequency==0 || time==finaltime)){
+ 			_printf_(VerboseSolution(),"   saving results\n");
++			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzMeshEnum,step,time);
+ 			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time);
+ 			InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time);
+ 			if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzEnum,step,time);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 11244)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp	(revision 11245)
+@@ -34,6 +34,9 @@
+ 	VecAssemblyBegin(vz);
+ 	VecAssemblyEnd(vz);
+ 
++	/*Update element inputs*/
++	InputUpdateFromVectorx(elements,nodes,vertices,loads,materials,parameters,vz,VzMeshEnum,VertexEnum);
++
+ 	/*Free ressources:*/
+ 	xfree((void**)&thickness);
+ 	xfree((void**)&bed);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11244)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11245)
+@@ -285,8 +285,9 @@
+ 	newz = bed[this->dof]+sigma*thickness[this->dof];
+ 	velz = (newz-oldz)/dt;
+ 	this->z = newz;
++	//velz = 0; //FOR NOW!!!
+ 
+ 	/*put vz in vector*/
+-	VecSetValue(vz,this->Sid(),velz,INSERT_VALUES);
++	VecSetValue(vz,this->dof,velz,INSERT_VALUES);
+ }
+ /*}}}*/
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11244)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11245)
+@@ -2042,6 +2042,9 @@
+ 				name==VxEnum ||
+ 				name==VyEnum ||
+ 				name==VzEnum ||
++				name==VxMeshEnum ||
++				name==VyMeshEnum ||
++				name==VzMeshEnum ||
+ 				name==InversionVxObsEnum ||
+ 				name==InversionVyObsEnum ||
+ 				name==InversionVzObsEnum ||
Index: /issm/oecreview/Archive/11229-11250/ISSM-11245-11246.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11245-11246.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11245-11246.diff	(revision 11514)
@@ -0,0 +1,12 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11245)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp	(revision 11246)
+@@ -285,7 +285,6 @@
+ 	newz = bed[this->dof]+sigma*thickness[this->dof];
+ 	velz = (newz-oldz)/dt;
+ 	this->z = newz;
+-	//velz = 0; //FOR NOW!!!
+ 
+ 	/*put vz in vector*/
+ 	VecSetValue(vz,this->dof,velz,INSERT_VALUES);
Index: /issm/oecreview/Archive/11229-11250/ISSM-11246-11247.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11246-11247.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11246-11247.diff	(revision 11514)
@@ -0,0 +1,43 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.cpp	(revision 11246)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.cpp	(revision 11247)
+@@ -268,6 +268,21 @@
+ 	/*Nothing updated yet*/
+ }
+ /*}}}*/
++/*FUNCTION Penpair::InputUpdateFromVector(double* vector, int name, int type) {{{1*/
++void  Penpair::InputUpdateFromVector(double* vector, int name, int type){
++	/*Nothing updated yet*/
++}
++/*}}}*/
++/*FUNCTION Penpair::InputUpdateFromVector(int* vector, int name, int type) {{{1*/
++void  Penpair::InputUpdateFromVector(int* vector, int name, int type){
++	/*Nothing updated yet*/
++}
++/*}}}*/
++/*FUNCTION Penpair::InputUpdateFromVector(bool* vector, int name, int type) {{{1*/
++void  Penpair::InputUpdateFromVector(bool* vector, int name, int type){
++	/*Nothing updated yet*/
++}
++/*}}}*/
+ 
+ /*Penpair management:*/
+ /*FUNCTION Penpair::PenaltyCreateKMatrixDiagnosticHoriz{{{1*/
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.h	(revision 11246)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Loads/Penpair.h	(revision 11247)
+@@ -45,9 +45,9 @@
+ 		Object* copy();
+ 		/*}}}*/
+ 		/*Update virtual functions resolution: {{{1*/
+-		void  InputUpdateFromVector(double* vector, int name, int type){_error_("Not implemented yet!");}
+-		void  InputUpdateFromVector(int* vector, int name, int type){_error_("Not implemented yet!");}
+-		void  InputUpdateFromVector(bool* vector, int name, int type){_error_("Not implemented yet!");}
++		void  InputUpdateFromVector(double* vector, int name, int type);
++		void  InputUpdateFromVector(int* vector, int name, int type);
++		void  InputUpdateFromVector(bool* vector, int name, int type);
+ 		void  InputUpdateFromMatrixDakota(double* matrix, int nrow, int ncols,int name, int type){_error_("Not implemented yet!");}
+ 		void  InputUpdateFromVectorDakota(double* vector, int name, int type){_error_("Not implemented yet!");}
+ 		void  InputUpdateFromVectorDakota(int* vector, int name, int type){_error_("Not implemented yet!");}
Index: /issm/oecreview/Archive/11229-11250/ISSM-11247-11248.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11247-11248.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11247-11248.diff	(revision 11514)
@@ -0,0 +1,136 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive512.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive247.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive333.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive217.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive453.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive418.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive222.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive265.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive513.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive329.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive248.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive330.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive334.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive253.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive218.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive454.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive266.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive347.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive509.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive510.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive514.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive121.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive249.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive250.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive451.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive254.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive219.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive220.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive348.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive511.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive122.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive452.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive417.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive221.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/11229-11250/ISSM-11248-11249.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11248-11249.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11248-11249.diff	(revision 11514)
@@ -0,0 +1,262 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_pressureload.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_pressureload.m	(revision 11248)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_pressureload.m	(revision 11249)
+@@ -1,106 +0,0 @@
+-function plot_pressureload(md,options,width,i,data);
+-%PLOT_PRESSURELOAD - plot segment on neumann BC
+-%
+-%   Usage:
+-%      plot_pressureload(md,options,width,i);
+-%
+-%   See also: PLOTMODEL
+-
+-%plot mesh boundaries
+-subplot(width,width,i); 
+-
+-%process mesh and data
+-[x y z elements is2d isplanet]=processmesh(md,[],options);
+-pressureload=md.diagnostic.icefront;
+-
+-if (md.mesh.dimension==2),
+-
+-	%plot mesh
+-	A=elements(:,1); B=elements(:,2); C=elements(:,3); 
+-	h1=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	hold on;
+-
+-	%highlight elements on neumann
+-	pos=find(pressureload(:,end)==1);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
+-	h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	pos=find(pressureload(:,end)==0);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
+-	h3=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-
+-	pos=find(pressureload(:,end)==2);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
+-	h3bis=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-
+-	%display arrows pointing outward
+-	xstart=mean(x(pressureload(:,1:end-2)),2);
+-	ystart=mean(y(pressureload(:,1:end-2)),2);
+-	length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 );
+-	normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
+-	normal(:,2)=sin(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
+-	xend=xstart+length.*normal(:,1);
+-	yend=ystart+length.*normal(:,2);
+-	q=quiver(xstart,ystart,xend-xstart,yend-ystart); hold on;
+-	h4=plot(xstart,ystart,'r*');
+-else
+-
+-	%plot mesh
+-	A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
+-	h1=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
+-	hold on;
+-
+-	%highlight elements on neumann
+-	pos=find(pressureload(:,end)==1);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
+-	h2=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
+-	pos=find(pressureload(:,end)==0);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
+-	h3=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
+-	pos=find(pressureload(:,end)==2);
+-	pos=pressureload(pos,end-1);
+-	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
+-	h3bis=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
+-
+-	%display arrows pointing outward
+-	xstart=mean(x(pressureload(:,1:end-2)),2);
+-	ystart=mean(y(pressureload(:,1:end-2)),2);
+-	zstart=mean(z(pressureload(:,1:end-2)),2);
+-	length=sqrt((x(pressureload(:,1))-x(pressureload(:,2))).^2 + (y(pressureload(:,1))-y(pressureload(:,2))).^2 );
+-	normal(:,1)=cos(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
+-	normal(:,2)=sin(atan2((x(pressureload(:,1))-x(pressureload(:,2))) , (y(pressureload(:,2))-y(pressureload(:,1)))));
+-	xend=xstart+length.*normal(:,1);
+-	yend=ystart+length.*normal(:,2);
+-	q=quiver3(xstart,ystart,zstart,xend-xstart,yend-ystart,zeros(numel(xstart),1)); hold on;
+-	h4=plot3(xstart,ystart,zstart,'r*');
+-end
+-
+-%legend (disable warnings)
+-warning off
+-legend([h2,h3,h3bis,q],'element on ice front (Water)','element on ice front (Air)','element on ice front (Ice)','normal vectors')
+-warning on
+-
+-%apply options
+-options=addfielddefault(options,'title','Neumann boundary conditions');
+-options=addfielddefault(options,'colorbar',0);
+-applyoptions(md,[],options);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_icefront.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_icefront.m	(revision 0)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_icefront.m	(revision 11249)
+@@ -0,0 +1,106 @@
++function plot_icefront(md,options,width,i,data);
++%PLOT_ICEFRONT - plot segment on neumann BC
++%
++%   Usage:
++%      plot_icefront(md,options,width,i);
++%
++%   See also: PLOTMODEL
++
++%plot mesh boundaries
++subplot(width,width,i); 
++
++%process mesh and data
++[x y z elements is2d isplanet]=processmesh(md,[],options);
++icefront=md.diagnostic.icefront;
++
++if (md.mesh.dimension==2),
++
++	%plot mesh
++	A=elements(:,1); B=elements(:,2); C=elements(:,3); 
++	h1=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	hold on;
++
++	%highlight elements on neumann
++	pos=find(icefront(:,end)==1);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
++	h2=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	pos=find(icefront(:,end)==0);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
++	h3=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++
++	pos=find(icefront(:,end)==2);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); 
++	h3bis=patch( 'Faces', [A B C], 'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++
++	%display arrows pointing outward
++	xstart=mean(x(icefront(:,1:end-2)),2);
++	ystart=mean(y(icefront(:,1:end-2)),2);
++	length=sqrt((x(icefront(:,1))-x(icefront(:,2))).^2 + (y(icefront(:,1))-y(icefront(:,2))).^2 );
++	normal(:,1)=cos(atan2((x(icefront(:,1))-x(icefront(:,2))) , (y(icefront(:,2))-y(icefront(:,1)))));
++	normal(:,2)=sin(atan2((x(icefront(:,1))-x(icefront(:,2))) , (y(icefront(:,2))-y(icefront(:,1)))));
++	xend=xstart+length.*normal(:,1);
++	yend=ystart+length.*normal(:,2);
++	q=quiver(xstart,ystart,xend-xstart,yend-ystart); hold on;
++	h4=plot(xstart,ystart,'r*');
++else
++
++	%plot mesh
++	A=elements(:,1); B=elements(:,2); C=elements(:,3); D=elements(:,4); E=elements(:,5); F=elements(:,6);
++	h1=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','none','EdgeColor','black');
++	hold on;
++
++	%highlight elements on neumann
++	pos=find(icefront(:,end)==1);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
++	h2=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','blue','EdgeColor','black');
++	pos=find(icefront(:,end)==0);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
++	h3=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','green','EdgeColor','black');
++	pos=find(icefront(:,end)==2);
++	pos=icefront(pos,end-1);
++	A=elements(pos,1); B=elements(pos,2); C=elements(pos,3); D=elements(pos,4); E=elements(pos,5); F=elements(pos,6);
++	h3bis=patch( 'Faces', [A B C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++	patch( 'Faces', [D E F],  'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++	patch( 'Faces', [A B E D],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++	patch( 'Faces', [B E F C],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++	patch( 'Faces', [C A D F],'Vertices', [x y z],'FaceVertexCData', [1 1 1],'FaceColor','cyan','EdgeColor','black');
++
++	%display arrows pointing outward
++	xstart=mean(x(icefront(:,1:end-2)),2);
++	ystart=mean(y(icefront(:,1:end-2)),2);
++	zstart=mean(z(icefront(:,1:end-2)),2);
++	length=sqrt((x(icefront(:,1))-x(icefront(:,2))).^2 + (y(icefront(:,1))-y(icefront(:,2))).^2 );
++	normal(:,1)=cos(atan2((x(icefront(:,1))-x(icefront(:,2))) , (y(icefront(:,2))-y(icefront(:,1)))));
++	normal(:,2)=sin(atan2((x(icefront(:,1))-x(icefront(:,2))) , (y(icefront(:,2))-y(icefront(:,1)))));
++	xend=xstart+length.*normal(:,1);
++	yend=ystart+length.*normal(:,2);
++	q=quiver3(xstart,ystart,zstart,xend-xstart,yend-ystart,zeros(numel(xstart),1)); hold on;
++	h4=plot3(xstart,ystart,zstart,'r*');
++end
++
++%legend (disable warnings)
++warning off
++legend([h2,h3,h3bis,q],'element on ice front (Water)','element on ice front (Air)','element on ice front (Ice)','normal vectors')
++warning on
++
++%apply options
++options=addfielddefault(options,'title','Neumann boundary conditions');
++options=addfielddefault(options,'colorbar',0);
++applyoptions(md,[],options);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_manager.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_manager.m	(revision 11248)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_manager.m	(revision 11249)
+@@ -111,8 +111,8 @@
+ 		case 'sarpwr',
+ 			plot_sarpwr(md,options,subplotwidth,i)
+ 			return
+-		case 'pressureload'
+-			plot_pressureload(md,options,subplotwidth,i,data)
++		case 'icefront'
++			plot_icefront(md,options,subplotwidth,i,data)
+ 			return
+ 		case 'segments'
+ 			plot_segments(md,options,subplotwidth,i,data)
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_BC.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_BC.m	(revision 11248)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plot_BC.m	(revision 11249)
+@@ -1,7 +1,7 @@
+ function plot_BC(md,options,width,i,data);
+ 
+ %plot neuman
+-plot_pressureload(md,options,width,i,data)
++plot_icefront(md,options,width,i,data)
+ 
+ hold on
+ 
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotdoc.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotdoc.m	(revision 11248)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotdoc.m	(revision 11249)
+@@ -14,6 +14,7 @@
+ disp('                  - ''basal_drag'': plot the basal drag on the bed (in kPa)');
+ disp('                  - ''basal_dragx'' or ''basal_dragy'' : plot a component of the basal drag on the bed (in kPa)');
+ disp('                  - ''boundaries'': this will draw all the segment boundaries to the model, including rifts.');
++disp('                  - ''icefront'': this will show segments that are used to define the icefront of the model (Neumann boundary conditions).');
+ disp('                  - ''BC'': this will draw all the boundary conditions (Dirichlet and Neumann).');
+ disp('                  - ''deviatoricstress_tensor'': plot the components of the deviatoric stress tensor (tauxx,tauyy,tauzz,tauxy,tauxz,tauyz) if computed');
+ disp('                  - ''deviatoricstress_principal'': plot the deviatoricstress tensor principal axis and principal values');
Index: /issm/oecreview/Archive/11229-11250/ISSM-11249-11250.diff
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-11249-11250.diff	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-11249-11250.diff	(revision 11514)
@@ -0,0 +1,12 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt	(revision 11249)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt	(revision 11250)
+@@ -139,7 +139,6 @@
+ MatMultPatch
+ PetscOptionsGetString
+ PetscOptionsDetermineSolverType
+-KSPFree
+ VecMergex
+ VecToMPISerial
+ VecFree
Index: /issm/oecreview/Archive/11229-11250/ISSM-DocReview-11229-11250.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/ISSM-DocReview-11229-11250.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/ISSM-DocReview-11229-11250.tex	(revision 11514)
@@ -0,0 +1,67 @@
+\documentclass[]{report}   % list options between brackets
+\usepackage{graphicx}              % list packages between braces
+
+% type user-defined commands here
+
+\begin{document}
+
+\title{JPL EXPORT ADMINISTRATION \\ DOCUMENT REVIEW RECORD}   % type title between braces
+\author{Tom Scavo}         % type author(s) between braces
+\date{October 27, 1995}    % type date between braces
+%\maketitle
+
+
+\begin{center}
+\begin{tabular}{ |c|c| }
+\hline
+JPL EXPORT ADMINISTRATION \\
+\textit{ DOCUMENT REVIEW RECORD} \\
+\hline
+\end{tabular}
+\end{center}
+
+\hfill Log \#: \underline{\input{LogNumber}}
+
+\vspace{1cm}
+\noindent (Note: This form and process do not replace the procedures described in JPL Policy relating to review and approval of proposals and contractual 
+documents. This process is intended to document the review and coordination of requests to ascertain the export control ramifications relating to specific 
+documents. Export Administration signature does not convey authority to export or release the "Exporter of Record" from any export laws or regulations.)\\
+
+\noindent \textbf{Program:} \underline{ISSM: Ice Sheet System Model} \\ \\
+\noindent \textbf{Person Requesting or Initiating Export}: \underline{Dr. Eric Larour}\\ \\
+\noindent \textbf{Date Received}: \underline{\input{Date}}\\ \\
+\noindent \textbf{Document Title/Description}: ISSM changes from revision \input{r1} to revision \input{r2} \\ \\
+\noindent \textbf{Release to:} \underline{http://issm.ess.uci.edu/svn/issm/issm/trunk on ISSM svn repository}\\ \\
+\noindent \textbf{JPL Intranet:} \underline{murdo.jpl.nasa.gov/proj/ice/larour/issm-uci/trunk-jpl}\\ \\
+
+\noindent \textbf{Disposition: 6 } 
+Does not contain export-controlled information. May be released/disclosed as requested subject to 
+Company guidelines on protection of proprietary information (if applicable). \\
+
+\noindent \textbf{Comments:}  see table of changes below. \\ \\
+\noindent \textbf{Reviewed by ISSM Export Transfer Liaison:} Dr. Eric Larour \hfill \textbf{Date:} \input{Date} \\ 
+\includegraphics[scale=1]{signature.eps}
+
+\noindent JPL Export Administration Form TBS – June 29, 2011
+
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+\noindent \textbf{Disposition:} \\
+1:	  Public Domain Information (Ref ITAR Section 120.11) \\
+2:	  Qualifies for ITAR Exemption				 \\
+3:	  Covered by Department of State License/Agreement Number					  \\
+4:	  Covered by Department of Commerce validated license or exception				 \\
+5:	  New License Required \\
+6:	  Does not contain export-controlled information.  May be released/disclosed as requested subject
+   to Company guidelines on protection of proprietary information (if applicable). \\
+7:	 Other (specify)   
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+
+\input{log}
+
+\end{document}
Index: /issm/oecreview/Archive/11229-11250/LogNumber.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/LogNumber.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/LogNumber.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11229-11250
Index: /issm/oecreview/Archive/11229-11250/Makefile
===================================================================
--- /issm/oecreview/Archive/11229-11250/Makefile	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/Makefile	(revision 11514)
@@ -0,0 +1,11 @@
+name=ISSM-DocReview-11229-11250
+
+
+all: 
+	latex $(name).tex
+	dvips $(name).dvi
+	ps2pdf $(name).ps  $(name).pdf
+	rm -rf *.dvi *.log *.aux *.ps
+
+clean:
+	rm -rf *.dvi *.log *.aux
Index: /issm/oecreview/Archive/11229-11250/log.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/log.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/log.tex	(revision 11514)
@@ -0,0 +1,34 @@
+\noindent \textbf{Change \#1} with diff file ISSM-11229-11230.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h M /issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp M /issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.h M /issm/trunk-jpl/src/c/objects/Elements/Tria.cpp M /issm/trunk-jpl/src/c/objects/Elements/Tria.h A /issm/trunk-jpl/src/m/enum/StressTensorEnum.m A /issm/trunk-jpl/src/m/enum/StressTensorxxEnum.m A /issm/trunk-jpl/src/m/enum/StressTensorxyEnum.m A /issm/trunk-jpl/src/m/enum/StressTensorxzEnum.m A /issm/trunk-jpl/src/m/enum/StressTensoryyEnum.m A /issm/trunk-jpl/src/m/enum/StressTensoryzEnum.m A /issm/trunk-jpl/src/m/enum/StressTensorzzEnum.m \\ Export determination: 6. \\Rationale: added possibility to compute stress tensor components when specified in requested\_outputs
+M /issm/trunk-jpl/test/NightlyRun/test102.m M /issm/trunk-jpl/test/NightlyRun/test106.m added tests in NR for stesstensor computation (2d and 3d) \\\\
+\noindent \textbf{Change \#2} with diff file ISSM-11230-11231.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/test102.m M /issm/trunk-jpl/test/NightlyRun/test106.m \\ Export determination: 6. \\Rationale: added tests in NR for stesstensor computation (2d and 3d)
+M /issm/trunk-jpl/test/Archives/Archive102.mat M /issm/trunk-jpl/test/Archives/Archive106.mat M /issm/trunk-jpl/test/NightlyRun/test106.m added archives for stresscomponents \\\\
+\noindent \textbf{Change \#3} with diff file ISSM-11231-11232.diff: \\ Function name: \\M /issm/trunk-jpl/test/Archives/Archive102.mat M /issm/trunk-jpl/test/Archives/Archive106.mat M /issm/trunk-jpl/test/NightlyRun/test106.m \\ Export determination: 6. \\Rationale: added archives for stresscomponents \\\\
+\noindent \textbf{Change \#4} with diff file ISSM-11232-11233.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp \\ Export determination: 6. \\Rationale: minor (fixes compilation pb) \\\\
+\noindent \textbf{Change \#5} with diff file ISSM-11233-11234.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp \\ Export determination: 6. \\Rationale: minor (fixes compilation pb)
+M /issm/trunk-jpl/src/m/model/extrude.m M /issm/trunk-jpl/src/m/model/parameterization/parameterize.m M /issm/trunk-jpl/src/m/model/plot/processmesh.m M /issm/trunk-jpl/src/m/model/setmask.m Merge of trunk and trunk-jpl \\\\
+\noindent \textbf{Change \#6} with diff file ISSM-11234-11235.diff: \\ Function name: \\M /issm/trunk-jpl/src/m/model/extrude.m M /issm/trunk-jpl/src/m/model/parameterization/parameterize.m M /issm/trunk-jpl/src/m/model/plot/processmesh.m M /issm/trunk-jpl/src/m/model/setmask.m \\ Export determination: 6. \\Rationale: Merge of trunk and trunk-jpl
+M /issm/trunk-jpl/src/m/model/parameterization/parameterize.m Fixed error message correction (should display parameter file name, not its temporary name) \\\\
+\noindent \textbf{Change \#7} with diff file ISSM-11235-11236.diff: \\ Function name: \\M /issm/trunk-jpl/src/m/model/parameterization/parameterize.m \\ Export determination: 6. \\Rationale: Fixed error message correction (should display parameter file name, not its temporary name)
+M /issm/trunk-jpl M /issm/trunk-jpl/AUTHORS M /issm/trunk-jpl/NEWS M /issm/trunk-jpl/doc/issmdoc.m M /issm/trunk-jpl/examples/SquareIceShelf/Square.par M /issm/trunk-jpl/src/c/Container/Elements.cpp M /issm/trunk-jpl/src/c/modules/Chacox/chaco\_seconds.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/dox/issm.dox M /issm/trunk-jpl/src/m/classes/inversion.m M /issm/trunk-jpl/src/m/utils/Geometry/FlagElements.m trunk and trunk-jpl merge \\\\
+\noindent \textbf{Change \#8} with diff file ISSM-11236-11237.diff: \\ Function name: \\M /issm/trunk-jpl M /issm/trunk-jpl/AUTHORS M /issm/trunk-jpl/NEWS M /issm/trunk-jpl/doc/issmdoc.m M /issm/trunk-jpl/examples/SquareIceShelf/Square.par M /issm/trunk-jpl/src/c/Container/Elements.cpp M /issm/trunk-jpl/src/c/modules/Chacox/chaco\_seconds.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/dox/issm.dox M /issm/trunk-jpl/src/m/classes/inversion.m M /issm/trunk-jpl/src/m/utils/Geometry/FlagElements.m \\ Export determination: 6. \\Rationale: trunk and trunk-jpl merge \\\\
+\noindent \textbf{Change \#9} with diff file ISSM-11237-11238.diff: \\ Function name: \\M /issm/trunk-jpl \\ Export determination: 6. \\Rationale: Block revision 11236 from being merged into trunk-jpl \\\\
+\noindent \textbf{Change \#10} with diff file ISSM-11238-11239.diff: \\ Function name: \\M /issm/trunk-jpl \\ Export determination: 6. \\Rationale: Block revision 11236 from being merged into trunk-jpl \\\\
+\noindent \textbf{Change \#11} with diff file ISSM-11240-11241.diff: \\ Function name: \\M /issm/trunk-jpl/externalpackages/doxygen/install.sh M /issm/trunk-jpl/scripts/cloc2html.py M /issm/trunk-jpl/scripts/getloc.sh M /issm/trunk-jpl/src/dox/issm.dox \\ Export determination: 6. \\Rationale: updated number of lines of code \\\\
+\noindent \textbf{Change \#12} with diff file ISSM-11241-11242.diff: \\ Function name: \\M /issm/trunk-jpl/externalpackages/doxygen/install.sh M /issm/trunk-jpl/scripts/cloc2html.py M /issm/trunk-jpl/scripts/getloc.sh M /issm/trunk-jpl/src/dox/issm.dox \\ Export determination: 6. \\Rationale: updated number of lines of code
+M /issm/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/c/objects/Vertex.h Added mesh vertical velocity computation for ALE formulation \\\\
+\noindent \textbf{Change \#13} with diff file ISSM-11242-11243.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/c/objects/Vertex.h \\ Export determination: 6. \\Rationale: Added mesh vertical velocity computation for ALE formulation
+M /issm/trunk-jpl/test/NightlyRun/test1502.m minor \\\\
+\noindent \textbf{Change \#14} with diff file ISSM-11243-11244.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/test1502.m \\ Export determination: 6. \\Rationale: minor
+M /issm/trunk-jpl/test/NightlyRun/test1108.m M /issm/trunk-jpl/test/NightlyRun/test1109.m minor tolerances \\\\
+\noindent \textbf{Change \#15} with diff file ISSM-11244-11245.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/test1108.m M /issm/trunk-jpl/test/NightlyRun/test1109.m \\ Export determination: 6. \\Rationale: minor tolerances
+M /issm/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/c/solutions/transient\_core.cpp Added vz mesh vertical velocity for Arbitrary Eulerian Lagrangian formulation \\\\
+\noindent \textbf{Change \#16} with diff file ISSM-11245-11246.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp M /issm/trunk-jpl/src/c/objects/Vertex.cpp M /issm/trunk-jpl/src/c/solutions/transient\_core.cpp \\ Export determination: 6. \\Rationale: Added vz mesh vertical velocity for Arbitrary Eulerian Lagrangian formulation
+M /issm/trunk-jpl/src/c/objects/Vertex.cpp minor \\\\
+\noindent \textbf{Change \#17} with diff file ISSM-11246-11247.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Vertex.cpp \\ Export determination: 6. \\Rationale: minor
+M /issm/trunk-jpl/src/c/objects/Loads/Penpair.cpp M /issm/trunk-jpl/src/c/objects/Loads/Penpair.h Added InputUpdateFromVector for Penpair \\\\
+\noindent \textbf{Change \#18} with diff file ISSM-11247-11248.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Loads/Penpair.cpp M /issm/trunk-jpl/src/c/objects/Loads/Penpair.h \\ Export determination: 6. \\Rationale: Added InputUpdateFromVector for Penpair
+M /issm/trunk-jpl/test/Archives/Archive121.mat M /issm/trunk-jpl/test/Archives/Archive122.mat M /issm/trunk-jpl/test/Archives/Archive217.mat M /issm/trunk-jpl/test/Archives/Archive218.mat M /issm/trunk-jpl/test/Archives/Archive219.mat M /issm/trunk-jpl/test/Archives/Archive220.mat M /issm/trunk-jpl/test/Archives/Archive221.mat M /issm/trunk-jpl/test/Archives/Archive222.mat M /issm/trunk-jpl/test/Archives/Archive247.mat M /issm/trunk-jpl/test/Archives/Archive248.mat M /issm/trunk-jpl/test/Archives/Archive249.mat M /issm/trunk-jpl/test/Archives/Archive250.mat M /issm/trunk-jpl/test/Archives/Archive253.mat M /issm/trunk-jpl/test/Archives/Archive254.mat M /issm/trunk-jpl/test/Archives/Archive265.mat M /issm/trunk-jpl/test/Archives/Archive266.mat M /issm/trunk-jpl/test/Archives/Archive329.mat M /issm/trunk-jpl/test/Archives/Archive330.mat M /issm/trunk-jpl/test/Archives/Archive333.mat M /issm/trunk-jpl/test/Archives/Archive334.mat M /issm/trunk-jpl/test/Archives/Archive347.mat M /issm/trunk-jpl/test/Archives/Archive348.mat M /issm/trunk-jpl/test/Archives/Archive417.mat M /issm/trunk-jpl/test/Archives/Archive418.mat M /issm/trunk-jpl/test/Archives/Archive451.mat M /issm/trunk-jpl/test/Archives/Archive452.mat M /issm/trunk-jpl/test/Archives/Archive453.mat M /issm/trunk-jpl/test/Archives/Archive454.mat M /issm/trunk-jpl/test/Archives/Archive509.mat M /issm/trunk-jpl/test/Archives/Archive510.mat M /issm/trunk-jpl/test/Archives/Archive511.mat M /issm/trunk-jpl/test/Archives/Archive512.mat M /issm/trunk-jpl/test/Archives/Archive513.mat M /issm/trunk-jpl/test/Archives/Archive514.mat archives vz ale for transient 3d runs \\\\
+\noindent \textbf{Change \#19} with diff file ISSM-11248-11249.diff: \\ Function name: \\M /issm/trunk-jpl/test/Archives/Archive121.mat M /issm/trunk-jpl/test/Archives/Archive122.mat M /issm/trunk-jpl/test/Archives/Archive217.mat M /issm/trunk-jpl/test/Archives/Archive218.mat M /issm/trunk-jpl/test/Archives/Archive219.mat M /issm/trunk-jpl/test/Archives/Archive220.mat M /issm/trunk-jpl/test/Archives/Archive221.mat M /issm/trunk-jpl/test/Archives/Archive222.mat M /issm/trunk-jpl/test/Archives/Archive247.mat M /issm/trunk-jpl/test/Archives/Archive248.mat M /issm/trunk-jpl/test/Archives/Archive249.mat M /issm/trunk-jpl/test/Archives/Archive250.mat M /issm/trunk-jpl/test/Archives/Archive253.mat M /issm/trunk-jpl/test/Archives/Archive254.mat M /issm/trunk-jpl/test/Archives/Archive265.mat M /issm/trunk-jpl/test/Archives/Archive266.mat M /issm/trunk-jpl/test/Archives/Archive329.mat M /issm/trunk-jpl/test/Archives/Archive330.mat M /issm/trunk-jpl/test/Archives/Archive333.mat M /issm/trunk-jpl/test/Archives/Archive334.mat M /issm/trunk-jpl/test/Archives/Archive347.mat M /issm/trunk-jpl/test/Archives/Archive348.mat M /issm/trunk-jpl/test/Archives/Archive417.mat M /issm/trunk-jpl/test/Archives/Archive418.mat M /issm/trunk-jpl/test/Archives/Archive451.mat M /issm/trunk-jpl/test/Archives/Archive452.mat M /issm/trunk-jpl/test/Archives/Archive453.mat M /issm/trunk-jpl/test/Archives/Archive454.mat M /issm/trunk-jpl/test/Archives/Archive509.mat M /issm/trunk-jpl/test/Archives/Archive510.mat M /issm/trunk-jpl/test/Archives/Archive511.mat M /issm/trunk-jpl/test/Archives/Archive512.mat M /issm/trunk-jpl/test/Archives/Archive513.mat M /issm/trunk-jpl/test/Archives/Archive514.mat \\ Export determination: 6. \\Rationale: archives vz ale for transient 3d runs
+M /issm/trunk-jpl/src/m/model/plot/plot\_BC.m A /issm/trunk-jpl/src/m/model/plot/plot\_icefront.m (from /issm/trunk-jpl/src/m/model/plot/plot\_pressureload.m:11235) M /issm/trunk-jpl/src/m/model/plot/plot\_manager.m D /issm/trunk-jpl/src/m/model/plot/plot\_pressureload.m M /issm/trunk-jpl/src/m/model/plot/plotdoc.m appropriate name of plot is plot\_icefront not plot\_pressureload \\\\
+\noindent \textbf{Change \#20} with diff file ISSM-11249-11250.diff: \\ Function name: \\M /issm/trunk-jpl/src/m/model/plot/plot\_BC.m A /issm/trunk-jpl/src/m/model/plot/plot\_icefront.m (from /issm/trunk-jpl/src/m/model/plot/plot\_pressureload.m:11235) M /issm/trunk-jpl/src/m/model/plot/plot\_manager.m D /issm/trunk-jpl/src/m/model/plot/plot\_pressureload.m M /issm/trunk-jpl/src/m/model/plot/plotdoc.m \\ Export determination: 6. \\Rationale: appropriate name of plot is plot\_icefront not plot\_pressureload
+M /issm/trunk-jpl/src/ad/wrappers.txt text: removed duplicate from list \\\\
Index: /issm/oecreview/Archive/11229-11250/r1.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/r1.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/r1.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11229
Index: /issm/oecreview/Archive/11229-11250/r2.tex
===================================================================
--- /issm/oecreview/Archive/11229-11250/r2.tex	(revision 11514)
+++ /issm/oecreview/Archive/11229-11250/r2.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11250
Index: /issm/oecreview/Archive/11250-11268/Date.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/Date.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/Date.tex	(revision 11514)
@@ -0,0 +1,1 @@
+Feb-23-2012
Index: /issm/oecreview/Archive/11250-11268/ISSM-11250-11251.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11250-11251.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11250-11251.diff	(revision 11514)
@@ -0,0 +1,12 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt	(revision 11250)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/ad/wrappers.txt	(revision 11251)
+@@ -126,6 +126,7 @@
+ KSPSetOperators
+ KSPSetFromOptions
+ KSPGetPC
++KSPSetUp
+ KSPSolve
+ KSPGetIterationNumber
+ PCFactorSetMatSolverPackage
Index: /issm/oecreview/Archive/11250-11268/ISSM-11251-11252.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11251-11252.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11251-11252.diff	(revision 11514)
@@ -0,0 +1,13 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/Solver/Solver.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/Solver/Solver.cpp	(revision 11251)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/Solver/Solver.cpp	(revision 11252)
+@@ -32,7 +32,7 @@
+ 	/*parameters: */
+ 	FetchMatlabData(&parameters,PARAMETERS);
+ 
+-	/*In serial mode, we have no set any petsc options, do it now: */
++	/*In serial mode, we have not set any petsc options, do it now: */
+ 	#ifdef _SERIAL_
+ 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+ 	PetscOptionsFromAnalysis(parameters,analysis_type);
Index: /issm/oecreview/Archive/11250-11268/ISSM-11252-11253.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11252-11253.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11252-11253.diff	(revision 11514)
@@ -0,0 +1,12 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11252)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11253)
+@@ -2049,6 +2049,7 @@
+ 				name==InversionVyObsEnum ||
+ 				name==InversionVzObsEnum ||
+ 				name==TemperatureEnum ||
++				name==WaterfractionEnum||
+ 				name==FrictionCoefficientEnum ||
+ 				name==GradientEnum ||
+ 				name==OldGradientEnum  ||
Index: /issm/oecreview/Archive/11250-11268/ISSM-11253-11254.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11253-11254.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11253-11254.diff	(revision 11514)
@@ -0,0 +1,31 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/runme.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/runme.m	(revision 11253)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/runme.m	(revision 11254)
+@@ -47,7 +47,7 @@
+ %GET benchmark {{{1
+ benchmark=getfieldvalue(options,'benchmark','nightly');
+ if ~ismember(benchmark,{'all','nightly','ismip','eismint','thermal','mesh','validation','tranforcing'})
+-	disp('runme warnig: benchmark not supported, defaulting to test ''nightly''')
++	disp('runme warning: benchmark not supported, defaulting to test ''nightly''')
+ 	benchmark='nighlty';
+ end
+ % }}}
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m	(revision 11253)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test1502.m	(revision 11254)
+@@ -1,11 +1,11 @@
+ printingflag = false;
+ 
+-md=triangle(model,'../Exp/Square.exp',700000);
++md=triangle(model,'../Exp/Square.exp',450000);
+ md=setmask(md,'all','');
+ md=parameterize(md,'../Par/SquareShelf.par');
+ md=setflowequation(md,'macayeal','all');
+ md=extrude(md,3,1);
+-md.cluster=generic('name',oshostname(),'np',1);
++md.cluster=generic('name',oshostname(),'np',2);
+ md.transient.isthermal=0;
+ 
+ md.timestepping.time_step=1;
Index: /issm/oecreview/Archive/11250-11268/ISSM-11254-11255.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11254-11255.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11254-11255.diff	(revision 11514)
@@ -0,0 +1,8 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive1501.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/Archives/Archive1502.mat
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
Index: /issm/oecreview/Archive/11250-11268/ISSM-11255-11256.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11255-11256.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11255-11256.diff	(revision 11514)
@@ -0,0 +1,13 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test266.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test266.m	(revision 11255)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test266.m	(revision 11256)
+@@ -15,7 +15,7 @@
+ 					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3', ...
+ 					   'Vx4','Vy4','Vz4','Vel4','Pressure4','Bed4','Surface4','Thickness4','Temperature4','BasalforcingsMeltingRate4'};
+ field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
+-						1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09, ...
++						1e-09,1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-07, ...
+ 						1e-09,1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06, ...
+ 						1e-09,1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-06};
+ field_values={...
Index: /issm/oecreview/Archive/11250-11268/ISSM-11256-11257.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11256-11257.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11256-11257.diff	(revision 11514)
@@ -0,0 +1,16 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test218.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test218.m	(revision 11256)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/test/NightlyRun/test218.m	(revision 11257)
+@@ -10,7 +10,10 @@
+ field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
+ 				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2', ...
+ 					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+-field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
++field_tolerances={...
++	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,...
++	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-8,...
++	1e-13,1e-13,1e-09,1e-13,1e-13,1e-11,1e-11,1e-11,1e-13,1e-8};
+ field_values={...
+ 	(md.results.TransientSolution(1).Vx),...
+ 	(md.results.TransientSolution(1).Vy),...
Index: /issm/oecreview/Archive/11250-11268/ISSM-11257-11258.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11257-11258.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11257-11258.diff	(revision 11514)
@@ -0,0 +1,64 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 0)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 11258)
+@@ -0,0 +1,39 @@
++/*!\file SmearFunctionx
++ * \brief: create 
++ */
++
++#include "./SmearFunctionx.h"
++#include "../../shared/shared.h"
++#include "../../include/include.h"
++#include "../../io/io.h"
++#include "../../toolkits/toolkits.h"
++#include "../../EnumDefinitions/EnumDefinitions.h"
++
++void SmearFunctionx(Vec* psmearedvector,double (*WeightFunction)(double distance,double radius), SmearedFieldEnum, double radius,Elements* elements,Nodes* nodes, Parameters* parameters){
++	
++	Element *element = NULL;
++	Vec smearedvector=NULL;
++
++	/*retrive parameters: */
++	parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
++
++	
++	/*allocate: */
++	fsize=nodes->NumberOfDofs(configuration_type,FsetEnum);
++	smearedvector=NewVec(fsize);
++
++	/*Fill smearedvector vector: */
++	for (i=0;i<elements->Size();i++){
++		element=(Element*)elements->GetObjectByOffset(i);
++		element->SmearFunction(smearedvector,WeightFunction,SmearedFieldEnum,radius);
++	}
++
++
++	VecAssemblyBegin(smearedvector);
++	VecAssemblyEnd(smearedvector);
++	
++	/*Assign output pointers: */
++	*psmearedvector=smearedvector;
++
++}
++
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.h	(revision 0)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.h	(revision 11258)
+@@ -0,0 +1,15 @@
++/*!\file:  SystemMatricesx.h
++ * \brief header file for degree of freedoms distribution routines.
++ */ 
++
++#ifndef _SYSTEMMATRICESX_H
++#define _SYSTEMMATRICESX_H
++
++#include "../../Container/Container.h"
++#include "../../objects/objects.h"
++
++/* local prototypes: */
++void SystemMatricesx(Mat* pKff, Mat* pKfs, Vec* ppf, Vec* pdf, double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,
++			bool kflag=true,bool pflag=true,bool penalty_kflag=true,bool penalty_pflag=true);
++
++#endif  /* _SYSTEMMATRICESX_H */
Index: /issm/oecreview/Archive/11250-11268/ISSM-11258-11259.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11258-11259.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11258-11259.diff	(revision 11514)
@@ -0,0 +1,45 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 11258)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp	(revision 11259)
+@@ -9,19 +9,36 @@
+ #include "../../toolkits/toolkits.h"
+ #include "../../EnumDefinitions/EnumDefinitions.h"
+ 
+-void SmearFunctionx(Vec* psmearedvector,double (*WeightFunction)(double distance,double radius), SmearedFieldEnum, double radius,Elements* elements,Nodes* nodes, Parameters* parameters){
++void SmearFunctionx(Vec* psmearedvector,double (*WeightFunction)(double distance,double radius), int SmearedFieldEnum, double radius,Elements* elements,Nodes* nodes, Parameters* parameters){
+ 	
+ 	Element *element = NULL;
++	Vec x=NULL;
++	Vec y=NULL;
++	Vec z=NULL;
+ 	Vec smearedvector=NULL;
++	int i;
+ 
++	double* x_serial=NULL;
++	double* y_serial=NULL;
++	double* z_serial=NULL;
++
+ 	/*retrive parameters: */
+ 	parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
+ 
++	/*allocate: */
++	gsize=nodes->NumberOfDofs(configuration_type,GsetEnum);
++	smearedvector=NewVec(gsize);
+ 	
+-	/*allocate: */
+-	fsize=nodes->NumberOfDofs(configuration_type,FsetEnum);
+-	smearedvector=NewVec(fsize);
++	x=NewVec(gsize);
++	y=NewVec(gsize);
++	z=NewVec(gsize);
+ 
++	for(i=0;i<nodes->Size();i++){
++
++	}
++
++
++
+ 	/*Fill smearedvector vector: */
+ 	for (i=0;i<elements->Size();i++){
+ 		element=(Element*)elements->GetObjectByOffset(i);
Index: /issm/oecreview/Archive/11250-11268/ISSM-11259-11260.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11259-11260.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11259-11260.diff	(revision 11514)
@@ -0,0 +1,69 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Element.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Element.h	(revision 11259)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Element.h	(revision 11260)
+@@ -68,6 +68,7 @@
+ 		virtual void   PotentialSheetUngrounding(Vec potential_sheet_ungrounding)=0;
+ 		virtual int    UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf)=0;
+ 		virtual void   ResetCoordinateSystem()=0;
++		virtual void   SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius)=0;
+ 
+ 		#ifdef _HAVE_RESPONSES_
+ 		virtual void   MinVel(double* pminvel, bool process_units)=0;
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.cpp	(revision 11259)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.cpp	(revision 11260)
+@@ -2208,6 +2208,12 @@
+ 	_error_("not implemented yet");
+ }
+ /*}}}1*/
++/*FUNCTION Tria::SmearFunction {{{1*/
++void  Tria::SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
++	_error_("not implemented yet");
++
++}
++/*}}}1*/
+ /*FUNCTION Tria::SetCurrentConfiguration {{{1*/
+ void  Tria::SetCurrentConfiguration(Elements* elementsin, Loads* loadsin, DataSet* nodesin, Materials* materialsin, Parameters* parametersin){
+ 	
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.h	(revision 11259)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Tria.h	(revision 11260)
+@@ -116,6 +116,7 @@
+ 		int    UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
+ 		double TimeAdapt();
+ 		int*   GetHorizontalNeighboorSids(void);
++		void   SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
+ 
+ 		#ifdef _HAVE_RESPONSES_
+ 		double IceVolume(void);
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11259)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11260)
+@@ -2923,6 +2923,11 @@
+ 	delete gauss;
+ }
+ /*}}}*/
++/*FUNCTION Penta::SmearFunction {{{1*/
++void  Penta::SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
++	_error_("not implemented yet");
++}
++/*}}}1*/
+ 
+ #ifdef _HAVE_RESPONSES_
+ /*FUNCTION Penta::IceVolume {{{1*/
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.h
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.h	(revision 11259)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.h	(revision 11260)
+@@ -118,6 +118,7 @@
+ 		double TimeAdapt();
+ 		int*   GetHorizontalNeighboorSids(void);
+ 		void   ViscousHeatingCreateInput(void);
++		void   SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
+ 
+ 		 #ifdef _HAVE_RESPONSES_
+ 		double IceVolume(void);
Index: /issm/oecreview/Archive/11250-11268/ISSM-11260-11261.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11260-11261.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11260-11261.diff	(revision 11514)
@@ -0,0 +1,20 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 11260)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 11261)
+@@ -26,7 +26,7 @@
+ 	if(dim==2)return;
+ 
+ 	/*Fetch data needed: */
+-	iomodel->FetchData(1,MeshElementsEnum);
++	iomodel->FetchData(4,MeshElementsEnum,TemperatureEnum,WaterfractionEnum,PressureEnum);
+ 
+ 	/*Update elements: */
+ 	int counter=0;
+@@ -60,5 +60,5 @@
+ 	iomodel->FetchDataToInput(elements,VzEnum);
+ 	
+ 	/*Free data: */
+-	iomodel->DeleteData(1,MeshElementsEnum);
++	iomodel->DeleteData(4,MeshElementsEnum,TemperatureEnum,WaterfractionEnum,PressureEnum);
+ }
Index: /issm/oecreview/Archive/11250-11268/ISSM-11261-11262.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11261-11262.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11261-11262.diff	(revision 11514)
@@ -0,0 +1,141 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11261)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Elements/Penta.cpp	(revision 11262)
+@@ -3206,6 +3206,7 @@
+ 	int        stabilization;
+ 	int        i,j,ig,found=0;
+ 	double     Jdet,u,v,w,um,vm,wm;
++	double     h,hx,hy,hz,vx,vy,vz,vel;
+ 	double     gravity,rho_ice,rho_water;
+ 	double     epsvel=2.220446049250313e-16;
+ 	double     heatcapacity,thermalconductivity,dt;
+@@ -3213,18 +3214,15 @@
+ 	double     latentheat,kappa;
+ 	double     tau_parameter,diameter;
+ 	double     xyz_list[NUMVERTICES][3];
+-	double     B[3][numdof];
+-	double     Bprime[3][numdof];
+ 	double     B_conduct[3][numdof];
+ 	double     B_advec[3][numdof];
+-	double     B_stab[2][numdof];
+ 	double     Bprime_advec[3][numdof];
+ 	double     L[numdof];
+ 	double     dbasis[3][6];
+ 	double     D_scalar_conduct,D_scalar_advec;
+ 	double     D_scalar_trans,D_scalar_stab;
+ 	double     D[3][3];
+-	double     K[2][2]={0.0};
++	double     K[3][3]={0.0};
+ 	Tria*      tria=NULL;
+ 	GaussPenta *gauss=NULL;
+ 
+@@ -3261,7 +3259,6 @@
+ 
+ 		/*Conduction: */  
+ 		/*Need to change that depending on enthalpy value -> cold or temperate ice: */  
+-
+ 		GetBConduct(&B_conduct[0][0],&xyz_list[0][0],gauss); 
+ 
+ 		enthalpy_input->GetInputValue(&enthalpy, gauss);
+@@ -3280,7 +3277,6 @@
+ 					&Ke->values[0],1);
+ 
+ 		/*Advection: */
+-
+ 		GetBAdvec(&B_advec[0][0],&xyz_list[0][0],gauss); 
+ 		GetBprimeAdvec(&Bprime_advec[0][0],&xyz_list[0][0],gauss); 
+ 
+@@ -3290,13 +3286,14 @@
+ 		vxm_input->GetInputValue(&um,gauss);
+ 		vym_input->GetInputValue(&vm,gauss);
+ 		vzm_input->GetInputValue(&wm,gauss);
++		vx=u-um; vy=v-vm; vz=w-wm;
+ 
+ 		D_scalar_advec=gauss->weight*Jdet;
+ 		if(dt) D_scalar_advec=D_scalar_advec*dt;
+ 
+-		D[0][0]=D_scalar_advec*(u-um);D[0][1]=0;                    D[0][2]=0;
+-		D[1][0]=0;                    D[1][1]=D_scalar_advec*(v-vm);D[1][2]=0;
+-		D[2][0]=0;                    D[2][1]=0;                    D[2][2]=D_scalar_advec*(w-wm);
++		D[0][0]=D_scalar_advec*vx;D[0][1]=0;                D[0][2]=0;
++		D[1][0]=0;                D[1][1]=D_scalar_advec*vy;D[1][2]=0;
++		D[2][0]=0;                D[2][1]=0;                D[2][2]=D_scalar_advec*vz;
+ 
+ 		TripleMultiply(&B_advec[0][0],3,numdof,1,
+ 					&D[0][0],3,3,0,
+@@ -3304,7 +3301,6 @@
+ 					&Ke->values[0],1);
+ 
+ 		/*Transient: */
+-
+ 		if(dt){
+ 			GetNodalFunctionsP1(&L[0], gauss);
+ 			D_scalar_trans=gauss->weight*Jdet;
+@@ -3317,26 +3313,27 @@
+ 		}
+ 
+ 		/*Artifficial diffusivity*/
+-
+ 		if(stabilization==1){
+ 			/*Build K: */
+-			D_scalar_stab=gauss->weight*Jdet/(pow(u-um,2)+pow(v-vm,2)+epsvel);
++			GetElementSizes(&hx,&hy,&hz);
++			vel=sqrt(pow(vx,2.)+pow(vy,2.)+pow(vz,2.))+1.e-14;
++			h=sqrt( pow(hx*vx/vel,2.) + pow(hy*vy/vel,2.) + pow(hz*vz/vel,2.));
++			K[0][0]=h/(2*vel)*fabs(vx*vx);  K[0][1]=h/(2*vel)*fabs(vx*vy); K[0][2]=h/(2*vel)*fabs(vx*vz);
++			K[1][0]=h/(2*vel)*fabs(vy*vx);  K[1][1]=h/(2*vel)*fabs(vy*vy); K[1][2]=h/(2*vel)*fabs(vy*vz);
++			K[2][0]=h/(2*vel)*fabs(vz*vx);  K[2][1]=h/(2*vel)*fabs(vz*vy); K[2][2]=h/(2*vel)*fabs(vz*vz);
++			D_scalar_stab=gauss->weight*Jdet;
+ 			if(dt) D_scalar_stab=D_scalar_stab*dt;
+-			K[0][0]=D_scalar_stab*pow(u,2);       K[0][1]=D_scalar_stab*fabs(u)*fabs(v);
+-			K[1][0]=D_scalar_stab*fabs(u)*fabs(v);K[1][1]=D_scalar_stab*pow(v,2);
+-			_error_("TO BE RECODED");
++			for(i=0;i<3;i++) for(j=0;j<3;j++) K[i][j] = D_scalar_stab*K[i][j];
+ 
+-			//GetBArtdiff(&B_stab[0][0],&xyz_list[0][0],gauss); 
++			GetBprimeAdvec(&Bprime_advec[0][0],&xyz_list[0][0],gauss); 
+ 
+-			TripleMultiply(&B_stab[0][0],2,numdof,1,
+-						&K[0][0],2,2,0,
+-						&B_stab[0][0],2,numdof,0,
++			TripleMultiply(&Bprime_advec[0][0],3,numdof,1,
++						&K[0][0],3,3,0,
++						&Bprime_advec[0][0],3,numdof,0,
+ 						&Ke->values[0],1);
+ 		}
+ 		else if(stabilization==2){
+-
+ 			GetNodalFunctionsP1Derivatives(&dbasis[0][0],&xyz_list[0][0], gauss);
+-
+ 			tau_parameter=GetStabilizationParameter(u-um,v-vm,w-wm,diameter,rho_ice,heatcapacity,thermalconductivity);
+ 
+ 			for(i=0;i<numdof;i++){
+@@ -3455,11 +3452,8 @@
+ 	double     heatcapacity,thermalconductivity,dt;
+ 	double     tau_parameter,diameter;
+ 	double     xyz_list[NUMVERTICES][3];
+-	double     B[3][numdof];
+-	double     Bprime[3][numdof];
+ 	double     B_conduct[3][numdof];
+ 	double     B_advec[3][numdof];
+-	double     B_stab[2][numdof];
+ 	double     Bprime_advec[3][numdof];
+ 	double     L[numdof];
+ 	double     dbasis[3][6];
+@@ -3536,7 +3530,6 @@
+ 					&Ke->values[0],1);
+ 
+ 		/*Transient: */
+-
+ 		if(dt){
+ 			GetNodalFunctionsP1(&L[0], gauss);
+ 			D_scalar_trans=gauss->weight*Jdet;
+@@ -3549,7 +3542,6 @@
+ 		}
+ 
+ 		/*Artifficial diffusivity*/
+-
+ 		if(stabilization==1){
+ 			/*Build K: */
+ 			GetElementSizes(&hx,&hy,&hz);
Index: /issm/oecreview/Archive/11250-11268/ISSM-11262-11263.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11262-11263.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11262-11263.diff	(revision 11514)
@@ -0,0 +1,39 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/tao-1.10.1-p1.tar.gz
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/install.sh
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/install.sh	(revision 11262)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/install.sh	(revision 11263)
+@@ -1,15 +1,16 @@
+ #!/bin/bash
++#wget http://www.mcs.anl.gov/research/projects/tao/download/tao-2.0.tar.gz
+ 
+ #Some cleanup
+-rm -rf install tao-1.10.1-p1
++rm -rf install tao-2.0
+ mkdir install
+ 
+ #Untar 
+-tar -zxvf  tao-1.10.1-p1.tar.gz
++tar -zxvf  tao-2.0.tar.gz
+ 
+ #move into place
+-mv tao-1.10.1-p1/* install/
+-rm -rf tao-1.10.1-p1
++mv tao-2.0/* install/
++rm -rf tao-2.0
+ cd install
+ export TAO_DIR="$ISSM_TIER/externalpackages/tao/install/"
+ 
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/tao-2.0.tar.gz
+===================================================================
+Cannot display: file marked as a binary type.
+svn:mime-type = application/octet-stream
+
+Property changes on: /proj/ice/larour/issm-uci-clean/trunk-jpl/externalpackages/tao/tao-2.0.tar.gz
+___________________________________________________________________
+Added: svn:mime-type
+   + application/octet-stream
+
Index: /issm/oecreview/Archive/11250-11268/ISSM-11263-11264.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11263-11264.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11263-11264.diff	(revision 11514)
@@ -0,0 +1,30 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/consistency/checkfield.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/consistency/checkfield.m	(revision 11263)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/consistency/checkfield.m	(revision 11264)
+@@ -9,6 +9,7 @@
+ %      - >=: greater or equal to provided value
+ %      - <:  smallerthan provided value
+ %      - <=: smaller or equal to provided value
++%      - < vec:  smallerthan provided values on each vertex
+ %      - forcing: 1 if check forcing consistency (size and time)
+ %      - values: cell of strings or vector of acceptable values
+ %      - numel: list of acceptable number of elements
+@@ -152,7 +153,7 @@
+ 	field2=reshape(field,prod(size(field)),1);
+ 	if any(field2>upperbound),
+ 		checkmessage(getfieldvalue(options,'message',...
+-			['field ''' fieldname ''' should have values above ' num2str(upperbound)]));
++			['field ''' fieldname ''' should have values below ' num2str(upperbound)]));
+ 	end
+ end
+ if exist(options,'<')
+@@ -160,7 +161,7 @@
+ 	field2=reshape(field,prod(size(field)),1);
+ 	if any(field2>=upperbound),
+ 		checkmessage(getfieldvalue(options,'message',...
+-			['field ''' fieldname ''' should have values above ' num2str(upperbound)]));
++			['field ''' fieldname ''' should have values below ' num2str(upperbound(1))]));
+ 	end
+ end
+ 
Index: /issm/oecreview/Archive/11250-11268/ISSM-11264-11265.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11264-11265.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11264-11265.diff	(revision 11514)
@@ -0,0 +1,19 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/thermal.m
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/thermal.m	(revision 11264)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/thermal.m	(revision 11265)
+@@ -45,10 +45,13 @@
+ 		function checkconsistency(obj,md,solution,analyses) % {{{
+ 
+ 			%Early return
+-			if ~ismember(ThermalAnalysisEnum,analyses) | (solution==TransientSolutionEnum & md.transient.isthermal==0), return; end
++			if (~ismember(ThermalAnalysisEnum,analyses) & ~ismember(EnthalpyAnalysisEnum,analyses)) | (solution==TransientSolutionEnum & md.transient.isthermal==0), return; end
+ 
+ 			checkfield(md,'thermal.stabilization','numel',1,'values',[0 1 2]);
+ 			checkfield(md,'thermal.spctemperature','forcing',1);
++			if ismember(EnthalpyAnalysisEnum,analyses),
++			checkfield(md,'thermal.spctemperature','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*md.geometry.thickness,'message','spctemperature should be below the adjusted melting point');
++			end
+ 		end % }}}
+ 		function disp(obj) % {{{
+ 			disp(sprintf('   Thermal solution parameters:'));
Index: /issm/oecreview/Archive/11250-11268/ISSM-11265-11266.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11265-11266.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11265-11266.diff	(revision 11514)
@@ -0,0 +1,13 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/m4/issm_options.m4
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/m4/issm_options.m4	(revision 11265)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/m4/issm_options.m4	(revision 11266)
+@@ -481,7 +481,7 @@
+ 		dnl defaults
+ 		  HAVE_TAO=yes
+ 		  TAOINCL="-I$TAO_ROOT/ -I$TAO_ROOT/include -I$TAO_ROOT/bmake/ "
+-		  TAOLIB="-L$TAO_ROOT/lib -ltao -ltaopetsc -lpetsc"
++		  TAOLIB="-L$TAO_ROOT/lib -ltao -lpetsc"
+ 
+ 		  AC_DEFINE([_HAVE_TAO_],[1],[with Tao in ISSM src])
+ 		  AC_SUBST([TAOINCL])
Index: /issm/oecreview/Archive/11250-11268/ISSM-11266-11267.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11266-11267.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11266-11267.diff	(revision 11514)
@@ -0,0 +1,113 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp	(revision 11266)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp	(revision 11267)
+@@ -95,7 +95,11 @@
+ 	}
+ 	else if(control_analysis){
+ 		#ifdef _HAVE_CONTROL_
++		#ifdef _HAVE_TAO_
++		controltao_core(femmodel);
++		#else
+ 		control_core(femmodel);
++		#endif
+ 		#else
+ 		_error_("ISSM was not compiled with control support, cannot carry out dakota analysis!");
+ 		#endif
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 11266)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 11267)
+@@ -12,12 +12,11 @@
+ #include "../include/include.h"
+ #include "../solvers/solvers.h"
+ 
++#if defined (_HAVE_TAO_) && (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ == 2)
++#include <tao.h>
+ 
+-#if defined (_HAVE_TAO_) && (_PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2))
+-#include "tao.h"
+-
+ /*Local prototype*/
+-int FormFunctionGradient(TAO_APPLICATION,Vec,double *,Vec,void*);
++int FormFunctionGradient(TaoSolver tao,Vec,double *,Vec,void*);
+ typedef struct {
+ 	FemModel* femmodel;
+ } AppCtx;
+@@ -25,17 +24,13 @@
+ void controltao_core(FemModel* femmodel){
+ 
+ 	/*TAO*/
+-	int                i,n,info;
+-	//TaoMethod          method = "tao_blmvm";
+-	//TaoMethod        method = "tao_lmvm";
+-	TaoMethod        method = "tao_cg";
+-	TaoTerminateReason reason;
+-	TAO_SOLVER         tao;
+-	TAO_APPLICATION    controlapp;
+-	Vec                initial_solution = NULL;
+-	AppCtx             user;
+-	PetscInt           iter;
+-	double             ff,gnorm;
++	int                        i,n,info;
++	TaoSolverTerminationReason reason;
++	TaoSolver                  tao;
++	Vec                        initial_solution = NULL;
++	AppCtx                     user;
++	PetscInt                   iter;
++	double                     ff                 ,gnorm;
+ 
+ 	/*Initialize TAO*/
+ 	int argc; char **args; PetscGetArgs(&argc,&args);
+@@ -61,21 +56,17 @@
+ 
+ 	/*Set up and solve TAO*/
+ 	GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,MaterialsRheologyBbarEnum,VertexEnum);
+-	info = TaoCreate(PETSC_COMM_WORLD,method,&tao); if(info) _error_("STOP");
+-	info = TaoApplicationCreate(PETSC_COMM_WORLD,&controlapp); if(info) _error_("STOP");
+-	info = TaoAppSetInitialSolutionVec(controlapp,initial_solution);  if(info) _error_("STOP");
+-	info = TaoAppSetObjectiveAndGradientRoutine(controlapp,FormFunctionGradient,(void*)&user);  if(info) _error_("STOP");
+-	info = TaoSetOptions(controlapp,tao);  if(info) _error_("STOP");
+-	info = TaoSolveApplication(controlapp,tao); //if(info) _error_("STOP");
++	info = TaoCreate(PETSC_COMM_WORLD,&tao); if(info) _error_("STOP");
++	info = TaoSetType(tao,"tao_cg"); if(info) _error_("STOP");
++	info = TaoSetInitialVector(tao,initial_solution);  if(info) _error_("STOP");
++	info = TaoSetObjectiveAndGradientRoutine(tao,FormFunctionGradient,(void*)&user);  if(info) _error_("STOP");
++	info = TaoSetFromOptions(tao);  if(info) _error_("STOP");
++	info = TaoSolve(tao); //if(info) _error_("STOP");
+ 
+ 	/*Get solution status*/
+ 	info = TaoGetSolutionStatus(tao,&iter,&ff,&gnorm,0,0,&reason); //CHKERRQ(info);
+-	switch(reason){ /*http://www.mcs.anl.gov/research/projects/tao/docs/manualpages/solver/TaoGetTerminationReason.html*/
+-		case TAO_CONVERGED_ATOL:       _printf_(true,"TAO_CONVERGED_ATOL (res <= atol)\n"); break;
+-		case TAO_CONVERGED_RTOL:       _printf_(true,"TAO_CONVERGED_RTOL (res/res0 <= rtol)\n"); break;
+-		case TAO_CONVERGED_TRTOL:      _printf_(true,"TAO_CONVERGED_TRTOL (xdiff <= trtol) \n"); break;
+-		case TAO_CONVERGED_MINF:       _printf_(true,"TAO_CONVERGED_MINF  (f <= fmin)\n"); break;
+-		case TAO_CONVERGED_USER:       _printf_(true,"TAO_CONVERGED_USER (user defined)\n"); break;
++	switch(reason){
++		/*http://www.mcs.anl.gov/research/projects/tao/docs/manpages/taosolver/TaoGetTerminationReason.html*/
+ 		case TAO_DIVERGED_MAXITS:      _printf_(true,"TAO_DIVERGED_MAXITS (its>maxits)\n"); break;
+ 		case TAO_DIVERGED_NAN:         _printf_(true,"TAO_DIVERGED_NAN (Numerical problems)\n"); break;
+ 		case TAO_DIVERGED_MAXFCN:      _printf_(true,"TAO_DIVERGED_MAXFCN (nfunc > maxnfuncts)\n"); break;
+@@ -91,18 +82,17 @@
+ 	else{
+ 	 _printf_(true,"TAO found a solution");
+ 	}
+-	info = TaoView(tao);  if(info) _error_("STOP");
++	info = TaoView(tao,PETSC_VIEWER_STDOUT_SELF);  if(info) _error_("STOP");
+ 
+ 	/*Clean up*/
+-	info = TaoDestroy(tao);  if(info) _error_("STOP");
+-	info = TaoAppDestroy(controlapp);  if(info) _error_("STOP");
++	info = TaoDestroy(&tao);  if(info) _error_("STOP");
+ 	VecFree(&initial_solution);
+ 
+ 	/* Finalize TAO */
+ 	TaoFinalize();
+ }
+ 
+-int FormFunctionGradient(TAO_APPLICATION taoapp, Vec X, double *fcn,Vec G,void *userCtx){
++int FormFunctionGradient(TaoSolver tao, Vec X, double *fcn,Vec G,void *userCtx){
+ 
+ 	/*Retreive arguments*/
+ 	AppCtx   *user     = (AppCtx*)userCtx;
Index: /issm/oecreview/Archive/11250-11268/ISSM-11267-11268.diff
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-11267-11268.diff	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-11267-11268.diff	(revision 11514)
@@ -0,0 +1,24 @@
+Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp
+===================================================================
+--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 11267)
++++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 11268)
+@@ -46,7 +46,7 @@
+ 	info = PetscOptionsSetValue("-tao_monitor",""); if(info) _error_("STOP");
+ 	info = PetscOptionsSetValue("-tao_gatol","10e-18"); if(info) _error_("STOP");
+ 	info = PetscOptionsSetValue("-tao_max_its","10"); if(info) _error_("STOP");
+-	info = PetscOptionsSetValue("-tao_max_funcs","20"); if(info) _error_("STOP");
++	info = PetscOptionsSetValue("-tao_max_funcs","40"); if(info) _error_("STOP");
+ 
+ 	/*Additional options*/
+ 	//info = PetscOptionsSetValue("-info","/u/astrid-r1b/morlighe/svn/issm/trunk/test/NightlyRun/taolog.txt"); if(info) _error_("STOP");
+@@ -105,7 +105,9 @@
+ //	printf("X= [%20.20g %20.20g %20.20g]\n",Xserial[0],Xserial[1],Xserial[2]);
+ 	/*End Temp*/
+ 
+-	InputUpdateFromConstantx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,SurfaceAbsVelMisfitEnum,InversionCostFunctionEnum);
++
++	int costfunction=SurfaceAbsVelMisfitEnum;
++	femmodel->parameters->SetParam(&costfunction,1,1,StepResponsesEnum);
+ 	InputUpdateFromVectorx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,X,MaterialsRheologyBbarEnum,VertexEnum);
+ 	adjointdiagnostic_core(user->femmodel);
+ 	Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, MaterialsRheologyBbarEnum);
Index: /issm/oecreview/Archive/11250-11268/ISSM-DocReview-11250-11268.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/ISSM-DocReview-11250-11268.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/ISSM-DocReview-11250-11268.tex	(revision 11514)
@@ -0,0 +1,67 @@
+\documentclass[]{report}   % list options between brackets
+\usepackage{graphicx}              % list packages between braces
+
+% type user-defined commands here
+
+\begin{document}
+
+\title{JPL EXPORT ADMINISTRATION \\ DOCUMENT REVIEW RECORD}   % type title between braces
+\author{Tom Scavo}         % type author(s) between braces
+\date{October 27, 1995}    % type date between braces
+%\maketitle
+
+
+\begin{center}
+\begin{tabular}{ |c|c| }
+\hline
+JPL EXPORT ADMINISTRATION \\
+\textit{ DOCUMENT REVIEW RECORD} \\
+\hline
+\end{tabular}
+\end{center}
+
+\hfill Log \#: \underline{\input{LogNumber}}
+
+\vspace{1cm}
+\noindent (Note: This form and process do not replace the procedures described in JPL Policy relating to review and approval of proposals and contractual 
+documents. This process is intended to document the review and coordination of requests to ascertain the export control ramifications relating to specific 
+documents. Export Administration signature does not convey authority to export or release the "Exporter of Record" from any export laws or regulations.)\\
+
+\noindent \textbf{Program:} \underline{ISSM: Ice Sheet System Model} \\ \\
+\noindent \textbf{Person Requesting or Initiating Export}: \underline{Dr. Eric Larour}\\ \\
+\noindent \textbf{Date Received}: \underline{\input{Date}}\\ \\
+\noindent \textbf{Document Title/Description}: ISSM changes from revision \input{r1} to revision \input{r2} \\ \\
+\noindent \textbf{Release to:} \underline{http://issm.ess.uci.edu/svn/issm/issm/trunk on ISSM svn repository}\\ \\
+\noindent \textbf{JPL Intranet:} \underline{murdo.jpl.nasa.gov/proj/ice/larour/issm-uci/trunk-jpl}\\ \\
+
+\noindent \textbf{Disposition: 6 } 
+Does not contain export-controlled information. May be released/disclosed as requested subject to 
+Company guidelines on protection of proprietary information (if applicable). \\
+
+\noindent \textbf{Comments:}  see table of changes below. \\ \\
+\noindent \textbf{Reviewed by ISSM Export Transfer Liaison:} Dr. Eric Larour \hfill \textbf{Date:} \input{Date} \\ 
+\includegraphics[scale=1]{signature.eps}
+
+\noindent JPL Export Administration Form TBS – June 29, 2011
+
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+\noindent \textbf{Disposition:} \\
+1:	  Public Domain Information (Ref ITAR Section 120.11) \\
+2:	  Qualifies for ITAR Exemption				 \\
+3:	  Covered by Department of State License/Agreement Number					  \\
+4:	  Covered by Department of Commerce validated license or exception				 \\
+5:	  New License Required \\
+6:	  Does not contain export-controlled information.  May be released/disclosed as requested subject
+   to Company guidelines on protection of proprietary information (if applicable). \\
+7:	 Other (specify)   
+\begin{center}
+\line(1,0){250}
+\end{center}
+
+
+\input{log}
+
+\end{document}
Index: /issm/oecreview/Archive/11250-11268/LogNumber.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/LogNumber.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/LogNumber.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11250-11268
Index: /issm/oecreview/Archive/11250-11268/Makefile
===================================================================
--- /issm/oecreview/Archive/11250-11268/Makefile	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/Makefile	(revision 11514)
@@ -0,0 +1,11 @@
+name=ISSM-DocReview-11250-11268
+
+
+all: 
+	latex $(name).tex
+	dvips $(name).dvi
+	ps2pdf $(name).ps  $(name).pdf
+	rm -rf *.dvi *.log *.aux *.ps
+
+clean:
+	rm -rf *.dvi *.log *.aux
Index: /issm/oecreview/Archive/11250-11268/log.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/log.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/log.tex	(revision 11514)
@@ -0,0 +1,36 @@
+\noindent \textbf{Change \#1} with diff file ISSM-11250-11251.diff: \\ Function name: \\M /issm/trunk-jpl/src/ad/wrappers.txt \\ Export determination: 6. \\Rationale: text: removed duplicate from list
+M /issm/trunk-jpl/src/ad/wrappers.txt added KSPSetUp (enables monitoring) to list of PETSC routines \\\\
+\noindent \textbf{Change \#2} with diff file ISSM-11251-11252.diff: \\ Function name: \\M /issm/trunk-jpl/src/ad/wrappers.txt \\ Export determination: 6. \\Rationale: added KSPSetUp (enables monitoring) to list of PETSC routines
+M /issm/trunk-jpl/src/mex/Solver/Solver.cpp text: no->not \\\\
+\noindent \textbf{Change \#3} with diff file ISSM-11252-11253.diff: \\ Function name: \\M /issm/trunk-jpl/src/mex/Solver/Solver.cpp \\ Export determination: 6. \\Rationale: text: no->not
+M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp added waterfraction in possible input of penta \\\\
+\noindent \textbf{Change \#4} with diff file ISSM-11253-11254.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp \\ Export determination: 6. \\Rationale: added waterfraction in possible input of penta
+M /issm/trunk-jpl/test/NightlyRun/runme.m M /issm/trunk-jpl/test/NightlyRun/test1502.m add more elements to prevent crash \\\\
+\noindent \textbf{Change \#5} with diff file ISSM-11254-11255.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/runme.m M /issm/trunk-jpl/test/NightlyRun/test1502.m \\ Export determination: 6. \\Rationale: add more elements to prevent crash
+M /issm/trunk-jpl/test/Archives/Archive1501.mat M /issm/trunk-jpl/test/Archives/Archive1502.mat newest tranforcing runs \\\\
+\noindent \textbf{Change \#6} with diff file ISSM-11255-11256.diff: \\ Function name: \\M /issm/trunk-jpl/test/Archives/Archive1501.mat M /issm/trunk-jpl/test/Archives/Archive1502.mat \\ Export determination: 6. \\Rationale: newest tranforcing runs
+M /issm/trunk-jpl/test/NightlyRun/test266.m minor tolerance \\\\
+\noindent \textbf{Change \#7} with diff file ISSM-11256-11257.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/test266.m \\ Export determination: 6. \\Rationale: minor tolerance
+M /issm/trunk-jpl/test/NightlyRun/test218.m minor, tolerances \\\\
+\noindent \textbf{Change \#8} with diff file ISSM-11257-11258.diff: \\ Function name: \\M /issm/trunk-jpl/test/NightlyRun/test218.m \\ Export determination: 6. \\Rationale: minor, tolerances
+A /issm/trunk-jpl/src/c/modules/SmearFunctionx A /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp A /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.h Preliminary SmearFunction routine \\\\
+\noindent \textbf{Change \#9} with diff file ISSM-11258-11259.diff: \\ Function name: \\A /issm/trunk-jpl/src/c/modules/SmearFunctionx A /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp A /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.h \\ Export determination: 6. \\Rationale: Preliminary SmearFunction routine
+M /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp Preliminary. \\\\
+\noindent \textbf{Change \#10} with diff file ISSM-11259-11260.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/modules/SmearFunctionx/SmearFunctionx.cpp \\ Export determination: 6. \\Rationale: Preliminary.
+M /issm/trunk-jpl/src/c/objects/Elements/Element.h M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.h M /issm/trunk-jpl/src/c/objects/Elements/Tria.cpp M /issm/trunk-jpl/src/c/objects/Elements/Tria.h Preliminary for smear functions. \\\\
+\noindent \textbf{Change \#11} with diff file ISSM-11260-11261.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Elements/Element.h M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp M /issm/trunk-jpl/src/c/objects/Elements/Penta.h M /issm/trunk-jpl/src/c/objects/Elements/Tria.cpp M /issm/trunk-jpl/src/c/objects/Elements/Tria.h \\ Export determination: 6. \\Rationale: Preliminary for smear functions.
+M /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp some data needed to update penta for enthalpy model \\\\
+\noindent \textbf{Change \#12} with diff file ISSM-11261-11262.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp \\ Export determination: 6. \\Rationale: some data needed to update penta for enthalpy model
+M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp started to work on enthalpy \\\\
+\noindent \textbf{Change \#13} with diff file ISSM-11262-11263.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/objects/Elements/Penta.cpp \\ Export determination: 6. \\Rationale: started to work on enthalpy
+M /issm/trunk-jpl/externalpackages/tao/install.sh D /issm/trunk-jpl/externalpackages/tao/tao-1.10.1-p1.tar.gz A /issm/trunk-jpl/externalpackages/tao/tao-2.0.tar.gz Installed TAO 2.0 \\\\
+\noindent \textbf{Change \#14} with diff file ISSM-11263-11264.diff: \\ Function name: \\M /issm/trunk-jpl/externalpackages/tao/install.sh D /issm/trunk-jpl/externalpackages/tao/tao-1.10.1-p1.tar.gz A /issm/trunk-jpl/externalpackages/tao/tao-2.0.tar.gz \\ Export determination: 6. \\Rationale: Installed TAO 2.0
+M /issm/trunk-jpl/src/m/utils/consistency/checkfield.m check field: < for vectors also \\\\
+\noindent \textbf{Change \#15} with diff file ISSM-11264-11265.diff: \\ Function name: \\M /issm/trunk-jpl/src/m/utils/consistency/checkfield.m \\ Export determination: 6. \\Rationale: check field: < for vectors also
+M /issm/trunk-jpl/src/m/classes/thermal.m minor changes in thermal class for enthalpy \\\\
+\noindent \textbf{Change \#16} with diff file ISSM-11265-11266.diff: \\ Function name: \\M /issm/trunk-jpl/src/m/classes/thermal.m \\ Export determination: 6. \\Rationale: minor changes in thermal class for enthalpy
+M /issm/trunk-jpl/m4/issm\_options.m4 new compilation flags for tao \\\\
+\noindent \textbf{Change \#17} with diff file ISSM-11266-11267.diff: \\ Function name: \\M /issm/trunk-jpl/m4/issm\_options.m4 \\ Export determination: 6. \\Rationale: new compilation flags for tao
+M /issm/trunk-jpl/src/c/solutions/controltao\_core.cpp M /issm/trunk-jpl/src/c/solutions/issm.cpp new TAO interface \\\\
+\noindent \textbf{Change \#18} with diff file ISSM-11267-11268.diff: \\ Function name: \\M /issm/trunk-jpl/src/c/solutions/controltao\_core.cpp M /issm/trunk-jpl/src/c/solutions/issm.cpp \\ Export determination: 6. \\Rationale: new TAO interface
+M /issm/trunk-jpl/src/c/solutions/controltao\_core.cpp minor tao initialization \\\\
Index: /issm/oecreview/Archive/11250-11268/r1.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/r1.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/r1.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11250
Index: /issm/oecreview/Archive/11250-11268/r2.tex
===================================================================
--- /issm/oecreview/Archive/11250-11268/r2.tex	(revision 11514)
+++ /issm/oecreview/Archive/11250-11268/r2.tex	(revision 11514)
@@ -0,0 +1,1 @@
+11268
