Index: /issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp
===================================================================
--- /issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp	(revision 9560)
+++ /issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp	(revision 9561)
@@ -81,5 +81,5 @@
 
 
-	/*Free ressources:{{{1*/
+	/*Free ressources*/
 	xfree((void**)&analyses);
 	for(i=0;i<numanalyses;i++){
@@ -88,5 +88,4 @@
 	}
 	xfree((void**)&strings);
-	/*}}}*/
 
 }
Index: /issm/trunk/src/c/solutions/issm.cpp
===================================================================
--- /issm/trunk/src/c/solutions/issm.cpp	(revision 9560)
+++ /issm/trunk/src/c/solutions/issm.cpp	(revision 9561)
@@ -5,5 +5,5 @@
 #include "./issm.h"
 
-int main(int argc,char* *argv){
+int main(int argc,char  **argv){
 
 	/*MPI: */
@@ -14,5 +14,4 @@
 	FILE *output_fid       = NULL;
 	FILE *petscoptionsfid  = NULL;
-	char *lockname         = NULL;
 	bool  qmu_analysis     = false;
 	bool  control_analysis = false;
@@ -27,4 +26,11 @@
 	int  numanalyses;
 	int  solution_type;
+
+	/*File names*/
+	char *modelname      = NULL;
+	char *lockfilename   = NULL;
+	char *binfilename    = NULL;
+	char *outbinfilename = NULL;
+	char *petscfilename  = NULL;
 
 	/*time*/
@@ -48,9 +54,14 @@
 	MPI_Comm_size(MPI_COMM_WORLD,&num_procs); 
 
-	/*First check number of inputs*/
+	/*First process inputs*/
 	_printf_(true,"Launching solution sequence\n");
 	if(argc<2)_error_("Usage error: no solution requested");
 	solution_type=StringToEnumx(argv[1]);
-	lockname=argv[6];
+	if(argc<3)_error_("Usage error: missing model name");
+	modelname=argv[3];
+	binfilename    = (char*)xmalloc((strlen(modelname)+strlen(".bin")   +1)*sizeof(char)); sprintf(binfilename,   "%s%s",modelname,".bin");
+	outbinfilename = (char*)xmalloc((strlen(modelname)+strlen(".outbin")+1)*sizeof(char)); sprintf(outbinfilename,"%s%s",modelname,".outbin");
+	petscfilename  = (char*)xmalloc((strlen(modelname)+strlen(".petsc") +1)*sizeof(char)); sprintf(petscfilename, "%s%s",modelname,".petsc");
+	lockfilename   = (char*)xmalloc((strlen(modelname)+strlen(".lock")  +1)*sizeof(char)); sprintf(lockfilename,  "%s%s",modelname,".lock");
 
 	MPI_Barrier(MPI_COMM_WORLD); start_init=MPI_Wtime();
@@ -61,14 +72,14 @@
 
 	/*Create femmodel, using input file: */
-	femmodel=new FemModel(argv[3] /*input*/,argv[5] /*output*/,solution_type,analyses,numanalyses);
+	femmodel=new FemModel(binfilename,outbinfilename,solution_type,analyses,numanalyses);
 
 	/*Open output file once for all*/
-	output_fid=pfopen(argv[5],"wb");
+	output_fid=pfopen(outbinfilename,"wb");
 	femmodel->parameters->SetParam(output_fid,OutputFilePointerEnum);
 
 	/*add petsc options to parameters: */
-	petscoptionsfid=pfopen(argv[4],"r");
+	petscoptionsfid=pfopen(petscfilename,"r");
 	ParsePetscOptionsx(femmodel->parameters,petscoptionsfid);
-	pfclose(petscoptionsfid,argv[4]);
+	pfclose(petscoptionsfid,petscfilename);
 
 	/*get parameters: */
@@ -114,12 +125,16 @@
 
 	/*Close output and petsc options file and write lock file if requested*/
-	pfclose(output_fid,argv[5]);
+	pfclose(output_fid,lockfilename);
 	if (waitonlock>0){
 		_printf_(true,"write lock file:\n");
-		WriteLockFile(lockname);
+		WriteLockFile(lockfilename);
 	}
 
 	/*Free ressources */
 	xfree((void**)&analyses);
+	xfree((void**)&lockfilename);
+	xfree((void**)&binfilename);
+	xfree((void**)&outbinfilename);
+	xfree((void**)&petscfilename);
 	delete femmodel;
 
Index: sm/trunk/src/m/classes/clusters/astrid.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/astrid.m	(revision 9560)
+++ 	(revision )
@@ -1,37 +1,0 @@
-%ASTRID class definition
-%
-%   Usage:
-%      cluster=astrid();
-%      cluster=astrid('np',3);
-%      cluster=astrid('np',3,'login','username');
-
-classdef astrid
-    properties (SetAccess=public) 
-		 % {{{1
-		 name='astrid';
-		 login='';
-		 np=15;
-		 port=0;
-		 interactive=1;
-		 codepath=[issmtier() '/bin'];
-		 executionpath=[issmdir() '/execution'];
-		 valgrind=[issmtier() '/externalpackages/valgrind/install/bin/valgrind'];
-		 valgrindlib=[issmtier() '/externalpackages/valgrind/install/lib/libmpidebug.so'];
-		 valgrindsup=[issmtier() '/externalpackages/valgrind/issm.supp'];
-
-		 %}}}
-	 end
-	 methods
-		 function cluster=astrid(varargin) % {{{1
-		 
-			 disp( '!!! ');
-			 disp( '!!! WARNING');
-			 disp(['!!! ''astrid'' is now deprecated. Please use the generic cluster instead']);
-			 disp(['!!! ''generic'' uses the same properties as ''astrid'' but the option ''name'' is now mandatory:']);
-			 disp(['!!!    Ex:  md.cluster=generic(''name'',oshostname,''np'',3);']);
-			 disp( '!!! ');
-			 error('''astrid'' not supported anymore');
-		 end
-		 %}}}
-	end
-end
Index: /issm/trunk/src/m/classes/clusters/castor.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/castor.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/castor.m	(revision 9561)
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/cosmos.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/cosmos.m	(revision 9561)
@@ -77,5 +77,5 @@
 			 fprintf(fid,'ulimit -s unlimited\n');
 			 fprintf(fid,'ulimit -c 0\n');
-			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s',cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/gemini.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/gemini.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/gemini.m	(revision 9561)
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/clusters/generic.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/generic.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/generic.m	(revision 9561)
@@ -83,14 +83,14 @@
 			 if mem_debug==0,
 				 if cluster.interactive
-					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock ',...
-						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s ',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
 				 else
-					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock  2> %s.errlog >%s.outlog ',...
-						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+					 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
+						 cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
 				 end
 			 else
-				 %fprintf(fid,'LD_PRELOAD=%s mpiexec -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 ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
-				 fprintf(fid,'LD_PRELOAD=%s mpiexec -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 ',...
-					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname,modelname,modelname);
+				 %fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
+				 fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
+					 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname);
 			 end
 
Index: /issm/trunk/src/m/classes/clusters/pfe.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pfe.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/pfe.m	(revision 9561)
@@ -138,5 +138,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.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname,modelname,modelname,modelname);
+			 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
 
 			 if ~md.io_gather,
@@ -147,5 +147,4 @@
 			 %close file
 			 fclose(fid);
-
 
 			 %in interactive mode, create a run file, and errlog and outlog file
@@ -153,7 +152,7 @@
 				 fid=fopen([modelname '.run'],'w');
 				 if ~mem_debug,
-					 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname,modelname,modelname,modelname);
-				 else
-					 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s.bin %s.petsc %s.outbin %s.lock\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname,modelname,modelname,modelname);
+					 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
+				 else
+					 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution_type),modelname);
 				 end
 
Index: /issm/trunk/src/m/classes/clusters/pollux.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/pollux.m	(revision 9560)
+++ /issm/trunk/src/m/classes/clusters/pollux.m	(revision 9561)
@@ -78,5 +78,5 @@
 			 fprintf(fid,'cd $PBS_O_WORKDIR\n');
 			 fprintf(fid,'export OMP_NUM_THREADS=1\n');
-			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s.bin %s.petsc %s.outbin %s.lock',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname,modelname,modelname,modelname);
+			 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution_type),cluster.executionpath,modelname);
 
 			 %close file
Index: /issm/trunk/src/m/classes/model/model.m
===================================================================
--- /issm/trunk/src/m/classes/model/model.m	(revision 9560)
+++ /issm/trunk/src/m/classes/model/model.m	(revision 9561)
@@ -204,5 +204,4 @@
 		 output_frequency               = modelfield('default',0,'marshall',true,'format','Integer');
 		 results_on_vertices            = modelfield('default',0,'marshall',true,'format','Boolean');
-		 outputfilename                 = modelfield('default','','marshall',true,'format','String');
 		 results                        = modelfield('default',struct(),'marshall',false);
 		 vx                             = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
Index: /issm/trunk/src/m/model/presolve.m
===================================================================
--- /issm/trunk/src/m/model/presolve.m	(revision 9560)
+++ /issm/trunk/src/m/model/presolve.m	(revision 9561)
@@ -4,7 +4,4 @@
 %   Usage:
 %      md=presolve(md)
-
-%deal with outputfilename and inputfilename
-md.outputfilename=[md.name '.outbin'];
 
 %deal with rifts.
Index: /issm/trunk/src/m/model/solve.m
===================================================================
--- /issm/trunk/src/m/model/solve.m	(revision 9560)
+++ /issm/trunk/src/m/model/solve.m	(revision 9561)
@@ -60,5 +60,4 @@
 marshall(md);
 
-
 %write a template file for issm to use, in parallel
 PetscOptions2PetscFile(md.petscoptions,[md.name '.petsc']);
