Index: /issm/trunk/src/c/solutions/issm.cpp
===================================================================
--- /issm/trunk/src/c/solutions/issm.cpp	(revision 5962)
+++ /issm/trunk/src/c/solutions/issm.cpp	(revision 5963)
@@ -42,5 +42,5 @@
 
 	/*Initialize Petsc and get start time*/
-	int ierr=PetscInitialize(&argc,&argv,"petsc.rc","");  
+	int ierr=PetscInitialize(&argc,&argv,argv[4],"");  
 	if(ierr) ISSMERROR("Could not initialize Petsc");
 	MPI_Barrier(MPI_COMM_WORLD); start=MPI_Wtime();
@@ -53,6 +53,7 @@
 	solution_type=StringToEnum(argv[1]);
 	inputfilename=argv[3];
-	outputfilename=argv[4];
-	lockname=argv[5];
+	outputfilename=argv[5];
+	printf("output = %s\n",outputfilename);
+	lockname=argv[6];
 
 	MPI_Barrier(MPI_COMM_WORLD); start_init=MPI_Wtime();
Index: /issm/trunk/src/m/clusters/astrid.m
===================================================================
--- /issm/trunk/src/m/clusters/astrid.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/astrid.m	(revision 5963)
@@ -48,8 +48,8 @@
 		fprintf(fid,'#!/bin/sh\n');
 		if mem_debug==0,
-			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		else
-			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
-			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		end
 
Index: /issm/trunk/src/m/clusters/castor.m
===================================================================
--- /issm/trunk/src/m/clusters/castor.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/castor.m	(revision 5963)
@@ -56,5 +56,5 @@
 		fprintf(fid,'cd $PBS_O_WORKDIR\n');
 		fprintf(fid,'export OMP_NUM_THREADS=1\n');
-		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname);
+		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname);
 
 		%close file
@@ -69,5 +69,2 @@
 	end
 end
-
-
-
Index: /issm/trunk/src/m/clusters/cosmos.m
===================================================================
--- /issm/trunk/src/m/clusters/cosmos.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/cosmos.m	(revision 5963)
@@ -55,5 +55,5 @@
 		fprintf(fid,'ulimit -s unlimited\n');
 		fprintf(fid,'ulimit -c 0\n');
-		fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname);
+		fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname);
 
 		%close file
Index: /issm/trunk/src/m/clusters/eric-mac.m
===================================================================
--- /issm/trunk/src/m/clusters/eric-mac.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/eric-mac.m	(revision 5963)
@@ -48,8 +48,8 @@
 		fprintf(fid,'#!/bin/sh\n');
 		if mem_debug==0,
-			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		else
-			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
-			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		end
 
Index: /issm/trunk/src/m/clusters/gemini.m
===================================================================
--- /issm/trunk/src/m/clusters/gemini.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/gemini.m	(revision 5963)
@@ -56,5 +56,5 @@
 		fprintf(fid,'cd $PBS_O_WORKDIR\n');
 		fprintf(fid,'export OMP_NUM_THREADS=1\n');
-		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname);
+		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname);
 
 		%close file
Index: /issm/trunk/src/m/clusters/larsen.m
===================================================================
--- /issm/trunk/src/m/clusters/larsen.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/larsen.m	(revision 5963)
@@ -48,8 +48,8 @@
 		fprintf(fid,'#!/bin/sh\n');
 		if mem_debug==0,
-			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		else
-			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
-			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		end
 
Index: /issm/trunk/src/m/clusters/pfe.m
===================================================================
--- /issm/trunk/src/m/clusters/pfe.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/pfe.m	(revision 5963)
@@ -88,5 +88,5 @@
 			fprintf(fid,'cd $PBS_O_WORKDIR\n\n');
 
-			fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.outbin %s.lock',md.np,md.codepath,EnumToString(analysis_type),modelname,modelname,modelname);
+			fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock',md.np,md.codepath,EnumToString(analysis_type),modelname,modelname,modelname,modelname);
 
 			%close file
Index: /issm/trunk/src/m/clusters/pollux.m
===================================================================
--- /issm/trunk/src/m/clusters/pollux.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/pollux.m	(revision 5963)
@@ -56,5 +56,5 @@
 		fprintf(fid,'cd $PBS_O_WORKDIR\n');
 		fprintf(fid,'export OMP_NUM_THREADS=1\n');
-		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname);
+		fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',md.np-1,md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname);
 
 		%close file
Index: /issm/trunk/src/m/clusters/wilkes.m
===================================================================
--- /issm/trunk/src/m/clusters/wilkes.m	(revision 5962)
+++ /issm/trunk/src/m/clusters/wilkes.m	(revision 5963)
@@ -48,8 +48,8 @@
 		fprintf(fid,'#!/bin/sh\n');
 		if mem_debug==0,
-			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'mpirun -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.np,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		else
-			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
-			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname);
+			%fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup,md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+			fprintf(fid,'LD_PRELOAD=%s mpirun -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog & ',md.valgrindlib,md.np,md.valgrind,md.valgrindsup, md.codepath,EnumToString(analysis_type),md.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
 		end
 
Index: /issm/trunk/src/m/model/LaunchQueueJob.m
===================================================================
--- /issm/trunk/src/m/model/LaunchQueueJob.m	(revision 5962)
+++ /issm/trunk/src/m/model/LaunchQueueJob.m	(revision 5963)
@@ -21,5 +21,5 @@
 	
 	%compress the files into one zip.
-	compressstring=['tar -zcf ' md.runtimename '.tar.gz ' md.name '.bin ' md.name '.queue petsc.rc '];
+	compressstring=['tar -zcf ' md.runtimename '.tar.gz ' md.name '.bin ' md.name '.queue '  md.name '.petsc '];
 	if md.qmu_analysis,
 		compressstring=[compressstring md.name '.qmu.in'];
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 5962)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 5963)
@@ -109,5 +109,5 @@
 %FIELDS >= 0 {{{1
 fields={'numberofelements','numberofgrids','elements','drag_coefficient','drag_type','drag_p','drag_q',...
-	'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter','tolx','exclusive',...
+	'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter','tolx',...
 	'sparsity','lowmem','rheology_n','gridonbed','gridonsurface','elementonbed','elementonsurface','deltaH','DeltaH','timeacc','timedec'};
 checkgreater(md,fields,0);
Index: /issm/trunk/src/m/model/loadresultsfromcluster.m
===================================================================
--- /issm/trunk/src/m/model/loadresultsfromcluster.m	(revision 5962)
+++ /issm/trunk/src/m/model/loadresultsfromcluster.m	(revision 5963)
@@ -70,5 +70,5 @@
 		delete([md.name '.bin']);
 		delete([md.name '.queue']);
-		delete('petsc.rc');
+		delete([md.name '.petsc']);
 	end
 end
Index: /issm/trunk/src/m/model/presolve.m
===================================================================
--- /issm/trunk/src/m/model/presolve.m	(revision 5962)
+++ /issm/trunk/src/m/model/presolve.m	(revision 5963)
@@ -35,3 +35,3 @@
 
 %deal with petsc options
-md.petscrc=PetscOptions2PetscRc(md.petscoptions,'petsc.rc');
+md.petscrc=PetscOptions2PetscRc(md.petscoptions,[md.name '.petsc']);
