Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/convergence.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/convergence.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/convergence.cpp	(revision 13036)
@@ -71,7 +71,7 @@
 	res=nKUoldF/nF;
 	if (xIsNan<IssmDouble>(res)){
 		_pprintLine_("norm nf = " << nF << "f and norm kuold = " << nKUoldF << "f");
-		_error2_("mechanical equilibrium convergence criterion is NaN!");
+		_error_("mechanical equilibrium convergence criterion is NaN!");
 	}
 
 	//clean up
@@ -95,7 +95,7 @@
 		duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
 		ndu=duf->Norm(NORM_TWO); nu=old_uf->Norm(NORM_TWO);
 
-		if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error2_("convergence criterion is NaN!");
+		if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
 
 		//clean up
 		xdelete(&duf);
@@ -120,7 +120,7 @@
 		//compute max(du)
 		duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
 		ndu=duf->Norm(NORM_TWO); nduinf=duf->Norm(NORM_INF);
-		if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error2_("convergence criterion is NaN!");
+		if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
 
 		//clean up
 		xdelete(&duf);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/CorePointerFromSolutionEnum.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/CorePointerFromSolutionEnum.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/CorePointerFromSolutionEnum.cpp	(revision 13036)
@@ -28,74 +28,74 @@
 			#ifdef _HAVE_DIAGNOSTIC_
 			solutioncore=&diagnostic_core;
 			#else
-			_error2_("ISSM was not compiled with diagnostic capabilities. Exiting");
+			_error_("ISSM was not compiled with diagnostic capabilities. Exiting");
 			#endif
 			break;
 		case SteadystateSolutionEnum:
 			#ifdef _HAVE_STEADYSTATE_
 			solutioncore=&steadystate_core;
 			#else
-			_error2_("ISSM was not compiled with steady state capabilities. Exiting");
+			_error_("ISSM was not compiled with steady state capabilities. Exiting");
 			#endif
 			break;
 		case ThermalSolutionEnum:
 			#ifdef _HAVE_THERMAL_
 			solutioncore=&thermal_core;
 			#else
-			_error2_("ISSM was not compiled with thermal capabilities. Exiting");
+			_error_("ISSM was not compiled with thermal capabilities. Exiting");
 			#endif
 			break;
 		case EnthalpySolutionEnum:
 			#ifdef _HAVE_THERMAL_
 			solutioncore=&enthalpy_core;
 			#else
-			_error2_("ISSM was not compiled with thermal capabilities. Exiting");
+			_error_("ISSM was not compiled with thermal capabilities. Exiting");
 			#endif
 			break;
 		case BalancethicknessSolutionEnum:
 			#ifdef _HAVE_BALANCED_
 			solutioncore=&balancethickness_core;
 			#else
-			_error2_("ISSM was not compiled with balanced capabilities. Exiting");
+			_error_("ISSM was not compiled with balanced capabilities. Exiting");
 			#endif
 			break;
 		case HydrologySolutionEnum:
 			#ifdef _HAVE_HYDROLOGY_
 			solutioncore=&hydrology_core;
 			#else
-			_error2_("ISSM was not compiled with hydrology capabilities. Exiting");
+			_error_("ISSM was not compiled with hydrology capabilities. Exiting");
 			#endif
 			break;
 		case SurfaceSlopeSolutionEnum:
 			#ifdef _HAVE_SLOPE_
 			solutioncore=&surfaceslope_core;
 			#else
-			_error2_("ISSM was not compiled with slope capabilities. Exiting");
+			_error_("ISSM was not compiled with slope capabilities. Exiting");
 			#endif
 			break;
 		case BedSlopeSolutionEnum:
 			#ifdef _HAVE_SLOPE_
 			solutioncore=&bedslope_core;
 			#else
-			_error2_("ISSM was not compiled with slope capabilities. Exiting");
+			_error_("ISSM was not compiled with slope capabilities. Exiting");
 			#endif
 			break;
 		case TransientSolutionEnum:
 			#ifdef _HAVE_TRANSIENT_
 			solutioncore=&transient_core;
 			#else
-			_error2_("ISSM was not compiled with transient capabilities. Exiting");
+			_error_("ISSM was not compiled with transient capabilities. Exiting");
 			#endif
 			break;
 		case PrognosticSolutionEnum:
 			#ifdef _HAVE_PROGNOSTIC_
 			solutioncore=&prognostic_core;
 			#else
-			_error2_("ISSM was not compiled with prognostic capabilities. Exiting");
+			_error_("ISSM was not compiled with prognostic capabilities. Exiting");
 			#endif
 			break;
 		default:
-			_error2_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
+			_error_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
 			break;
 	}
 	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/steadystate_core.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/steadystate_core.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/steadystate_core.cpp	(revision 13036)
@@ -51,7 +51,7 @@
 			enthalpy_core(femmodel);
 		}
 		#else
-		_error2_("ISSM was not compiled with thermal capabilities. Exiting");
+		_error_("ISSM was not compiled with thermal capabilities. Exiting");
 		#endif
 
 		if(VerboseSolution()) _pprintLine_("   computing new velocity");
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/WriteLockFile.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/WriteLockFile.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/WriteLockFile.cpp	(revision 13036)
@@ -16,10 +16,10 @@
 	/* Open lock file and write 1 into it: */
 	if(my_rank==0){
 		fid=fopen(filename,"w");
-		if(fid==NULL) _error2_("error message: could not open lock file " << filename);
+		if(fid==NULL) _error_("error message: could not open lock file " << filename);
 
 		/*Close file: */
-		if(fclose(fid)!=0) _error2_("could not close lock file " << filename);
+		if(fclose(fid)!=0) _error_("could not close lock file " << filename);
 	}
 
 }	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/ProcessArguments.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/ProcessArguments.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/ProcessArguments.cpp	(revision 13036)
@@ -16,9 +16,9 @@
 	char *petscfilename  = NULL;
 	char *lockfilename   = NULL;
 
-	if(argc<2)_error2_("Usage error: no solution requested");
+	if(argc<2)_error_("Usage error: no solution requested");
 	*solution_type=StringToEnumx(argv[1]);
-	if(argc<3)_error2_("Usage error: missing model name");
+	if(argc<3)_error_("Usage error: missing model name");
 	modelname=argv[3];
 	binfilename    = xNew<char>(strlen(modelname)+strlen(".bin")   +1); sprintf(binfilename,   "%s%s",modelname,".bin");
 	outbinfilename = xNew<char>(strlen(modelname)+strlen(".outbin")+1); sprintf(outbinfilename,"%s%s",modelname,".outbin");
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/gradient_core.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/gradient_core.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/gradient_core.cpp	(revision 13036)
@@ -36,8 +36,8 @@
 
 	/*Check that gradient is clean*/
 	norm_inf=new_gradient->Norm(NORM_INF);
-	if(norm_inf<=0)    _error2_("||∂J/∂α||∞ = 0    gradient norm is zero");
-	if(xIsNan<IssmDouble>(norm_inf))_error2_("||∂J/∂α||∞ = NaN  gradient norm is NaN");
+	if(norm_inf<=0)    _error_("||∂J/∂α||∞ = 0    gradient norm is zero");
+	if(xIsNan<IssmDouble>(norm_inf))_error_("||∂J/∂α||∞ = NaN  gradient norm is NaN");
 
 	/*plug back into inputs: */
 	ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,new_gradient);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp	(revision 13036)
@@ -34,7 +34,7 @@
 			adjointcore=&adjointbalancethickness_core;
 			break;
 		default:
-			_error2_("No adjoint has been implemented for solution " << EnumToStringx(solutiontype) << " yet");
+			_error_("No adjoint has been implemented for solution " << EnumToStringx(solutiontype) << " yet");
 			break;
 	}
 	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AnalysisConfiguration.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AnalysisConfiguration.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/AnalysisConfiguration.cpp	(revision 13036)
@@ -109,7 +109,7 @@
 			break;
 		
 		default:
-			_error2_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
+			_error_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
 			break;
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/issm.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/issm.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/issm.cpp	(revision 13036)
@@ -52,7 +52,7 @@
 	/*Initialize environments: Petsc, MPI, etc...: */
 	#ifdef _HAVE_PETSC_
 	ierr=PetscInitialize(&argc,&argv,(char*)0,"");  
-	if(ierr) _error2_("Could not initialize Petsc");
+	if(ierr) _error_("Could not initialize Petsc");
 	#else
 	#ifdef _HAVE_MPI_
 	MPI_Init(&argc,&argv);
@@ -127,7 +127,7 @@
 		#ifdef _HAVE_DAKOTA_
 		Dakotax(femmodel);
 		#else
-		_error2_("ISSM was not compiled with dakota support, cannot carry out dakota analysis!");
+		_error_("ISSM was not compiled with dakota support, cannot carry out dakota analysis!");
 		#endif
 	}
 	else if(control_analysis){
@@ -137,7 +137,7 @@
 		else
 		 control_core(femmodel);
 		#else
-		_error2_("ISSM was not compiled with control support, cannot carry out dakota analysis!");
+		_error_("ISSM was not compiled with control support, cannot carry out dakota analysis!");
 		#endif
 	}
 	else{
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/transient_core.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/transient_core.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/transient_core.cpp	(revision 13036)
@@ -103,7 +103,7 @@
 				enthalpy_core(femmodel);
 			}
 			#else
-			_error2_("ISSM was not compiled with thermal capabilities. Exiting");
+			_error_("ISSM was not compiled with thermal capabilities. Exiting");
 			#endif
 		}
 		
@@ -112,7 +112,7 @@
 			#ifdef _HAVE_DIAGNOSTIC_
 			diagnostic_core(femmodel);
 			#else
-			_error2_("ISSM was not compiled with diagnostic capabilities. Exiting");
+			_error_("ISSM was not compiled with diagnostic capabilities. Exiting");
 			#endif
 		}
 
@@ -128,7 +128,7 @@
 			#ifdef _HAVE_GROUNDINGLINE_
 			GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
 			#else
-			_error2_("ISSM was not compiled with grounding line migration capabilities. Exiting");
+			_error_("ISSM was not compiled with grounding line migration capabilities. Exiting");
 			#endif
 		}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/objectivefunction.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/objectivefunction.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/objectivefunction.cpp	(revision 13036)
@@ -48,7 +48,7 @@
 		femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
 	}
 	else{
-		_error2_("Solution " << EnumToStringx(solution_type) << " not implemented yet");
+		_error_("Solution " << EnumToStringx(solution_type) << " not implemented yet");
 	}
 
 	/*update parameter according to scalar: */ //false means: do not save control
@@ -65,7 +65,7 @@
 		solver_linear(femmodel); 
 	}
 	else{
-		_error2_("Solution " << EnumToStringx(solution_type) << " not implemented yet");
+		_error_("Solution " << EnumToStringx(solution_type) << " not implemented yet");
 	}
 
 	/*Compute misfit for this velocity field.*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/kriging.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/kriging.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/kriging.cpp	(revision 13036)
@@ -39,7 +39,7 @@
 	/*Initialize environments: Petsc, MPI, etc...: */
 #ifdef _HAVE_PETSC_
 	int ierr=PetscInitialize(&argc,&argv,(char*)0,"");  
-	if(ierr) _error2_("Could not initialize Petsc");
+	if(ierr) _error_("Could not initialize Petsc");
 #else
 #ifdef _HAVE_MPI_
 	MPI_Init(&argc,&argv);
@@ -121,7 +121,7 @@
 	char *outbinfilename = NULL;
 	char *lockfilename   = NULL;
 
-	if(argc<2)_error2_("Usage error: missing model name");
+	if(argc<2)_error_("Usage error: missing model name");
 	modelname=argv[2];
 	binfilename    = xNew<char>((strlen(modelname)+strlen(".bin")   +1)); sprintf(binfilename,   "%s%s",modelname,".bin");
 	outbinfilename = xNew<char>((strlen(modelname)+strlen(".outbin")+1)); sprintf(outbinfilename,"%s%s",modelname,".outbin");
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/controltao_core.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/solutions/controltao_core.cpp	(revision 13036)
@@ -41,7 +41,7 @@
 	int argc; char **args=NULL;
 	PetscGetArgs(&argc,&args);
 	ierr = TaoInitialize(&argc,&args,(char*)0,"");
-	if(ierr) _error2_("Could not initialize Tao");
+	if(ierr) _error_("Could not initialize Tao");
 
 	/*Recover some parameters*/
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
@@ -184,6 +184,6 @@
 
 #else
 void controltao_core(FemModel* femmodel){
-	_error2_("TAO not installed or PETSc version not supported");
+	_error_("TAO not installed or PETSc version not supported");
 }
 #endif //_HAVE_TAO_ 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/OptionParse.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/OptionParse.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/OptionParse.cpp	(revision 13036)
@@ -26,7 +26,7 @@
 
 	/*check and parse the value  */
 	if (!mxIsClass(prhs[0],"double")){
-		_error2_("Value of option \"" << odouble->name  << "\" must be class \"double\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
+		_error_("Value of option \"" << odouble->name  << "\" must be class \"double\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
 	}
 	FetchData(&odouble->values,&odouble->numel,&odouble->ndims,&odouble->size,prhs[0]);
 
@@ -44,7 +44,7 @@
 
 	/*check and parse the value  */
 	if (!mxIsClass(prhs[0],"logical")){
-		_error2_("Value of option \"" << ological->name  << "\" must be class \"logical\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
+		_error_("Value of option \"" << ological->name  << "\" must be class \"logical\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
 	}
 	FetchData(&ological->values,&ological->numel,&ological->ndims,&ological->size,prhs[0]);
 
@@ -62,7 +62,7 @@
 
 	/*check and parse the value  */
 	if (!mxIsClass(prhs[0],"char")){
-		_error2_("Value of option \"" << ochar->name  << "\" must be class \"char\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
+		_error_("Value of option \"" << ochar->name  << "\" must be class \"char\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
 	}
 	FetchData(&ochar->values,&ochar->numel,&ochar->ndims,&ochar->size,prhs[0]);
 
@@ -86,7 +86,7 @@
 
 	/*check and parse the value  */
 	if (!mxIsClass(prhs[0],"struct")){
-		_error2_("Value of option \"" << ostruct->name  << "\" must be class \"struct\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
+		_error_("Value of option \"" << ostruct->name  << "\" must be class \"struct\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
 	}
 	ostruct->numel=mxGetNumberOfElements(prhs[0]);
 	ostruct->ndims=mxGetNumberOfDimensions(prhs[0]);
@@ -132,7 +132,7 @@
 
 	/*check and parse the value  */
 	if (!mxIsClass(prhs[0],"cell")){
-		_error2_("Value of option \"" << ocell->name  << "\" must be class \"cell\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
+		_error_("Value of option \"" << ocell->name  << "\" must be class \"cell\", not class \"" << mxGetClassName(prhs[0]) <<"\".");
 	}
 
 	ocell->numel=mxGetNumberOfElements(prhs[0]);
@@ -180,7 +180,7 @@
 			option=(Option*)OptionStructParse(name,(const mxArray**)lhs);
 			mxDestroyArray(lhs[0]);
 		}
-		else _error2_("Second argument value of option \""<< name <<"\" is of unrecognized class \""<< mxGetClassName(prhs[0]) <<"\".");
+		else _error_("Second argument value of option \""<< name <<"\" is of unrecognized class \""<< mxGetClassName(prhs[0]) <<"\".");
 	}
 
 	return(option);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/CheckNumMatlabArguments.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/CheckNumMatlabArguments.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/CheckNumMatlabArguments.cpp	(revision 13036)
@@ -21,11 +21,11 @@
 		if (NRHS==0 && NLHS==0)return 1;
 		/* special case: */
 		function();
-		_error2_("usage: see above");
+		_error_("usage: see above");
 	}
 	else if (nlhs!=NLHS || nrhs!=NRHS ) {
 		function(); 
-		_error2_("usage error.");
+		_error_("usage error.");
 	}
 	return 1;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/FetchMatlabData.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/FetchMatlabData.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/FetchMatlabData.cpp	(revision 13036)
@@ -47,7 +47,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 			
 	/*Assign output pointers:*/
@@ -88,7 +88,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 			
 	/*Assign output pointers:*/
@@ -133,7 +133,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -175,7 +175,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -237,7 +237,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 			
 	/*Assign output pointers:*/
@@ -268,7 +268,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -300,7 +300,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -332,7 +332,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -364,7 +364,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -380,7 +380,7 @@
 
 	/*Ok, the string should be coming directly from the matlab workspace: */
 	if (!mxIsClass(dataref,"char")){
-		_error2_("input data_type is not a string!");
+		_error_("input data_type is not a string!");
 	}
 	else{
 		/*Recover the string:*/
@@ -415,7 +415,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 			
 	/*Assign output pointers:*/
@@ -433,7 +433,7 @@
 	double scalar;
 
 	if (!mxIsClass(dataref,"double")){
-		_error2_("input data_type is not a double!");
+		_error_("input data_type is not a double!");
 	}
 	else{
 		/*Recover the double: */
@@ -450,7 +450,7 @@
 	int integer;
 
 	if (!mxIsClass(dataref,"double")){
-		_error2_("input data_type is not a scalar!");
+		_error_("input data_type is not a scalar!");
 	}
 	else{
 		/*Recover the double: */
@@ -467,12 +467,12 @@
 	bool* mxbool_ptr=NULL;
 
 	if (mxIsClass(dataref,"logical")){
-		if(mxGetM(dataref)!=1) _error2_("input data is not of size 1x1");
-		if(mxGetN(dataref)!=1) _error2_("input data is not of size 1x1");
+		if(mxGetM(dataref)!=1) _error_("input data is not of size 1x1");
+		if(mxGetN(dataref)!=1) _error_("input data is not of size 1x1");
 		mxbool_ptr=mxGetLogicals(dataref);
 	}
 	else{
-		_error2_("input data_type is not a bool!");
+		_error_("input data_type is not a bool!");
 	}
 
 	*pboolean=*mxbool_ptr;
@@ -494,7 +494,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -518,7 +518,7 @@
 	}
 	else{
 		/*This is an error: we don't have the correct input!: */
-		_error2_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
+		_error_("Input parameter of class " << mxGetClassName(dataref) << " not supported yet");
 	}
 
 	/*Assign output pointers:*/
@@ -619,10 +619,10 @@
 
 	/*Fetch all options*/
 	for (int i=istart; i<nrhs; i=i+2){
-		if (!mxIsClass(pdataref[i],"char")) _error2_("Argument " << i+1 << " must be name of option");
+		if (!mxIsClass(pdataref[i],"char")) _error_("Argument " << i+1 << " must be name of option");
 
 		FetchData(&name,pdataref[i]);
-		if(i+1 == nrhs) _error2_("Argument " << i+2 << " must exist and be value of option \"" << name << "\".");
+		if(i+1 == nrhs) _error_("Argument " << i+2 << " must exist and be value of option \"" << name << "\".");
 
 		option=(Option*)OptionParse(name,&pdataref[i+1]);
 		options->AddOption(option);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabVectorToDoubleVector.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabVectorToDoubleVector.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabVectorToDoubleVector.cpp	(revision 13036)
@@ -45,7 +45,7 @@
 		nnz=mxGetNzmax(mxvector);
 		
 		/*Check that input is actualy a vector*/
-		if (cols!=1) _error2_("input vector of size " << rows << "x" << cols << " should have only one column");
+		if (cols!=1) _error_("input vector of size " << rows << "x" << cols << " should have only one column");
 
 		nz=(int)((double)nnz/(double)rows);
 
@@ -76,7 +76,7 @@
 		cols=mxGetN(mxvector);
 
 		/*Check that input is actualy a vector*/
-		if (cols!=1) _error2_("input vector of size " << rows << "x" << cols << " should have only one column");
+		if (cols!=1) _error_("input vector of size " << rows << "x" << cols << " should have only one column");
 
 		/*allocate and memcpy*/
 		if(rows){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabMatrixToDoubleMatrix.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabMatrixToDoubleMatrix.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/matlab/io/MatlabMatrixToDoubleMatrix.cpp	(revision 13036)
@@ -118,7 +118,7 @@
 		}
 	}
 	else{
-		_error2_("Matlab matrix type Not implemented yet");
+		_error_("Matlab matrix type Not implemented yet");
 	}
 
 	/*Assign output pointer: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/CheckNumPythonArguments.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/CheckNumPythonArguments.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/CheckNumPythonArguments.cpp	(revision 13036)
@@ -26,11 +26,11 @@
 	/*check on requested size: */
 	if (size==0){
 		function();
-		_error2_("usage: see above");
+		_error_("usage: see above");
 	}
 	else if (size!=NRHS ) {
 		function(); 
-		_error2_("usage error.");
+		_error_("usage error.");
 	}
 	return 1;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/FetchPythonData.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/FetchPythonData.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/python/io/FetchPythonData.cpp	(revision 13036)
@@ -47,7 +47,7 @@
 	bool boolean;
 	
 	/*check this is indeed a subtype of long type: */
-	if(!PyBool_Check(py_boolean))_error2_("expecting a boolean in input!");
+	if(!PyBool_Check(py_boolean))_error_("expecting a boolean in input!");
 
 	/*extract boolean: */
 	boolean=(bool)PyLong_AsLong(py_boolean);
@@ -68,7 +68,7 @@
 
 	/*retrive dimensions: */
 	ndim=PyArray_NDIM((const PyArrayObject*)py_matrix);
-	if(ndim!=2)_error2_("expecting an MxN matrix in input!");
+	if(ndim!=2)_error_("expecting an MxN matrix in input!");
 	dims=PyArray_DIMS((PyArrayObject*)py_matrix);
 	M=dims[0]; N=dims[1];
 	
@@ -96,7 +96,7 @@
 
 	/*retrive dimensions: */
 	ndim=PyArray_NDIM((const PyArrayObject*)py_matrix);
-	if(ndim!=2)_error2_("expecting an MxN matrix in input!");
+	if(ndim!=2)_error_("expecting an MxN matrix in input!");
 	dims=PyArray_DIMS((PyArrayObject*)py_matrix);
 	M=dims[0]; N=dims[1];
 	
@@ -124,7 +124,7 @@
 
 	/*retrive dimensions: */
 	ndim=PyArray_NDIM((const PyArrayObject*)py_vector);
-	if(ndim!=1)_error2_("expecting an Mx1 vector in input!");
+	if(ndim!=1)_error_("expecting an Mx1 vector in input!");
 	dims=PyArray_DIMS((PyArrayObject*)py_vector);
 	M=dims[0]; 
 	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Parameters.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Parameters.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Parameters.cpp	(revision 13036)
@@ -64,7 +64,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 /*FUNCTION Parameters::FindParam(int* pinteger,int enum_type){{{*/
@@ -81,7 +81,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 /*FUNCTION Parameters::FindParam(IssmDouble* pscalar, int enum_type){{{*/
@@ -98,7 +98,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 /*FUNCTION Parameters::FindParam(IssmDouble* pscalar, int enum_type,IssmDouble time){{{*/
@@ -115,7 +115,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 /*FUNCTION Parameters::FindParam(char** pstring,int enum_type){{{*/
@@ -132,7 +132,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -150,7 +150,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -168,7 +168,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -186,7 +186,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -204,7 +204,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -222,7 +222,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -240,7 +240,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 /*FUNCTION Parameters::FindParam(Vector** pvec,int enum_type){{{*/
@@ -257,7 +257,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -275,7 +275,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 
 }
 /*}}}*/
@@ -293,7 +293,7 @@
 			return;
 		}
 	}
-	_error2_("could not find parameter " << EnumToStringx(enum_type));
+	_error_("could not find parameter " << EnumToStringx(enum_type));
 }
 /*}}}*/
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Elements.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Elements.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Elements.cpp	(revision 13036)
@@ -202,7 +202,7 @@
 
 		/*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) _error2_("Cannot write results because there is no element??");
+			if(this->Size()==0) _error_("Cannot write results because there is no element??");
 			Element* element=(Element*)this->GetObjectByOffset(0);
 			element->ListResultsInfo(&resultsenums,&resultssizes,&resultstimes,&resultssteps,&numberofresults);
 		}
@@ -231,7 +231,7 @@
 			/*Get vector for result number i*/
 			if(resultssizes[i]==P1Enum)      vectorsize=numberofvertices;
 			else if(resultssizes[i]==P0Enum) vectorsize=numberofelements;
-			else _error2_("Unkown result size: " << EnumToStringx(resultssizes[i]));
+			else _error_("Unkown result size: " << EnumToStringx(resultssizes[i]));
 			vector=new Vector(vectorsize);
 
 			for(int j=0;j<this->Size();j++){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Observations.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Observations.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Observations.cpp	(revision 13036)
@@ -57,12 +57,12 @@
 	options->Get(&mintrimming,"mintrimming",-1.e+21);
 	options->Get(&maxtrimming,"maxtrimming",+1.e+21);
 	options->Get(&minspacing,"minspacing",0.01);
-	if(minspacing<=0) _error2_("minspacing must > 0");
+	if(minspacing<=0) _error_("minspacing must > 0");
 
 	/*Get Minimum box size*/
 	if(options->GetOption("boxlength")){
 		options->Get(&minlength,"boxlength");
-		if(minlength<=0)_error2_("boxlength should be a positive number");
+		if(minlength<=0)_error_("boxlength should be a positive number");
 		maxdepth=int(log(max(xmax-xmin,ymax-ymin)/minlength +1)/log(2.0));
 	}
 	else{
@@ -382,7 +382,7 @@
 	SolverxSeq(&Ginv1, Gamma,ones,n_obs);   // Gamma^-1 ones
 	SolverxSeq(&GinvZ, Gamma,obs,n_obs);    // Gamma^-1 Z
 #else
-	_error2_("GSL is required");
+	_error_("GSL is required");
 #endif
 
 	/*Prepare predictor*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Inputs.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Inputs.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Inputs.cpp	(revision 13036)
@@ -56,7 +56,7 @@
 	if (!found){
 		/*we could not find an input with the correct enum type. No defaults values were provided, 
 		 * error out: */
-		_error2_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
+		_error_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
 	}
 
 	/*Ok, we have an input if we made it here, request the input to return the value: */
@@ -84,7 +84,7 @@
 	if (!found){
 		/*we could not find an input with the correct enum type. No defaults values were provided, 
 		 * error out: */
-		_error2_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
+		_error_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
 	}
 
 	/*Ok, we have an input if we made it here, request the input to return the value: */
@@ -112,7 +112,7 @@
 	if (!found){
 		/*we could not find an input with the correct enum type. No defaults values were provided, 
 		 * error out: */
-		_error2_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
+		_error_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
 	}
 
 	/*Ok, we have an input if we made it here, request the input to return the value: */
@@ -140,7 +140,7 @@
 	if (!found){
 		/*we could not find an input with the correct enum type. No defaults values were provided, 
 		 * error out: */
-		_error2_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
+		_error_("could not find input with enum type " << enum_type << " (" << EnumToStringx(enum_type) << ")");
 	}
 
 	/*Ok, we have an input if we made it here, request the input to return the value: */
@@ -212,7 +212,7 @@
 	constrain_input=(Input*)this->GetInput(constrain_enum);
 
 	/*some checks: */
-	if(!constrain_input) _error2_("input " << EnumToStringx(constrain_enum) << " could not be found!");
+	if(!constrain_input) _error_("input " << EnumToStringx(constrain_enum) << " could not be found!");
 
 	/*Apply ContrainMin: */
 	constrain_input->ConstrainMin(minimum);
@@ -253,7 +253,7 @@
 		max=input->Max();
 	}
 	else{
-		_error2_("Input " << EnumToStringx(enumtype) << " not found");
+		_error_("Input " << EnumToStringx(enumtype) << " not found");
 	}
 
 	/*Return output*/
@@ -274,7 +274,7 @@
 		max=input->MaxAbs();
 	}
 	else{
-		_error2_("Input " << EnumToStringx(enumtype) << " not found");
+		_error_("Input " << EnumToStringx(enumtype) << " not found");
 	}
 
 	/*Return output*/
@@ -295,7 +295,7 @@
 		min=input->Min();
 	}
 	else{
-		_error2_("Input " << EnumToStringx(enumtype) << " not found");
+		_error_("Input " << EnumToStringx(enumtype) << " not found");
 	}
 
 	/*Return output*/
@@ -316,7 +316,7 @@
 		min=input->MinAbs();
 	}
 	else{
-		_error2_("Input " << EnumToStringx(enumtype) << " not found");
+		_error_("Input " << EnumToStringx(enumtype) << " not found");
 	}
 
 	/*Return output*/
@@ -368,7 +368,7 @@
 
 	/*Make a copy of the original input: */
 	original=(Input*)this->GetInput(original_enum);
-	if(!original)_error2_("could not find input with enum: " << EnumToStringx(original_enum)); 
+	if(!original)_error_("could not find input with enum: " << EnumToStringx(original_enum)); 
 	copy=(Input*)original->copy();
 
 	/*Change copy enum to reinitialized_enum: */
@@ -415,8 +415,8 @@
 	yinput=(Input*)this->GetInput(MeshYEnum);
 
 	/*some checks: */
-	if(!xinput) _error2_("input " << EnumToStringx(MeshXEnum) << " could not be found!");
-	if(!yinput) _error2_("input " << EnumToStringx(MeshYEnum) << " could not be found!");
+	if(!xinput) _error_("input " << EnumToStringx(MeshXEnum) << " could not be found!");
+	if(!yinput) _error_("input " << EnumToStringx(MeshYEnum) << " could not be found!");
 
 	/*Apply AXPY: */
 	yinput->AXPY(xinput,scalar);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/DataSet.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/DataSet.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/DataSet.cpp	(revision 13036)
@@ -132,7 +132,7 @@
 
 	vector<Object*>::iterator object;
 
-	if(this==NULL)_error2_("trying to echo a NULL dataset");
+	if(this==NULL)_error_("trying to echo a NULL dataset");
 
 	_pprintLine_("DataSet echo: " << objects.size() << " objects");
 
@@ -149,7 +149,7 @@
 
 	vector<Object*>::iterator object;
 
-	if(this==NULL)_error2_("trying to echo a NULL dataset");
+	if(this==NULL)_error_("trying to echo a NULL dataset");
 
 	_pprintLine_("DataSet echo: " << objects.size() << " objects");
 
@@ -193,11 +193,11 @@
 	int i;
 
 	_assert_(this);
-	if(!sorted)_error2_("trying to binary search on a non-sorted dataset!");
+	if(!sorted)_error_("trying to binary search on a non-sorted dataset!");
 
 	/*Carry out a binary search on the sorted_ids: */
 	if(!binary_search(&id_offset,eid, sorted_ids,objects.size())){
-		_error2_("could not find object with id " << eid << " in DataSet " << EnumToStringx(enum_type));
+		_error_("could not find object with id " << eid << " in DataSet " << EnumToStringx(enum_type));
 	}
 
 	/*Convert  the id offset into sorted offset: */
@@ -258,7 +258,7 @@
 
 	/*Only sort if we are not already sorted: */
 	if(!sorted){
-		_error2_("not implemented yet!");
+		_error_("not implemented yet!");
 	}
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Options.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Options.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/Container/Options.cpp	(revision 13036)
@@ -46,17 +46,17 @@
 	_assert_(in_option);
 
 	/*Also, check the option name*/
-	if(!in_option->name) _error2_("input option has an empty name");
-	if(strchr(in_option->name,'.')) _error2_("Option \"" << in_option->name << "\" has a protected character \".\"");
-	if(strchr(in_option->name,'[')) _error2_("Option \"" << in_option->name << "\" has a protected character \"[\"");
-	if(strchr(in_option->name,']')) _error2_("Option \"" << in_option->name << "\" has a protected character \"]\"");
+	if(!in_option->name) _error_("input option has an empty name");
+	if(strchr(in_option->name,'.')) _error_("Option \"" << in_option->name << "\" has a protected character \".\"");
+	if(strchr(in_option->name,'[')) _error_("Option \"" << in_option->name << "\" has a protected character \"[\"");
+	if(strchr(in_option->name,']')) _error_("Option \"" << in_option->name << "\" has a protected character \"]\"");
 
 	/*Finally, check that no option of the same name already exists in the dataset*/
 	for(object=objects.begin();object<objects.end();object++){
 
 		option=(Option*)(*object); 
 		if (!strcmp(option->name,in_option->name)){
-			_error2_("Options \"" << in_option->name << "\" found multiple times");
+			_error_("Options \"" << in_option->name << "\" found multiple times");
 			break;
 		}
 	}
@@ -82,7 +82,7 @@
 	}
 	/*Else, the Option does not exist, no default provided*/
 	else{
-		_error2_("option of name \"" << name << "\" not found, and no default value has been provided");
+		_error_("option of name \"" << name << "\" not found, and no default value has been provided");
 	}
 }
 /*}}}*/
@@ -120,7 +120,7 @@
 	}
 	/*Else, the Option does not exist, no default provided*/
 	else{
-		_error2_("option of name \"" << name << "\" not found, and no default value has been provided");
+		_error_("option of name \"" << name << "\" not found, and no default value has been provided");
 	}
 }
 /*}}}*/
@@ -158,7 +158,7 @@
 	}
 	/*Else, the Option does not exist, no default provided*/
 	else{
-		_error2_("option of name \"" << name << "\" not found, and no default value has been provided");
+		_error_("option of name \"" << name << "\" not found, and no default value has been provided");
 	}
 }
 /*}}}*/
@@ -198,7 +198,7 @@
 	}
 	/*Else, the Option does not exist, no default provided*/
 	else{
-		_error2_("option of name \"" << name << "\" not found, and no default value has been provided");
+		_error_("option of name \"" << name << "\" not found, and no default value has been provided");
 	}
 
 }
@@ -263,7 +263,7 @@
 		}
 		/*Else: not supported*/
 		else{
-			_error2_("Cannot recover field \"" << name << "\" for an option of type " << EnumToStringx(option->ObjectEnum()));
+			_error_("Cannot recover field \"" << name << "\" for an option of type " << EnumToStringx(option->ObjectEnum()));
 		}
 	}
 	/*Else, the Option does not exist, no default provided*/
@@ -289,7 +289,7 @@
 	}
 	/*Else, the Option does not exist, no default provided*/
 	else{
-		_error2_("option of name \"" << name << "\" not found, and no default value has been provided");
+		_error_("option of name \"" << name << "\" not found, and no default value has been provided");
 	}
 }
 /*}}}*/
@@ -323,7 +323,7 @@
 				}
 				/*Else: not supported*/
 				else{
-					_error2_("Cannot recover field \"" << name << "\" for an option of type " << EnumToStringx(option->ObjectEnum()));
+					_error_("Cannot recover field \"" << name << "\" for an option of type " << EnumToStringx(option->ObjectEnum()));
 				}
 			}
 		}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/include/macros.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/include/macros.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/include/macros.h	(revision 13036)
@@ -25,12 +25,12 @@
 /* _error2_ {{{*/
 /*new Error exception macro*/
 #ifdef _INTEL_WIN_
-#define _error2_(StreamArgs)\
+#define _error_(StreamArgs)\
    do{std::ostringstream aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy; \
    aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy << StreamArgs << std::ends; \
    throw ErrorException(aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy.str());}while(0)
 #else
-#define _error2_(StreamArgs)\
+#define _error_(StreamArgs)\
 	do{std::ostringstream aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy; \
    aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy << StreamArgs << std::ends; \
    throw ErrorException(__FILE__,__func__,__LINE__,aLoNgAnDwEiRdLoCaLnAmeFoRtHiSmAcRoOnLy.str());}while(0)
@@ -64,7 +64,7 @@
 /*Assertion macro: do nothing if macro _ISSM_DEBUG_ undefined*/
 #ifdef _ISSM_DEBUG_ 
 #define _assert_(statement)\
-  if (!(statement)) _error2_("Assertion \""<<#statement<<"\" failed, please report bug to "<<PACKAGE_BUGREPORT)
+  if (!(statement)) _error_("Assertion \""<<#statement<<"\" failed, please report bug to "<<PACKAGE_BUGREPORT)
 #else
 #define _assert_(ignore)\
   ((void) 0)
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp	(revision 13036)
@@ -35,26 +35,26 @@
 
 	if (!itrnb) {
 		if (nrowb != idimb) {
-			_error2_("Matrix A and B inner vectors not equal size.");
+			_error_("Matrix A and B inner vectors not equal size.");
 		}
 		idimc=ncolb;
 	}
 	else {
 		if (ncolb != idimb) {
-			_error2_("Matrix A and B inner vectors not equal size.");
+			_error_("Matrix A and B inner vectors not equal size.");
 		}
 		idimc=nrowb;
 	}
 
 	if (!itrnc) {
 		if (nrowc != idimc) {
-			_error2_("Matrix B and C inner vectors not equal size.");
+			_error_("Matrix B and C inner vectors not equal size.");
 		}
 		idimd=ncolc;
 	}
 	else {
 		if (ncolc != idimc) {
-			_error2_("Matrix B and C inner vectors not equal size.");
+			_error_("Matrix B and C inner vectors not equal size.");
 		}
 		idimd=nrowc;
 	}
@@ -123,7 +123,7 @@
 	}
 
 	if (ntrma != ntrmb) {
-		_error2_("Matrix A and B inner vectors not equal size");
+		_error_("Matrix A and B inner vectors not equal size");
 	    noerr=0;	
 		return noerr;
 	}
@@ -174,7 +174,7 @@
 	IssmDouble pivot,det,dtemp;
 
 	if (!b && nvec) {
-		_error2_("No right-hand side for nvec=" << nvec << ".");
+		_error_("No right-hand side for nvec=" << nvec << ".");
 		noerr=0;
 		return noerr;
 	}
@@ -213,7 +213,7 @@
 			xDelete<int>(pivrc1);
 			xDelete<int>(pivrc2);
 			xDelete<int>(pindx);
-			_error2_("Pivot " << pivot << " less than machine epsilon");
+			_error_("Pivot " << pivot << " less than machine epsilon");
 			noerr=0;
 			return noerr;
 		}
@@ -348,7 +348,7 @@
 
 	/*Compute determinant*/
 	Matrix2x2Determinant(&det,A);
-	if (fabs(det) < DBL_EPSILON) _error2_("Determinant smaller that machine epsilon");
+	if (fabs(det) < DBL_EPSILON) _error_("Determinant smaller that machine epsilon");
 
 	/*Compute invert*/
 	Ainv[0]=   A[3]/det; /* =  d/det */
@@ -373,7 +373,7 @@
 
 	/*Compute determinant*/
 	Matrix3x3Determinant(&det,A);
-	if (fabs(det) < DBL_EPSILON) _error2_("Determinant smaller that machine epsilon");
+	if (fabs(det) < DBL_EPSILON) _error_("Determinant smaller that machine epsilon");
 
 	/*Compute invert*/
 	Ainv[0]=(A[4]*A[8]-A[5]*A[7])/det; /* = (e*i-f*h)/det */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp	(revision 13036)
@@ -43,14 +43,14 @@
 	/*initialize counter and get response at the boundaries*/
 	iter=0;
 	fxmin = (*f)(xmin,optargs);
-	if (xIsNan<IssmDouble>(fxmin)) _error2_("Function evaluation returned NaN");
+	if (xIsNan<IssmDouble>(fxmin)) _error_("Function evaluation returned NaN");
 	cout<<setprecision(5);
 	if(VerboseControl()) _pprintLine_("");
 	if(VerboseControl()) _pprintLine_("       Iteration         x           f(x)       Tolerance         Procedure");
 	if(VerboseControl()) _pprintLine_("");
 	if(VerboseControl()) _pprintLine_("           N/A    "<<setw(12)<<xmin<<"  "<<setw(12)<<fxmin<<"           N/A         boundary");
 	fxmax = (*f)(xmax,optargs);
-	if (xIsNan<IssmDouble>(fxmax)) _error2_("Function evaluation returned NaN");
+	if (xIsNan<IssmDouble>(fxmax)) _error_("Function evaluation returned NaN");
 	if(VerboseControl()) _pprintLine_("           N/A    "<<setw(12)<<xmax<<"  "<<setw(12)<<fxmax<<"           N/A         boundary");
 
 	/*test if jump option activated and xmin==0*/
@@ -74,7 +74,7 @@
 
 	/*2: call the function to be evaluated*/
 	fxbest = (*f)(x,optargs);
-	if(xIsNan<IssmDouble>(fxbest)) _error2_("Function evaluation returned NaN");
+	if(xIsNan<IssmDouble>(fxbest)) _error_("Function evaluation returned NaN");
 	iter=iter+1;
 
 	/*3: update the other variables*/
@@ -158,7 +158,7 @@
 
 		//evaluate function on x
 		fx = (*f)(x,optargs);
-		if(xIsNan<IssmDouble>(fx)) _error2_("Function evaluation returned NaN");
+		if(xIsNan<IssmDouble>(fx)) _error_("Function evaluation returned NaN");
 		iter=iter+1;
 
 		// Update a, b, xm, x1, x2, tol1, tol2
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/GaussPoints.cpp	(revision 13036)
@@ -1669,7 +1669,7 @@
 		} while (iter < MAX_GAUS_ITER);
 		if (iter >= MAX_GAUS_ITER) {
 			xDelete<IssmPDouble>(work);
-			_error2_("Max iterations exceeded for l=" << MAX_GAUS_ITER);
+			_error_("Max iterations exceeded for l=" << MAX_GAUS_ITER);
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp	(revision 13036)
@@ -56,7 +56,7 @@
 	}
 	if (found==-1){
 		/*ok, we did not find anything, this is not good! error out: */
-		_error2_("could find neither a default analysis  nor analysis " << EnumToStringx(analysis_type));
+		_error_("could find neither a default analysis  nor analysis " << EnumToStringx(analysis_type));
 	}
 
 	/*ok, grab the option string: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/UnitConversion.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/UnitConversion.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/UnitConversion.cpp	(revision 13036)
@@ -28,7 +28,7 @@
 	/*Now, which direction are we going? once determined, use scale factor: */
 	if(direction_enum==IuToExtEnum) for(i=0;i<numvalues;i++)values[i]=values[i]*scale; 
 	else if(direction_enum==ExtToIuEnum) for(i=0;i<numvalues;i++)values[i]=values[i]/scale; 
-	else _error2_("wrong direction for unit conversion, either IuToExtEnum or ExtToIuEnum. ");
+	else _error_("wrong direction for unit conversion, either IuToExtEnum or ExtToIuEnum. ");
 
 }
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/Verbosity.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/Verbosity.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/Verbosity.cpp	(revision 13036)
@@ -33,7 +33,7 @@
 /*FUNCTION SetVerbosityLevel {{{*/
 void SetVerbosityLevel(int level){
 
-	if(level<0) _error2_("vebosity level should be a positive integer (user provided " << level << ")");
+	if(level<0) _error_("vebosity level should be a positive integer (user provided " << level << ")");
 
 	verbositylevel = level;
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/IsInputConverged.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/IsInputConverged.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/IsInputConverged.cpp	(revision 13036)
@@ -52,7 +52,7 @@
 		if(reCast<bool>(nu))eps=ndu/nu;
 		else eps=0;
 	}
-	else _error2_("convergence criterion " << EnumToStringx(criterion_enum) << " not supported yet!");
+	else _error_("convergence criterion " << EnumToStringx(criterion_enum) << " not supported yet!");
 
 	/*Assign output pointers:*/
 	*peps=eps;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp	(revision 13036)
@@ -40,7 +40,7 @@
 	
 	//get the value of the function at the first boundary
 	fx1= (*f)(x1,optargs);
-	if (xIsNan<IssmDouble>(fx1)) _error2_("Function evaluation returned NaN");
+	if (xIsNan<IssmDouble>(fx1)) _error_("Function evaluation returned NaN");
 	cout<<setprecision(5);
 	if(VerboseControl()) _pprintLine_("");
 	if(VerboseControl()) _pprintLine_("       Iteration         x           f(x)       Tolerance");
@@ -56,7 +56,7 @@
 		/*get f(x2)*/
 		iter++;
 		fx2 = (*f)(x2,optargs);
-		if (xIsNan<IssmDouble>(fx2)) _error2_("Function evaluation returned NaN");
+		if (xIsNan<IssmDouble>(fx2)) _error_("Function evaluation returned NaN");
 		if(VerboseControl())
 		 _pprintLine_("         "<<setw(5)<<iter<<"    "<<setw(12)<<x2<<"  "<<setw(12)<<fx2<<"  "<<(fabs(x2-x1)>fabs(fx2-fx1)?fabs(fx2-fx1):fabs(x2-x1)));
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/String/DescriptorIndex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/String/DescriptorIndex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/String/DescriptorIndex.cpp	(revision 13036)
@@ -22,12 +22,12 @@
 
 	/*retrieve first token, separated by underscore: */
 	pch = strtok (descriptor,"_");
-	if(!pch)_error2_("descriptor " << descriptor << " is not correctly formatted!");
+	if(!pch)_error_("descriptor " << descriptor << " is not correctly formatted!");
 
 	if (strncmp(pch,"scaled",6)==0){
 		/*we have a scaled variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("scaled descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("scaled descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 
 		/*now recover  the index if it exists: */
@@ -43,22 +43,22 @@
 	else if (strncmp(pch,"indexed",7)==0){
 		/*we have an indexed variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("indexed descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("indexed descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("indexed descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("indexed descriptor " << descriptor << " is not correctly formatted!");
 		sscanf(pch,"%i",pindex);
 		return IndexedEnum;
 	}
 	else if (strncmp(pch,"nodal",5)==0){
 		/*we have an indexed variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("nodal descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("nodal descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("nodal descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("nodal descriptor " << descriptor << " is not correctly formatted!");
 		sscanf(pch,"%i",pindex);
 		return NodalEnum;
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Alloc/alloc.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Alloc/alloc.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Alloc/alloc.cpp	(revision 13036)
@@ -30,11 +30,11 @@
 
 	void* memptr=NULL;
 
-	if(!size)_error2_("attempting to 0 size allocation!");
+	if(!size)_error_("attempting to 0 size allocation!");
 
 	/* Use the c library to do the allocation: */
 	memptr=malloc(size);
-	if(!memptr) _error2_("memory allocation failed!");
+	if(!memptr) _error_("memory allocation failed!");
 
 	return memptr;
 }
@@ -43,11 +43,11 @@
 
 	void* memptr=NULL;
 	
-	if(!size)_error2_("attempting to 0 size allocation!");
+	if(!size)_error_("attempting to 0 size allocation!");
 
 	/* Use the c library to do the allocation: */
 	memptr=calloc(n,size);
-	if(!memptr) _error2_("memory allocation failed!");
+	if(!memptr) _error_("memory allocation failed!");
 
 	return memptr;
 }
@@ -87,11 +87,11 @@
 	
 	register void* value=NULL;
 	
-	if(!size)_error2_("attempting to realloc to zero");
+	if(!size)_error_("attempting to realloc to zero");
 	value = (void*)realloc(pv,size);
 
 	if (value == NULL) {
-		_error2_("virtual memory exhausted");
+		_error_("virtual memory exhausted");
 	}
 	return value;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Threads/LaunchThread.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Threads/LaunchThread.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Threads/LaunchThread.cpp	(revision 13036)
@@ -43,12 +43,12 @@
 	for(i=0;i<num_threads;i++){
 
 		if(pthread_create(threads+i,NULL,function,(void*)(handles+i))){
-			_error2_("pthread_create error");
+			_error_("pthread_create error");
 		}
 	}
 	for(i=0;i<num_threads;i++){
 		if(pthread_join(threads[i],(void**)&status)){
-			_error2_("pthread_join error");
+			_error_("pthread_join error");
 		}
 	}
 	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformSolutionCoord.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformSolutionCoord.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformSolutionCoord.cpp	(revision 13036)
@@ -30,7 +30,7 @@
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
 			case XYZPEnum: numdofs+=4; break;
-			default: _error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformLoadVectorCoord.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformLoadVectorCoord.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformLoadVectorCoord.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
 			case XYZPEnum: numdofs+=4; break;
-			default: _error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/CoordinateSystemTransform.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/CoordinateSystemTransform.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/CoordinateSystemTransform.cpp	(revision 13036)
@@ -21,7 +21,7 @@
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
 			case XYZPEnum: numdofs+=4; break;
-			default: _error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
@@ -66,7 +66,7 @@
 				counter+=4;
 				break;
 			default:
-				_error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+				_error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformInvStiffnessMatrixCoord.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformInvStiffnessMatrixCoord.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformInvStiffnessMatrixCoord.cpp	(revision 13036)
@@ -30,7 +30,7 @@
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
 			case XYZPEnum: numdofs+=4; break;
-			default: _error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformStiffnessMatrixCoord.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformStiffnessMatrixCoord.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Elements/TransformStiffnessMatrixCoord.cpp	(revision 13036)
@@ -30,7 +30,7 @@
 		switch(cs_array[i]){
 			case XYEnum:   numdofs+=2; break;
 			case XYZPEnum: numdofs+=4; break;
-			default: _error2_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
+			default: _error_("Coordinate system " << EnumToStringx(cs_array[i]) << " not supported yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineWrite.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineWrite.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineWrite.cpp	(revision 13036)
@@ -22,7 +22,7 @@
 
 	/*open domain outline file for writing: */
 	if ((fid=fopen(domainname,"w"))==NULL){
-		_error2_("could not open domain file " << domainname); 
+		_error_("could not open domain file " << domainname); 
 		noerr=0; goto cleanupandreturn;
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineRead.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineRead.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Exp/DomainOutlineRead.cpp	(revision 13036)
@@ -38,7 +38,7 @@
 
 	/*open domain outline file for reading: */
 	if ((fid=fopen(domainname,"r"))==NULL){
-		_error2_("could not find domain file " << domainname); 
+		_error_("could not find domain file " << domainname); 
 	}
 
 	/*Do a first pass through the domainname file, to figure out how many profiles 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingEnd.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingEnd.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingEnd.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 	_pprintLine_("PETSc elapsed flops : " << Current_flops << "  Flops");
 	_pprintLine_("PETSc memory used   : " << memUse << "  Bytes");
 	#else
-		_error2_("Profiling not supported under this numerical toolkit");
+		_error_("Profiling not supported under this numerical toolkit");
 	#endif
 
 	/*Assign pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingStart.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingStart.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/shared/Sys/ProfilingStart.cpp	(revision 13036)
@@ -22,7 +22,7 @@
 		PetscGetTime(&Time_start);
 		PetscGetFlops(&Flops_start );
 	#else
-		_error2_("Profiling not supported under this numerical toolkit");
+		_error_("Profiling not supported under this numerical toolkit");
 	#endif
 
 	/*Assign pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfopen.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfopen.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfopen.cpp	(revision 13036)
@@ -19,7 +19,7 @@
 	
 	/*Open handle to data on disk: */
 	fid=fopen(filename,format);
-	if(fid==NULL) _error2_("could not open file " << filename << " for binary reading or writing"); 
+	if(fid==NULL) _error_("could not open file " << filename << " for binary reading or writing"); 
 
 	return fid;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfclose.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfclose.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/io/Disk/pfclose.cpp	(revision 13036)
@@ -17,5 +17,5 @@
 	/*Close file handle: */
 	extern int my_rank;
 	_assert_(fid);
-	if(fclose(fid)!=0)_error2_("could not close file " << filename);
+	if(fclose(fid)!=0)_error_("could not close file " << filename);
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp	(revision 13036)
@@ -39,7 +39,7 @@
 
 	/*some checks*/
 	if (nels_data<1 || nods_data<3 || nods_prime==0){
-		_error2_("nothing to be done according to the mesh given in input");
+		_error_("nothing to be done according to the mesh given in input");
 	}
 
 	/*Set debug to 1 if there are lots of elements*/
@@ -53,11 +53,11 @@
 		interpolation_type=2;
 	}
 	else{
-		_error2_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
+		_error_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
 	}
 
 	if((numcontours) && (interpolation_type==2)){
-		_error2_("element interpolation_type with contours not supported yet!");
+		_error_("element interpolation_type with contours not supported yet!");
 	}
 
 	/*Get prime mesh extrema coordinates*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 13036)
@@ -487,5 +487,5 @@
          else stage=5;
    }
 	/*If we reach this point, the string provided has not been found*/
-	_error2_("Enum " << name << " not found");
+	_error_("Enum " << name << " not found");
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Responsex/Responsex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Responsex/Responsex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Responsex/Responsex.cpp	(revision 13036)
@@ -48,9 +48,9 @@
 		case MaterialsRheologyBbarEnum:ElementResponsex(responses, elements,nodes, vertices, loads, materials, parameters,MaterialsRheologyBbarEnum,process_units); break;
 		case VelEnum:ElementResponsex(responses, elements,nodes, vertices, loads, materials, parameters,VelEnum,process_units); break;
 		case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break;
-		default: _error2_("response descriptor \"" << response_descriptor << "\" not supported yet!"); break;
+		default: _error_("response descriptor \"" << response_descriptor << "\" not supported yet!"); break;
 		#else
-		default: _error2_("ISSM was not compiled with responses capabilities, exiting!");
+		default: _error_("ISSM was not compiled with responses capabilities, exiting!");
 		#endif
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 13036)
@@ -34,7 +34,7 @@
 
 	/*Checks*/
 	if (M_data!=nods_data && M_data!=nels_data){
-		_error2_("data provided should have either " << nods_data << " or " << nels_data << " lines (not " << M_data << ")");
+		_error_("data provided should have either " << nods_data << " or " << nels_data << " lines (not " << M_data << ")");
 	}
 
 	/*Get default*/
@@ -137,7 +137,7 @@
 		else{
 			for (j=0;j<N_data;j++){
 				if (it<0 || it>=nels_data){
-					_error2_("Triangle number " << it << " not in [0 " << nels_data << "], report bug to developers");
+					_error_("Triangle number " << it << " not in [0 " << nels_data << "], report bug to developers");
 				}
 				data_interp[i*N_data+j]=data[N_data*it+j];
 			}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Xy2llx/Xy2llx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Xy2llx/Xy2llx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Xy2llx/Xy2llx.cpp	(revision 13036)
@@ -52,7 +52,7 @@
 	double  cde,re,ex2,ex;
 	double  sl,rho,cm,T,chi;
 
-	if((sgn!=1) && (sgn!=-1)) _error2_("Sign should be either +1 or -1.\n");
+	if((sgn!=1) && (sgn!=-1)) _error_("Sign should be either +1 or -1.\n");
 
 	delta = central_meridian;
 	slat  = standard_parallel;
@@ -130,7 +130,7 @@
 		*pslat = 71;
 		if(flag) _pprintLine_("Warning: expecting coordinates in polar stereographic (Std Latitude: 71S Meridian: 0).");
 	}
-	else _error2_("Sign should be either +1 or -1.\n");
+	else _error_("Sign should be either +1 or -1.\n");
 
 	return;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 
 	/*some checks*/
 	if (nels<1 || nods<3 || nlines<1 || ncols<1 || xposting==0 || yposting==0){
-		_error2_("nothing to be done according to the mesh given in input");
+		_error_("nothing to be done according to the mesh given in input");
 	}
 
 	/*figure out what kind of interpolation is needed*/
@@ -40,7 +40,7 @@
 		interpolation_type=2;
 	}
 	else{
-		_error2_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
+		_error_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
 	}
 
 	/*First, allocate pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp	(revision 13036)
@@ -26,7 +26,7 @@
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 
 	if(migration_style==NoneEnum) return;
-	if(migration_style!=AgressiveMigrationEnum && migration_style!=SoftMigrationEnum) _error2_(EnumToStringx(migration_style) << " not supported yet!");
+	if(migration_style!=AgressiveMigrationEnum && migration_style!=SoftMigrationEnum) _error_(EnumToStringx(migration_style) << " not supported yet!");
 
 	if(migration_style==SoftMigrationEnum){
 		/*Create flag for grounded vertices above the hydrostatic equilibrium: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/SpawnCoreParallel.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/SpawnCoreParallel.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/SpawnCoreParallel.cpp	(revision 13036)
@@ -71,7 +71,7 @@
 	#ifdef _HAVE_CONTROL_
 	if(control_analysis)solutioncore=&control_core;
 	#else
-	_error2_("ISSM was not compiled with control capabilities, exiting!");
+	_error_("ISSM was not compiled with control capabilities, exiting!");
 	#endif
 
 	/*Run the core solution sequence: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/DescriptorIndex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/DescriptorIndex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Dakotax/DescriptorIndex.cpp	(revision 13036)
@@ -22,12 +22,12 @@
 
 	/*retrieve first token, separated by underscore: */
 	pch = strtok (descriptor,"_");
-	if(!pch)_error2_("descriptor " << descriptor << " is not correctly formatted!");
+	if(!pch)_error_("descriptor " << descriptor << " is not correctly formatted!");
 
 	if (strncmp(pch,"scaled",6)==0){
 		/*we have a scaled variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("scaled descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("scaled descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 
 		/*now recover  the index if it exists: */
@@ -43,22 +43,22 @@
 	else if (strncmp(pch,"indexed",7)==0){
 		/*we have an indexed variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("indexed descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("indexed descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("indexed descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("indexed descriptor " << descriptor << " is not correctly formatted!");
 		sscanf(pch,"%i",pindex);
 		return IndexedEnum;
 	}
 	else if (strncmp(pch,"nodal",5)==0){
 		/*we have an indexed variable. recover the root: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("nodal descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("nodal descriptor " << descriptor << " is not correctly formatted!");
 		memcpy(root,pch,(strlen(pch)+1)*sizeof(char));
 		/*now recover  the index: */
 		pch = strtok (NULL, "_");
-		if(!pch)_error2_("nodal descriptor " << descriptor << " is not correctly formatted!");
+		if(!pch)_error_("nodal descriptor " << descriptor << " is not correctly formatted!");
 		sscanf(pch,"%i",pindex);
 		return NodalEnum;
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp	(revision 13036)
@@ -25,7 +25,7 @@
 
 	/*Get size of vector: */
 	gsize=nodes->NumberOfDofs(configuration_type,GsetEnum);
-	if (gsize==0) _error2_("Allocating a Vec of size 0 as gsize=0 for configuration: " << EnumToStringx(configuration_type));
+	if (gsize==0) _error_("Allocating a Vec of size 0 as gsize=0 for configuration: " << EnumToStringx(configuration_type));
 	
 	/*Initialize solution: */
 	solution=new Vector(gsize);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshProfileIntersectionx/ElementSegment.cpp	(revision 13036)
@@ -37,7 +37,7 @@
 
 	if(    (edge1==IntersectEnum) && (edge2==IntersectEnum) && (edge3==IntersectEnum)   ){
 		/*This case is impossible: */
-		_error2_("error: a line cannot go through 3 different vertices!");
+		_error_("error: a line cannot go through 3 different vertices!");
 	}
 	else if(    ((edge1==IntersectEnum) && (edge2==IntersectEnum)) || ((edge2==IntersectEnum) && (edge3==IntersectEnum)) || ((edge3==IntersectEnum) && (edge1==IntersectEnum))   ){
 	
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ElementResponsex/ElementResponsex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ElementResponsex/ElementResponsex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ElementResponsex/ElementResponsex.cpp	(revision 13036)
@@ -38,7 +38,7 @@
 	/*Broadcast whether we found the element: */
 	#ifdef _HAVE_MPI_
 	MPI_Allreduce ( &found,&sumfound,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
-	if(!sumfound)_error2_("could not find material with id" << index << " to compute ElementResponse");
+	if(!sumfound)_error_("could not find material with id" << index << " to compute ElementResponse");
 	#endif
 
 	/*Ok, we found the element, compute responseocity: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 	/*Do we have penalties linked to rifts? In this case, run our special rifts penalty 
 	 * management routine, otherwise, skip : */
 	if (RiftIsPresent(loads,analysis_type)){
-		_error2_("rift constraints reset not supported yet!");
+		_error_("rift constraints reset not supported yet!");
 	}
 	else if(ThermalIsPresent(loads,analysis_type)){
 		ThermalConstraintsReset(loads,analysis_type);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp	(revision 13036)
@@ -94,10 +94,10 @@
 			xDelete<double>(distributed_values);
 		}
 		else if (strncmp(descriptor,"indexed_",8)==0){
-			_error2_("indexed variables not supported yet!");
+			_error_("indexed variables not supported yet!");
 		}
 		else if (strncmp(descriptor,"nodal_",8)==0){
-			_error2_("nodal variables not supported yet!");
+			_error_("nodal variables not supported yet!");
 		}
 		else{
 			/*Ok, standard variable, just update inputs using the variable: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Ll2xyx/Ll2xyx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Ll2xyx/Ll2xyx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Ll2xyx/Ll2xyx.cpp	(revision 13036)
@@ -51,7 +51,7 @@
 	double  latitude,longitude;
 	double  T,rho,sl,tc,mc;
 
-	if((sgn!=1) && (sgn!=-1)) _error2_("Sign should be either +1 or -1.\n");
+	if((sgn!=1) && (sgn!=-1)) _error_("Sign should be either +1 or -1.\n");
 
 	delta = central_meridian;
 	slat  = standard_parallel;
@@ -122,7 +122,7 @@
 		*pslat = 71;
 		if(flag) _pprintLine_("Info: creating coordinates in polar stereographic (Std Latitude: 71S Meridian: 0).");
 	}
-	else _error2_("Sign should be either +1 or -1.\n");
+	else _error_("Sign should be either +1 or -1.\n");
 
 	return;
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp	(revision 13036)
@@ -54,7 +54,7 @@
 	/*read exp file  */
 
 	if (!DomainOutlineRead(&nprof,&pnvert,&pprofx,&pprofy,&closed,filexp))
-		_error2_("Error reading exp file.");
+		_error_("Error reading exp file.");
 	_pprintLine_("Exp2Kmlx -- Reading " << nprof << " exp profiles from file \"" << filexp << "\".");
 //	for (i=0; i<nprof; i++)
 //		_printLine_("i=" << i << "; nvert=" << pnvert[i] << ", closed=" << closed[i]);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 13036)
@@ -43,7 +43,7 @@
 
 	fidi=fopen(filkml,"r");
 	if (!(kobj=KMLFileReadx(fidi)))
-		_error2_("Error reading kml file.");
+		_error_("Error reading kml file.");
 	fclose(fidi);
 
 /*  open exp file  */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshPartitionx/MeshPartitionx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshPartitionx/MeshPartitionx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/MeshPartitionx/MeshPartitionx.cpp	(revision 13036)
@@ -50,7 +50,7 @@
 			for (i=0;i<numberofelements;i++) epart[i]=0;
 			for (i=0;i<numberofnodes;i++)    npart[i]=0;
 		}
-		else _error2_("At least one processor is required");
+		else _error_("At least one processor is required");
 	}
 	else{
 		/*We have a 3d mesh, made of a regularly extruded 2d mesh. We first partition the 2d mesh, then we extrude the partition: */
@@ -77,7 +77,7 @@
 			for (i=0;i<numberofelements2d;i++) epart2d[i]=0;
 			for (i=0;i<numberofnodes2d;i++)    npart2d[i]=0;
 		}
-		else _error2_("At least one processor is required");
+		else _error_("At least one processor is required");
 
 		/*Extrude epart2d to epart, using numlayers: */
 		epart=xNew<int>(numberofelements);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp	(revision 13036)
@@ -31,7 +31,7 @@
 		}
 	}
 	else{
-		_error2_("vector type: " << EnumToStringx(type) << " not supported yet!");
+		_error_("vector type: " << EnumToStringx(type) << " not supported yet!");
 	}
 
 	vector->Assemble();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 13036)
@@ -137,7 +137,7 @@
 		xDelete<double>(gate.percent);
 	}
 	else{
-		_error2_("output '" << output << "' not supported yet");
+		_error_("output '" << output << "' not supported yet");
 	}
 
 	/*clean-up and Assign output pointer*/
@@ -304,7 +304,7 @@
 		else if(strcmp(model,"exponential")==0) variogram = new ExponentialVariogram(options);
 		else if(strcmp(model,"spherical")==0)   variogram = new SphericalVariogram(options);
 		else if(strcmp(model,"power")==0)       variogram = new PowerVariogram(options);
-		else _error2_("variogram " << model << " not supported yet (list of supported variogram: gaussian, exponential, spherical and power)");
+		else _error_("variogram " << model << " not supported yet (list of supported variogram: gaussian, exponential, spherical and power)");
 	}
 	else variogram = new GaussianVariogram(options);
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp	(revision 13036)
@@ -102,7 +102,7 @@
 #endif
 	}
 	else{
-		_error2_("output '" << output << "' not supported yet");
+		_error_("output '" << output << "' not supported yet");
 	}
 
 	/*clean-up and Assign output pointer*/
@@ -125,7 +125,7 @@
 		else if(strcmp(model,"exponential")==0) variogram = new ExponentialVariogram(options);
 		else if(strcmp(model,"spherical")==0)   variogram = new SphericalVariogram(options);
 		else if(strcmp(model,"power")==0)       variogram = new PowerVariogram(options);
-		else _error2_("variogram " << model << " not supported yet (list of supported variogram: gaussian, exponential, spherical and power)");
+		else _error_("variogram " << model << " not supported yet (list of supported variogram: gaussian, exponential, spherical and power)");
 	}
 	else variogram = new GaussianVariogram(options);
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp	(revision 13036)
@@ -37,7 +37,7 @@
 	/*Broadcast whether we found the element: */
 	#ifdef _HAVE_MPI_
 	MPI_Allreduce ( &found,&sumfound,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
-	if(!sumfound)_error2_("could not find element with vertex with id" << index << " to compute nodal value " << EnumToStringx(natureofdataenum));
+	if(!sumfound)_error_("could not find element with vertex with id" << index << " to compute nodal value " << EnumToStringx(natureofdataenum));
 	#endif
 
 	/*Broadcast and plug into response: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 13036)
@@ -47,7 +47,7 @@
 			case VyEnum:   iomodel->FetchData(1,VyEnum); break;
 			case FrictionCoefficientEnum: iomodel->FetchData(1,FrictionCoefficientEnum); break;
 			case MaterialsRheologyBbarEnum:    iomodel->FetchData(1,MaterialsRheologyBEnum); break;
-			default: _error2_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
+			default: _error_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
 		}
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 13036)
@@ -102,7 +102,7 @@
 		}
 	}
 	else{
-		_error2_("not implemented yet");
+		_error_("not implemented yet");
 	}
 
 	/*Second: add all missing nodes*/
@@ -110,7 +110,7 @@
 	/*Get edges and elements*/
 	iomodel->FetchData(&edges,&numberofedges,&cols,MeshEdgesEnum);
 	iomodel->FetchData(&elements,NULL,NULL,MeshElementsEnum);
-	if (cols!=4) _error2_("field edges should have 4 columns");
+	if (cols!=4) _error_("field edges should have 4 columns");
 
 	/*!All elements have been partitioned above, only create elements for this CPU: */
 	for (i=0;i<numberofedges;i++){
@@ -151,7 +151,7 @@
 				my_nodes[e2*3+1]=true;
 			}
 			else{
-				_error2_("Problem in edges creation");
+				_error_("Problem in edges creation");
 			}
 		}
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 13036)
@@ -105,7 +105,7 @@
 		}
 	}
 	else{
-		_error2_("Size of field " << EnumToStringx(ThermalSpctemperatureEnum) << " not supported");
+		_error_("Size of field " << EnumToStringx(ThermalSpctemperatureEnum) << " not supported");
 	}
 
 	/*Free ressources:*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 13036)
@@ -45,7 +45,7 @@
 	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,continuous_galerkin);
 
 	/*Check in 3d*/
-	if(stabilization==3 && dim==3) _error2_("DG 3d not implemented yet");
+	if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet");
 
 	/*First fetch data: */
 	iomodel->FetchData(7,MeshElementsEnum,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,MaskVertexonwaterEnum);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp	(revision 13036)
@@ -60,7 +60,7 @@
 			doftype[4]=StokesApproximationEnum;
 			doftype[5]=StokesApproximationEnum;
 		}
-		else _error2_("Approximationtype " << reCast<int>(*vertices_type) << " (" << EnumToStringx(reCast<int>(*vertices_type)) << ") not implemented yet for DiagnosticHoriz");
+		else _error_("Approximationtype " << reCast<int>(*vertices_type) << " (" << EnumToStringx(reCast<int>(*vertices_type)) << ") not implemented yet for DiagnosticHoriz");
 	}
 	else if (analysis_type==DiagnosticVertAnalysisEnum){
 		numdofs=1;
@@ -89,7 +89,7 @@
 	else if (analysis_type==BalancethicknessAnalysisEnum){
 		numdofs=1;
 	}
-	else _error2_("analysis type: " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not implemented yet");
+	else _error_("analysis type: " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not implemented yet");
 
 	/*Now initialize the index*/
 	index->Init(numdofs,doftype);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 13036)
@@ -32,7 +32,7 @@
 	if(!loads) loads = new Loads();
 
 	/*return if 2d mesh*/
-	if (dim==2) _error2_("2d meshes not supported yet");
+	if (dim==2) _error_("2d meshes not supported yet");
 
 	//create penalties for nodes: no node can have a temperature over the melting point
 	iomodel->FetchData(2,ThermalSpctemperatureEnum,MeshElementsEnum);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 13036)
@@ -25,7 +25,7 @@
 	iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
 
 	/*if 2d: Error*/
-	if (dim==2) _error2_("2d meshes not supported yet");
+	if (dim==2) _error_("2d meshes not supported yet");
 
 	/*Recover pointer: */
 	loads=*ploads;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 13036)
@@ -144,7 +144,7 @@
 						}
 
 					}
-					else _error2_("if vertices_type is MacAyealPattyn, you shoud have nodeonpattyn or nodeonmacayeal");
+					else _error_("if vertices_type is MacAyealPattyn, you shoud have nodeonpattyn or nodeonmacayeal");
 			}
 			/*Also add spcs of coupling: zero at the border pattyn/stokes for the appropriate dofs*/
 			else if ((int)vertices_type[i]==PattynStokesApproximationEnum){
@@ -184,7 +184,7 @@
 							count++;
 						}
 					}
-					else _error2_("if vertices_type is PattynStokes, you shoud have nodeonpattyn or nodeonstokes");
+					else _error_("if vertices_type is PattynStokes, you shoud have nodeonpattyn or nodeonstokes");
 			}
 			/*Also add spcs of coupling: zero at the border pattyn/stokes for the appropriate dofs*/
 			else if ((int)vertices_type[i]==MacAyealStokesApproximationEnum){
@@ -224,7 +224,7 @@
 							count++;
 						}
 					}
-					else _error2_("if vertices_type is MacAyealStokes, you shoud have nodeonmacayeal or nodeonstokes");
+					else _error_("if vertices_type is MacAyealStokes, you shoud have nodeonmacayeal or nodeonstokes");
 			}
 			/*Now add the regular spcs*/
 			else{
@@ -317,7 +317,7 @@
 						constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0.,DiagnosticHorizAnalysisEnum));
 						count++;
 						break;
-					default: _error2_("Vertex approximation " << EnumToStringx((int)vertices_type[i]) << " not supported");
+					default: _error_("Vertex approximation " << EnumToStringx((int)vertices_type[i]) << " not supported");
 				}
 			}
 		}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 13036)
@@ -45,7 +45,7 @@
 	NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,continuous_galerkin);
 
 	/*Check in 3d*/
-	if(stabilization==3 && dim==3) _error2_("DG 3d not implemented yet");
+	if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet");
 
 	/*First fetch data: */
 	iomodel->FetchData(7,MeshElementsEnum,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,MaskVertexonwaterEnum);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp	(revision 13036)
@@ -152,7 +152,7 @@
 			
 			/*Fetch the mass flux segments necessary to compute the mass fluxes.  Build a DoubleMatArrayParam object out of them: */ 
 			iomodel->FetchData(&array,&mdims_array,&ndims_array,&qmu_mass_flux_num_profiles,QmuMassFluxSegmentsEnum);
-			if(qmu_mass_flux_num_profiles==0)_error2_("qmu_mass_flux_num_profiles is 0, when MassFlux computations were requested!");
+			if(qmu_mass_flux_num_profiles==0)_error_("qmu_mass_flux_num_profiles is 0, when MassFlux computations were requested!");
 
 			/*Go through segments, and extract those that belong to this cpu: */
 			for(i=0;i<qmu_mass_flux_num_profiles;i++){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp	(revision 13036)
@@ -123,7 +123,7 @@
 
 
 		default:
-			_error2_("analysis_type: " << EnumToStringx(analysis_type) << " not supported yet!");
+			_error_("analysis_type: " << EnumToStringx(analysis_type) << " not supported yet!");
 	}
 
 	/*Update Elements and Materials For Control methods*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp	(revision 13036)
@@ -26,7 +26,7 @@
 
 	/*some checks*/
 	if (nels_data<1 || nods_data<6 || nods_prime==0){
-		_error2_("nothing to be done according to the mesh given in input");
+		_error_("nothing to be done according to the mesh given in input");
 	}
 
 	/*Set debug to 1 if there are lots of elements*/
@@ -40,7 +40,7 @@
 		interpolation_type=2;
 	}
 	else{
-		_error2_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
+		_error_("length of vector data not supported yet. It should be of length (number of nodes) or (number of elements)!");
 	}
 
 	/*Get prime mesh extrema coordinates*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp	(revision 13036)
@@ -95,7 +95,7 @@
 	if(solver_type==MUMPSPACKAGE_LU || solver_type==MUMPSPACKAGE_CHOL){
 		#if _PETSC_MAJOR_ >=3
 			#ifndef _HAVE_MUMPS_
-			_error2_("requested MUMPS solver, which was not compiled into ISSM!\n");
+			_error_("requested MUMPS solver, which was not compiled into ISSM!\n");
 			#endif
 		#endif
 	}
@@ -119,7 +119,7 @@
 	/*Stokes: */
 	if (solver_type==StokesSolverEnum){
 		/*Make indices out of doftypes: */
-		if(!df)_error2_("need doftypes for Stokes solver!\n");
+		if(!df)_error_("need doftypes for Stokes solver!\n");
 		DofTypesToIndexSet(&isv,&isp,df,StokesSolverEnum);
 
 		/*Set field splits: */
@@ -150,7 +150,7 @@
 	
 	/*Check convergence*/
 	KSPGetIterationNumber(ksp,&iteration_number);
-	if (iteration_number<0) _error2_("Solver diverged at iteration number: " << -iteration_number);
+	if (iteration_number<0) _error_("Solver diverged at iteration number: " << -iteration_number);
 
 	/*Free resources:*/
 	KSPFree(&ksp);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/Solverx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/Solverx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/Solverx.cpp	(revision 13036)
@@ -43,7 +43,7 @@
 			SolverxSeq(&uf->svector,Kff->smatrix,pf->svector);
 			break;}
 		default:
-			  _error2_("Matrix type: " << Kff->type << " not supported yet!");
+			  _error_("Matrix type: " << Kff->type << " not supported yet!");
 	}
 
 	/*Assign output pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Solverx/SolverxSeq.cpp	(revision 13036)
@@ -29,8 +29,8 @@
 	Kff->GetSize(&M,&N);
 	pf->GetSize(&N2);
 
-	if(N!=N2)_error2_("Right hand side vector of size " << N2 << ", when matrix is of size " << M << "-" << N << " !");
-	if(M!=N)_error2_("Stiffness matrix should be square!");
+	if(N!=N2)_error_("Right hand side vector of size " << N2 << ", when matrix is of size " << M << "-" << N << " !");
+	if(M!=N)_error_("Stiffness matrix should be square!");
 
 	SolverxSeq(&x,Kff->matrix,pf->vector,N);
 	uf=new SeqVec(x,N);
@@ -39,7 +39,7 @@
 	*puf=uf;
 
 	#else
-		_error2_("GSL support not compiled in!");
+		_error_("GSL support not compiled in!");
 	#endif
 
 }/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp	(revision 13036)
@@ -36,13 +36,13 @@
 
 	/*Some checks on arguments: */
 	if ((M<2) || (N<2) || (nods<=0)){
-		_error2_("nothing to be done according to the dimensions of input matrices and vectors.");
+		_error_("nothing to be done according to the dimensions of input matrices and vectors.");
 	}
 	if (x_in[1]-x_in[0]<0){
-		_error2_("x coordinate vector should be increasing.\n   use Matlab's command x=flipud(x), also flip the data matrix data=fliplr(data)");
+		_error_("x coordinate vector should be increasing.\n   use Matlab's command x=flipud(x), also flip the data matrix data=fliplr(data)");
 	}
 	if (y_in[1]-y_in[0]<0){
-		_error2_("y coordinate vector should be increasing.\n   use Matlab's command y=flipud(y), also flip the data matrix data=flipud(data)");
+		_error_("y coordinate vector should be increasing.\n   use Matlab's command y=flipud(y), also flip the data matrix data=flipud(data)");
 	}
 
 	/*Allocate output vector: */
@@ -68,7 +68,7 @@
 		for (i=0;i<M;i++) y[i]=y_in[i];
 	}
 	else{
-		_error2_("x and y vectors length should be 1 or 0 more than data number of rows.");
+		_error_("x and y vectors length should be 1 or 0 more than data number of rows.");
 	}
 
 	/*initialize thread parameters: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodeConnectivityx/NodeConnectivityx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodeConnectivityx/NodeConnectivityx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/NodeConnectivityx/NodeConnectivityx.cpp	(revision 13036)
@@ -70,7 +70,7 @@
 	/*Last check: is the number of elements on last column of the connectivity superior to maxels? If so, then error out and 
 	 * warn the user to increase the connectivity width: */
 	for(i=0;i<nods;i++){
-		if (*(connectivity+width*i+maxels)>maxels)_error2_("max connectivity width reached (" << *(connectivity+width*i+maxels) << ")! increase width of connectivity table");
+		if (*(connectivity+width*i+maxels)>maxels)_error_("max connectivity width reached (" << *(connectivity+width*i+maxels) << ")! increase width of connectivity table");
 	}
 
 	/*Assign output pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp	(revision 13036)
@@ -105,7 +105,7 @@
 	for(i=0;i<numanalyses;i++){
 		char* string=strings[i];
 		if(my_rank==0){
-			if(string==NULL) _error2_("PETSc options for analysis " << EnumToStringx(reCast<int>(analyses[i])) << " have been declared but were not found");
+			if(string==NULL) _error_("PETSc options for analysis " << EnumToStringx(reCast<int>(analyses[i])) << " have been declared but were not found");
 		}
 		if(my_rank==0)stringlength=(strlen(string)+1)*sizeof(char);
 		#ifdef _HAVE_MPI_
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Gradjx/Gradjx.cpp	(revision 13036)
@@ -53,8 +53,8 @@
 
 	/*Check that gradient is clean*/
 	norm_inf=gradient->Norm(NORM_INF);
-	if(norm_inf<=0)    _error2_("||∂J/∂α||∞ = 0    gradient norm is zero");
-	if(xIsNan<IssmDouble>(norm_inf))_error2_("||∂J/∂α||∞ = NaN  gradient norm is NaN");
+	if(norm_inf<=0)    _error_("||∂J/∂α||∞ = 0    gradient norm is zero");
+	if(xIsNan<IssmDouble>(norm_inf))_error_("||∂J/∂α||∞ = NaN  gradient norm is NaN");
 
 	/*Clean-up and assign output pointer*/
 	if(pnorm_list){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/DakotaResponsesx/DakotaResponsesx.cpp	(revision 13036)
@@ -85,7 +85,7 @@
 			}
 		}
 		else if (flag==NodalEnum){
-			_error2_("nodal response functions not supported yet!");
+			_error_("nodal response functions not supported yet!");
 
 			/*increment response_pointer :*/
 			responses_pointer++;
@@ -103,7 +103,7 @@
 				responses_pointer++;
 			}
 		}
-		else _error2_("flag type " << flag << " not supported yet for response analysis");
+		else _error_("flag type " << flag << " not supported yet for response analysis");
 	}
 
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 13036)
@@ -132,7 +132,7 @@
 						nodecon[ipt+(nncon-1)]++;
 					}
 					else
-						_error2_("Nodal connectivity table needs more than specified " << mxepg << " columns.\n");
+						_error_("Nodal connectivity table needs more than specified " << mxepg << " columns.\n");
 				}
 				jpt++;
 			}
@@ -172,7 +172,7 @@
 		}
 
 		else
-			_error2_("Data matrix has incorrect number of " << mdata << " rows.\n");
+			_error_("Data matrix has incorrect number of " << mdata << " rows.\n");
 	}
 
 /*  write folder for mesh  */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp	(revision 13036)
@@ -74,7 +74,7 @@
 /*  open shp/shx files  */
 
 	hSHP = SHPOpen( filshp, "rb" );
-	if (!hSHP) _error2_("Error opening shp/shx files.");
+	if (!hSHP) _error_("Error opening shp/shx files.");
 
 /*  read header and print out file bounds  */
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp	(revision 13036)
@@ -37,8 +37,8 @@
 	/*First of, find the record for the enum, and get code  of data type: */
 	fid=iomodel->SetFilePointerToData(&code, &vector_layout,vector_enum);
 
-	if(code!=7)_error2_("expecting a IssmDouble vector for constraints with enum " << EnumToStringx(vector_enum));
-	if(vector_layout!=1)_error2_("expecting a nodal vector for constraints with enum " << EnumToStringx(vector_enum));
+	if(code!=7)_error_("expecting a IssmDouble vector for constraints with enum " << EnumToStringx(vector_enum));
+	if(vector_layout!=1)_error_("expecting a nodal vector for constraints with enum " << EnumToStringx(vector_enum));
 
 	/*Fetch vector:*/
 	iomodel->FetchData(&IssmDoublevector,&M,&N,vector_enum);
@@ -98,7 +98,7 @@
 		}
 	}
 	else{
-		_error2_("Size of field " << EnumToStringx(vector_enum) << " not supported");
+		_error_("Size of field " << EnumToStringx(vector_enum) << " not supported");
 	}
 
 	/*Free ressources:*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp	(revision 13036)
@@ -59,6 +59,6 @@
 	xDelete<real_t>(tpwgts);
 
 	#else
-	_error2_("METIS version not supported yet");
+	_error_("METIS version not supported yet");
 	#endif
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqVec.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqVec.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqVec.cpp	(revision 13036)
@@ -84,7 +84,7 @@
 			for(i=0;i<ssize;i++) this->vector[list[i]]=values[i];
 			break;
 		default:
-			_error2_("unknown insert mode!");
+			_error_("unknown insert mode!");
 			break;
 	}
 
@@ -101,7 +101,7 @@
 			this->vector[dof]=value;
 			break;
 		default:
-			_error2_("unknown insert mode!");
+			_error_("unknown insert mode!");
 			break;
 	}
 }
@@ -203,7 +203,7 @@
 			return sqrt(norm);
 			break;
 		default:
-			_error2_("unknown norm !");
+			_error_("unknown norm !");
 			break;
 	}
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqMat.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqMat.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/issm/SeqMat.cpp	(revision 13036)
@@ -118,7 +118,7 @@
 			return norm;
 			break;
 		default:
-			_error2_("unknown norm !");
+			_error_("unknown norm !");
 			break;
 	}
 }
@@ -149,8 +149,8 @@
 	X->GetSize(&XM);
 	AX->GetSize(&AXM);
 
-	if(M!=AXM)_error2_("A and AX should have the same number of rows!");
-	if(N!=XM)_error2_("A and X should have the same number of columns!");
+	if(M!=AXM)_error_("A and AX should have the same number of rows!");
+	if(N!=XM)_error_("A and X should have the same number of columns!");
 
 	for(i=0;i<M;i++){
 		dummy=0;
@@ -196,7 +196,7 @@
 			for(i=0;i<m;i++) for(j=0;j<n;j++) this->matrix[N*idxm[i]+idxn[j]]=values[n*i+j];
 			break;
 		default:
-			_error2_("unknown insert mode!");
+			_error_("unknown insert mode!");
 			break;
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/plapack/patches/PlapackInvertMatrix.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/plapack/patches/PlapackInvertMatrix.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/plapack/patches/PlapackInvertMatrix.cpp	(revision 13036)
@@ -50,7 +50,7 @@
 	MatGetLocalSize(*A,&local_mA,&local_nA);
 
 	/*Some dimensions checks: */
-	if (mA!=nA) _error2_("trying to take the invert of a non-square matrix!");
+	if (mA!=nA) _error_("trying to take the invert of a non-square matrix!");
 
 	/* Set default Plapack parameters */
 	//First find nprows*npcols=num_procs;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 			return MATSEQAIJ;
 			break;
 		default: 
-			_error2_("unknown matrix type !");
+			_error_("unknown matrix type !");
 			break;
 	}
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 			return INSERT_VALUES;
 			break;
 		default: 
-			_error2_("unknown insert mode!");
+			_error_("unknown insert mode!");
 			break;
 	}
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatInvert.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatInvert.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatInvert.cpp	(revision 13036)
@@ -28,7 +28,7 @@
 
 	/*Some checks: */
 	MatGetSize(matrix,&M,&N);
-	if(M!=N) _error2_("trying to invert a non square matrix!");
+	if(M!=N) _error_("trying to invert a non square matrix!");
 
 	/*Create identitiy matrix: */
 	identity=NewMat(M,N,sparsity);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatPartition.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatPartition.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/MatPartition.cpp	(revision 13036)
@@ -61,7 +61,7 @@
 			#endif
 		}
 		else{
-			_error2_("MatType " << type << " not supported yet");
+			_error_("MatType " << type << " not supported yet");
 		}
 		/*Assemble*/
 		MatAssemblyBegin(outmatrix,MAT_FINAL_ASSEMBLY);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp	(revision 13036)
@@ -29,7 +29,7 @@
 			return NORM_2;
 			break;
 		default: 
-			_error2_("unknown norm !");
+			_error_("unknown norm !");
 			break;
 	}
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp	(revision 13036)
@@ -54,7 +54,7 @@
 			 * and set the option, then end the token analysis.*/
 			if(first[0]!='-'){
 				/*This is not good, the option does not have '-'! Get out*/
-				_error2_("Option " << first << " should be preceded by '-'!");
+				_error_("Option " << first << " should be preceded by '-'!");
 			}
 			/*Reduce first to bare option value*/
 			PetscStrlen(first,&len);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/VecMerge.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/VecMerge.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/toolkits/petsc/patches/VecMerge.cpp	(revision 13036)
@@ -34,7 +34,7 @@
 
 	/*If the dimension of the partitioning vector is not the same as that of vector B, we have a problem: */
 	if ( (row_partition_size !=MB) ){
-		_error2_("Dimensions of partitioning vector incompatible with dimensions of input vector\n");
+		_error_("Dimensions of partitioning vector incompatible with dimensions of input vector\n");
 	}
 
 	/*Get values from vector B and plug them into vector A, using the partitioning vector*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/DofIndexing.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/DofIndexing.cpp	(revision 13036)
@@ -142,7 +142,7 @@
 		if(this->ssize)this->sdoflist=xNew<int>(size);
 		else this->sdoflist=NULL;
 	}
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 }
 /*}}}*/
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/Hook.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/Hook.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/Hook.cpp	(revision 13036)
@@ -184,7 +184,7 @@
 		if(this->objects[i]==NULL){
 			this->objects[i]=(Object*)dataset->GetObjectById(this->offsets+i,this->ids[i]); //remember the offset for later on.
 			/*check the id is correct!: */
-			if (this->objects[i]->Id()!=this->ids[i]) _error2_("wrong id: " << this->objects[i]->Id() << " vs " << this->ids[i] << "  in resolved pointer!");
+			if (this->objects[i]->Id()!=this->ids[i]) _error_("wrong id: " << this->objects[i]->Id() << " vs " << this->ids[i] << "  in resolved pointer!");
 		}
 	}
 }
@@ -193,10 +193,10 @@
 Object* Hook::delivers(void){
 	
 	/*first, check that we only have one T object in our object list: */
-	if (this->num!=1) _error2_("trying to delivery a single hook object when hook holds " << this->num << " objects" << "\n");
+	if (this->num!=1) _error_("trying to delivery a single hook object when hook holds " << this->num << " objects" << "\n");
 
 	/*check NULL: */
-	if (this->objects==NULL) _error2_("hook is not pointing to any object, objects pointer is NULL");
+	if (this->objects==NULL) _error_("hook is not pointing to any object, objects pointer is NULL");
 
 	return *objects;
 }
@@ -245,11 +245,11 @@
 	}
 
 	/*Else, check that we are requesting a half of num*/
-	if (numindices>this->num) _error2_("Cannot spawn hook with " << numindices << " objects from a Hook of " << this->num << " objects");
+	if (numindices>this->num) _error_("Cannot spawn hook with " << numindices << " objects from a Hook of " << this->num << " objects");
 
 	/*go pickup the correct objects, ids and offsets :*/
 	output->num=numindices;
-	if(output->num<1) _error2_("Trying to spawn an empty ElementProperties!");
+	if(output->num<1) _error_("Trying to spawn an empty ElementProperties!");
 
 	output->objects=xNew<Object*>(output->num);
 	output->ids=xNew<int>(output->num);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussTria.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 13036)
@@ -79,7 +79,7 @@
 		for(i=0;i<numgauss;i++) weights[i]=seg_weights[i];
 	}
 	else
-	 _error2_("The 2 indices provided are not supported yet (user provided " << index1 << " and " << index2 << ")");
+	 _error_("The 2 indices provided are not supported yet (user provided " << index1 << " and " << index2 << ")");
 
 	/*Initialize static fields as undefined*/
 	weight=UNDEF;
@@ -177,7 +177,7 @@
 		coord3=0.5;
 	}
 	else
-	 _error2_("The 2 indices provided are not supported yet (user provided " << index1 << " and " << index2 << ")");
+	 _error_("The 2 indices provided are not supported yet (user provided " << index1 << " and " << index2 << ")");
 
 }
 /*}}}*/
@@ -240,7 +240,7 @@
 			coord1=0; coord2=0; coord3=1;
 			break;
 		default:
-			_error2_("vertex index should be in [0 2]");
+			_error_("vertex index should be in [0 2]");
 
 	}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussPenta.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 13036)
@@ -118,7 +118,7 @@
 		for(i=0;i<numgauss;i++) weights[i]=seg_weights[i];
 	}
 	else{
-		_error2_("Penta not supported yet");
+		_error_("Penta not supported yet");
 	}
 
 	/*Initialize static fields as undefined*/
@@ -158,7 +158,7 @@
 		for(int i=0;i<numgauss;i++) coords4[i]=1.0;
 	}
 	else{
-		_error2_("Tria not supported yet");
+		_error_("Tria not supported yet");
 	}
 
 }
@@ -220,7 +220,7 @@
 		}
 	}
 	else{
-		_error2_("Tria not supported yet (user provided indices " << index1 << " " << index2 << " " << index3 << " " << index4 << ")");
+		_error_("Tria not supported yet (user provided indices " << index1 << " " << index2 << " " << index3 << " " << index4 << ")");
 	}
 
 	/*clean-up*/
@@ -339,7 +339,7 @@
 			coord1=0; coord2=0; coord3=1; coord4= +1;
 			break;
 		default:
-			_error2_("vertex index should be in [0 5]");
+			_error_("vertex index should be in [0 5]");
 
 	}
 
@@ -358,7 +358,7 @@
 		for(int i=0;i<numgauss;i++) coords4[i]=-1.0;
 	}
 	else{
-		_error2_("Tria not supported yet");
+		_error_("Tria not supported yet");
 	}
 
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matice.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matice.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matice.cpp	(revision 13036)
@@ -179,13 +179,13 @@
 
 			/*Get input (either in element or material)*/
 			Input* input=inputs->GetInput(input_enum);
-			if(!input) _error2_("Input " << EnumToStringx(input_enum) << " not found in material");
+			if(!input) _error_("Input " << EnumToStringx(input_enum) << " not found in material");
 
 			/*We found the enum.  Use its values to fill into the vector, using the vertices ids: */
 			input->GetVectorFromInputs(vector,&doflist1[0]);}
 			break;
 
-		default: _error2_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
+		default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
 	}
 }
 /*}}}*/
@@ -245,7 +245,7 @@
 	}
 
 	/*Checks in debugging mode*/
-	if(viscosity<=0) _error2_("Negative viscosity");
+	if(viscosity<=0) _error_("Negative viscosity");
 	_assert_(B>0);
 	_assert_(n>0);
 
@@ -316,7 +316,7 @@
 	}
 
 	/*Checks in debugging mode*/
-	if(viscosity3d<=0) _error2_("Negative viscosity");
+	if(viscosity3d<=0) _error_("Negative viscosity");
 	_assert_(B>0);
 	_assert_(n>0);
 
@@ -388,7 +388,7 @@
 	}
 
 	/*Checks in debugging mode*/
-	if(viscosity3d<=0) _error2_("Negative viscosity");
+	if(viscosity3d<=0) _error_("Negative viscosity");
 	_assert_(B>0);
 	_assert_(n>0);
 
@@ -549,9 +549,9 @@
 					this->inputs->AddInput(new TriaP1Input(name,values));
 					return;
 				}
-				default: _error2_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
+				default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
 			}
-		default: _error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+		default: _error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 }
 /*}}}*/
@@ -607,9 +607,9 @@
 					/*}}}*/
 					return;
 				}
-				default: _error2_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
+				default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
 			}
-		default: _error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+		default: _error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 
 
@@ -749,7 +749,7 @@
 	}
 	#endif
 	else{
-		_error2_("Mesh type not supported yet!");
+		_error_("Mesh type not supported yet!");
 	}
 
 	return;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matpar.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matpar.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Materials/Matpar.h	(revision 13036)
@@ -61,10 +61,10 @@
 		void   InputUpdateFromConstant(int constant, int name);
 		void   InputUpdateFromConstant(bool constant, int name);
 		void   InputUpdateFromSolution(IssmDouble* solution);
-		void   InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void   InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 		/*Material virtual functions resolution: {{{*/
-		void   InputDuplicate(int original_enum,int new_enum){_error2_("not implemented yet");};
+		void   InputDuplicate(int original_enum,int new_enum){_error_("not implemented yet");};
 		void   Configure(Elements* elements);
 		void   GetVectorFromInputs(Vector* vector,int input_enum){return;}
 		/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.h	(revision 13036)
@@ -39,7 +39,7 @@
 		Input* PointwiseMin(Input* inputB);
 		Input* PointwiseMax(Input* inputB);
 		ElementResult* SpawnResult(int step, IssmDouble time);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
@@ -48,10 +48,10 @@
 		void GetInputValue(IssmDouble* pvalue);
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetInputAverage(IssmDouble* pvalue);
@@ -66,15 +66,15 @@
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
 		void Scale(IssmDouble scale_factor);
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
 		void AXPY(Input* xinput,IssmDouble scalar);
 		void Constrain(IssmDouble cm_min, IssmDouble cm_max);
-		IssmDouble InfinityNorm(void){_error2_("not implemented yet");};
+		IssmDouble InfinityNorm(void){_error_("not implemented yet");};
 		IssmDouble Max(void);
 		IssmDouble MaxAbs(void);
 		IssmDouble Min(void);
 		IssmDouble MinAbs(void);
-		void Extrude(void){_error2_("not supported yet");};
+		void Extrude(void){_error_("not supported yet");};
 		void VerticallyIntegrate(Input* thickness_input);
 		void GetVectorFromInputs(Vector* vector,int* doflist);
 		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.cpp	(revision 13036)
@@ -47,7 +47,7 @@
 			maxvalues  =new PentaP1Input(enum_type,pmax);
 			break;
 		default:
-			_error2_("Input of Enum " << EnumToStringx(enum_input) << " not supported yet by ControlInput");
+			_error_("Input of Enum " << EnumToStringx(enum_input) << " not supported yet by ControlInput");
 	}
 	gradient   =NULL;
 }
@@ -151,7 +151,7 @@
 }/*}}}*/
 /*FUNCTION ControlInput::ScaleGradient{{{*/
 void ControlInput::ScaleGradient(IssmDouble scaling_factor){
-	if(!gradient) _error2_("Gradient of ControlInput " << EnumToStringx(enum_type) << " not found");
+	if(!gradient) _error_("Gradient of ControlInput " << EnumToStringx(enum_type) << " not found");
 	gradient->Scale(scaling_factor);
 }/*}}}*/
 /*FUNCTION ControlInput::SetGradient{{{*/
@@ -169,7 +169,7 @@
 			gradient_in->ChangeEnum(Gradient3Enum);
 			break;
 		default:
-			_error2_("more than 3 controls not implemented yet (Gradient " << this->control_id << " was requested). EnumDefinitions.h needs to be updated.");
+			_error_("more than 3 controls not implemented yet (Gradient " << this->control_id << " was requested). EnumDefinitions.h needs to be updated.");
 	}
 
 	/*Delete old gradient and assign new gradient*/
@@ -220,7 +220,7 @@
 		 gradient->GetVectorFromInputs(vector,doflist);
 	 }
 	 else{
-		 _error2_("Data " << data << " not supported yet");
+		 _error_("Data " << data << " not supported yet");
 	 }
 }/*}}}*/
 /*FUNCTION ControlInput::GetInputAverage(IssmDouble* pvalue){{{*/
@@ -257,15 +257,15 @@
 }/*}}}*/
 /*FUNCTION ControlInput::SaveValue{{{*/
 void ControlInput::SaveValue(void){
-	if(!values) _error2_("Values of " << EnumToStringx(this->enum_type) << " not found");
+	if(!values) _error_("Values of " << EnumToStringx(this->enum_type) << " not found");
 
 	if(savedvalues) delete this->savedvalues;
 	this->savedvalues=(Input*)this->values->copy();
 }/*}}}*/
 /*FUNCTION ControlInput::UpdateValue{{{*/
 void ControlInput::UpdateValue(IssmDouble scalar){
-	if(!gradient)    _error2_("Gradient of " << EnumToStringx(this->enum_type) << " not found");
-	if(!savedvalues) _error2_("Values of " << EnumToStringx(this->enum_type) << " not found");
+	if(!gradient)    _error_("Gradient of " << EnumToStringx(this->enum_type) << " not found");
+	if(!savedvalues) _error_("Values of " << EnumToStringx(this->enum_type) << " not found");
 
 	if(values) delete this->values;
 	this->values=(Input*)this->savedvalues->copy();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/ControlInput.h	(revision 13036)
@@ -40,11 +40,11 @@
 		/*ControlInput management: {{{*/
 		int    InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMin(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMax(Input* inputB){_error2_("not implemented yet");};
+		Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
 		ElementResult* SpawnResult(int step, IssmDouble time);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
@@ -54,38 +54,38 @@
 		void GetInputValue(IssmDouble* pvalue);
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetInputAverage(IssmDouble* pvalue);
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void ChangeEnum(int newenumtype){_error2_("not implemented yet");};
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error2_("not implemented yet");};
-		void ConstrainMin(IssmDouble minimum){_error2_("not implemented yet");};
-		void Scale(IssmDouble scale_factor){_error2_("not implemented yet");};
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
-		void AXPY(Input* xinput,IssmDouble scalar){_error2_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
+		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};
+		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
+		void AXPY(Input* xinput,IssmDouble scalar){_error_("not implemented yet");};
 		void Constrain(void);
 		void Constrain(IssmDouble min,IssmDouble max);
-		IssmDouble InfinityNorm(void){_error2_("not implemented yet");};
-		IssmDouble Max(void){_error2_("not implemented yet");};
-		IssmDouble MaxAbs(void){_error2_("not implemented yet");};
-		IssmDouble Min(void){_error2_("not implemented yet");};
-		IssmDouble MinAbs(void){_error2_("not implemented yet");};
+		IssmDouble InfinityNorm(void){_error_("not implemented yet");};
+		IssmDouble Max(void){_error_("not implemented yet");};
+		IssmDouble MaxAbs(void){_error_("not implemented yet");};
+		IssmDouble Min(void){_error_("not implemented yet");};
+		IssmDouble MinAbs(void){_error_("not implemented yet");};
 		void Extrude(void);
 		void VerticallyIntegrate(Input* thickness_input);
 		void GetVectorFromInputs(Vector* vector,int* doflist,const char* data);
 		void GetVectorFromInputs(Vector* vector,int* doflist);
-		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error2_("not implemented yet");};
+		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error_("not implemented yet");};
 		ElementResult* SpawnGradient(int step, IssmDouble time);
 		void GetGradient(Vector* gradient_vec,int* doflist);
 		void ScaleGradient(IssmDouble scale);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.cpp	(revision 13036)
@@ -114,7 +114,7 @@
 void DatasetInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss,int index){
 
 	/*Get requested input within dataset*/
-	if(index<0 || index > inputs->Size()-1) _error2_("index requested (" << index << ") exceeds dataset size (" << inputs->Size() << ")");
+	if(index<0 || index > inputs->Size()-1) _error_("index requested (" << index << ") exceeds dataset size (" << inputs->Size() << ")");
 	Input* input=(Input*)this->inputs->GetObjectByOffset(index);
 	
 	input->GetInputValue(pvalue,gauss);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DatasetInput.h	(revision 13036)
@@ -36,56 +36,56 @@
 		/*DatasetInput management: {{{*/
 		int    InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMin(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMax(Input* inputB){_error2_("not implemented yet");};
-		ElementResult* SpawnResult(int step, IssmDouble time){_error2_("not implemented yet");};
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
+		ElementResult* SpawnResult(int step, IssmDouble time){_error_("not implemented yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
-		void GetInputValue(bool* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(int* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
+		void GetInputValue(bool* pvalue){_error_("not implemented yet");};
+		void GetInputValue(int* pvalue){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index);
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetInputAverage(IssmDouble* pvalue){_error2_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void ChangeEnum(int newenumtype){_error2_("not implemented yet");};
-		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error2_("not implemented yet");};
-		void ConstrainMin(IssmDouble minimum){_error2_("not implemented yet");};
-		void Scale(IssmDouble scale_factor){_error2_("not implemented yet");};
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
-		void AXPY(Input* xinput,IssmDouble scalar){_error2_("not implemented yet");};
-		void Constrain(void){_error2_("not implemented yet");};
-		void Constrain(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
-		IssmDouble InfinityNorm(void){_error2_("not implemented yet");};
-		IssmDouble Max(void){_error2_("not implemented yet");};
-		IssmDouble MaxAbs(void){_error2_("not implemented yet");};
-		IssmDouble Min(void){_error2_("not implemented yet");};
-		IssmDouble MinAbs(void){_error2_("not implemented yet");};
-		void Extrude(void){_error2_("not implemented yet");};
-		void VerticallyIntegrate(Input* thickness_input){_error2_("not implemented yet");};
-		void GetVectorFromInputs(Vector* vector,int* doflist){_error2_("not implemented yet");};
-		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error2_("not implemented yet");};
-		ElementResult* SpawnGradient(int step, IssmDouble time){_error2_("not implemented yet");};
-		void GetGradient(Vector* gradient_vec,int* doflist){_error2_("not implemented yet");};
-		void ScaleGradient(IssmDouble scale){_error2_("not implemented yet");};
-		void SetGradient(Input* gradient_in){_error2_("not implemented yet");};
-		void UpdateValue(IssmDouble scalar){_error2_("not implemented yet");};
-		void SaveValue(void){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
+		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void ChangeEnum(int newenumtype){_error_("not implemented yet");};
+		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};
+		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
+		void AXPY(Input* xinput,IssmDouble scalar){_error_("not implemented yet");};
+		void Constrain(void){_error_("not implemented yet");};
+		void Constrain(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
+		IssmDouble InfinityNorm(void){_error_("not implemented yet");};
+		IssmDouble Max(void){_error_("not implemented yet");};
+		IssmDouble MaxAbs(void){_error_("not implemented yet");};
+		IssmDouble Min(void){_error_("not implemented yet");};
+		IssmDouble MinAbs(void){_error_("not implemented yet");};
+		void Extrude(void){_error_("not implemented yet");};
+		void VerticallyIntegrate(Input* thickness_input){_error_("not implemented yet");};
+		void GetVectorFromInputs(Vector* vector,int* doflist){_error_("not implemented yet");};
+		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error_("not implemented yet");};
+		ElementResult* SpawnGradient(int step, IssmDouble time){_error_("not implemented yet");};
+		void GetGradient(Vector* gradient_vec,int* doflist){_error_("not implemented yet");};
+		void ScaleGradient(IssmDouble scale){_error_("not implemented yet");};
+		void SetGradient(Input* gradient_in){_error_("not implemented yet");};
+		void UpdateValue(IssmDouble scalar){_error_("not implemented yet");};
+		void SaveValue(void){_error_("not implemented yet");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.cpp	(revision 13036)
@@ -98,14 +98,14 @@
 /*FUNCTION IntInput::SpawnResult{{{*/
 ElementResult* IntInput::SpawnResult(int step, IssmDouble time){
 	
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 
 }
 /*}}}*/
 
 /*Object functions*/
 /*FUNCTION IntInput::GetInputValue(bool* pvalue) {{{*/
-void IntInput::GetInputValue(bool* pvalue){_error2_("not supported yet!");}
+void IntInput::GetInputValue(bool* pvalue){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION IntInput::GetInputValue(int* pvalue){{{*/
 void IntInput::GetInputValue(int* pvalue){
@@ -114,20 +114,20 @@
 /*}}}*/
 /*FUNCTION IntInput::GetInputValue(IssmDouble* pvalue){{{*/
 void IntInput::GetInputValue(IssmDouble* pvalue){
-	_error2_("IntInput cannot return a IssmDouble in parallel");
+	_error_("IntInput cannot return a IssmDouble in parallel");
 }
 /*}}}*/
 /*FUNCTION IntInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){{{*/
-void IntInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error2_("not supported yet!");}
+void IntInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION IntInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){{{*/
-void IntInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error2_("not supported yet!");}
+void IntInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){{{*/
-void IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error2_("not supported yet!");}
+void IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){{{*/
-void IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not supported yet!");}
+void IntInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION IntInput::ChangeEnum{{{*/
 void IntInput::ChangeEnum(int newenumtype){
@@ -165,7 +165,7 @@
 			return;
 
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 
 }
@@ -181,14 +181,14 @@
 /*FUNCTION IntInput::GetVectorFromInputs{{{*/
 void IntInput::GetVectorFromInputs(Vector* vector,int* doflist){
 
-	_error2_("not supporte yet!");
+	_error_("not supporte yet!");
 
 }
 /*}}}*/
 /*FUNCTION IntInput::GetValuesPtr{{{*/
 void IntInput::GetValuesPtr(IssmDouble** pvalues,int* pnum_values){
 
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.cpp	(revision 13036)
@@ -111,22 +111,22 @@
 }
 /*}}}*/
 /*FUNCTION BoolInput::GetInputValue(int* pvalue){{{*/
-void BoolInput::GetInputValue(int* pvalue){_error2_("not supported yet!");}
+void BoolInput::GetInputValue(int* pvalue){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::GetInputValue(IssmDouble* pvalue){{{*/
-void BoolInput::GetInputValue(IssmDouble* pvalue){_error2_("not supported yet!");}
+void BoolInput::GetInputValue(IssmDouble* pvalue){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){{{*/
-void BoolInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error2_("not supported yet!");}
+void BoolInput::GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){{{*/
-void BoolInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error2_("not supported yet!");}
+void BoolInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){{{*/
-void BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error2_("not supported yet!");}
+void BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){{{*/
-void BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not supported yet!");}
+void BoolInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION BoolInput::ChangeEnum{{{*/
 void BoolInput::ChangeEnum(int newenumtype){
@@ -160,7 +160,7 @@
 			return;
 
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 
 }
@@ -175,14 +175,14 @@
 /*FUNCTION BoolInput::GetVectorFromInputs{{{*/
 void BoolInput::GetVectorFromInputs(Vector* vector,int* doflist){
 
-	_error2_("not supporte yet!");
+	_error_("not supporte yet!");
 
 }
 /*}}}*/
 /*FUNCTION BoolInput::GetValuesPtr{{{*/
 void BoolInput::GetValuesPtr(IssmDouble** pvalues,int* pnum_values){
 
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/IntInput.h	(revision 13036)
@@ -36,11 +36,11 @@
 		/*IntInput management: {{{*/
 		int   InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMin(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMax(Input* inputB){_error2_("not implemented yet");};
+		Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
 		ElementResult* SpawnResult(int step, IssmDouble time);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
@@ -49,34 +49,34 @@
 		void GetInputValue(IssmDouble* pvalue);
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
-		void GetInputAverage(IssmDouble* pvalue){_error2_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
-		void ConstrainMin(IssmDouble minimum){_error2_("not implemented yet");};
+		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
 		void Scale(IssmDouble scale_factor);
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
 		void AXPY(Input* xinput,IssmDouble scalar);
 		void Constrain(IssmDouble cm_min, IssmDouble cm_max);
-		IssmDouble InfinityNorm(void){_error2_("InfinityNorm not implemented for integers");};
-		IssmDouble Max(void){_error2_("Max not implemented for integers");};
-		IssmDouble MaxAbs(void){_error2_("Max not implemented for integers");};
-		IssmDouble Min(void){_error2_("Min not implemented for integers");};
-		IssmDouble MinAbs(void){_error2_("Min not implemented for integers");};
-		void Extrude(void){_error2_("not supported yet");};
-		void VerticallyIntegrate(Input* thickness_input){_error2_("not supported yet");};
+		IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for integers");};
+		IssmDouble Max(void){_error_("Max not implemented for integers");};
+		IssmDouble MaxAbs(void){_error_("Max not implemented for integers");};
+		IssmDouble Min(void){_error_("Min not implemented for integers");};
+		IssmDouble MinAbs(void){_error_("Min not implemented for integers");};
+		void Extrude(void){_error_("not supported yet");};
+		void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
 		void GetVectorFromInputs(Vector* vector,int* doflist);
 		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
 		/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/BoolInput.h	(revision 13036)
@@ -36,12 +36,12 @@
 		/*BoolInput management: {{{*/
 		int   InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMin(Input* inputB){_error2_("not implemented yet");};
-		Input* PointwiseMax(Input* inputB){_error2_("not implemented yet");};
+		Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
 		ElementResult* SpawnResult(int step, IssmDouble time);
 		void Configure(Parameters* parameters);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		/*}}}*/
 		/*numerics: {{{*/
 		void GetInputValue(bool* pvalue);
@@ -49,34 +49,34 @@
 		void GetInputValue(IssmDouble* pvalue);
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
-		void GetInputAverage(IssmDouble* pvalue){_error2_("not implemented yet");};
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
-		void ConstrainMin(IssmDouble minimum){_error2_("not implemented yet");};
-		IssmDouble InfinityNorm(void){_error2_("InfinityNorm not implemented for booleans");};
-		IssmDouble Max(void){_error2_("Max not implemented for booleans");};
-		IssmDouble MaxAbs(void){_error2_("Max not implemented for booleans");};
-		IssmDouble Min(void){_error2_("Min not implemented for booleans");};
-		IssmDouble MinAbs(void){_error2_("Min not implemented for booleans");};
+		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+		IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for booleans");};
+		IssmDouble Max(void){_error_("Max not implemented for booleans");};
+		IssmDouble MaxAbs(void){_error_("Max not implemented for booleans");};
+		IssmDouble Min(void){_error_("Min not implemented for booleans");};
+		IssmDouble MinAbs(void){_error_("Min not implemented for booleans");};
 		void Scale(IssmDouble scale_factor);
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
 		void AXPY(Input* xinput,IssmDouble scalar);
-		void Constrain(IssmDouble cm_min, IssmDouble cm_max){_error2_("Constrain not implemented for booleans");};
+		void Constrain(IssmDouble cm_min, IssmDouble cm_max){_error_("Constrain not implemented for booleans");};
 		void Extrude(void);
-		void VerticallyIntegrate(Input* thickness_input){_error2_("not supported yet");};
+		void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
 		void GetVectorFromInputs(Vector* vector,int* doflist);
 		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
 		/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.cpp	(revision 13036)
@@ -322,7 +322,7 @@
 			return;
 
 		default :
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 
 }
@@ -367,7 +367,7 @@
 	IssmDouble            minvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
-	if (inputB->ObjectEnum()!=TriaP1InputEnum) _error2_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
+	if (inputB->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
 	xinputB=(TriaP1Input*)inputB;
 
 	/*Create point wise min*/
@@ -398,7 +398,7 @@
 	IssmDouble            maxvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
-	if (inputB->ObjectEnum()!=TriaP1InputEnum) _error2_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
+	if (inputB->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
 	xinputB=(TriaP1Input*)inputB;
 
 	/*Create point wise max*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.h	(revision 13036)
@@ -36,33 +36,33 @@
 		/*TriaP1Input management: {{{*/
 		int   InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
+		Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
 		Input* PointwiseMin(Input* inputB);
 		Input* PointwiseMax(Input* inputB);
 		ElementResult* SpawnResult(int step, IssmDouble time);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
-		void GetInputValue(bool* pvalue){_error2_("not implemented yet");}
-		void GetInputValue(int* pvalue){_error2_("not implemented yet");}
-		void GetInputValue(IssmDouble* pvalue){_error2_("not implemented yet");}
+		void GetInputValue(bool* pvalue){_error_("not implemented yet");}
+		void GetInputValue(int* pvalue){_error_("not implemented yet");}
+		void GetInputValue(IssmDouble* pvalue){_error_("not implemented yet");}
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
-		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void GetInputAverage(IssmDouble* pvalue);
 		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss);
 		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss);
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
@@ -76,8 +76,8 @@
 		IssmDouble MaxAbs(void);
 		IssmDouble Min(void);
 		IssmDouble MinAbs(void);
-		void Extrude(void){_error2_("not supported yet");};
-		void VerticallyIntegrate(Input* thickness_input){_error2_("not supported yet");};
+		void Extrude(void){_error_("not supported yet");};
+		void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
 		void GetVectorFromInputs(Vector* vector,int* doflist);
 		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
 		/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.cpp	(revision 13036)
@@ -481,7 +481,7 @@
 			}
 		}
 	}
-	if(!found)_error2_("did not find time interval on which to interpolate forcing values!");
+	if(!found)_error_("did not find time interval on which to interpolate forcing values!");
 
 	/*Assign output pointer*/
 	return input;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.cpp	(revision 13036)
@@ -454,12 +454,12 @@
 			return;
 		case ControlInputEnum:{
 			ControlInput* cont_input=(ControlInput*)xinput;
-			if(cont_input->values->ObjectEnum()!=PentaP1InputEnum) _error2_("not supported yet");
+			if(cont_input->values->ObjectEnum()!=PentaP1InputEnum) _error_("not supported yet");
 			PentaP1Input* cast_input=(PentaP1Input*)cont_input->values;
 			for(i=0;i<numnodes;i++)this->values[i]=this->values[i]+scalar*(cast_input->values[i]);}
 			return;
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 
 }
@@ -494,7 +494,7 @@
 	IssmDouble    *thickness_values = NULL;
 
 	/*Check that input provided is a thickness*/
-	if (thickness_input->InstanceEnum()!=ThicknessEnum) _error2_("Input provided is not a Thickness (enum_type is " << EnumToStringx(thickness_input->InstanceEnum()) << ")");
+	if (thickness_input->InstanceEnum()!=ThicknessEnum) _error_("Input provided is not a Thickness (enum_type is " << EnumToStringx(thickness_input->InstanceEnum()) << ")");
 
 	/*Get Thickness value pointer*/
 	thickness_input->GetValuesPtr(&thickness_values,&num_thickness_values);
@@ -510,7 +510,7 @@
 			return;
 
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 }
 /*}}}*/
@@ -528,7 +528,7 @@
 	IssmDouble            AdotBvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
-	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error2_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
+	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
 	xinputB=(PentaP1Input*)inputB;
 
 	/*Create point wise sum*/
@@ -559,7 +559,7 @@
 	IssmDouble            minvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
-	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error2_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
+	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
 	xinputB=(PentaP1Input*)inputB;
 
 	/*Create point wise min*/
@@ -590,7 +590,7 @@
 	IssmDouble            maxvalues[numnodes];
 
 	/*Check that inputB is of the same type*/
-	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error2_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
+	if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type " << EnumToStringx(inputB->ObjectEnum()));
 	xinputB=(PentaP1Input*)inputB;
 
 	/*Create point wise max*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/DoubleInput.cpp	(revision 13036)
@@ -107,13 +107,13 @@
 /*Object functions*/
 /*FUNCTION DoubleInput::GetInputValue(bool* pvalue) {{{*/
 void DoubleInput::GetInputValue(bool* pvalue){
-	_error2_("Double input of enum " << EnumToStringx(enum_type) << " cannot return a boolean");
+	_error_("Double input of enum " << EnumToStringx(enum_type) << " cannot return a boolean");
 
 }
 /*}}}*/
 /*FUNCTION DoubleInput::GetInputValue(int* pvalue){{{*/
 void DoubleInput::GetInputValue(int* pvalue){
-	_error2_("Double input of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an integer");
+	_error_("Double input of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an integer");
 
 }
 /*}}}*/
@@ -131,10 +131,10 @@
 void DoubleInput::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){*pvalue=this->value;}
 /*}}}*/
 /*FUNCTION DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){{{*/
-void DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error2_("not supported yet!");}
+void DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){{{*/
-void DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not supported yet!");}
+void DoubleInput::GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not supported yet!");}
 /*}}}*/
 /*FUNCTION DoubleInput::GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){{{*/
 void DoubleInput::GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){
@@ -216,7 +216,7 @@
 			return;
 
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 
 }
@@ -252,14 +252,14 @@
 /*FUNCTION DoubleInput::GetVectorFromInputs{{{*/
 void DoubleInput::GetVectorFromInputs(Vector* vector,int* doflist){
 
-	_error2_("not supporte yet!");
+	_error_("not supporte yet!");
 
 }
 /*}}}*/
 /*FUNCTION DoubleInput::GetValuesPtr{{{*/
 void DoubleInput::GetValuesPtr(IssmDouble** pvalues,int* pnum_values){
 
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 
 }
 /*}}}*/
@@ -275,7 +275,7 @@
 	IssmDouble thickness_value;
 
 	/*Check that input provided is a thickness*/
-	if (thickness_input->InstanceEnum()!=ThicknessEnum) _error2_("Input provided is not a Thickness (enum_type is " << EnumToStringx(thickness_input->InstanceEnum()) << ")");
+	if (thickness_input->InstanceEnum()!=ThicknessEnum) _error_("Input provided is not a Thickness (enum_type is " << EnumToStringx(thickness_input->InstanceEnum()) << ")");
 
 	/*vertically integrate depending on type:*/
 	switch(thickness_input->ObjectEnum()){
@@ -286,7 +286,7 @@
 			return;
 
 		default:
-			_error2_("not implemented yet");
+			_error_("not implemented yet");
 	}
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/TransientInput.h	(revision 13036)
@@ -39,50 +39,50 @@
 		/*TransientInput management: {{{*/
 		int    InstanceEnum();
 		Input* SpawnTriaInput(int* indices);
-		Input* PointwiseDivide(Input* forcingB){_error2_("not implemented yet");};
-		Input* PointwiseMin(Input* forcingB){_error2_("not implemented yet");};
-		Input* PointwiseMax(Input* forcingB){_error2_("not implemented yet");};
+		Input* PointwiseDivide(Input* forcingB){_error_("not implemented yet");};
+		Input* PointwiseMin(Input* forcingB){_error_("not implemented yet");};
+		Input* PointwiseMax(Input* forcingB){_error_("not implemented yet");};
 		ElementResult* SpawnResult(int step, IssmDouble time);
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
-		void GetInputValue(bool* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(int* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue){_error2_("not implemented yet");};
+		void GetInputValue(bool* pvalue){_error_("not implemented yet");};
+		void GetInputValue(int* pvalue){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue){_error_("not implemented yet");};
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
 		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time);
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
-		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void GetInputAverage(IssmDouble* pvalue);
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
-		void ConstrainMin(IssmDouble minimum){_error2_("not implemented yet");};
-		void Scale(IssmDouble scale_factor){_error2_("not implemented yet");};
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
-		void AXPY(Input* xforcing,IssmDouble scalar){_error2_("not implemented yet");};
-		void Constrain(IssmDouble cm_min, IssmDouble cm_max){_error2_("not implemented yet");};
+		void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
+		void Scale(IssmDouble scale_factor){_error_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
+		void AXPY(Input* xforcing,IssmDouble scalar){_error_("not implemented yet");};
+		void Constrain(IssmDouble cm_min, IssmDouble cm_max){_error_("not implemented yet");};
 		IssmDouble InfinityNorm(void);
 		IssmDouble Max(void);
 		IssmDouble MaxAbs(void);
 		IssmDouble Min(void);
 		IssmDouble MinAbs(void);
 		void Extrude(void);
-		void VerticallyIntegrate(Input* thickness_forcing){_error2_("not supported yet");};
+		void VerticallyIntegrate(Input* thickness_forcing){_error_("not supported yet");};
 		void GetVectorFromInputs(Vector* vector,int* doflist);
-		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error2_("not supported yet");};
-      void GetTimeValues(IssmDouble* values,IssmDouble time){_error2_("not implemented yet");};
+		void GetValuesPtr(IssmDouble** pvalues,int* pnum_values){_error_("not supported yet");};
+      void GetTimeValues(IssmDouble* values,IssmDouble time){_error_("not implemented yet");};
 		Input* GetTimeInput(IssmDouble time);
 		/*}}}*/
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Inputs/PentaP1Input.h	(revision 13036)
@@ -40,24 +40,24 @@
 		Input* PointwiseMin(Input* inputB);
 		Input* PointwiseMax(Input* inputB);
 		ElementResult* SpawnResult(int step, IssmDouble time);
-		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
+		void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
 		void Configure(Parameters* parameters);
 		/*}}}*/
 		/*numerics: {{{*/
-		void GetInputValue(bool* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(int* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error2_("not implemented yet");};
+		void GetInputValue(bool* pvalue){_error_("not implemented yet");};
+		void GetInputValue(int* pvalue){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss){_error_("not implemented yet");};
 		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error2_("not implemented yet");};
-		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
+		void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
+		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
 		void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetInputAverage(IssmDouble* pvalue);
-		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
-		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error2_("not implemented yet");};
+		void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
+		void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
 		void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss);
@@ -68,7 +68,7 @@
 		void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
 		void ConstrainMin(IssmDouble minimum);
 		void Scale(IssmDouble scale_factor);
-		void ArtificialNoise(IssmDouble min,IssmDouble max){_error2_("not implemented yet");};
+		void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
 		void AXPY(Input* xinput,IssmDouble scalar);
 		void Constrain(IssmDouble cm_min, IssmDouble cm_max);
 		IssmDouble InfinityNorm(void);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.cpp	(revision 13036)
@@ -78,9 +78,9 @@
 	if      (!strncmp(kstr,"</Geometry",10))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_Geometry::Read -- Unexpected closing tag " << kstr << ".\n");}
+	  {_error_("KML_Geometry::Read -- Unexpected closing tag " << kstr << ".\n");}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_Geometry::Read -- Unexpected field \"" << kstr << "\".\n");}
+	  {_error_("KML_Geometry::Read -- Unexpected field \"" << kstr << "\".\n");}
 
 	else if (!strncmp(kstr,"<",1))
 		KML_Object::Read(fid,kstr);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.h	(revision 13036)
@@ -43,13 +43,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.h	(revision 13036)
@@ -35,13 +35,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.h	(revision 13036)
@@ -37,13 +37,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.cpp	(revision 13036)
@@ -92,9 +92,9 @@
 	if      (!strncmp(kstr,"</ColorStyle",12))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_ColorStyle::Read -- Unexpected closing tag " << kstr);}
+	  {_error_("KML_ColorStyle::Read -- Unexpected closing tag " << kstr);}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_ColorStyle::Read -- Unexpected field \"" << kstr << "\"");}
+	  {_error_("KML_ColorStyle::Read -- Unexpected field \"" << kstr << "\"");}
 
 	else if (!strcmp(kstr,"<color>"))
 		KMLFileTokenParse( color     ,NULL,KML_COLORSTYLE_COLOR_LENGTH, kstr, fid);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.cpp	(revision 13036)
@@ -139,9 +139,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Placemark::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Placemark::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Placemark::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Placemark::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strncmp(kstri,"<Point", 6)) {
 			kobj=(KML_Object*)new KML_Point();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.cpp	(revision 13036)
@@ -159,7 +159,7 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Unknown::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Unknown::Read -- Unexpected closing tag " << kstri << ".\n");}
 
 		else if (strncmp(kstri,"<",1)) {
 			if (value) {
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.cpp	(revision 13036)
@@ -130,9 +130,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_GroundOverlay::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_GroundOverlay::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_GroundOverlay::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_GroundOverlay::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<altitude>"))
 			KMLFileTokenParse(&altitude  ,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.h	(revision 13036)
@@ -43,13 +43,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.cpp	(revision 13036)
@@ -188,9 +188,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Style::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Style::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Style::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Style::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 //		else if (!strncmp(kstri,"<IconStyle",10)) {
 //			icon      =new KML_IconStyle();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.cpp	(revision 13036)
@@ -139,9 +139,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_MultiGeometry::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_MultiGeometry::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_MultiGeometry::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_MultiGeometry::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strncmp(kstri,"<Point", 6)) {
 			kobj=(KML_Object*)new KML_Point();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.h	(revision 13036)
@@ -28,13 +28,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.h	(revision 13036)
@@ -34,13 +34,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Attribute.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Attribute.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Attribute.h	(revision 13036)
@@ -29,13 +29,13 @@
 		virtual void  Echo();
 		virtual void  DeepEcho();
 		virtual void  DeepEcho(const char* indent);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 		/*virtual functions: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.cpp	(revision 13036)
@@ -112,9 +112,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_LineStyle::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_LineStyle::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_LineStyle::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_LineStyle::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<width>"))
 			KMLFileTokenParse(&width     ,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.h	(revision 13036)
@@ -31,13 +31,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.h	(revision 13036)
@@ -30,13 +30,13 @@
 		virtual void  Echo();
 		virtual void  DeepEcho();
 		virtual void  DeepEcho(const char* indent);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 		/*virtual functions: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.cpp	(revision 13036)
@@ -105,9 +105,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Folder::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Folder::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Folder::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Folder::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strncmp(kstri,"<",1))
 			KML_Container::Read(fid,kstri);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.cpp	(revision 13036)
@@ -105,9 +105,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Document::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Document::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Document::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Document::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strncmp(kstri,"<",1))
 			KML_Container::Read(fid,kstri);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.h	(revision 13036)
@@ -28,13 +28,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.cpp	(revision 13036)
@@ -106,9 +106,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_File::Read -- Unexpected closing tag " << kstri << ".");}
+		  {_error_("KML_File::Read -- Unexpected closing tag " << kstri << ".");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_File::Read -- Unexpected field \"" << kstri << "\"");}
+		  {_error_("KML_File::Read -- Unexpected field \"" << kstri << "\"");}
 
 		else if (!strncmp(kstri,"<",1))
 			KML_Object::Read(fid,kstri);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.h	(revision 13036)
@@ -37,13 +37,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.h	(revision 13036)
@@ -35,13 +35,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.h	(revision 13036)
@@ -32,13 +32,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Icon.cpp	(revision 13036)
@@ -144,9 +144,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Icon::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Icon::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Icon::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Icon::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<href>"))
 			KMLFileTokenParse( href      ,NULL,KML_ICON_HREF_LENGTH, kstri, fid);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Point.cpp	(revision 13036)
@@ -125,9 +125,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Point::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Point::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Point::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Point::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<extrude>"))
 			KMLFileTokenParse(&extrude   , kstri, fid);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LinearRing.cpp	(revision 13036)
@@ -138,9 +138,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_LinearRing::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_LinearRing::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_LinearRing::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_LinearRing::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<extrude>"))
 			KMLFileTokenParse(&extrude,kstri,fid);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Feature.cpp	(revision 13036)
@@ -148,9 +148,9 @@
 	if      (!strncmp(kstr,"</Feature", 9))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_Feature::Read -- Unexpected closing tag " << kstr);}
+	  {_error_("KML_Feature::Read -- Unexpected closing tag " << kstr);}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_Feature::Read -- Unexpected field \"" << kstr << "\"");}
+	  {_error_("KML_Feature::Read -- Unexpected field \"" << kstr << "\"");}
 
 	else if (!strncmp(kstr,"<Style", 6)) {
 		kobj=(KML_Object*)new KML_Style();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.h	(revision 13036)
@@ -39,13 +39,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KMLFileReadUtils.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KMLFileReadUtils.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KMLFileReadUtils.cpp	(revision 13036)
@@ -258,7 +258,7 @@
 	char*   ktokn;
 
 	if (strncmp(&ktag[0],"<"        ,1) || strncmp(&ktag[strlen(ktag)-1],">",1))
-		_error2_("KMLFileTagName -- Missing tag delimiters in " << ktag << ".\n");
+		_error_("KMLFileTagName -- Missing tag delimiters in " << ktag << ".\n");
 
 /*  strtok modifies ktag, so work on copy  */
 
@@ -354,7 +354,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-		_error2_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");
+		_error_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");
 
 	sscanf(kstr,"%d",pival);
 	xDelete<char>(kstr);
@@ -367,7 +367,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -387,7 +387,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-	  {_error2_("KMLFileTokenParse -- Missing bool field for " << ktag << ".\n");}
+	  {_error_("KMLFileTokenParse -- Missing bool field for " << ktag << ".\n");}
 
 	sscanf(kstr,"%d",&ival);
 	*pbval=(bool)ival;
@@ -401,7 +401,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -432,7 +432,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-		_error2_("KMLFileTokenParse -- Missing string field for " << ktag << ".\n");
+		_error_("KMLFileTokenParse -- Missing string field for " << ktag << ".\n");
 
 	if (!pstr) {
 		if (maxlen)
@@ -462,7 +462,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -483,7 +483,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-	  {_error2_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");}
+	  {_error_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");}
 
 	sscanf(kstr,"%g",pfval);
 	xDelete<char>(kstr);
@@ -496,7 +496,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -517,7 +517,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-		_error2_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");
+		_error_("KMLFileTokenParse -- Missing integer field for " << ktag << ".\n");
 
 	sscanf(kstr,"%lg",pdval);
 	xDelete<char>(kstr);
@@ -530,7 +530,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -555,7 +555,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-		_error2_("KMLFileTokenParse -- Missing double [m] field for " << ktag << ".\n");
+		_error_("KMLFileTokenParse -- Missing double [m] field for " << ktag << ".\n");
 
 	if (!*pdval)
 		if (maxlen)
@@ -569,7 +569,7 @@
 	while (ktok) {
 		i++;
 		if (maxlen && (maxlen < i+1))
-			_error2_("KMLFileTokenParse -- Double [m] field too short for " << ktag << ".\n");
+			_error_("KMLFileTokenParse -- Double [m] field too short for " << ktag << ".\n");
 		sscanf(ktok,"%lg",&((*pdval)[i]));
 		ktok=strtok(NULL,delim);
 	}
@@ -594,7 +594,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -621,7 +621,7 @@
 	if (!(kstr=KMLFileToken(fid,
 							NULL,NULL)) ||
 		(kstr[0] == '<'))
-		_error2_("KMLFileTokenParse -- Missing double [m x n] field for " << ktag << ".\n");
+		_error_("KMLFileTokenParse -- Missing double [m x n] field for " << ktag << ".\n");
 
 	if (!*pdval)
 		if (maxlen)
@@ -635,7 +635,7 @@
 	while (ktok) {
 		i++;
 		if (maxlen && (maxlen*n < i+1))
-			_error2_("KMLFileTokenParse -- Double [m x n] field too short for " << ktag << ".\n");
+			_error_("KMLFileTokenParse -- Double [m x n] field too short for " << ktag << ".\n");
 		j=(j+1) % n;
 		sscanf(ktok,"%lg",&((*pdval)[i]));
 		ktok=strtok(NULL,delim);
@@ -664,7 +664,7 @@
 			(kstr[0] != '<') ||
 			(kstr[1] != '/') ||
 			(strncmp(&(kstr[2]),&(ktag[1]),strlen(ktag)-1)))
-		  {_error2_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
+		  {_error_("KMLFileTokenParse -- Missing closing tag for " << ktag << ".\n");}
 		else
 			xDelete<char>(kstr);
 
@@ -711,13 +711,13 @@
 
 		else if ((kstr[0] == '<') &&
 				 (kstr[1] == '/')) {
-			_error2_("KMLFileTagSkip -- Unexpected closing tag " << kstr << ".\n");
+			_error_("KMLFileTagSkip -- Unexpected closing tag " << kstr << ".\n");
 		}
 
 		xDelete<char>(kstr);
 	}
 
-	_error2_("KMLFileTokenParse -- Corresponding closing tag for " << ktag << " not found.\n");
+	_error_("KMLFileTokenParse -- Corresponding closing tag for " << ktag << " not found.\n");
 
 	return(0);
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Geometry.h	(revision 13036)
@@ -28,13 +28,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_StyleSelector.cpp	(revision 13036)
@@ -82,9 +82,9 @@
 	if      (!strncmp(kstr,"</StyleSelector",15))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_StyleSelector::Read -- Unexpected closing tag " << kstr << ".\n");}
+	  {_error_("KML_StyleSelector::Read -- Unexpected closing tag " << kstr << ".\n");}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_StyleSelector::Read -- Unexpected field \"" << kstr << "\".\n");}
+	  {_error_("KML_StyleSelector::Read -- Unexpected field \"" << kstr << "\".\n");}
 
 	else if (!strncmp(kstr,"<",1))
 		KML_Object::Read(fid,kstr);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LatLonBox.cpp	(revision 13036)
@@ -120,9 +120,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_LatLonBox::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_LatLonBox::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_LatLonBox::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_LatLonBox::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<north>"))
 			KMLFileTokenParse(&north     ,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_ColorStyle.h	(revision 13036)
@@ -34,13 +34,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Placemark.h	(revision 13036)
@@ -33,13 +33,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_PolyStyle.cpp	(revision 13036)
@@ -116,9 +116,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_PolyStyle::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_PolyStyle::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_PolyStyle::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_PolyStyle::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<fill>"))
 			KMLFileTokenParse(&fill      ,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Unknown.h	(revision 13036)
@@ -31,13 +31,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_GroundOverlay.h	(revision 13036)
@@ -35,13 +35,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Style.h	(revision 13036)
@@ -37,13 +37,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Object.cpp	(revision 13036)
@@ -145,9 +145,9 @@
 	if      (!strncmp(kstr,"</Object", 8))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_Object::Read -- Unexpected closing tag " << kstr << ".\n");}
+	  {_error_("KML_Object::Read -- Unexpected closing tag " << kstr << ".\n");}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_Object::Read -- Unexpected field \"" << kstr << "\".\n");}
+	  {_error_("KML_Object::Read -- Unexpected field \"" << kstr << "\".\n");}
 
 	else if (!strncmp(kstr,"<Placemark",10)) {
 		kobj=(KML_Object*)new KML_Placemark();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Comment.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Comment.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Comment.h	(revision 13036)
@@ -29,13 +29,13 @@
 		virtual void  Echo();
 		virtual void  DeepEcho();
 		virtual void  DeepEcho(const char* indent);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 		/*virtual functions: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_SubStyle.cpp	(revision 13036)
@@ -82,9 +82,9 @@
 	if      (!strncmp(kstr,"</SubStyle",10))
 		return;
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_SubStyle::Read -- Unexpected closing tag " << kstr << ".\n");}
+	  {_error_("KML_SubStyle::Read -- Unexpected closing tag " << kstr << ".\n");}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_SubStyle::Read -- Unexpected field \"" << kstr << "\".\n");}
+	  {_error_("KML_SubStyle::Read -- Unexpected field \"" << kstr << "\".\n");}
 
 	else if (!strncmp(kstr,"<",1))
 		KML_Object::Read(fid,kstr);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_MultiGeometry.h	(revision 13036)
@@ -33,13 +33,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineStyle.h	(revision 13036)
@@ -30,13 +30,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_LineString.cpp	(revision 13036)
@@ -140,9 +140,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_LineString::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_LineString::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_LineString::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_LineString::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<extrude>"))
 			KMLFileTokenParse(&extrude   ,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Folder.h	(revision 13036)
@@ -29,13 +29,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Overlay.cpp	(revision 13036)
@@ -109,9 +109,9 @@
 		return;
 	}
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_Overlay::Read -- Unexpected closing tag " << kstr << ".\n");}
+	  {_error_("KML_Overlay::Read -- Unexpected closing tag " << kstr << ".\n");}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_Overlay::Read -- Unexpected field \"" << kstr << "\".\n");}
+	  {_error_("KML_Overlay::Read -- Unexpected field \"" << kstr << "\".\n");}
 
 	else if (!strcmp(kstr,"<color>"))
 		KMLFileTokenParse( color     ,NULL,KML_OVERLAY_COLOR_LENGTH,
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Container.cpp	(revision 13036)
@@ -119,9 +119,9 @@
 		return;
 	}
 	else if (!strncmp(kstr,"</",2))
-	  {_error2_("KML_Container::Read -- Unexpected closing tag " << kstr );}
+	  {_error_("KML_Container::Read -- Unexpected closing tag " << kstr );}
 	else if (strncmp(kstr,"<",1))
-	  {_error2_("KML_Container::Read -- Unexpected field \"" << kstr << "\"");}
+	  {_error_("KML_Container::Read -- Unexpected field \"" << kstr << "\"");}
 
 	else if (!strncmp(kstr,"<Placemark",10)) {
 		kobj=(KML_Object*)new KML_Placemark();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Document.h	(revision 13036)
@@ -29,13 +29,13 @@
 		void  DeepEcho(const char* indent);
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_File.h	(revision 13036)
@@ -30,13 +30,13 @@
 		void  Write(FILE* fid,const char* indent);
 		void  Read(FILE* fid,char* kstr);
 		void  WriteExp(FILE* fid,const char* nstr,int sgn,double cm,double sp);
-		int   Id(){_error2_("Not implemented yet.");};
-		int   MyRank(){_error2_("Not implemented yet.");};
-		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   MarshallSize(){_error2_("Not implemented yet.");};
-		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
-		int   ObjectEnum(){_error2_("Not implemented yet.");};
-		Object* copy(){_error2_("Not implemented yet.");};
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
 		/*}}}*/
 
 };
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/KML/KML_Polygon.cpp	(revision 13036)
@@ -178,9 +178,9 @@
 			break;
 		}
 		else if (!strncmp(kstri,"</",2))
-		  {_error2_("KML_Polygon::Read -- Unexpected closing tag " << kstri << ".\n");}
+		  {_error_("KML_Polygon::Read -- Unexpected closing tag " << kstri << ".\n");}
 		else if (strncmp(kstri,"<",1))
-		  {_error2_("KML_Polygon::Read -- Unexpected field \"" << kstri << "\".\n");}
+		  {_error_("KML_Polygon::Read -- Unexpected field \"" << kstri << "\".\n");}
 
 		else if (!strcmp(kstri,"<extrude>"))
 			KMLFileTokenParse(&extrude   ,
@@ -206,9 +206,9 @@
 					break;
 				}
 				else if (!strncmp(kstrj,"</",2))
-				  {_error2_("KML_Polygon::Read -- Unexpected closing tag " << kstrj << ".\n");}
+				  {_error_("KML_Polygon::Read -- Unexpected closing tag " << kstrj << ".\n");}
 				else if (strncmp(kstrj,"<",1))
-				  {_error2_("KML_Polygon::Read -- Unexpected field \"" << kstrj << "\".\n");}
+				  {_error_("KML_Polygon::Read -- Unexpected field \"" << kstrj << "\".\n");}
 
 				else if (!strncmp(kstrj,"<LinearRing",11)) {
 					kobj=(KML_Object*)new KML_LinearRing();
@@ -233,9 +233,9 @@
 					break;
 				}
 				else if (!strncmp(kstrj,"</",2))
-				  {_error2_("KML_Polygon::Read -- Unexpected closing tag " << kstrj << ".\n");}
+				  {_error_("KML_Polygon::Read -- Unexpected closing tag " << kstrj << ".\n");}
 				else if (strncmp(kstrj,"<",1))
-				  {_error2_("KML_Polygon::Read -- Unexpected field \"" << kstrj << "\".\n");}
+				  {_error_("KML_Polygon::Read -- Unexpected field \"" << kstrj << "\".\n");}
 
 				else if (!strncmp(kstrj,"<LinearRing",11)) {
 					kobj=(KML_Object*)new KML_LinearRing();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.h	(revision 13036)
@@ -42,34 +42,34 @@
 		/*}}}*/
 		/*Param virtual functions definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
 		void  GetParameterValue(int** pintarray,int* pM);
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");};
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");};
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
 		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM);
 		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN);
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
 		void  SetValue(IssmDouble* IssmDoublearray,int M);
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");};
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");};
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 		
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.h	(revision 13036)
@@ -47,29 +47,29 @@
 		void  GetParameterValue(int** pintarray,int* pM);
 		void  GetParameterValue(int** pintarray,int* pM,int* pN);
 		void  GetParameterValue(IssmDouble* pIssmDouble){*pIssmDouble=value;}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
 		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM);
 		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN);
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
 		void  SetValue(bool boolean){this->value=(IssmDouble)boolean;}
 		void  SetValue(int integer){this->value=(IssmDouble)integer;}
 		void  SetValue(IssmDouble scalar){this->value=(IssmDouble)scalar;}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatArrayParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatArrayParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatArrayParam.h	(revision 13036)
@@ -44,33 +44,33 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble array");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << "cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << "cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << "cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a IssmDouble array");}
 		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims);
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << "cannot return a FILE");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << "cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a IssmDouble vec array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a IssmDouble mat array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a int vec array");}
-		void  SetValue(int* intarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a int mat array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << "cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Bool param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a IssmDouble vec array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a IssmDouble mat array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a int vec array");}
+		void  SetValue(int* intarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a int mat array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << "cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Bool param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
 		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array);
 		void  UnitConversion(int direction_enum);
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.h	(revision 13036)
@@ -43,34 +43,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
 		void  GetParameterValue(int** pintarray,int* pM,int* pN);
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
 		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN);
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
 		void  SetValue(IssmDouble* IssmDoublearray,int M,int N);
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int vec array");}
-		void  SetValue(int* intarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");};
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int vec array");}
+		void  SetValue(int* intarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");};
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/FileParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/FileParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/FileParam.h	(revision 13036)
@@ -41,34 +41,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){  _error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(bool* pbool){  _error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
 		void  GetParameterValue(FILE** pfid){*pfid=value;};
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold an array of matrices");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("File param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntVecParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntVecParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntVecParam.h	(revision 13036)
@@ -43,34 +43,34 @@
 		/*}}}*/
 		/*Param virtual functions definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
 		void  GetParameterValue(int** pintarray,int* pM);
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array (maybe in serial?)");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array (maybe in serial?)");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble mat array");}
 		void  SetValue(int* intarray,int M);
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int mat array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 		
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntParam.h	(revision 13036)
@@ -42,34 +42,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
 		void  GetParameterValue(int* pinteger){*pinteger=value;}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a bool");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a bool");}
 		void  SetValue(int integer){this->value=integer;}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an int array");}
-		void  SetValue(int* intarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an int array");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an IssmDouble");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an int array");}
+		void  SetValue(int* intarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an int array");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an IssmDouble");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/BoolParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/BoolParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/BoolParam.h	(revision 13036)
@@ -42,33 +42,33 @@
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
 		void  GetParameterValue(bool* pbool){*pbool=value;}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot return a FILE");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << ") cannot return a FILE");}
 
 		void  SetValue(bool boolean){this->value=boolean;}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold an int");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold an IssmPDouble");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << ") cannot hold an array of matrices");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold an int");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold an IssmPDouble");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << ") cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 		
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntMatParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntMatParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/IntMatParam.h	(revision 13036)
@@ -43,34 +43,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
 		void  GetParameterValue(int** pintarray,int* pM,int* pN);
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");};
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");};
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");};
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int vec array");};
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");};
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int vec array");};
 		void  SetValue(int* intarray,int M,int N);
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.cpp	(revision 13036)
@@ -135,7 +135,7 @@
 			}
 		}
 	}
-	if(!found)_error2_("did not find time interval on which to interpolate values");
+	if(!found)_error_("did not find time interval on which to interpolate values");
 	*pdouble=output;
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/VectorParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/VectorParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/VectorParam.h	(revision 13036)
@@ -42,34 +42,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
 		void  GetParameterValue(Vector** poutput);
-		void  GetParameterValue(FILE** pfid){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a FILE");}
+		void  GetParameterValue(FILE** pfid){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a int array");}
+		void  SetValue(bool boolean){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a int array");}
 		void  SetValue(Vector* vec);
-		void  SetValue(Matrix* mat){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(Matrix* mat){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Vector of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleVecParam.cpp	(revision 13036)
@@ -123,7 +123,7 @@
 /*}}}*/
 /*FUNCTION DoubleVecParam::GetParameterValue(int** pintarray,int* pM){{{*/
 void  DoubleVecParam::GetParameterValue(int** pintarray,int* pM){
-	_error2_("DoubleVec param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of int");
+	_error_("DoubleVec param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of int");
 }
 /*}}}*/
 /*FUNCTION DoubleVecParam::GetParameterName{{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/MatrixParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/MatrixParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/MatrixParam.h	(revision 13036)
@@ -42,34 +42,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a vec");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a vec");}
 		void  GetParameterValue(Matrix** poutput);
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
 		void  SetValue(Matrix* mat);
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleParam.cpp	(revision 13036)
@@ -81,32 +81,32 @@
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(int* pinteger){{{*/
 void DoubleParam::GetParameterValue(int* pinteger){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an integer");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an integer");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(bool* pbool){{{*/
 void DoubleParam::GetParameterValue(bool* pbool){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an bool");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an bool");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(int** pintarray,int* pM){{{*/
 void DoubleParam::GetParameterValue(int** pintarray,int* pM){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of integers");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of integers");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(int** pintarray,int* pM,int* pN){{{*/
 void DoubleParam::GetParameterValue(int** pintarray,int* pM,int* pN){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of integers");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of integers");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){{{*/
 void DoubleParam::GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of IssmDouble");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of IssmDouble");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){{{*/
 void DoubleParam::GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){
-	_error2_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of IssmDouble");
+	_error_("Double param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of IssmDouble");
 }
 /*}}}*/
 /*FUNCTION DoubleParam::UnitConversion{{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringArrayParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringArrayParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringArrayParam.h	(revision 13036)
@@ -44,34 +44,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
-		void  GetParameterValue(char** pstring){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");}
 		void  GetParameterValue(char*** pstringarray,int* pM);
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Vec param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Vec param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string");}
 		void  SetValue(char** stringarray,int M);
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/StringParam.h	(revision 13036)
@@ -42,34 +42,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
-		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
+		void  GetParameterValue(bool* pbool){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}
 		void  GetParameterValue(char** pstring);
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Bool param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a FILE");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM, int* pN){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Bool param of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(bool boolean){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a scalar");}
 		void  SetValue(char* string);
-		void  SetValue(char** stringarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(int* pintarray,int M,int N){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
-		void  SetValue(Vector* vec){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(char** stringarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(IssmDouble* pIssmDoublearray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(int* pintarray,int M,int N){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a int array");}
+		void  SetValue(Vector* vec){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Param "<< EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/DoubleMatParam.cpp	(revision 13036)
@@ -108,7 +108,7 @@
 /*}}}*/
 /*FUNCTION DoubleMatParam::GetParameterValue(int** pintarray,int* pM,int* pN){{{*/
 void  DoubleMatParam::GetParameterValue(int** pintarray,int* pM,int* pN){
-	_error2_("DoubleMat of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of int");
+	_error_("DoubleMat of enum " << enum_type << " (" << EnumToStringx(enum_type) << ") cannot return an array of int");
 }
 /*}}}*/
 /*FUNCTION DoubleMatParam::GetParameterName{{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Params/TransientParam.h	(revision 13036)
@@ -43,34 +43,34 @@
 		/*}}}*/
 		/*Param vritual function definitions: {{{*/
 		int   InstanceEnum(){return enum_type;}
-		void  GetParameterValue(bool* pbool){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a bool");}
-		void  GetParameterValue(int* pinteger){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return an integer");}
-		void  GetParameterValue(int** pintarray,int* pM){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return an array of integers");}
-		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a array of integers");}
-		void  GetParameterValue(IssmDouble* pIssmDouble){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble");}
+		void  GetParameterValue(bool* pbool){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a bool");}
+		void  GetParameterValue(int* pinteger){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return an integer");}
+		void  GetParameterValue(int** pintarray,int* pM){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return an array of integers");}
+		void  GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a array of integers");}
+		void  GetParameterValue(IssmDouble* pIssmDouble){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble");}
 		void  GetParameterValue(IssmDouble* pdouble,IssmDouble time);
-		void  GetParameterValue(char** pstring){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a string");}
-		void  GetParameterValue(char*** pstringarray,int* pM){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a string array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
-		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a matrix array");}
-		void  GetParameterValue(Vector** pvec){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a Vec");}
-		void  GetParameterValue(Matrix** pmat){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a Mat");}
-		void  GetParameterValue(FILE** pfid){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot return a FILE");}
+		void  GetParameterValue(char** pstring){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a string");}
+		void  GetParameterValue(char*** pstringarray,int* pM){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a string array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble** pIssmDoublearray,int* pM,int* pN){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a IssmDouble array");}
+		void  GetParameterValue(IssmDouble*** parray, int* pM,int** pmdims, int** pndims){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a matrix array");}
+		void  GetParameterValue(Vector** pvec){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a Vec");}
+		void  GetParameterValue(Matrix** pmat){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a Mat");}
+		void  GetParameterValue(FILE** pfid){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot return a FILE");}
 
-		void  SetValue(bool boolean){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a boolean");}
-		void  SetValue(int integer){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold an integer");}
-		void  SetValue(IssmDouble scalar){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a scalar");}
-		void  SetValue(char* string){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a string");}
-		void  SetValue(char** stringarray,int M){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a string array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
-		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
-		void  SetValue(int* intarray,int M){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a int vec array");}
-		void  SetValue(int* intarray,int M,int N){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a int mat array");};
-		void  SetValue(Vector* vec){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a Vec");}
-		void  SetValue(Matrix* mat){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a Mat");}
-		void  SetValue(FILE* fid){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a FILE");}
-		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error2_("Parameter " <<EnumToStringx(enum_type) << " cannot hold an array of matrices");}
+		void  SetValue(bool boolean){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a boolean");}
+		void  SetValue(int integer){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold an integer");}
+		void  SetValue(IssmDouble scalar){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a scalar");}
+		void  SetValue(char* string){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a string");}
+		void  SetValue(char** stringarray,int M){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a string array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a IssmDouble vec array");}
+		void  SetValue(IssmDouble* IssmDoublearray,int M,int N){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a IssmDouble array");}
+		void  SetValue(int* intarray,int M){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a int vec array");}
+		void  SetValue(int* intarray,int M,int N){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a int mat array");};
+		void  SetValue(Vector* vec){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a Vec");}
+		void  SetValue(Matrix* mat){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a Mat");}
+		void  SetValue(FILE* fid){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold a FILE");}
+		void  SetValue(IssmDouble** array, int M, int* mdim_array, int* ndim_array){_error_("Parameter " <<EnumToStringx(enum_type) << " cannot hold an array of matrices");}
 		void  UnitConversion(int direction_enum);
 
 		void GetParameterName(char**pname);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.h	(revision 13036)
@@ -27,10 +27,10 @@
 		void  Echo();
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionStructEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
@@ -38,12 +38,12 @@
 		int   NumEl();
 		int   NDims();
 		int*  Size();
-		void  Get(int* pvalue){_error2_("An OptionStruct object cannot return a int");};
-		void  Get(IssmDouble* pvalue){_error2_("An OptionStruct object cannot return a IssmDouble");};
-		void  Get(bool* pvalue){  _error2_("An OptionStruct object cannot return a bool");};
-		void  Get(char** pvalue){ _error2_("An OptionStruct object cannot return a string");};
-		void  Get(char*** ppvalue,int *pnumel){ _error2_("An OptionStruct object cannot return a string vec");};
-		void  Get(IssmDouble** pvalue,int *pnumel){ _error2_("An OptionStruct object cannot return a IssmDouble vec");};
+		void  Get(int* pvalue){_error_("An OptionStruct object cannot return a int");};
+		void  Get(IssmDouble* pvalue){_error_("An OptionStruct object cannot return a IssmDouble");};
+		void  Get(bool* pvalue){  _error_("An OptionStruct object cannot return a bool");};
+		void  Get(char** pvalue){ _error_("An OptionStruct object cannot return a string");};
+		void  Get(char*** ppvalue,int *pnumel){ _error_("An OptionStruct object cannot return a string vec");};
+		void  Get(IssmDouble** pvalue,int *pnumel){ _error_("An OptionStruct object cannot return a IssmDouble vec");};
 		void  Get(Options** pvalue);
 		void  Get(Options*** ppvalue,int *pnumel);
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.cpp	(revision 13036)
@@ -124,7 +124,7 @@
 
 	/*We should first check that the size is one*/
 	if(this->NumEl()!=1){
-		_error2_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single int");
+		_error_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single int");
 	}
 
 	/*Assign output pointer*/
@@ -136,7 +136,7 @@
 
 	/*We should first check that the size is one*/
 	if(this->NumEl()!=1){
-		_error2_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single IssmDouble");
+		_error_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single IssmDouble");
 	}
 
 	/*Assign output pointer*/
@@ -148,7 +148,7 @@
 
 	/*We should first check that the size is at least one*/
 	if(this->NumEl()<=0){
-		_error2_("option \"" << this->name << "\" is empty and cannot return a IssmDouble vector");
+		_error_("option \"" << this->name << "\" is empty and cannot return a IssmDouble vector");
 	}
 
 	/*Copy vector*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.cpp	(revision 13036)
@@ -124,7 +124,7 @@
 
 	/*We should first check that the size is one*/
 	if(this->NumEl()!=1){
-		_error2_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single bool");
+		_error_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single bool");
 	}
 
 	/*Assign output pointer*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionUtilities.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionUtilities.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionUtilities.cpp	(revision 13036)
@@ -26,7 +26,7 @@
 
 	/*check for index too large  */
 	for (i=0;i<ndims;i++) aprod*=size[i];
-	if (index >= aprod) _error2_("Index " << index << " exceeds number of elements " << aprod << ".");
+	if (index >= aprod) _error_("Index " << index << " exceeds number of elements " << aprod << ".");
 
 	/*calculate the dimensions (being careful of integer division)  */
 	for (i=ndims-1; i>=0; i--) {
@@ -45,7 +45,7 @@
 
 	/*check for any dimension too large  */
 	for (i=0;i<ndims;i++){
-		if (dims[i] >= size[i]) _error2_("Dimension " << i << " of " << dims[i] << " exceeds size of " << size[i] << ".");
+		if (dims[i] >= size[i]) _error_("Dimension " << i << " of " << dims[i] << " exceeds size of " << size[i] << ".");
 	}
 
 	/*calculate the index  */
@@ -64,7 +64,7 @@
 
 	/*check for index too large  */
 	for (i=0; i<ndims; i++) aprod*=size[i];
-	if (index >= aprod) _error2_("Index " << index << " exceeds number of elements " << aprod << ".");
+	if (index >= aprod) _error_("Index " << index << " exceeds number of elements " << aprod << ".");
 
 	/*calculate the dimensions (being careful of integer division)  */
 	for (i=0; i<ndims; i++) {
@@ -83,7 +83,7 @@
 
 	/*check for any dimension too large  */
 	for (i=0; i<ndims; i++){
-		if (dims[i] >= size[i]) _error2_("Dimension " << i << " of " << dims[i] << " exceeds size of " << size[i] << ".");
+		if (dims[i] >= size[i]) _error_("Dimension " << i << " of " << dims[i] << " exceeds size of " << size[i] << ".");
 	}
 
 	/*calculate the index  */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.cpp	(revision 13036)
@@ -152,7 +152,7 @@
 
 	/*We should first check that the size is at least one*/
 	if(this->NumEl()<=0){
-		_error2_("option \"" << this->name << "\" is empty and cannot return a string vector");
+		_error_("option \"" << this->name << "\" is empty and cannot return a string vector");
 	}
 
 	/*Calculate the size and number of strings*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionDouble.h	(revision 13036)
@@ -27,10 +27,10 @@
 		void  Echo();
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionDoubleEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
@@ -40,12 +40,12 @@
 		int*  Size();
 		void  Get(int* pvalue);
 		void  Get(IssmDouble* pvalue);
-		void  Get(bool* pvalue){  _error2_("An OptionDouble object cannot return a bool");};
-		void  Get(char** pvalue){ _error2_("An OptionDouble object cannot return a string");};
-		void  Get(char*** ppvalue,int *pnumel){ _error2_("An OptionDouble object cannot return a string vec");};
+		void  Get(bool* pvalue){  _error_("An OptionDouble object cannot return a bool");};
+		void  Get(char** pvalue){ _error_("An OptionDouble object cannot return a string");};
+		void  Get(char*** ppvalue,int *pnumel){ _error_("An OptionDouble object cannot return a string vec");};
 		void  Get(IssmDouble** pvalue,int* pnumel);
-		void  Get(Options** pvalue){ _error2_("An OptionDouble object cannot return an Options DataSet");};
-		void  Get(Options*** ppvalue,int *pnumel){ _error2_("An OptionDouble object cannot return an Options DataSet vec");};
+		void  Get(Options** pvalue){ _error_("An OptionDouble object cannot return an Options DataSet");};
+		void  Get(Options*** ppvalue,int *pnumel){ _error_("An OptionDouble object cannot return an Options DataSet vec");};
 
 };
 #endif  /* _OPTIONDOUBLE_H */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionLogical.h	(revision 13036)
@@ -27,10 +27,10 @@
 		void  Echo();
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionLogicalEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
@@ -38,14 +38,14 @@
 		int   NumEl();
 		int   NDims();
 		int*  Size();
-		void  Get(int* pvalue){_error2_("An OptionLogical object cannot return a int");};
-		void  Get(IssmDouble* pvalue){_error2_("An OptionLogical object cannot return a IssmDouble");};
+		void  Get(int* pvalue){_error_("An OptionLogical object cannot return a int");};
+		void  Get(IssmDouble* pvalue){_error_("An OptionLogical object cannot return a IssmDouble");};
 		void  Get(bool* pvalue);
-		void  Get(char** pvalue){ _error2_("An OptionLogical object cannot return a string");};
-		void  Get(char*** ppvalue,int *pnumel){ _error2_("An OptionLogical object cannot return a string vec");};
-		void  Get(IssmDouble** pvalue,int *pnumel){ _error2_("An OptionLogical object cannot return a IssmDouble vec");};
-		void  Get(Options** pvalue){ _error2_("An OptionLogical object cannot return an Options DataSet");};
-		void  Get(Options*** ppvalue,int *pnumel){ _error2_("An OptionLogical object cannot return an Options DataSet vec");};
+		void  Get(char** pvalue){ _error_("An OptionLogical object cannot return a string");};
+		void  Get(char*** ppvalue,int *pnumel){ _error_("An OptionLogical object cannot return a string vec");};
+		void  Get(IssmDouble** pvalue,int *pnumel){ _error_("An OptionLogical object cannot return a IssmDouble vec");};
+		void  Get(Options** pvalue){ _error_("An OptionLogical object cannot return an Options DataSet");};
+		void  Get(Options*** ppvalue,int *pnumel){ _error_("An OptionLogical object cannot return an Options DataSet vec");};
 
 };
 #endif  /* _OPTIONLOGICAL_H */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionChar.h	(revision 13036)
@@ -27,10 +27,10 @@
 		void  Echo();
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionCharEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
@@ -38,14 +38,14 @@
 		int   NumEl();
 		int   NDims();
 		int*  Size();
-		void  Get(int* pvalue){_error2_("An OptionChar object cannot return a int");};
-		void  Get(IssmDouble* pvalue){_error2_("An OptionChar object cannot return a IssmDouble");};
-		void  Get(bool* pvalue){  _error2_("An OptionChar object cannot return a bool");};
+		void  Get(int* pvalue){_error_("An OptionChar object cannot return a int");};
+		void  Get(IssmDouble* pvalue){_error_("An OptionChar object cannot return a IssmDouble");};
+		void  Get(bool* pvalue){  _error_("An OptionChar object cannot return a bool");};
 		void  Get(char** pvalue);
 		void  Get(char*** ppvalue,int *pnumel);
-		void  Get(IssmDouble** pvalue,int *pnumel){ _error2_("An OptionChar object cannot return a IssmDouble vec");};
-		void  Get(Options** pvalue){ _error2_("An OptionChar object cannot return an Options DataSet");};
-		void  Get(Options*** ppvalue,int *pnumel){ _error2_("An OptionChar object cannot return an Options DataSet vec");};
+		void  Get(IssmDouble** pvalue,int *pnumel){ _error_("An OptionChar object cannot return a IssmDouble vec");};
+		void  Get(Options** pvalue){ _error_("An OptionChar object cannot return an Options DataSet");};
+		void  Get(Options*** ppvalue,int *pnumel){ _error_("An OptionChar object cannot return an Options DataSet vec");};
 
 };
 #endif  /* _OPTIONCHAR_H */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/Option.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/Option.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/Option.h	(revision 13036)
@@ -30,10 +30,10 @@
 		virtual void  Echo();
 		virtual void  DeepEcho();
 		virtual void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionCell.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionCell.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionCell.h	(revision 13036)
@@ -27,10 +27,10 @@
 		void  Echo();
 		void  DeepEcho();
 		void  DeepEcho(char* indent);
-		int   Id(){_error2_("Not implemented yet");};
-		int   MyRank(){_error2_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");};
+		int   MyRank(){_error_("Not implemented yet");};
 		int   ObjectEnum(){return OptionCellEnum;};
-		Object* copy(){_error2_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 		/*}}}*/
 
 		/*virtual functions: */
@@ -38,14 +38,14 @@
 		int   NumEl();
 		int   NDims();
 		int*  Size();
-		void  Get(int* pvalue){_error2_("An OptionCell object cannot return a int");};
-		void  Get(IssmDouble* pvalue){_error2_("An OptionCell object cannot return a IssmDouble");};
-		void  Get(bool* pvalue){  _error2_("An OptionCell object cannot return a bool");};
-		void  Get(char** pvalue){ _error2_("An OptionCell object cannot return a string");};
-		void  Get(char*** ppvalue,int *pnumel){ _error2_("An OptionCell object cannot return a string vec");};
-		void  Get(IssmDouble** pvalue,int *pnumel){ _error2_("An OptionCell object cannot return a IssmDouble vec");};
+		void  Get(int* pvalue){_error_("An OptionCell object cannot return a int");};
+		void  Get(IssmDouble* pvalue){_error_("An OptionCell object cannot return a IssmDouble");};
+		void  Get(bool* pvalue){  _error_("An OptionCell object cannot return a bool");};
+		void  Get(char** pvalue){ _error_("An OptionCell object cannot return a string");};
+		void  Get(char*** ppvalue,int *pnumel){ _error_("An OptionCell object cannot return a string vec");};
+		void  Get(IssmDouble** pvalue,int *pnumel){ _error_("An OptionCell object cannot return a IssmDouble vec");};
 		void  Get(Options** pvalue);
-		void  Get(Options*** ppvalue,int *pnumel){ _error2_("An OptionCell object cannot return an Options DataSet vec");};
+		void  Get(Options*** ppvalue,int *pnumel){ _error_("An OptionCell object cannot return an Options DataSet vec");};
 
 };
 #endif  /* _OPTIONCELL_H */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Options/OptionStruct.cpp	(revision 13036)
@@ -131,7 +131,7 @@
 
 	/*We should first check that the size is one*/
 	if(this->NumEl()!=1){
-		_error2_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single options dataset");
+		_error_("option \"" << this->name << "\" has " << this->NumEl() << " elements and cannot return a single options dataset");
 	}
 
 	/*Assign output pointer*/
@@ -143,7 +143,7 @@
 
 	/*We should first check that the size is at least one*/
 	if(this->NumEl()<=0){
-		_error2_("option \"" << this->name << "\" is empty and cannot return an options dataset vector");
+		_error_("option \"" << this->name << "\" is empty and cannot return an options dataset vector");
 	}
 
 	/*Assign output pointer*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.h	(revision 13036)
@@ -63,7 +63,7 @@
 		void  InputUpdateFromConstant(int constant, int name);
 		void  InputUpdateFromConstant(bool constant, int name);
 		void  InputUpdateFromSolution(IssmDouble* solution);
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 		/*Load virtual functions definitions: {{{*/
 		void  Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp	(revision 13036)
@@ -269,7 +269,7 @@
 			Ke=CreateKMatrixAdjointBalancethickness();
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -299,7 +299,7 @@
 			pe=CreatePVectorAdjointBalancethickness();
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -346,7 +346,7 @@
 		case BoundaryEnum:
 			return CreateKMatrixPrognosticBoundary();
 		default:
-			_error2_("type not supported yet");
+			_error_("type not supported yet");
 	}
 }
 /*}}}*/
@@ -499,7 +499,7 @@
 		case BoundaryEnum:
 			return CreateKMatrixBalancethicknessBoundary();
 		default:
-			_error2_("type not supported yet");
+			_error_("type not supported yet");
 	}
 }
 /*}}}*/
@@ -650,7 +650,7 @@
 		case BoundaryEnum:
 			return CreateKMatrixAdjointBalancethicknessBoundary();
 		default:
-			_error2_("type not supported yet");
+			_error_("type not supported yet");
 	}
 }
 /*}}}*/
@@ -682,7 +682,7 @@
 		case BoundaryEnum:
 			return CreatePVectorPrognosticBoundary();
 		default:
-			_error2_("type not supported yet");
+			_error_("type not supported yet");
 	}
 }
 /*}}}*/
@@ -750,7 +750,7 @@
 		vxaverage_input->GetInputValue(&vx,gauss);
 		vyaverage_input->GetInputValue(&vy,gauss);
 		spcthickness_input->GetInputValue(&thickness,gauss);
-		if(xIsNan<IssmDouble>(thickness)) _error2_("Cannot weakly apply constraint because NaN was provided");
+		if(xIsNan<IssmDouble>(thickness)) _error_("Cannot weakly apply constraint because NaN was provided");
 
 		UdotN=vx*normal[0]+vy*normal[1];
 		tria->GetSegmentJacobianDeterminant(&Jdet,&xyz_list[0][0],gauss);
@@ -776,7 +776,7 @@
 		case BoundaryEnum:
 			return CreatePVectorBalancethicknessBoundary();
 		default:
-			_error2_("type not supported yet");
+			_error_("type not supported yet");
 	}
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.cpp	(revision 13036)
@@ -171,7 +171,7 @@
 			Ke=PenaltyCreateKMatrixPrognostic(kmax);
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -243,27 +243,27 @@
 			switch(approximation1){
 				case MacAyealApproximationEnum: return PenaltyCreateKMatrixDiagnosticMacAyealPattyn(kmax); 
 				case PattynApproximationEnum:   return PenaltyCreateKMatrixDiagnosticMacAyealPattyn(kmax); 
-				default: _error2_("not supported yet");
+				default: _error_("not supported yet");
 			}
 		case PattynApproximationEnum:
 			switch(approximation1){
 				case MacAyealApproximationEnum: return PenaltyCreateKMatrixDiagnosticMacAyealPattyn(kmax); 
 				case PattynApproximationEnum:   return PenaltyCreateKMatrixDiagnosticMacAyealPattyn(kmax); 
-				default: _error2_("not supported yet");
+				default: _error_("not supported yet");
 			}
 		case StokesApproximationEnum:
 			switch(approximation1){
 				case StokesApproximationEnum: return PenaltyCreateKMatrixDiagnosticStokes(kmax); 
 				case NoneApproximationEnum: return   PenaltyCreateKMatrixDiagnosticStokes(kmax); 
-				default: _error2_("not supported yet");
+				default: _error_("not supported yet");
 			}
 		case NoneApproximationEnum:
 			switch(approximation1){
 				case StokesApproximationEnum: return PenaltyCreateKMatrixDiagnosticStokes(kmax); 
 				case NoneApproximationEnum: return   PenaltyCreateKMatrixDiagnosticStokes(kmax); 
-				default: _error2_("not supported yet");
+				default: _error_("not supported yet");
 			}
-		default: _error2_("not supported yet");
+		default: _error_("not supported yet");
 	}
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.h	(revision 13036)
@@ -61,25 +61,25 @@
 		/*}}}*/
 		/*Update virtual functions resolution: {{{*/
 		void    InputUpdateFromVector(IssmDouble* vector, int name, int type);
-		void    InputUpdateFromVector(int* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVector(bool* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows,int ncols, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVectorDakota(int* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVectorDakota(bool* vector, int name, int type){_error2_("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    InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows,int ncols, int name, int type){_error_("Not implemented yet!");}
+		void    InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error_("Not implemented yet!");}
+		void    InputUpdateFromVectorDakota(int* vector, int name, int type){_error_("Not implemented yet!");}
+		void    InputUpdateFromVectorDakota(bool* vector, int name, int type){_error_("Not implemented yet!");}
 		void    InputUpdateFromConstant(IssmDouble constant, int name);
-		void    InputUpdateFromConstant(int constant, int name){_error2_("Not implemented yet!");}
+		void    InputUpdateFromConstant(int constant, int name){_error_("Not implemented yet!");}
 		void    InputUpdateFromConstant(bool constant, int name);
-		void    InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void    InputUpdateFromSolution(IssmDouble* solution){_error_("Not implemented yet!");}
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 		/*Load virtual functions definitions: {{{*/
 		void  Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  CreateKMatrix(Matrix* Kff, Matrix* Kfs);
 		void  CreatePVector(Vector* pf);
-		void  CreateJacobianMatrix(Matrix* Jff){_error2_("Not implemented yet");};
-		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error2_("Not implemented yet");};
+		void  CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error_("Not implemented yet");};
 		void  PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, IssmDouble kmax);
 		void  PenaltyCreatePVector(Vector* pf, IssmDouble kmax);
 		bool  InAnalysis(int analysis_type);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Numericalflux.h	(revision 13036)
@@ -49,25 +49,25 @@
 		/*}}}*/
 		/*Update virtual functions resolution: {{{*/
 		void    InputUpdateFromVector(IssmDouble* vector, int name, int type){/*Do nothing*/}
-		void    InputUpdateFromVector(int* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVector(bool* vector, int name, int type){_error2_("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    InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type){/*Do nothing*/}
 		void    InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){/*Do nothing*/}
-		void    InputUpdateFromVectorDakota(int* vector, int name, int type){_error2_("Not implemented yet!");}
-		void    InputUpdateFromVectorDakota(bool* vector, int name, int type){_error2_("Not implemented yet!");}
+		void    InputUpdateFromVectorDakota(int* vector, int name, int type){_error_("Not implemented yet!");}
+		void    InputUpdateFromVectorDakota(bool* vector, int name, int type){_error_("Not implemented yet!");}
 		void    InputUpdateFromConstant(IssmDouble constant, int name){/*Do nothing*/};
 		void    InputUpdateFromConstant(int constant, int name){/*Do nothing*/};
-		void    InputUpdateFromConstant(bool constant, int name){_error2_("Not implemented yet!");}
-		void    InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void    InputUpdateFromConstant(bool constant, int name){_error_("Not implemented yet!");}
+		void    InputUpdateFromSolution(IssmDouble* solution){_error_("Not implemented yet!");}
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 		/*Load virtual functions definitions: {{{*/
 		void  Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  CreateKMatrix(Matrix* Kff, Matrix* Kfs);
 		void  CreatePVector(Vector* pf);
-		void  CreateJacobianMatrix(Matrix* Jff){_error2_("Not implemented yet");};
-		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error2_("Not implemented yet");};
+		void  CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error_("Not implemented yet");};
 		void  PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, IssmDouble kmax);
 		void  PenaltyCreatePVector(Vector* pf, IssmDouble kmax);
 		bool  InAnalysis(int analysis_type);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Penpair.h	(revision 13036)
@@ -43,15 +43,15 @@
 		void  InputUpdateFromVector(IssmDouble* vector, int name, int type);
 		void  InputUpdateFromVector(int* vector, int name, int type);
 		void  InputUpdateFromVector(bool* vector, int name, int type);
-		void  InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrow, int ncols,int name, int type){_error2_("Not implemented yet!");}
-		void  InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error2_("Not implemented yet!");}
-		void  InputUpdateFromVectorDakota(int* vector, int name, int type){_error2_("Not implemented yet!");}
-		void  InputUpdateFromVectorDakota(bool* vector, int name, int type){_error2_("Not implemented yet!");}
+		void  InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrow, int ncols,int name, int type){_error_("Not implemented yet!");}
+		void  InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error_("Not implemented yet!");}
+		void  InputUpdateFromVectorDakota(int* vector, int name, int type){_error_("Not implemented yet!");}
+		void  InputUpdateFromVectorDakota(bool* vector, int name, int type){_error_("Not implemented yet!");}
 		void  InputUpdateFromConstant(IssmDouble constant, int name);
 		void  InputUpdateFromConstant(int constant, int name);
 		void  InputUpdateFromConstant(bool constant, int name);
-		void  InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void  InputUpdateFromSolution(IssmDouble* solution){_error_("Not implemented yet!");}
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 			/*Load virtual functions definitions: {{{*/
 		void  Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp	(revision 13036)
@@ -238,7 +238,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -270,7 +270,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -378,7 +378,7 @@
 		return;
 	}
 	else{
-		_error2_("analysis: " << EnumToStringx(analysis_type) << " not supported yet");
+		_error_("analysis: " << EnumToStringx(analysis_type) << " not supported yet");
 	}
 
 }
@@ -615,6 +615,6 @@
 /*}}}*/
 /*FUNCTION Pengrid::UpdateInputs {{{*/
 void  Pengrid::UpdateInputs(IssmDouble* solution){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp	(revision 13036)
@@ -80,7 +80,7 @@
 		icefront_node_ids[2]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+2));
 		icefront_node_ids[3]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+3));
 	}
-	else _error2_("in_icefront_type " << EnumToStringx(in_icefront_type) << " not supported yet!");
+	else _error_("in_icefront_type " << EnumToStringx(in_icefront_type) << " not supported yet!");
 
 	if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum)
 	 num_nodes=4;
@@ -262,7 +262,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -378,7 +378,7 @@
 			return CreatePVectorDiagnosticStokes();
 	    #endif
 		default:
-			_error2_("Icefront type " << EnumToStringx(type) << " not supported yet");
+			_error_("Icefront type " << EnumToStringx(type) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -440,7 +440,7 @@
 				water_pressure=-1.0/2.0*gravity*rho_ice*pow(thickness,2); // we are facing a wall of ice. use water_pressure to cancel the lithostatic pressure.
 				break;
 			default:
-				_error2_("fill type " << EnumToStringx(fill) << " not supported yet");
+				_error_("fill type " << EnumToStringx(fill) << " not supported yet");
 		}
 		ice_pressure=1.0/2.0*gravity*rho_ice*pow(thickness,2);
 		air_pressure=0;
@@ -563,7 +563,7 @@
 				water_pressure=0;
 				break;
 			default:
-				_error2_("fill type " << EnumToStringx(fill) << " not supported yet");
+				_error_("fill type " << EnumToStringx(fill) << " not supported yet");
 		}
 		ice_pressure=rho_ice*gravity*(surface-z_g);
 		air_pressure=0;
@@ -637,7 +637,7 @@
 				water_pressure=0;
 				break;
 			default:
-				_error2_("fill type " << EnumToStringx(fill) << " not supported yet");
+				_error_("fill type " << EnumToStringx(fill) << " not supported yet");
 		}
 		air_pressure=0;
 		pressure = water_pressure + air_pressure; //no ice pressure fore Stokes
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Friction.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Friction.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Friction.cpp	(revision 13036)
@@ -106,10 +106,10 @@
 		this->GetInputValue(&vz, gauss,vzenum);
 		vmag=sqrt(pow(vx,2)+pow(vy,2)+pow(vz,2));
 	}
-	else _error2_("element_type "<< element_type << " not supported yet");
+	else _error_("element_type "<< element_type << " not supported yet");
 
 	/*Checks that s-1>0 if v=0*/
-        if(vmag==0 && (s-1)<0) _error2_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
+        if(vmag==0 && (s-1)<0) _error_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
 
 	alpha2=pow(drag_coefficient,2)*pow(Neff,r)*pow(vmag,(s-1));
 	_assert_(!xIsNan<IssmDouble>(alpha2));
@@ -170,10 +170,10 @@
 		this->GetInputValue(&vz, gauss,vzenum);
 		vmag=sqrt(pow(vx,2)+pow(vy,2)+pow(vz,2));
 	}
-	else _error2_("element_type "<< element_type << " not supported yet");
+	else _error_("element_type "<< element_type << " not supported yet");
 
 	/*Checks that s-1>0 if v=0*/
-	if(vmag==0 && (s-1)<0) _error2_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
+	if(vmag==0 && (s-1)<0) _error_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
 
 	alpha2=pow(drag_coefficient,2)*pow(Neff,r)*pow(vmag,(s-1));
 	_assert_(!xIsNan<IssmDouble>(alpha2));
@@ -237,10 +237,10 @@
 		this->GetInputValue(&vz, gauss,vzenum);
 		vmag=sqrt(pow(vx,2)+pow(vy,2)+pow(vz,2));
 	}
-	else _error2_("element_type "<< element_type << " not supported yet");
+	else _error_("element_type "<< element_type << " not supported yet");
 
 	/*Checks that s-1>0 if v=0*/
-	if(vmag==0 && (s-1)<0) _error2_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
+	if(vmag==0 && (s-1)<0) _error_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
 
 	alpha_complement=pow(Neff,r)*pow(vmag,(s-1));            _assert_(!xIsNan<IssmDouble>(alpha_complement));
 
@@ -303,10 +303,10 @@
 		this->GetInputValue(&vz, gauss,vzenum);
 		vmag=sqrt(pow(vx,2)+pow(vy,2)+pow(vz,2));
 	}
-	else _error2_("element_type "<< element_type << " not supported yet");
+	else _error_("element_type "<< element_type << " not supported yet");
 
 	/*Checks that s-1>0 if v=0*/
-	if(vmag==0 && (s-1)<0) _error2_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
+	if(vmag==0 && (s-1)<0) _error_("velocity is 0 and (s-1)=" << (s-1) << "<0, alpha_complement is Inf");
 
 	alpha_complement=pow(Neff,r)*pow(vmag,(s-1));            _assert_(!xIsNan<IssmDouble>(alpha_complement));
 
@@ -318,7 +318,7 @@
 void Friction::GetInputValue(IssmDouble* pvalue,GaussTria* gauss,int enum_type){
 
 	Input* input=inputs->GetInput(enum_type);
-	if(!input) _error2_("input " << EnumToStringx(enum_type) << " not found");
+	if(!input) _error_("input " << EnumToStringx(enum_type) << " not found");
 	input->GetInputValue(pvalue,gauss);
 
 }
@@ -327,7 +327,7 @@
 void Friction::GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,int enum_type){
 
 	Input* input=inputs->GetInput(enum_type);
-	if(!input) _error2_("input " << EnumToStringx(enum_type) << " not found");
+	if(!input) _error_("input " << EnumToStringx(enum_type) << " not found");
 	input->GetInputValue(pvalue,gauss);
 
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Pengrid.h	(revision 13036)
@@ -64,15 +64,15 @@
 		void  InputUpdateFromConstant(int constant, int name);
 		void  InputUpdateFromConstant(bool constant, int name);
 		void  InputUpdateFromSolution(IssmDouble* solution);
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
 		/*}}}*/
 		/*Load virtual functions definitions: {{{*/
 		void  Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
 		void  CreateKMatrix(Matrix* Kff, Matrix* Kfs);
 		void  CreatePVector(Vector* pf);
-		void  CreateJacobianMatrix(Matrix* Jff){_error2_("Not implemented yet");};
-		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error2_("Not implemented yet");};
+		void  CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+		void  PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax){_error_("Not implemented yet");};
 		void  PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, IssmDouble kmax);
 		void  PenaltyCreatePVector(Vector* pf, IssmDouble kmax);
 		bool  InAnalysis(int analysis_type);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Loads/Riftfront.cpp	(revision 13036)
@@ -275,7 +275,7 @@
 	if (!IsInput(name)) return;
 
 	/*update input*/
-	_error2_("not implemented yet");
+	_error_("not implemented yet");
 	//this->inputs->AddInput(new DoubleInput(name,constant));
 
 }
@@ -323,7 +323,7 @@
 			Ke=PenaltyCreateKMatrixDiagnosticHoriz(kmax);
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -349,7 +349,7 @@
 			/*No penalty applied on load vector*/
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -396,7 +396,7 @@
 	Tria       *tria2               = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 	tria1=(Tria*)elements[0];
 	tria2=(Tria*)elements[1];
 
@@ -409,7 +409,7 @@
 	this->inputs->GetInputValue(&friction,FrictionEnum);
 	tria1->GetInputValue(&h[0],nodes[0],ThicknessEnum);
 	tria2->GetInputValue(&h[1],nodes[1],ThicknessEnum);
-	if (h[0]!=h[1])_error2_("different thicknesses not supported for rift fronts");
+	if (h[0]!=h[1])_error_("different thicknesses not supported for rift fronts");
 	thickness=h[0];
 
 	/*There is contact, we need to constrain the normal velocities (zero penetration), and the 
@@ -487,7 +487,7 @@
 	Tria       *tria2               = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 	tria1=(Tria*)elements[0];
 	tria2=(Tria*)elements[1];
 
@@ -503,11 +503,11 @@
 	gravity=matpar->GetG();
 	tria1->GetInputValue(&h[0],nodes[0],ThicknessEnum);
 	tria2->GetInputValue(&h[1],nodes[1],ThicknessEnum);
-	if (h[0]!=h[1])_error2_("different thicknesses not supported for rift fronts");
+	if (h[0]!=h[1])_error_("different thicknesses not supported for rift fronts");
 	thickness=h[0];
 	tria1->GetInputValue(&b[0],nodes[0],BedEnum);
 	tria2->GetInputValue(&b[1],nodes[1],BedEnum);
-	if (b[0]!=b[1])_error2_("different beds not supported for rift fronts");
+	if (b[0]!=b[1])_error_("different beds not supported for rift fronts");
 	bed=b[0];
 
 	/*Ok, this rift is opening. We should put loads on both sides of the rift flanks. Because we are dealing with contact mechanics, 
@@ -535,7 +535,7 @@
 	}
 	else if(fill==MelangeEnum){ //icefront finding itself against another icefront (pressure imbalance is fully compensated, ice vs ice)
 
-		if(!shelf) _error2_("fill type " << fill << " not supported on ice sheets yet.");
+		if(!shelf) _error_("fill type " << fill << " not supported on ice sheets yet.");
 
 		pressure_litho=rho_ice*gravity*pow(thickness,(IssmDouble)2)/(IssmDouble)2;
 		pressure_air=0;
@@ -545,7 +545,7 @@
 		pressure=pressure_litho-pressure_air-pressure_melange-pressure_water;
 	}
 	else{
-		_error2_("fill type " << fill << " not supported yet.");
+		_error_("fill type " << fill << " not supported yet.");
 	}
 
 	/*Ok, add contribution to first node, along the normal i==0: */
@@ -584,7 +584,7 @@
 	Tria       *tria2           = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 
 	/*recover elements on both side of rift: */
 	tria1=(Tria*)elements[0];
@@ -705,7 +705,7 @@
 	Tria       *tria2           = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 
 	/*recover elements on both side of rift: */
 	tria1=(Tria*)elements[0];
@@ -750,7 +750,7 @@
 	Tria     *tria2       = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 
 	/*recover elements on both side of rift: */
 	tria1=(Tria*)elements[0];
@@ -793,7 +793,7 @@
 	Tria       *tria2           = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 
 	/*recover elements on both side of rift: */
 	tria1=(Tria*)elements[0];
@@ -843,7 +843,7 @@
 	Tria       *tria2       = NULL;
 
 	/*enum of element? */
-	if(elements[0]->ObjectEnum()!=TriaEnum)_error2_("only Tria element allowed for Riftfront load!");
+	if(elements[0]->ObjectEnum()!=TriaEnum)_error_("only Tria element allowed for Riftfront load!");
 
 	/*recover elements on both side of rift: */
 	tria1=(Tria*)elements[0];
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.cpp	(revision 13036)
@@ -69,7 +69,7 @@
 	/*set single point constraints: */
 
 	/*spc all nodes on water*/
-	if (!iomodel->Data(MaskVertexonwaterEnum)) _error2_("iomodel->nodeonwater is NULL");
+	if (!iomodel->Data(MaskVertexonwaterEnum)) _error_("iomodel->nodeonwater is NULL");
 	if (reCast<IssmBool>(iomodel->Data(MaskVertexonwaterEnum)[io_index])){
 		for(k=1;k<=gsize;k++){
 			this->FreezeDof(k);
@@ -113,7 +113,7 @@
 
 	/*Diagnostic Hutter*/
 	if (analysis_type==DiagnosticHutterAnalysisEnum){
-		if (!iomodel->Data(FlowequationVertexEquationEnum)) _error2_("iomodel->vertices_type is NULL");
+		if (!iomodel->Data(FlowequationVertexEquationEnum)) _error_("iomodel->vertices_type is NULL");
 		/*Constrain all nodes that are not Hutter*/
 		if (reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[io_index])!=HutterApproximationEnum){
 			for(k=1;k<=gsize;k++){
@@ -229,7 +229,7 @@
 		_assert_(dofindex>=0 && dofindex<indexing.ssize);
 		return indexing.sdoflist[dofindex];
 	}
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 
 }
 /*}}}*/
@@ -301,7 +301,7 @@
 			}
 			else for(i=0;i<this->indexing.ssize;i++) outdoflist[i]=indexing.sdoflist[i];
 		}
-		else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+		else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 	}
 }
 /*}}}*/
@@ -341,7 +341,7 @@
 				}
 			}
 		}
-		else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+		else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 	}
 	else{
 
@@ -410,7 +410,7 @@
 				}
 			}
 		}
-		else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+		else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 	}
 }
 /*}}}*/
@@ -596,7 +596,7 @@
 		if (setenum==GsetEnum) numdofs=this->indexing.gsize;
 		else if (setenum==FsetEnum) numdofs=this->indexing.fsize;
 		else if (setenum==SsetEnum) numdofs=this->indexing.ssize;
-		else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+		else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 	}
 	else{
 		if(setenum==GsetEnum){
@@ -626,7 +626,7 @@
 			}
 			else numdofs=this->indexing.ssize;
 		}
-		else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+		else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 	}
 	return numdofs;
 }
@@ -833,7 +833,7 @@
 			ug->SetValues(this->indexing.ssize,indices,values,INS_VAL);
 		}
 	}
-	else _error2_("VecMerge can only merge from the s or f-set onto the g-set!");
+	else _error_("VecMerge can only merge from the s or f-set onto the g-set!");
 
 	/*Free ressources:*/
 	xDelete<IssmDouble>(values);
@@ -879,7 +879,7 @@
 			vector->SetValues(this->indexing.ssize,this->indexing.sdoflist,values,INS_VAL);
 		}
 	}
-	else _error2_("VecReduce can only merge from the s or f-set onto the g-set!");
+	else _error_("VecReduce can only merge from the s or f-set onto the g-set!");
 
 	/*Free ressources:*/
 	xDelete<IssmDouble>(values);
@@ -926,7 +926,7 @@
 		}
 		dofcount+=this->indexing.ssize;
 	}
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 
 
 	/*Assign output pointers: */
@@ -955,7 +955,7 @@
 	else if(setenum==SsetEnum){
 		for(i=0;i<this->indexing.ssize;i++) indexing.sdoflist[i]+=dofcount;
 	}
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Node::ShowTrueDofs{{{*/
@@ -971,7 +971,7 @@
 	if(setenum==GsetEnum)for(j=0;j<this->indexing.gsize;j++)  *(truedofs+ncols*sid+j)=indexing.gdoflist[j];
 	else if(setenum==FsetEnum)for(j=0;j<this->indexing.fsize;j++)  *(truedofs+ncols*sid+j)=indexing.fdoflist[j];
 	else if(setenum==SsetEnum)for(j=0;j<this->indexing.ssize;j++)  *(truedofs+ncols*sid+j)=indexing.sdoflist[j];
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 
 }
 /*}}}*/
@@ -990,7 +990,7 @@
 	if(setenum==GsetEnum)for(j=0;j<this->indexing.gsize;j++) indexing.gdoflist[j]=*(alltruedofs+ncols*sid+j);
 	else if(setenum==FsetEnum)for(j=0;j<this->indexing.fsize;j++) indexing.fdoflist[j]=*(alltruedofs+ncols*sid+j);
 	else if(setenum==SsetEnum)for(j=0;j<this->indexing.ssize;j++) indexing.sdoflist[j]=*(alltruedofs+ncols*sid+j);
-	else _error2_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
+	else _error_("set of enum type " << EnumToStringx(setenum) << " not supported yet!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Constraints/SpcTransient.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Constraints/SpcTransient.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Constraints/SpcTransient.cpp	(revision 13036)
@@ -145,7 +145,7 @@
 			}
 		}
 
-		if(!found)_error2_("could not find time segment for constraint");
+		if(!found)_error_("could not find time segment for constraint");
 
 		/*Apply or relax constraint: */
 		if(xIsNan<IssmDouble>(value)){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Node.h	(revision 13036)
@@ -44,7 +44,7 @@
 		int   Id(); 
 		int   MyRank();
 		int   ObjectEnum();
-		Object* copy(){_error2_("Not implemented yet (similar to Elements)");};
+		Object* copy(){_error_("Not implemented yet (similar to Elements)");};
 		/*}}}*/
 		/*Update virtual functions definitions: {{{*/
 		
@@ -58,8 +58,8 @@
 		void  InputUpdateFromConstant(IssmDouble constant, int name);
 		void  InputUpdateFromConstant(int constant, int name);
 		void  InputUpdateFromConstant(bool constant, int name);
-		void  InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
-		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("Not implemented yet!");}
+		void  InputUpdateFromSolution(IssmDouble* solution){_error_("Not implemented yet!");}
+		void  InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("Not implemented yet!");}
 		/*}}}*/
 		/*Node numerical routines {{{*/
 		void   Configure(DataSet* nodes,Vertices* vertices);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/PentaP1ElementResult.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/PentaP1ElementResult.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/PentaP1ElementResult.cpp	(revision 13036)
@@ -141,7 +141,7 @@
 
 	IssmDouble data[6];
 
-	if(numdofs!=6)_error2_("Result " << EnumToStringx(this->enum_type) << " is a PentaP1ElementResult and cannot write vector of " << numdofs << " dofs");
+	if(numdofs!=6)_error_("Result " << EnumToStringx(this->enum_type) << " is a PentaP1ElementResult and cannot write vector of " << numdofs << " dofs");
 	for(int i=0;i<6;i++) data[i]=this->values[i]/(IssmDouble)connectivitylist[i];
 	vector->SetValues(numdofs,doflist,&data[0],ADD_VAL);
 
@@ -149,5 +149,5 @@
 /*FUNCTION PentaP1ElementResult::GetElementVectorFromResults{{{*/
 void PentaP1ElementResult::GetElementVectorFromResults(Vector* vector,int dof){
 
-	_error2_("Result " << EnumToStringx(enum_type) << " is a PentaP1ElementResult and should not write vector of size numberofelemenrs");
+	_error_("Result " << EnumToStringx(enum_type) << " is a PentaP1ElementResult and should not write vector of size numberofelemenrs");
 } /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/DoubleElementResult.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/DoubleElementResult.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/DoubleElementResult.cpp	(revision 13036)
@@ -128,7 +128,7 @@
 /*FUNCTION DoubleElementResult::GetVectorFromResults{{{1*/
 void DoubleElementResult::GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){
 
-	_error2_("cannot return vector on vertices");
+	_error_("cannot return vector on vertices");
 } /*}}}*/
 /*FUNCTION DoubleElementResult::GetElementVectorFromResults{{{1*/
 void DoubleElementResult::GetElementVectorFromResults(Vector* vector,int dof){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/BoolElementResult.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/BoolElementResult.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/BoolElementResult.cpp	(revision 13036)
@@ -127,7 +127,7 @@
 /*FUNCTION BoolElementResult::GetVectorFromResults{{{*/
 void BoolElementResult::GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){
 
-	_error2_("cannot return vector on vertices");
+	_error_("cannot return vector on vertices");
 } /*}}}*/
 /*FUNCTION BoolElementResult::GetElementVectorFromResults{{{*/
 void BoolElementResult::GetElementVectorFromResults(Vector* vector,int dof){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/TriaP1ElementResult.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/TriaP1ElementResult.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/ElementResults/TriaP1ElementResult.cpp	(revision 13036)
@@ -129,12 +129,12 @@
 
 	IssmDouble data[3];
 
-	if(numdofs!=3)_error2_("Result " << EnumToStringx(this->enum_type) << " is a TriaP1ElementResult and cannot write vector of " << numdofs << " dofs");
+	if(numdofs!=3)_error_("Result " << EnumToStringx(this->enum_type) << " is a TriaP1ElementResult and cannot write vector of " << numdofs << " dofs");
 	for(int i=0;i<3;i++) data[i]=this->values[i]/(IssmDouble)connectivitylist[i];
 	vector->SetValues(numdofs,doflist,&data[0],ADD_VAL);
 
 } /*}}}*/
 /*FUNCTION TriaP1ElementResult::GetElementVectorFromResults{{{*/
 void TriaP1ElementResult::GetElementVectorFromResults(Vector* vector,int dof){
-	_error2_("Result " << EnumToStringx(enum_type) << " is a TriaP1ElementResult and should not write vector of size numberofelemenrs");
+	_error_("Result " << EnumToStringx(enum_type) << " is a TriaP1ElementResult and should not write vector of size numberofelemenrs");
 } /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.cpp	(revision 13036)
@@ -213,7 +213,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -276,7 +276,7 @@
 		case P1DGEnum:
 			return CreateKMatrixPrognostic_DG();
 		default:
-			_error2_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
+			_error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
 	}
 
 }
@@ -567,7 +567,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -586,7 +586,7 @@
 		case P1DGEnum:
 			return CreatePVectorPrognostic_DG();
 		default:
-			_error2_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
+			_error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -762,7 +762,7 @@
 			break;
 #endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -774,12 +774,12 @@
 /*}}}*/
 /*FUNCTION Tria::ComputeBasalStress {{{*/
 void  Tria::ComputeBasalStress(Vector* eps){
-	_error2_("Not Implemented yet");
+	_error_("Not Implemented yet");
 }
 /*}}}*/
 /*FUNCTION Tria::ComputeStrainRate {{{*/
 void  Tria::ComputeStrainRate(Vector* eps){
-	_error2_("Not Implemented yet");
+	_error_("Not Implemented yet");
 }
 /*}}}*/
 /*FUNCTION Tria::ComputeStressTensor {{{*/
@@ -1087,7 +1087,7 @@
 		if(node==nodes[i])
 		 return i;
 	}
-	_error2_("Node provided not found among element nodes");
+	_error_("Node provided not found among element nodes");
 }
 /*}}}*/
 /*FUNCTION Tria::GetInputListOnVertices(IssmDouble* pvalue,int enumtype) {{{*/
@@ -1099,7 +1099,7 @@
 
 	/*Recover input*/
 	Input* input=inputs->GetInput(enumtype);
-	if (!input) _error2_("Input " << EnumToStringx(enumtype) << " not found in element");
+	if (!input) _error_("Input " << EnumToStringx(enumtype) << " not found in element");
 
 	/*Checks in debugging mode*/
 	_assert_(pvalue);
@@ -1171,7 +1171,7 @@
 void Tria::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){
 
 	Input* input=inputs->GetInput(enumtype);
-	if(!input) _error2_("No input of type " << EnumToStringx(enumtype) << " found in tria");
+	if(!input) _error_("No input of type " << EnumToStringx(enumtype) << " found in tria");
 
 	GaussTria* gauss=new GaussTria();
 	gauss->GaussVertex(this->GetNodeIndex(node));
@@ -1213,7 +1213,7 @@
 		break;
 	#endif
 	default:
-		_error2_("analysis: " << EnumToStringx(analysis_type) << " not supported yet");
+		_error_("analysis: " << EnumToStringx(analysis_type) << " not supported yet");
 	}
 
 }
@@ -1229,7 +1229,7 @@
 
 	/*Check that both inputs have been found*/
 	if (!vx_input || !vy_input){
-		_error2_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << "\n");
+		_error_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << "\n");
 	}
 
 	/*Get strain rate assuming that epsilon has been allocated*/
@@ -1253,7 +1253,7 @@
 
 	/*Get input (either in element or material)*/
 	Input* input=inputs->GetInput(input_enum);
-	if(!input) _error2_("Input " << EnumToStringx(input_enum) << " not found in element");
+	if(!input) _error_("Input " << EnumToStringx(input_enum) << " not found in element");
 
 	/*We found the enum.  Use its values to fill into the vector, using the vertices ids: */
 	input->GetVectorFromInputs(vector,&doflist1[0]);
@@ -1265,7 +1265,7 @@
 	/*Get result*/
 	ElementResult* elementresult=(ElementResult*)this->results->GetObjectByOffset(offset);
 	if(elementresult->InstanceEnum()!=enum_in){
-		_error2_("Results of offset "<<offset<<" is "<<EnumToStringx(elementresult->InstanceEnum())<<" when "<<EnumToStringx(enum_in)<<" was expected");
+		_error_("Results of offset "<<offset<<" is "<<EnumToStringx(elementresult->InstanceEnum())<<" when "<<EnumToStringx(enum_in)<<" was expected");
 	}
 	if(interp==P1Enum){
 		int doflist1[NUMVERTICES];
@@ -1303,7 +1303,7 @@
 
 	/*Make a copy of the original input: */
 	input=(Input*)this->inputs->GetInput(enum_type);
-	if(!input)_error2_("could not find old input with enum: " << EnumToStringx(enum_type));
+	if(!input)_error_("could not find old input with enum: " << EnumToStringx(enum_type));
 
 	/*ArtificialNoise: */
 	input->ArtificialNoise(min,max);
@@ -1323,8 +1323,8 @@
 	for(i=0;i<num_enums/2;i++){
 		new_inputs[i]=(Input*)this->inputs->GetInput(enums[2*i+0]);
 		old_inputs[i]=(Input*)this->inputs->GetInput(enums[2*i+1]);
-		if(!new_inputs[i])_error2_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
-		if(!old_inputs[i])_error2_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
+		if(!new_inputs[i])_error_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
+		if(!old_inputs[i])_error_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
 	}
 
 	/*ok, we've got the inputs (new and old), now loop throught the number of criterions and fill the eps array:*/
@@ -1352,8 +1352,8 @@
 	else if (object_enum==MaterialsEnum)
 	 oldinput=(Input*)this->matice->inputs->GetInput(enum_type);
 	else
-	 _error2_("object " << EnumToStringx(object_enum) << " not supported yet");
-	if(!oldinput)_error2_("could not find old input with enum: " << EnumToStringx(enum_type));
+	 _error_("object " << EnumToStringx(object_enum) << " not supported yet");
+	if(!oldinput)_error_("could not find old input with enum: " << EnumToStringx(enum_type));
 	newinput=(Input*)oldinput->copy();
 
 	/*Assign new name (average)*/
@@ -1365,7 +1365,7 @@
 	else if (object_enum==MaterialsEnum)
 	 this->matice->inputs->AddInput((Input*)newinput);
 	else
-	 _error2_("object " << EnumToStringx(object_enum) << " not supported yet");
+	 _error_("object " << EnumToStringx(object_enum) << " not supported yet");
 }
 /*}}}*/
 /*FUNCTION Tria::InputDuplicate{{{*/
@@ -1383,7 +1383,7 @@
 
 	/*Make a copy of the original input: */
 	input=(Input*)this->inputs->GetInput(enum_type);
-	if(!input)_error2_("could not find old input with enum: " << EnumToStringx(enum_type));
+	if(!input)_error_("could not find old input with enum: " << EnumToStringx(enum_type));
 
 	/*Scale: */
 	input->Scale(scale_factor);
@@ -1398,7 +1398,7 @@
 	/*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */
 	if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(enum_type);
 	else input=this->inputs->GetInput(enum_type);
-	//if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found in tria->inputs");
+	//if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found in tria->inputs");
 	if(!input)return;
 
 	/*If we don't find it, no big deal, just don't do the transfer. Otherwise, build a new Result 
@@ -1504,7 +1504,7 @@
 				case MaterialsRheologyBbarEnum:
 					/*Matice will take care of it*/ break;
 				default:
-					_error2_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
+					_error_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
 			}
 		}
 	}
@@ -1576,7 +1576,7 @@
 			InputUpdateFromSolutionPrognostic(solution);
 			break;
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 }
 /*}}}*/
@@ -1594,7 +1594,7 @@
 	/*Use the dof list to index into the solution vector: */
 	for(int i=0;i<numdof;i++){
 		values[i]=solution[doflist[i]];
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Add input to the element: */
@@ -1627,7 +1627,7 @@
 	this->parameters->FindParam(&minthickness,PrognosticMinThicknessEnum);
 	for(i=0;i<numdof;i++){
 		newthickness[i]=solution[doflist[i]];
-		if(xIsNan<IssmDouble>(newthickness[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(newthickness[i])) _error_("NaN found in solution vector");
 		/*Constrain thickness to be at least 1m*/
 		if(newthickness[i]<minthickness) newthickness[i]=minthickness;
 	}
@@ -1658,7 +1658,7 @@
 				newsurface[i]=oldsurface[i]+(1.0-rho_ice/rho_water)*(newthickness[i]-oldthickness[i]); //surface = oldsurface + (1-di) * dH 
 				newbed[i]=oldbed[i]-rho_ice/rho_water*(newthickness[i]-oldthickness[i]); //bed = oldbed + di * dH
 			}
-			else _error2_("Hydrostatic adjustment " << hydroadjustment << " (" << EnumToStringx(hydroadjustment) << ") not supported yet");
+			else _error_("Hydrostatic adjustment " << hydroadjustment << " (" << EnumToStringx(hydroadjustment) << ") not supported yet");
 		}
 	}
 
@@ -1699,18 +1699,18 @@
 			return;
 		}
 		default:
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 }
 /*}}}*/
 /*FUNCTION Tria::InputUpdateFromVector(int* vector, int name, int type);{{{*/
 void  Tria::InputUpdateFromVector(int* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Tria::InputUpdateFromVector(bool* vector, int name, int type);{{{*/
 void  Tria::InputUpdateFromVector(bool* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Tria::InputCreate(IssmDouble scalar,int enum,int code);{{{*/
@@ -1728,7 +1728,7 @@
 	else if ((code==7) || (code==3)){ //IssmDouble
 		this->inputs->AddInput(new DoubleInput(name,reCast<int>(scalar)));
 	}
-	else _error2_("could not recognize nature of vector from code " << code);
+	else _error_("could not recognize nature of vector from code " << code);
 
 }
 /*}}}*/
@@ -1794,7 +1794,7 @@
 			}
 			this->inputs->AddInput(transientinput);
 		}
-		else _error2_("nodal vector is either numberofnodes or numberofnodes+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long");
+		else _error_("nodal vector is either numberofnodes or numberofnodes+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long");
 	}
 	else if(vector_type==2){ //element vector
 		/*Are we in transient or static? */
@@ -1811,14 +1811,14 @@
 			else if (code==7){ //IssmDouble
 				this->inputs->AddInput(new DoubleInput(vector_enum,vector[index]));
 			}
-			else _error2_("could not recognize nature of vector from code " << code);
+			else _error_("could not recognize nature of vector from code " << code);
 		}
 		else {
-			_error2_("transient elementary inputs not supported yet!");
+			_error_("transient elementary inputs not supported yet!");
 		}
 	}
 	else{
-		_error2_("Cannot add input for vector type " << vector_type << " (not supported)");
+		_error_("Cannot add input for vector type " << vector_type << " (not supported)");
 	}
 
 }
@@ -2245,12 +2245,12 @@
 /*FUNCTION Tria::SetClone {{{*/
 void  Tria::SetClone(int* minranks){
 
-	_error2_("not implemented yet");
+	_error_("not implemented yet");
 }
 /*}}}*/
 /*FUNCTION Tria::SmearFunction {{{*/
 void  Tria::SmearFunction(Vector*  smearedvector,IssmDouble (*WeightFunction)(IssmDouble distance,IssmDouble radius),IssmDouble radius){
-	_error2_("not implemented yet");
+	_error_("not implemented yet");
 
 }
 /*}}}*/
@@ -2397,7 +2397,7 @@
 	this->MaxAbsVx(&maxabsvx,false);
 	this->MaxAbsVy(&maxabsvy,false);
 	#else
-		_error2_("ISSM was not compiled with responses compiled in, exiting!");
+		_error_("ISSM was not compiled with responses compiled in, exiting!");
 	#endif
 
 	/* Get node coordinates and dof list: */
@@ -2590,7 +2590,7 @@
 	rho_ice=matpar->GetRhoIce();
 
 	/*First off, check that this segment belongs to this element: */
-	if ((int)*(segment+4)!=this->id)_error2_("error message: segment with id " << (int)*(segment+4) << " does not belong to element with id:" << this->id);
+	if ((int)*(segment+4)!=this->id)_error_("error message: segment with id " << (int)*(segment+4) << " does not belong to element with id:" << this->id);
 
 	/*Recover segment node locations: */
 	x1=*(segment+0); y1=*(segment+1); x2=*(segment+2); y2=*(segment+3);
@@ -2809,7 +2809,7 @@
 			/*Assign output pointers:*/
 			*presponse=vel;
 		default:  
-			_error2_("Response type " << EnumToStringx(response_enum) << " not supported yet!");
+			_error_("Response type " << EnumToStringx(response_enum) << " not supported yet!");
 	}
 
 }
@@ -3296,8 +3296,8 @@
 		vy[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get Vz and compute vel*/
@@ -3356,8 +3356,8 @@
 		vy[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Now Compute vel*/
@@ -3412,7 +3412,7 @@
 		}
 
 		if (input->ObjectEnum()!=ControlInputEnum){
-			_error2_("input " << EnumToStringx(control_type[i]) << " is not a ControlInput");
+			_error_("input " << EnumToStringx(control_type[i]) << " is not a ControlInput");
 		}
 
 		((ControlInput*)input)->UpdateValue(scalar);
@@ -3437,8 +3437,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	GradientIndexing(&doflist1[0],control_index);
 	((ControlInput*)input)->GetGradient(gradient,&doflist1[0]);
@@ -3455,8 +3455,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	((ControlInput*)input)->ScaleGradient(scale);
 }/*}}}*/
@@ -3474,8 +3474,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	GradientIndexing(&doflist1[0],control_index);
 	for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[doflist1[i]];
@@ -3509,7 +3509,7 @@
 			GradjVyBalancedthickness(gradient,control_index);
 			break;
 		default:
-			_error2_("control type not supported yet: " << control_type);
+			_error_("control type not supported yet: " << control_type);
 	}
 
 	/*Now deal with ∂J/∂alpha*/
@@ -3539,7 +3539,7 @@
 			GradjBGradient(gradient,resp,control_index);
 			break;
 		default:
-			_error2_("response " << EnumToStringx(responses[resp]) << " not supported yet");
+			_error_("response " << EnumToStringx(responses[resp]) << " not supported yet");
 	}
 
 	xDelete<int>(responses);
@@ -4520,7 +4520,7 @@
 				for(i=0;i<numdof;i++) pe->values[i]+= - weight*(dH[0]*(-vy)+dH[1]*vx)*(dbasis[0][i]*(-vy)+dbasis[1][i]*vx)*Jdet*gauss->weight;
 				break;
 			default:
-				_error2_("response " << EnumToStringx(responses[resp]) << " not supported yet");
+				_error_("response " << EnumToStringx(responses[resp]) << " not supported yet");
 		}
 	}
 
@@ -4704,7 +4704,7 @@
 					/*Nothing in P vector*/
 					break;
 				default:
-					_error2_("response " << EnumToStringx(responses[resp]) << " not supported yet");
+					_error_("response " << EnumToStringx(responses[resp]) << " not supported yet");
 			}
 		}
 	}
@@ -4887,7 +4887,7 @@
 					/*Nothing in P vector*/
 					break;
 				default:
-					_error2_("response " << EnumToStringx(responses[resp]) << " not supported yet");
+					_error_("response " << EnumToStringx(responses[resp]) << " not supported yet");
 			}
 		}
 	}
@@ -4956,7 +4956,7 @@
 			Ke=CreateKMatrixBalancethickness_DG();
 			break;
 		default:
-			_error2_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
+			_error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
 	}
 
 	/*Transpose and return Ke*/
@@ -5057,8 +5057,8 @@
 		lambday[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(lambdax[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(lambday[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambdax[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambday[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Add vx and vy as inputs to the tria element: */
@@ -5088,7 +5088,7 @@
 	/*Ok, we have vx and vy in values, fill in vx and vy arrays: */
 	for(i=0;i<numdof;i++){
 		lambda[i]=values[i];
-		if(xIsNan<IssmDouble>(lambda[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambda[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Add vx and vy as inputs to the tria element: */
@@ -5120,7 +5120,7 @@
 
 	/*Check that it is a ControlInput*/
 	if (input->ObjectEnum()!=ControlInputEnum){
-		_error2_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
+		_error_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
 	}
 
 	((ControlInput*)input)->GetVectorFromInputs(vector,&doflist1[0],data);
@@ -5154,7 +5154,7 @@
 	}
 
 	if (input->ObjectEnum()!=ControlInputEnum){
-		_error2_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
+		_error_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
 	}
 
 	((ControlInput*)input)->SetInput(new_input);
@@ -5424,7 +5424,7 @@
 	/*Use the dof list to index into the solution vector: */
 	for(i=0;i<numdof;i++){
 		values[i]=solution[doflist[i]];
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 		if (values[i]<pow((IssmDouble)10,(IssmDouble)-10))values[i]=pow((IssmDouble)10,(IssmDouble)-10); //correcting the water column to positive values
  
 	}
@@ -5523,19 +5523,19 @@
 			break;
 
 		default:
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 
 }
 /*}}}*/
 /*FUNCTION Tria::InputUpdateFromVectorDakota(int* vector, int name, int type);{{{*/
 void  Tria::InputUpdateFromVectorDakota(int* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Tria::InputUpdateFromVectorDakota(bool* vector, int name, int type);{{{*/
 void  Tria::InputUpdateFromVectorDakota(bool* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Tria::InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type);{{{*/
@@ -5577,7 +5577,7 @@
 			break;
 
 		default:
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 
 }
@@ -5594,7 +5594,7 @@
 		case P1DGEnum:
 			return CreateKMatrixBalancethickness_DG();
 		default:
-			_error2_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
+			_error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
 	}
 
 }
@@ -5773,7 +5773,7 @@
 		case P1DGEnum:
 			return CreatePVectorBalancethickness_DG();
 		default:
-			_error2_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
+			_error_("Element type " << EnumToStringx(GetElementType()) << " not supported yet");
 	}
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.cpp	(revision 13036)
@@ -948,7 +948,7 @@
 
 	/*Get Determinant*/
 	Matrix3x3Determinant(Jdet,&J[0][0]);
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
@@ -971,7 +971,7 @@
 
 	/*Jdet = norm( AB ^ AC ) / (2 * area of the reference triangle), with areaRef=sqrt(3) */
 	*Jdet=SQRT3/6.0*pow(pow(((y2-y1)*(z3-z1)-(z2-z1)*(y3-y1)),2.0)+pow(((z2-z1)*(x3-x1)-(x2-x1)*(z3-z1)),2.0)+pow(((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)),2.0),0.5);
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 }
 /*}}}*/
 /*FUNCTION PentaRef::GetSegmentJacobianDeterminant{{{*/
@@ -989,7 +989,7 @@
 	z2=*(xyz_list+3*1+2);
 
 	*Jdet=1.0/2.0*sqrt(pow(x2-x1,2.) + pow(y2-y1,2.) + pow(z2-z1,2.));
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
@@ -1225,7 +1225,7 @@
 	/*Jdet = (Area of the trapezoid)/(Area trapezoid ref) with AreaRef = 4*/
 	/*Area of a trabezoid = altitude * (base1 + base2)/2 */
 	*Jdet= pow(pow(x2-x1,2.) + pow(y2-y1,2.),0.5) * (z4-z1 + z3-z2)/8;
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Tria.h	(revision 13036)
@@ -99,7 +99,7 @@
 		void   InputScale(int enum_type,IssmDouble scale_factor);
 		void   InputToResult(int enum_type,int step,IssmDouble time);
 		void   DeleteResults(void);
-		void   MaterialUpdateFromTemperature(void){_error2_("not implemented yet");};
+		void   MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
 		void   MigrateGroundingLine(IssmDouble* oldfloating,IssmDouble* sheet_ungrounding);
 		int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units);
 		void   PotentialSheetUngrounding(Vector* potential_sheet_ungrounding);
@@ -109,7 +109,7 @@
 		void   PatchFill(int* pcount, Patch* patch);
 		void   PatchSize(int* pnumrows, int* pnumvertices,int* pnumnodes);
 		void   ProcessResultsUnits(void);
-		void   ResetCoordinateSystem(void){_error2_("not implemented yet");};
+		void   ResetCoordinateSystem(void){_error_("not implemented yet");};
 		void	 SmbGradients();
 		IssmDouble SurfaceArea(void);
 		void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.cpp	(revision 13036)
@@ -145,7 +145,7 @@
 /*Other*/
 /*FUNCTION Penta::AverageOntoPartition {{{*/
 void  Penta::AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part){
-	_error2_("Not supported yet!");
+	_error_("Not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Penta::BedNormal {{{*/
@@ -251,8 +251,8 @@
 	inputs->GetInputValue(&approximation,ApproximationEnum);
 
 	/*Check analysis_types*/
-	if (analysis_type!=DiagnosticHorizAnalysisEnum) _error2_("Not supported yet!");
-	if (approximation!=StokesApproximationEnum) _error2_("Not supported yet!");
+	if (analysis_type!=DiagnosticHorizAnalysisEnum) _error_("Not supported yet!");
+	if (approximation!=StokesApproximationEnum) _error_("Not supported yet!");
 
 	/*retrieve some parameters: */
 	this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
@@ -317,7 +317,7 @@
 /*FUNCTION Penta::ComputeStrainRate {{{*/
 void  Penta::ComputeStrainRate(Vector* eps){
 
-	_error2_("Not implemented yet");
+	_error_("Not implemented yet");
 
 }
 /*}}}*/
@@ -463,7 +463,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -568,7 +568,7 @@
 			break;
 		#endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global Vector*/
@@ -637,7 +637,7 @@
 			break;
 #endif
 		default:
-			_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+			_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 
 	/*Add to global matrix*/
@@ -887,7 +887,7 @@
 		if(node==nodes[i])
 		 return i;
 	}
-	_error2_("Node provided not found among element nodes");
+	_error_("Node provided not found among element nodes");
 
 }
 /*}}}*/
@@ -900,7 +900,7 @@
 
 	/*Recover input*/
 	Input* input=inputs->GetInput(enumtype);
-	if (!input) _error2_("Input " << EnumToStringx(enumtype) << " not found in element");
+	if (!input) _error_("Input " << EnumToStringx(enumtype) << " not found in element");
 
 	/*Checks in debugging mode*/
 	_assert_(pvalue);
@@ -949,7 +949,7 @@
 void Penta::GetInputValue(IssmDouble* pvalue,Node* node,int enumtype){
 
 	Input* input=inputs->GetInput(enumtype);
-	if(!input) _error2_("No input of type " << EnumToStringx(enumtype) << " found in tria");
+	if(!input) _error_("No input of type " << EnumToStringx(enumtype) << " found in tria");
 
 	GaussPenta* gauss=new GaussPenta();
 	gauss->GaussVertex(this->GetNodeIndex(node));
@@ -1044,7 +1044,7 @@
 		break;
 	#endif
 	default:
-		_error2_("analysis: " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+		_error_("analysis: " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 }
 /*}}}*/
@@ -1084,7 +1084,7 @@
 
 	/*Check that both inputs have been found*/
 	if (!vx_input || !vy_input){
-		_error2_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << "\n");
+		_error_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << "\n");
 	}
 
 	/*Get strain rate assuming that epsilon has been allocated*/
@@ -1109,7 +1109,7 @@
 
 	/*Check that both inputs have been found*/
 	if (!vx_input || !vy_input || !vz_input){
-		_error2_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << ", vz: " << vz_input << "\n");
+		_error_("Input missing. Here are the input pointers we have for vx: " << vx_input << ", vy: " << vy_input << ", vz: " << vz_input << "\n");
 	}
 
 	/*Get strain rate assuming that epsilon has been allocated*/
@@ -1144,7 +1144,7 @@
 
 	/*Get input (either in element or material)*/
 	Input* input=inputs->GetInput(input_enum);
-	if(!input) _error2_("Input " << EnumToStringx(input_enum) << " not found in element");
+	if(!input) _error_("Input " << EnumToStringx(input_enum) << " not found in element");
 
 	/*We found the enum.  Use its values to fill into the vector, using the vertices ids: */
 	input->GetVectorFromInputs(vector,&doflist1[0]);
@@ -1156,7 +1156,7 @@
 	/*Get result*/
 	ElementResult* elementresult=(ElementResult*)this->results->GetObjectByOffset(offset);
 	if(elementresult->InstanceEnum()!=enum_in){
-		_error2_("Results of offset "<<offset<<" is "<<EnumToStringx(elementresult->InstanceEnum())<<" when "<<EnumToStringx(enum_in)<<" was expected");
+		_error_("Results of offset "<<offset<<" is "<<EnumToStringx(elementresult->InstanceEnum())<<" when "<<EnumToStringx(enum_in)<<" was expected");
 	}  
 	if(interp==P1Enum){
 		int doflist1[NUMVERTICES];
@@ -1207,7 +1207,7 @@
 
 	/*Make a copy of the original input: */
 	input=(Input*)this->inputs->GetInput(enum_type);
-	if(!input)_error2_("could not find old input with enum: " << EnumToStringx(enum_type));
+	if(!input)_error_("could not find old input with enum: " << EnumToStringx(enum_type));
 
 	/*ArtificialNoise: */
 	input->ArtificialNoise(min,max);
@@ -1227,8 +1227,8 @@
 	for(i=0;i<num_enums/2;i++){
 		new_inputs[i]=(Input*)this->inputs->GetInput(enums[2*i+0]);
 		old_inputs[i]=(Input*)this->inputs->GetInput(enums[2*i+1]);
-		if(!new_inputs[i])_error2_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
-		if(!old_inputs[i])_error2_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
+		if(!new_inputs[i])_error_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
+		if(!old_inputs[i])_error_("could not find input with enum " << EnumToStringx(enums[2*i+0]));
 	}
 
 	/*ok, we've got the inputs (new and old), now loop throught the number of criterions and fill the eps array:*/
@@ -1260,7 +1260,7 @@
 	else if ((code==7) || (code==3)){ //IssmDouble
 		this->inputs->AddInput(new DoubleInput(name,(IssmDouble)scalar));
 	}
-	else _error2_("could not recognize nature of vector from code " << code);
+	else _error_("could not recognize nature of vector from code " << code);
 
 }
 /*}}}*/
@@ -1326,7 +1326,7 @@
 			}
 			this->inputs->AddInput(transientinput);
 		}
-		else _error2_("nodal vector is either numberofnodes (" << numberofvertices << "), or numberofnodes+1 long. Field provided is " << M << " long. Enum " << EnumToStringx(vector_enum));
+		else _error_("nodal vector is either numberofnodes (" << numberofvertices << "), or numberofnodes+1 long. Field provided is " << M << " long. Enum " << EnumToStringx(vector_enum));
 	}
 	else if(vector_type==2){ //element vector
 		/*Are we in transient or static? */
@@ -1343,14 +1343,14 @@
 			else if (code==7){ //IssmDouble
 				this->inputs->AddInput(new DoubleInput(vector_enum,(IssmDouble)vector[index]));
 			}
-			else _error2_("could not recognize nature of vector from code " << code);
+			else _error_("could not recognize nature of vector from code " << code);
 		}
 		else {
-			_error2_("transient elementary inputs not supported yet!");
+			_error_("transient elementary inputs not supported yet!");
 		}
 	}
 	else{
-		_error2_("Cannot add input for vector type " << vector_type << " (not supported)");
+		_error_("Cannot add input for vector type " << vector_type << " (not supported)");
 	}
 
 }
@@ -1389,8 +1389,8 @@
 		else if (object_enum==MaterialsEnum)
 		 original_input=(Input*)penta->matice->inputs->GetInput(enum_type);
 		else
-		 _error2_("object " << EnumToStringx(object_enum) << " not supported yet");
-		if(!original_input) _error2_("could not find input with enum " << EnumToStringx(enum_type));
+		 _error_("object " << EnumToStringx(object_enum) << " not supported yet");
+		if(!original_input) _error_("could not find input with enum " << EnumToStringx(enum_type));
 
 		/*If first time, initialize total_integrated_input*/
 		if (step==0){
@@ -1401,7 +1401,7 @@
 			else if (original_input->ObjectEnum()==DoubleInputEnum)
 			 total_integrated_input=new DoubleInput(average_enum_type,0.0);
 			else
-			 _error2_("object " << EnumToStringx(original_input->ObjectEnum()) << " not supported yet");
+			 _error_("object " << EnumToStringx(original_input->ObjectEnum()) << " not supported yet");
 		}
 
 		/*Step2: Create element thickness input*/
@@ -1449,7 +1449,7 @@
 	else if (object_enum==MaterialsEnum)
 	 this->matice->inputs->AddInput((Input*)depth_averaged_input);
 	else
-	 _error2_("object " << EnumToStringx(object_enum) << " not supported yet");
+	 _error_("object " << EnumToStringx(object_enum) << " not supported yet");
 }
 /*}}}*/
 /*FUNCTION Penta::InputDuplicate{{{*/
@@ -1490,10 +1490,10 @@
 		}
 	}
 	else{
-		_error2_("object of type " << EnumToStringx(object_type) << " not supported yet");
+		_error_("object of type " << EnumToStringx(object_type) << " not supported yet");
 	}
 	for(i=0;i<num_inputs;i++){
-		if(!base_inputs[i]) _error2_("could not find input with enum " << EnumToStringx(enum_type) << " in object " << EnumToStringx(object_type));
+		if(!base_inputs[i]) _error_("could not find input with enum " << EnumToStringx(enum_type) << " in object " << EnumToStringx(object_type));
 		base_inputs[i]->Extrude();
 	}
 
@@ -1520,7 +1520,7 @@
 				penta->nodes[i+3]->inputs->AddInput((Input*)copy); //change only the three upper nodes
 			}
 			else{
-				_error2_("object of type " << EnumToStringx(object_type) << " not supported yet");
+				_error_("object of type " << EnumToStringx(object_type) << " not supported yet");
 			}
 		}
 
@@ -1539,7 +1539,7 @@
 
 	/*Make a copy of the original input: */
 	input=(Input*)this->inputs->GetInput(enum_type);
-	if(!input)_error2_("could not find old input with enum: " << EnumToStringx(enum_type));
+	if(!input)_error_("could not find old input with enum: " << EnumToStringx(enum_type));
 
 	/*Scale: */
 	input->Scale(scale_factor);
@@ -1555,7 +1555,7 @@
 	/*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */
 	if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(MaterialsRheologyBEnum);
 	else input=this->inputs->GetInput(enum_type);
-	//if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found in penta->inputs"); why error out? if the requested input does not exist, we should still 
+	//if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found in penta->inputs"); why error out? if the requested input does not exist, we should still 
 	//try and output whatever we can instead of just failing.
 	if(!input)return;
 
@@ -1668,7 +1668,7 @@
 				case MaterialsRheologyBbarEnum:
 					/*Matice will take care of it*/ break;
 				default:
-					_error2_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
+					_error_("Control " << EnumToStringx((int)iomodel->Data(InversionControlParametersEnum)[i]) << " not implemented yet");
 			}
 		}
 	}
@@ -1701,7 +1701,7 @@
 			this->inputs->AddInput(new IntInput(ApproximationEnum,NoneApproximationEnum));
 		}
 		else{
-			_error2_("Approximation type " << EnumToStringx((int)*(iomodel->Data(FlowequationElementEquationEnum)+index)) << " not supported yet");
+			_error_("Approximation type " << EnumToStringx((int)*(iomodel->Data(FlowequationElementEquationEnum)+index)) << " not supported yet");
 		}
 	}
 
@@ -1785,7 +1785,7 @@
 		break;
 	#endif
 	default: 
-		_error2_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
+		_error_("analysis " << analysis_type << " (" << EnumToStringx(analysis_type) << ") not supported yet");
 	}
 }
 /*}}}*/
@@ -1816,7 +1816,7 @@
 	this->parameters->FindParam(&minthickness,PrognosticMinThicknessEnum);
 	for(i=0;i<numdof2d;i++){
 		newthickness[i]=solution[doflist[i]];
-		if(xIsNan<IssmDouble>(newthickness[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(newthickness[i])) _error_("NaN found in solution vector");
 		/*Constrain thickness to be at least 1m*/
 		if(newthickness[i]<minthickness) newthickness[i]=minthickness;
 		newthickness[i+numdof2d]=newthickness[i];
@@ -1849,7 +1849,7 @@
 				newsurface[i]=oldsurface[i]+(1.0-rho_ice/rho_water)*(newthickness[i]-oldthickness[i]); //surface = oldsurface + (1-di) * dH 
 				newbed[i]=oldbed[i]-rho_ice/rho_water*(newthickness[i]-oldthickness[i]); //bed = oldbed + di * dH
 			}
-			else _error2_("Hydrostatic adjustment " << hydroadjustment << " (" << EnumToStringx(hydroadjustment) << ") not supported yet");
+			else _error_("Hydrostatic adjustment " << hydroadjustment << " (" << EnumToStringx(hydroadjustment) << ") not supported yet");
 		}
 	}
 
@@ -1886,7 +1886,7 @@
 	/*Use the dof list to index into the solution vector: */
 	for(int i=0;i<numdof;i++){
 		values[i]=solution[doflist[i]];
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Add input to the element: */
@@ -1916,7 +1916,7 @@
 	for(int i=0;i<numdof2d;i++){
 		values[i]         =solution[doflist[i]];
 		values[i+numdof2d]=values[i];
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Start looping over all elements above current element and update all inputs*/
@@ -1962,18 +1962,18 @@
 
 		default:
 
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 }
 /*}}}*/
 /*FUNCTION Penta::InputUpdateFromVector(int* vector, int name, int type);{{{*/
 void  Penta::InputUpdateFromVector(int* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Penta::InputUpdateFromVector(bool* vector, int name, int type);{{{*/
 void  Penta::InputUpdateFromVector(bool* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Penta::IsOnBed{{{*/
@@ -2574,7 +2574,7 @@
 /*FUNCTION Penta::SetClone {{{*/
 void  Penta::SetClone(int* minranks){
 
-	_error2_("not implemented yet");
+	_error_("not implemented yet");
 }
 /*}}}*/
 /*FUNCTION Penta::SetCurrentConfiguration {{{*/
@@ -2941,7 +2941,7 @@
 				}
 				this->inputs->AddInput(new PentaP1Input(EnthalpyEnum,nodeinputs));
 			}
-			else _error2_("temperature and waterfraction required for the enthalpy solution");
+			else _error_("temperature and waterfraction required for the enthalpy solution");
 			break;
 
 		default:
@@ -3020,7 +3020,7 @@
 /*}}}*/
 /*FUNCTION Penta::SmearFunction {{{*/
 void  Penta::SmearFunction(Vector* smearedvector,IssmDouble (*WeightFunction)(IssmDouble distance,IssmDouble radius),IssmDouble radius){
-	_error2_("not implemented yet");
+	_error_("not implemented yet");
 }
 /*}}}*/
 
@@ -3238,7 +3238,7 @@
 			/*Assign output pointers:*/
 			*presponse=vel;
 		default:  
-			_error2_("Response type " << EnumToStringx(response_enum) << " not supported yet!");
+			_error_("Response type " << EnumToStringx(response_enum) << " not supported yet!");
 	}
 
 }
@@ -4313,7 +4313,7 @@
 		//if(values[i]<matpar->TMeltingPoint(pressure[i])-50) values[i]=matpar->TMeltingPoint(pressure[i])-50;
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 		//if(values[i]<0)      _printLine_("temperature < 0°K found in solution vector");
 		//if(values[i]>275)    _printLine_("temperature > 275°K found in solution vector (Paterson's rheology associated is negative)");
 	}
@@ -4347,7 +4347,7 @@
 				this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
 				break;
 			default:
-				_error2_("Rheology law " << EnumToStringx(rheology_law) << " not supported yet");
+				_error_("Rheology law " << EnumToStringx(rheology_law) << " not supported yet");
 
 		}
 	}
@@ -4383,7 +4383,7 @@
 		values[i]=solution[doflist[i]];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(values[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(values[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get all inputs and parameters*/
@@ -4396,8 +4396,8 @@
 		/*Convert enthalpy into temperature and water fraction*/
 		for(i=0;i<numdof;i++){
 			matpar->EnthalpyToThermal(&temperatures[i],&waterfraction[i],values[i],pressure[i]);
-			if(waterfraction[i]<0) _error2_("Negative water fraction found in solution vector");
-			//if(waterfraction[i]>1) _error2_("Water fraction >1 found in solution vector");
+			if(waterfraction[i]<0) _error_("Negative water fraction found in solution vector");
+			//if(waterfraction[i]>1) _error_("Water fraction >1 found in solution vector");
 		}
 			
 		this->inputs->AddInput(new PentaP1Input(EnthalpyEnum,values));
@@ -4425,7 +4425,7 @@
 				this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
 				break;
 			default:
-				_error2_("Rheology law " << EnumToStringx(rheology_law) << " not supported yet");
+				_error_("Rheology law " << EnumToStringx(rheology_law) << " not supported yet");
 
 		}
 	}
@@ -4453,8 +4453,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	GradientIndexing(&doflist1[0],control_index);
 	((ControlInput*)input)->GetGradient(gradient,&doflist1[0]);
@@ -4471,8 +4471,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	((ControlInput*)input)->ScaleGradient(scale);
 }/*}}}*/
@@ -4490,8 +4490,8 @@
 	else{
 		input=inputs->GetInput(enum_type);
 	}
-	if (!input) _error2_("Input " << EnumToStringx(enum_type) << " not found");
-	if (input->ObjectEnum()!=ControlInputEnum) _error2_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
+	if (!input) _error_("Input " << EnumToStringx(enum_type) << " not found");
+	if (input->ObjectEnum()!=ControlInputEnum) _error_("Input " << EnumToStringx(enum_type) << " is not a ControlInput");
 
 	GradientIndexing(&doflist1[0],control_index);
 	for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[doflist1[i]];
@@ -4515,7 +4515,7 @@
 		case NoneApproximationEnum:
 			return NULL;
 		default:
-			_error2_("Approximation " << EnumToStringx(approximation) << " not supported yet");
+			_error_("Approximation " << EnumToStringx(approximation) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -4705,7 +4705,7 @@
 		case StokesApproximationEnum:
 			return CreatePVectorAdjointStokes();
 		default:
-			_error2_("Approximation " << EnumToStringx(approximation) << " not supported yet");
+			_error_("Approximation " << EnumToStringx(approximation) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -4794,7 +4794,7 @@
 					/*Gradient is 0*/
 					break;
 				default:
-					_error2_("approximation " << EnumToStringx(approximation) << " not supported yet");
+					_error_("approximation " << EnumToStringx(approximation) << " not supported yet");
 			}
 			break;
 
@@ -4814,12 +4814,12 @@
 					/*Gradient is 0*/
 					break;
 				default:
-					_error2_("approximation " << EnumToStringx(approximation) << " not supported yet");
+					_error_("approximation " << EnumToStringx(approximation) << " not supported yet");
 			}
 			break;
 
 		default:
-			_error2_("control type " << EnumToStringx(control_type) << " not supported yet: ");
+			_error_("control type " << EnumToStringx(control_type) << " not supported yet: ");
 	}
 
 	/*Now deal with ∂J/∂alpha*/
@@ -4851,7 +4851,7 @@
 			delete tria->matice; delete tria;
 			break;
 		default:
-			_error2_("response " << EnumToStringx(responses[resp]) << " not supported yet");
+			_error_("response " << EnumToStringx(responses[resp]) << " not supported yet");
 	}
 	xDelete<int>(responses);
 }
@@ -5105,7 +5105,7 @@
 			input=(Input*)this->inputs->GetInput(control_type[i]); _assert_(input);
 		}
 
-		if (input->ObjectEnum()!=ControlInputEnum) _error2_("input " << EnumToStringx(control_type[i]) << " is not a ControlInput");
+		if (input->ObjectEnum()!=ControlInputEnum) _error_("input " << EnumToStringx(control_type[i]) << " is not a ControlInput");
 
 		((ControlInput*)input)->UpdateValue(scalar);
 		((ControlInput*)input)->Constrain();
@@ -5148,10 +5148,10 @@
 		lambdap[i]=values[i*NDOF4+3];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(lambdax[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(lambday[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(lambdaz[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(lambdap[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambdax[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambday[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambdaz[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambdap[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Add vx and vy as inputs to the tria element: */
@@ -5187,8 +5187,8 @@
 		lambday[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(lambdax[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(lambday[i]))       _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambdax[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(lambday[i]))       _error_("NaN found in solution vector");
 	}
 
 	/*Add vx and vy as inputs to the tria element: */
@@ -5389,7 +5389,7 @@
 /*FUNCTION Penta::ThicknessAbsGradient{{{*/
 IssmDouble Penta::ThicknessAbsGradient(bool process_units,int weight_index){
 
-	_error2_("Not implemented yet");
+	_error_("Not implemented yet");
 }
 /*}}}*/
 /*FUNCTION Penta::ThicknessAbsMisfit {{{*/
@@ -5404,7 +5404,7 @@
 
 	/*If on water, return 0: */
 	if(IsOnWater())return 0;
-	_error2_("Not implemented yet");
+	_error_("Not implemented yet");
 
 	tria=(Tria*)SpawnTria(0,1,2);
 	J=tria->ThicknessAbsMisfit(process_units,weight_index);
@@ -5455,11 +5455,11 @@
 
 	/*Get input (either in element or material)*/
 	Input* input=inputs->GetInput(control_enum);
-	if(!input) _error2_("Input " << EnumToStringx(control_enum) << " not found in element");
+	if(!input) _error_("Input " << EnumToStringx(control_enum) << " not found in element");
 
 	/*Check that it is a ControlInput*/
 	if (input->ObjectEnum()!=ControlInputEnum){
-		_error2_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
+		_error_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
 	}
 
 	((ControlInput*)input)->GetVectorFromInputs(vector,&doflist1[0],data);
@@ -5494,7 +5494,7 @@
 	}
 
 	if (input->ObjectEnum()!=ControlInputEnum){
-		_error2_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
+		_error_("input " << EnumToStringx(control_enum) << " is not a ControlInput");
 	}
 
 	((ControlInput*)input)->SetInput(new_input);
@@ -5600,19 +5600,19 @@
 			break;
 
 		default:
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 
 }
 /*}}}*/
 /*FUNCTION Penta::InputUpdateFromVectorDakota(int* vector, int name, int type);{{{*/
 void  Penta::InputUpdateFromVectorDakota(int* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Penta::InputUpdateFromVectorDakota(bool* vector, int name, int type);{{{*/
 void  Penta::InputUpdateFromVectorDakota(bool* vector, int name, int type){
-	_error2_("not supported yet!");
+	_error_("not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Penta::InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrows, int ncols, int name, int type);{{{*/
@@ -5655,7 +5655,7 @@
 			break;
 
 		default:
-			_error2_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
+			_error_("type " << type << " (" << EnumToStringx(type) << ") not implemented yet");
 	}
 
 }
@@ -6214,7 +6214,7 @@
 		case PattynStokesApproximationEnum:
 			return CreateKMatrixDiagnosticPattynStokes();
 		default:
-			_error2_("Approximation " << EnumToStringx(approximation) << " not supported yet");
+			_error_("Approximation " << EnumToStringx(approximation) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -6382,7 +6382,7 @@
 			this->GetStrainRate3d(&epsilons[0],&xyz_list[0][0],gauss,vx_input,vy_input,vz_input);
 			matice->GetViscosity3dStokes(&newviscosity,&epsilons[0]);
 		}
-		else _error2_("approximation " << approximation << " (" << EnumToStringx(approximation) << ") not supported yet");
+		else _error_("approximation " << approximation << " (" << EnumToStringx(approximation) << ") not supported yet");
 
 		D_scalar=2*newviscosity*gauss->weight*Jdet;
 		for (i=0;i<3;i++) D[i][i]=D_scalar;
@@ -7205,7 +7205,7 @@
 		case PattynStokesApproximationEnum:
 			return CreatePVectorDiagnosticPattynStokes();
 		default:
-			_error2_("Approximation " << EnumToStringx(approximation) << " not supported yet");
+			_error_("Approximation " << EnumToStringx(approximation) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -7718,7 +7718,7 @@
 		case NoneApproximationEnum:
 			return NULL;
 		default:
-			_error2_("Approximation " << EnumToStringx(approximation) << " not supported yet");
+			_error_("Approximation " << EnumToStringx(approximation) << " not supported yet");
 	}
 }
 /*}}}*/
@@ -8113,8 +8113,8 @@
 		vy[i+3]=vy[i];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get parameters fro pressure computation*/
@@ -8211,8 +8211,8 @@
 		vy[i]=macayeal_values[i*NDOF2+1]+pattyn_values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Now Compute vel*/
@@ -8299,22 +8299,22 @@
 		pressure[i]=stokes_values[i*NDOF4+3]*stokesreconditioning;
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vzstokes[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(pressure[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vzstokes[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(pressure[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get Vz*/
 	Input* vzmacayeal_input=inputs->GetInput(VzMacAyealEnum);
 	if (vzmacayeal_input){
 		if (vzmacayeal_input->ObjectEnum()!=PentaP1InputEnum){
-			_error2_("Cannot compute Vel as VzMacAyeal is of type " << EnumToStringx(vzmacayeal_input->ObjectEnum()));
+			_error_("Cannot compute Vel as VzMacAyeal is of type " << EnumToStringx(vzmacayeal_input->ObjectEnum()));
 		}
 		GetInputListOnVertices(&vzmacayeal[0],VzMacAyealEnum);
 	}
 	else{
-		_error2_("Cannot update solution as VzMacAyeal is not present");
+		_error_("Cannot update solution as VzMacAyeal is not present");
 	}
 
 	/*Now Compute vel*/
@@ -8378,8 +8378,8 @@
 		vy[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get Vz*/
@@ -8467,22 +8467,22 @@
 		pressure[i]=stokes_values[i*NDOF4+3]*stokesreconditioning;
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vzstokes[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(pressure[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vzstokes[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(pressure[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get Vz*/
 	Input* vzpattyn_input=inputs->GetInput(VzPattynEnum);
 	if (vzpattyn_input){
 		if (vzpattyn_input->ObjectEnum()!=PentaP1InputEnum){
-			_error2_("Cannot compute Vel as VzPattyn is of type " << EnumToStringx(vzpattyn_input->ObjectEnum()));
+			_error_("Cannot compute Vel as VzPattyn is of type " << EnumToStringx(vzpattyn_input->ObjectEnum()));
 		}
 		GetInputListOnVertices(&vzpattyn[0],VzPattynEnum);
 	}
 	else{
-		_error2_("Cannot update solution as VzPattyn is not present");
+		_error_("Cannot update solution as VzPattyn is not present");
 	}
 
 	/*Now Compute vel*/
@@ -8543,8 +8543,8 @@
 		vy[i]=values[i*NDOF2+1];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i])) _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Now Compute vel*/
@@ -8612,7 +8612,7 @@
 		vz[i]=values[i*NDOF1+0];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vz[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vz[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Get Vx and Vy*/
@@ -8623,10 +8623,10 @@
 	if(approximation==PattynStokesApproximationEnum){
 		Input* vzstokes_input=inputs->GetInput(VzStokesEnum);
 		if (vzstokes_input){
-			if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error2_("Cannot compute Vel as VzStokes is of type " << EnumToStringx(vzstokes_input->ObjectEnum()));
+			if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error_("Cannot compute Vel as VzStokes is of type " << EnumToStringx(vzstokes_input->ObjectEnum()));
 			GetInputListOnVertices(&vzstokes[0],VzStokesEnum);
 		}
-		else _error2_("Cannot compute Vz as VzStokes in not present in PattynStokes element");
+		else _error_("Cannot compute Vz as VzStokes in not present in PattynStokes element");
 		for(i=0;i<NUMVERTICES;i++){
 			vzpattyn[i]=vz[i];
 			vz[i]=vzpattyn[i]+vzstokes[i];
@@ -8635,10 +8635,10 @@
 	else if(approximation==MacAyealStokesApproximationEnum){
 		Input* vzstokes_input=inputs->GetInput(VzStokesEnum);
 		if (vzstokes_input){
-			if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error2_("Cannot compute Vel as VzStokes is of type " << EnumToStringx(vzstokes_input->ObjectEnum()));
+			if (vzstokes_input->ObjectEnum()!=PentaP1InputEnum) _error_("Cannot compute Vel as VzStokes is of type " << EnumToStringx(vzstokes_input->ObjectEnum()));
 			GetInputListOnVertices(&vzstokes[0],VzStokesEnum);
 		}
-		else _error2_("Cannot compute Vz as VzStokes in not present in MacAyealStokes element");
+		else _error_("Cannot compute Vz as VzStokes in not present in MacAyealStokes element");
 		for(i=0;i<NUMVERTICES;i++){
 			vzmacayeal[i]=vz[i];
 			vz[i]=vzmacayeal[i]+vzstokes[i];
@@ -8710,10 +8710,10 @@
 		pressure[i]=values[i*NDOF4+3];
 
 		/*Check solution*/
-		if(xIsNan<IssmDouble>(vx[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vy[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(vz[i]))       _error2_("NaN found in solution vector");
-		if(xIsNan<IssmDouble>(pressure[i])) _error2_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vx[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vy[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(vz[i]))       _error_("NaN found in solution vector");
+		if(xIsNan<IssmDouble>(pressure[i])) _error_("NaN found in solution vector");
 	}
 
 	/*Recondition pressure and compute vel: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/PentaRef.h	(revision 13036)
@@ -55,9 +55,9 @@
 		void GetLStokesMacAyeal(IssmDouble* LStokesMacAyeal, GaussPenta* gauss);
 		void GetLprimeStokesMacAyeal(IssmDouble* LprimeStokesMacAyeal, IssmDouble* xyz_list, GaussPenta* gauss);
 		void GetInputValue(IssmDouble* pvalue,IssmDouble* plist, GaussPenta* gauss);
-		void GetInputValue(IssmDouble* pvalue,IssmDouble* plist,GaussTria* gauss){_error2_("only PentaGauss are supported");};
+		void GetInputValue(IssmDouble* pvalue,IssmDouble* plist,GaussTria* gauss){_error_("only PentaGauss are supported");};
 		void GetInputDerivativeValue(IssmDouble* pvalues, IssmDouble* plist,IssmDouble* xyz_list, GaussPenta* gauss);
-		void GetInputDerivativeValue(IssmDouble* pvalues, IssmDouble* plist,IssmDouble* xyz_list, GaussTria* gauss){_error2_("only PentaGauss are supported");};
+		void GetInputDerivativeValue(IssmDouble* pvalues, IssmDouble* plist,IssmDouble* xyz_list, GaussTria* gauss){_error_("only PentaGauss are supported");};
 
 };
 #endif
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/Penta.h	(revision 13036)
@@ -161,8 +161,8 @@
 		IssmDouble SurfaceLogVxVyMisfit(   bool process_units,int weight_index);
 		IssmDouble SurfaceAverageVelMisfit(bool process_units,int weight_index);
 		IssmDouble ThicknessAbsGradient(bool process_units,int weight_index);
-		IssmDouble ThicknessAlongGradient( bool process_units,int weight_index){_error2_("not supported");};
-		IssmDouble ThicknessAcrossGradient(bool process_units,int weight_index){_error2_("not supported");};
+		IssmDouble ThicknessAlongGradient( bool process_units,int weight_index){_error_("not supported");};
+		IssmDouble ThicknessAcrossGradient(bool process_units,int weight_index){_error_("not supported");};
 		void   InputControlUpdate(IssmDouble scalar,bool save_parameter);
 		#endif
 		/*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/TriaRef.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/TriaRef.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/objects/Elements/TriaRef.cpp	(revision 13036)
@@ -337,7 +337,7 @@
 	y2=*(xyz_list+3*1+1);
 
 	*Jdet=1.0/2.0*sqrt(pow(x2-x1,2.) + pow(y2-y1,2.));
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
@@ -352,7 +352,7 @@
 
 	/*Get Determinant*/
 	Matrix2x2Determinant(Jdet,&J[0][0]);
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
@@ -374,7 +374,7 @@
 	z3=*(xyz_list+3*2+2);
 
 	*Jdet=SQRT3/6.0*pow(pow(((y2-y1)*(z3-z1)-(z2-z1)*(y3-y1)),2.0)+pow(((z2-z1)*(x3-x1)-(x2-x1)*(z3-z1)),2.0)+pow(((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)),2.0),0.5);
-	if(*Jdet<0) _error2_("negative jacobian determinant!");
+	if(*Jdet<0) _error_("negative jacobian determinant!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.cpp	(revision 13036)
@@ -38,7 +38,7 @@
 	if(options->GetOption("range"))  options->Get(&this->range,"range");
 
 	/*Checks*/
-	if(nugget==sill) _error2_("nugget and sill cannot be equal (constant semivariogram not allowed)");
+	if(nugget==sill) _error_("nugget and sill cannot be equal (constant semivariogram not allowed)");
 }
 /*}}}*/
 /*FUNCTION ExponentialVariogram::~ExponentialVariogram(){{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.h	(revision 13036)
@@ -26,11 +26,11 @@
 
 				/*Object functions (Needed because the Quadtree uses a Container*/
 				void    Echo();
-				void    DeepEcho()  {_error2_("not implemented yet"); };
-				int     Id()        {_error2_("not implemented yet"); };
-				int     MyRank()    {_error2_("not implemented yet"); };
-				int     ObjectEnum(){_error2_("not implemented yet"); };
-				Object *copy()      {_error2_("not implemented yet"); };
+				void    DeepEcho()  {_error_("not implemented yet"); };
+				int     Id()        {_error_("not implemented yet"); };
+				int     MyRank()    {_error_("not implemented yet"); };
+				int     ObjectEnum(){_error_("not implemented yet"); };
+				Object *copy()      {_error_("not implemented yet"); };
 
 				/*Methods*/
 				int          IsWithinRange(double  x,double y,double range);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Observation.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Observation.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Observation.h	(revision 13036)
@@ -23,11 +23,11 @@
 
 		/*Object virtual functions definitions*/
 		void    Echo();
-		void    DeepEcho()  {_error2_("Not implemented yet"); };
-		int     Id()        {_error2_("Not implemented yet"); };
-		int     MyRank()    {_error2_("Not implemented yet"); };
-		int     ObjectEnum(){_error2_("Not implemented yet"); };
-		Object *copy()      {_error2_("Not implemented yet"); };
+		void    DeepEcho()  {_error_("Not implemented yet"); };
+		int     Id()        {_error_("Not implemented yet"); };
+		int     MyRank()    {_error_("Not implemented yet"); };
+		int     ObjectEnum(){_error_("Not implemented yet"); };
+		Object *copy()      {_error_("Not implemented yet"); };
 
 		/*Management*/
 		void WriteXYObs(double* px,double* py,double* pobs);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp	(revision 13036)
@@ -38,7 +38,7 @@
 	if(options->GetOption("range"))  options->Get(&this->range,"range");
 
 	/*Checks*/
-	if(nugget==sill) _error2_("nugget and sill cannot be equal (constant semivariogram not allowed)");
+	if(nugget==sill) _error_("nugget and sill cannot be equal (constant semivariogram not allowed)");
 }
 /*}}}*/
 /*FUNCTION GaussianVariogram::~GaussianVariogram(){{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp	(revision 13036)
@@ -38,7 +38,7 @@
 	if(options->GetOption("range"))  options->Get(&this->range,"range");
 
 	/*Checks*/
-	if(nugget==sill) _error2_("nugget and sill cannot be equal (constant semivariogram not allowed)");
+	if(nugget==sill) _error_("nugget and sill cannot be equal (constant semivariogram not allowed)");
 }
 /*}}}*/
 /*FUNCTION SphericalVariogram::~SphericalVariogram(){{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/ExponentialVariogram.h	(revision 13036)
@@ -22,11 +22,11 @@
 
 		/*Object virtual functions definitions*/
 		void  Echo();
-		void  DeepEcho(){_error2_("Not implemented yet");};
-		int   Id(){_error2_("Not implemented yet");}; 
-		int   MyRank(){_error2_("Not implemented yet");};
-		int   ObjectEnum(){_error2_("Not implemented yet");};
-		Object* copy(){_error2_("Not implemented yet");};
+		void  DeepEcho(){_error_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");}; 
+		int   MyRank(){_error_("Not implemented yet");};
+		int   ObjectEnum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 
 		/*Variogram functions*/
 		double SemiVariogram(double deltax,double deltay);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp	(revision 13036)
@@ -38,8 +38,8 @@
 	if(options->GetOption("power"))  options->Get(&this->power,"power");
 
 	/*Checks*/
-	if(power<=0 || power>=2) _error2_("power must be betwwen 0 and 2 (0 < power < 2)");
-	if(slope<=0) _error2_("slope must be positive");
+	if(power<=0 || power>=2) _error_("power must be betwwen 0 and 2 (0 < power < 2)");
+	if(slope<=0) _error_("slope must be positive");
 }
 /*}}}*/
 /*FUNCTION PowerVariogram::~PowerVariogram(){{{*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/GaussianVariogram.h	(revision 13036)
@@ -23,11 +23,11 @@
 
 		/*Object virtual functions definitions*/
 		void  Echo();
-		void  DeepEcho(){_error2_("Not implemented yet");};
-		int   Id(){_error2_("Not implemented yet");}; 
-		int   MyRank(){_error2_("Not implemented yet");};
-		int   ObjectEnum(){_error2_("Not implemented yet");};
-		Object* copy(){_error2_("Not implemented yet");};
+		void  DeepEcho(){_error_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");}; 
+		int   MyRank(){_error_("Not implemented yet");};
+		int   ObjectEnum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 
 		/*Variogram functions*/
 		double SemiVariogram(double deltax,double deltay);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/SphericalVariogram.h	(revision 13036)
@@ -22,11 +22,11 @@
 
 		/*Object virtual functions definitions*/
 		void  Echo();
-		void  DeepEcho(){_error2_("Not implemented yet");};
-		int   Id(){_error2_("Not implemented yet");}; 
-		int   MyRank(){_error2_("Not implemented yet");};
-		int   ObjectEnum(){_error2_("Not implemented yet");};
-		Object* copy(){_error2_("Not implemented yet");};
+		void  DeepEcho(){_error_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");}; 
+		int   MyRank(){_error_("Not implemented yet");};
+		int   ObjectEnum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 
 		/*Variogram functions*/
 		double SemiVariogram(double deltax,double deltay);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/PowerVariogram.h	(revision 13036)
@@ -22,11 +22,11 @@
 
 		/*Object virtual functions definitions*/
 		void  Echo();
-		void  DeepEcho(){_error2_("Not implemented yet");};
-		int   Id(){_error2_("Not implemented yet");}; 
-		int   MyRank(){_error2_("Not implemented yet");};
-		int   ObjectEnum(){_error2_("Not implemented yet");};
-		Object* copy(){_error2_("Not implemented yet");};
+		void  DeepEcho(){_error_("Not implemented yet");};
+		int   Id(){_error_("Not implemented yet");}; 
+		int   MyRank(){_error_("Not implemented yet");};
+		int   ObjectEnum(){_error_("Not implemented yet");};
+		Object* copy(){_error_("Not implemented yet");};
 
 		/*Variogram functions*/
 		double SemiVariogram(double deltax,double deltay);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/kriging/Quadtree.cpp	(revision 13036)
@@ -82,7 +82,7 @@
 	/*Constructors/Destructors*/
 /*FUNCTION Quadtree::Quadtree(){{{*/
 Quadtree::Quadtree(){
-	_error2_("Constructor not supported");
+	_error_("Constructor not supported");
 
 }
 /*}}}*/
@@ -247,7 +247,7 @@
 		box->obs[index]->weight += 1;
 	}
 	else{
-		_error2_("Box is not full");
+		_error_("Box is not full");
 	}
 }/*}}}*/
 /*FUNCTION Quadtree::ClosestObs{{{*/
@@ -396,7 +396,7 @@
 			newbox->ycenter=master->ycenter + master->length/4;
 			break;
 		default:
-			_error2_("Case " << index << " not supported");
+			_error_("Case " << index << " not supported");
 	}
 	newbox->length=master->length/2;
 
@@ -573,7 +573,7 @@
 			}
 			break;
 		default:
-			_error2_("Case " << this->IsWithinRange(x,y,range) << " not supported");
+			_error_("Case " << this->IsWithinRange(x,y,range) << " not supported");
 	}
 
 	/*Assign output pointers: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp	(revision 13036)
@@ -46,7 +46,7 @@
 /*FUNCTION ElementMatrix::ElementMatrix(ElementMatrix* Ke){{{*/
 ElementMatrix::ElementMatrix(ElementMatrix* Ke){
 
-	if(!Ke) _error2_("Input Element Matrix is a NULL pointer");
+	if(!Ke) _error_("Input Element Matrix is a NULL pointer");
 	this->Init(Ke);
 	return;
 }
@@ -62,7 +62,7 @@
 
 	/*If one of the two matrix is NULL, we copy the other one*/
 	if(!Ke1 && !Ke2){
-		_error2_("Two input element matrices are NULL");
+		_error_("Two input element matrices are NULL");
 	}
 	else if(!Ke1){
 		this->Init(Ke2);
@@ -74,7 +74,7 @@
 	}
 
 	/*General Case: Ke1 and Ke2 are not empty*/
-	if(!Ke1->dofsymmetrical || !Ke2->dofsymmetrical) _error2_("merging 2 non dofsymmetrical matrices not implemented yet");
+	if(!Ke1->dofsymmetrical || !Ke2->dofsymmetrical) _error_("merging 2 non dofsymmetrical matrices not implemented yet");
 
 	/*Initialize itransformation matrix Ke[P[i]] = Ke2[i]*/
 	P=xNew<int>(Ke2->nrows);
@@ -294,7 +294,7 @@
 		}
 	}
 	else{
-		_error2_("non dofsymmetrical matrix AddToGlobal routine not support yet!");
+		_error_("non dofsymmetrical matrix AddToGlobal routine not support yet!");
 	}
 
 }
@@ -331,7 +331,7 @@
 
 	}
 	else{
-		_error2_("non dofsymmetrical matrix AddToGlobal routine not support yet!");
+		_error_("non dofsymmetrical matrix AddToGlobal routine not support yet!");
 	}
 
 }
@@ -342,8 +342,8 @@
 	#ifdef _ISSM_DEBUG_ 
 	for (int i=0;i<this->nrows;i++){
 		for(int j=0;j<this->ncols;j++){
-			if (xIsNan<IssmDouble>(this->values[i*this->ncols+j])) _error2_("NaN found in Element Matrix");
-			if (fabs(this->values[i*this->ncols+j])>1.e+50) _error2_("Element Matrix values exceeds 1.e+50");
+			if (xIsNan<IssmDouble>(this->values[i*this->ncols+j])) _error_("NaN found in Element Matrix");
+			if (fabs(this->values[i*this->ncols+j])>1.e+50) _error_("Element Matrix values exceeds 1.e+50");
 		}
 	}
 	#endif
@@ -364,7 +364,7 @@
 
 	/*Transpose indices*/
 	if(!dofsymmetrical){
-		_error2_("not supported yet");
+		_error_("not supported yet");
 	}
 
 	/*Clean up and return*/
@@ -487,7 +487,7 @@
 
 	int i;
 
-	if(this->nrows!=this->ncols)_error2_("need square matrix in input!");
+	if(this->nrows!=this->ncols)_error_("need square matrix in input!");
 
 	for(i=0;i<this->nrows;i++){
 		this->values[this->ncols*i+i]=scalar;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Vector.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Vector.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Vector.cpp	(revision 13036)
@@ -50,13 +50,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector=new PetscVec(M,fromlocalsize);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector=new SeqVec(M,fromlocalsize);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -85,13 +85,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector=new PetscVec(serial_vec,M);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector=new SeqVec(serial_vec,M);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -102,13 +102,13 @@
 		#ifdef _HAVE_PETSC_
 		delete this->pvector;
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		delete this->svector;
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 }
 /*}}}*/
 
@@ -120,13 +120,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->Echo();
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->Echo();
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -137,13 +137,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->Assemble();
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->Assemble();
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -155,13 +155,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->SetValues(ssize,list,values,mode);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->SetValues(ssize,list,values,mode);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 		
 
@@ -174,13 +174,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->SetValue(dof,value,mode);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->SetValue(dof,value,mode);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -192,13 +192,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->GetValue(pvalue,dof);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->GetValue(pvalue,dof);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -209,13 +209,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->GetSize(pM);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->GetSize(pM);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -240,13 +240,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->GetLocalSize(pM);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->GetLocalSize(pM);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -261,14 +261,14 @@
 		output=new Vector();
 		output->pvector=this->pvector->Duplicate();
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		output=new Vector();
 		output->svector=this->svector->Duplicate();
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 	return output;
 
@@ -282,13 +282,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->Set(value);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->Set(value);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -300,13 +300,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->AXPY(X->pvector,a);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->AXPY(X->svector,a);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -318,13 +318,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->AYPX(X->pvector,a);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->AYPX(X->svector,a);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 
 }
@@ -338,13 +338,13 @@
 		#ifdef _HAVE_PETSC_
 		vec_serial=this->pvector->ToMPISerial();
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		vec_serial=this->svector->ToMPISerial();
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 	return vec_serial;
 
@@ -358,13 +358,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->Copy(to->pvector);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->Copy(to->svector);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 
 }
@@ -378,13 +378,13 @@
 		#ifdef _HAVE_PETSC_
 		norm=this->pvector->Norm(norm_type);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		norm=this->svector->Norm(norm_type);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 	return norm;
 }
@@ -397,13 +397,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->Scale(scale_factor);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->Scale(scale_factor);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -416,13 +416,13 @@
 		#ifdef _HAVE_PETSC_
 		dot=this->pvector->Dot(vector->pvector);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		dot=this->svector->Dot(vector->svector);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 	return dot;
 }
@@ -435,13 +435,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pvector->PointwiseDivide(x->pvector,y->pvector);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqVecType){
 		this->svector->PointwiseDivide(x->svector,y->svector);
 	}
-	else _error2_("Vector type: " << type << " not supported yet!");
+	else _error_("Vector type: " << type << " not supported yet!");
 
 }
 /*}}}*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Matrix.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Matrix.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/Matrix.cpp	(revision 13036)
@@ -50,13 +50,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pmatrix=new PetscMat(M,N);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqMatType){
 		this->smatrix=new SeqMat(M,N);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -73,13 +73,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pmatrix=new PetscMat(M,N,sparsity);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqMatType){
 		this->smatrix=new SeqMat(M,N,sparsity);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Matrix::Matrix(IssmDouble* serial_mat, int M,int N,IssmDouble sparsity,int type){{{*/
@@ -95,13 +95,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pmatrix=new PetscMat(serial_mat,M,N,sparsity);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqMatType){
 		this->smatrix=new SeqMat(serial_mat,M,N,sparsity);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 	
 }
 /*}}}*/
@@ -118,13 +118,13 @@
 		#ifdef _HAVE_PETSC_
 		this->pmatrix=new PetscMat(M,N,connectivity,numberofdofspernode);
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqMatType){
 		this->smatrix=new SeqMat(M,N,connectivity,numberofdofspernode);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 	
 }
 /*}}}*/
@@ -135,13 +135,13 @@
 		#ifdef _HAVE_PETSC_
 		delete this->pmatrix;
 		#else
-		_error2_("Petsc matrix format not usable, as Petsc has not been compiled!");
+		_error_("Petsc matrix format not usable, as Petsc has not been compiled!");
 		#endif
 	}
 	else if(type==SeqMatType){
 		delete this->smatrix;
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -158,7 +158,7 @@
 	else if(type==SeqMatType){
 		this->smatrix->Echo();
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -174,7 +174,7 @@
 		this->smatrix->Assemble();
 	}
 	else{
-		_error2_("Matrix type: " << type << " not supported yet!");
+		_error_("Matrix type: " << type << " not supported yet!");
 	}
 }
 /*}}}*/
@@ -191,7 +191,7 @@
 	else if(type==SeqMatType){
 		norm=this->smatrix->Norm(norm_type);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 	return norm;
 }
@@ -207,7 +207,7 @@
 	else if(type==SeqMatType){
 		this->smatrix->GetSize(pM,pN);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 	
 }
 /*}}}*/
@@ -222,7 +222,7 @@
 	else if(type==SeqMatType){
 		this->smatrix->GetLocalSize(pM,pN);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -237,7 +237,7 @@
 	else if(type==SeqMatType){
 		this->smatrix->MatMult(X->svector,AX->svector);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 }
 /*}}}*/
@@ -256,7 +256,7 @@
 	else if(type==SeqMatType){
 		output->smatrix=this->smatrix->Duplicate();
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 	
 	return output;
 }
@@ -274,7 +274,7 @@
 	else if(type==SeqMatType){
 		output=this->smatrix->ToSerial();
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 
 
 	return output;
@@ -291,7 +291,7 @@
 	else if(type==SeqMatType){
 		this->smatrix->SetValues(m,idxm,n,idxn,values,mode);
 	}
-	else _error2_("Matrix type: " << type << " not supported yet!");
+	else _error_("Matrix type: " << type << " not supported yet!");
 }
 /*}}}*/
 /*FUNCTION Matrix::Convert{{{*/
@@ -306,7 +306,7 @@
 		this->smatrix->Convert(newtype);
 	}
 	else{
-		_error2_("Matrix type: " << type << " not supported yet!");
+		_error_("Matrix type: " << type << " not supported yet!");
 	}
 
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementVector.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementVector.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/matrix/ElementVector.cpp	(revision 13036)
@@ -41,7 +41,7 @@
 
 	/*If one of the two matrix is NULL, we copy the other one*/
 	if(!pe1 && !pe2){
-		_error2_("Two input element matrices are NULL");
+		_error_("Two input element matrices are NULL");
 	}
 	else if(!pe1){
 		this->Init(pe2);
@@ -209,8 +209,8 @@
 	/*Check element matrix values, only in debugging mode*/
 #ifdef _ISSM_DEBUG_ 
 	for (int i=0;i<this->nrows;i++){
-		if (xIsNan<IssmDouble>(this->values[i])) _error2_("NaN found in Element Vector");
-		if (fabs( this->values[i])>1.e+50) _error2_("Element Vector values exceeds 1.e+50");
+		if (xIsNan<IssmDouble>(this->values[i])) _error_("NaN found in Element Vector");
+		if (fabs( this->values[i])>1.e+50) _error_("Element Vector values exceeds 1.e+50");
 	}
 #endif
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.cpp	(revision 13036)
@@ -37,7 +37,7 @@
 
 		// check Size
 		if (Size<=0){
-			_error2_("Size<=0");
+			_error_("Size<=0");
 		}
 
 		Metric Mx,My;
@@ -267,7 +267,7 @@
 			while (t->det <0) { // intersection boundary edge and a,b,
 				k=(*t)(0) ?  ((  (*t)(1) ? ( (*t)(2) ? -1 : 2) : 1  )) : 0;
 				if (k<0){
-					_error2_("k<0");
+					_error_("k<0");
 				}
 				ocut = OppositeEdge[k];
 				i=VerticesOfTriangularEdge[ocut][0];
@@ -311,7 +311,7 @@
 				j=VerticesOfTriangularEdge[iedge][1];
 				double dij = detj-deti;
 				if (i+j+k != 0 + 1 +2){
-					_error2_("i+j+k != 0 + 1 +2");
+					_error_("i+j+k != 0 + 1 +2");
 				}
 				ba[j] =  detj/dij;
 				ba[i] = -deti/dij;
@@ -383,7 +383,7 @@
 						j= VerticesOfTriangularEdge[ocut][1];
 					}
 					else {
-						_error2_("Bug Split Edge");
+						_error_("Bug Split Edge");
 					}
 				}
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Triangle.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Triangle.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Triangle.cpp	(revision 13036)
@@ -18,10 +18,10 @@
 		BamgVertex *v=Th->vertices;
 		long nbv = Th->nbv;
 		if (i<0 || j<0 || k<0){
-			_error2_("i<0 || j<0 || k<0");
+			_error_("i<0 || j<0 || k<0");
 		}
 		if (i>=nbv || j>=nbv || k>=nbv){
-			_error2_("i>=nbv || j>=nbv || k>=nbv");
+			_error_("i>=nbv || j>=nbv || k>=nbv");
 		}
 		vertices[0]=v+i;
 		vertices[1]=v+j;
@@ -172,7 +172,7 @@
 
 			//check number of iterations
 			if (k>=2000){
-				_error2_("too many iteration in Triangle::FindBoundaryEdge (k>=2000)");
+				_error_("too many iteration in Triangle::FindBoundaryEdge (k>=2000)");
 			}
 		} while (this!= t);
 		//not found, return empty triangle
@@ -212,7 +212,7 @@
 		jp = AdjEdgeIndex[jp]&3;
 		do {
 			while (t->swap(j,koption)){
-				if (k>=20000) _error2_("k>=20000");
+				if (k>=20000) _error_("k>=20000");
 				NbSwap++;
 				k++;
 				t=  tp->adj[jp];      // set unchange t qnd j for previous triangles
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgQuadtree.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgQuadtree.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgQuadtree.h	(revision 13036)
@@ -30,12 +30,12 @@
 						BamgVertex*  v[4];
 					};
 					/*Object functions*/
-					void    Echo()       {_error2_("not implemented yet"); };
-					void    DeepEcho()   {_error2_("not implemented yet"); };
-					int     Id()         {_error2_("not implemented yet"); };
-					int     MyRank()     {_error2_("not implemented yet"); };
-					int     ObjectEnum() {_error2_("not implemented yet"); };
-					Object *copy()       {_error2_("not implemented yet"); };
+					void    Echo()       {_error_("not implemented yet"); };
+					void    DeepEcho()   {_error_("not implemented yet"); };
+					int     Id()         {_error_("not implemented yet"); };
+					int     MyRank()     {_error_("not implemented yet"); };
+					int     ObjectEnum() {_error_("not implemented yet"); };
+					Object *copy()       {_error_("not implemented yet"); };
 			};
 
 			/*BamgQuadtree private Fields*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgOpts.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgOpts.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgOpts.cpp	(revision 13036)
@@ -59,30 +59,30 @@
 
 	int i;
 
-	if (this->anisomax<1) _error2_("'anisomax' option should be >=1");
-	if (this->coeff==0) _error2_("'coeff' should be positive");
-	if (this->errg<0) _error2_("'errg' option should be >0");
-	if (this->gradation<1) _error2_("'gradation' option should be >=1");
-	if (this->Hessiantype!=0  && this->Hessiantype!=1) _error2_("'Hessiantype' supported options are 0 and 1");
-	if (this->maxnbv<3) _error2_("'maxnbv' option should be >3");
-	if (this->maxsubdiv<=1) _error2_("'maxsubdiv' should be >1");
-	if (this->Metrictype!=0   && this->Metrictype!=1 && this->Metrictype!=2) _error2_("'Metrictype' supported options are 0, 1 and 2");
-	if (this->nbjacobi<=0) _error2_("'nbjacobi' option should be >0");
-	if (this->nbsmooth<=0) _error2_("'nbsmooth' option should be >0");
+	if (this->anisomax<1) _error_("'anisomax' option should be >=1");
+	if (this->coeff==0) _error_("'coeff' should be positive");
+	if (this->errg<0) _error_("'errg' option should be >0");
+	if (this->gradation<1) _error_("'gradation' option should be >=1");
+	if (this->Hessiantype!=0  && this->Hessiantype!=1) _error_("'Hessiantype' supported options are 0 and 1");
+	if (this->maxnbv<3) _error_("'maxnbv' option should be >3");
+	if (this->maxsubdiv<=1) _error_("'maxsubdiv' should be >1");
+	if (this->Metrictype!=0   && this->Metrictype!=1 && this->Metrictype!=2) _error_("'Metrictype' supported options are 0, 1 and 2");
+	if (this->nbjacobi<=0) _error_("'nbjacobi' option should be >0");
+	if (this->nbsmooth<=0) _error_("'nbsmooth' option should be >0");
 
-	if (this->Crack!=0  && this->Crack!=1) _error2_("'Crack' supported options are 0 and 1");
-	if (this->KeepVertices!=0 && this->KeepVertices!=1) _error2_("'KeepVertices' supported options are 0 and 1");
-	if (this->geometricalmetric!=0  && this->geometricalmetric!=1) _error2_("'geometricalmetric' supported options are 0 and 1");
+	if (this->Crack!=0  && this->Crack!=1) _error_("'Crack' supported options are 0 and 1");
+	if (this->KeepVertices!=0 && this->KeepVertices!=1) _error_("'KeepVertices' supported options are 0 and 1");
+	if (this->geometricalmetric!=0  && this->geometricalmetric!=1) _error_("'geometricalmetric' supported options are 0 and 1");
 
-	if (this->hmin<=0) _error2_("'hmin' option should be >0");
-	if (this->hmax<=0 || this->hmax<this->hmin) _error2_("'hmax' option should be between 0 and hmin=" << this->hmin);
-	if (this->hminVertices && this->hminVerticesSize[1]!=1) _error2_("'hminVertices' should be a column");
-	if (this->hmaxVertices && this->hmaxVerticesSize[1]!=1) _error2_("'hmaxVertices' should be a column");
-	if (this->hVertices && this->hVerticesSize[1]!=1) _error2_("'hVertices' should be a column");
-	if (this->metric && (this->metricSize[1]!=1 && this->metricSize[1]!=3)) _error2_("'metric' should have either 1 (iso) or 3 (aniso) columns.");
+	if (this->hmin<=0) _error_("'hmin' option should be >0");
+	if (this->hmax<=0 || this->hmax<this->hmin) _error_("'hmax' option should be between 0 and hmin=" << this->hmin);
+	if (this->hminVertices && this->hminVerticesSize[1]!=1) _error_("'hminVertices' should be a column");
+	if (this->hmaxVertices && this->hmaxVerticesSize[1]!=1) _error_("'hmaxVertices' should be a column");
+	if (this->hVertices && this->hVerticesSize[1]!=1) _error_("'hVertices' should be a column");
+	if (this->metric && (this->metricSize[1]!=1 && this->metricSize[1]!=3)) _error_("'metric' should have either 1 (iso) or 3 (aniso) columns.");
 	if (this->field){
-		if (this->errSize[0]!=1 || this->errSize[1]!=this->fieldSize[1]) _error2_("'err' should be of size " << 1 << " x " << this->fieldSize[1]);
-		for (i=0;i<this->fieldSize[1];i++) {if (this->err[i]<=0) _error2_("'err' option should be >0");};
+		if (this->errSize[0]!=1 || this->errSize[1]!=this->fieldSize[1]) _error_("'err' should be of size " << 1 << " x " << this->fieldSize[1]);
+		for (i=0;i<this->fieldSize[1];i++) {if (this->err[i]<=0) _error_("'err' option should be >0");};
 	}
 
 }
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SubDomain.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SubDomain.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SubDomain.cpp	(revision 13036)
@@ -15,11 +15,11 @@
 	void SubDomain::Set(const Mesh & Th ,long i,Mesh & ThNew){
 		*this = Th.subdomains[i];
 		if ( head-Th.triangles<0 || head-Th.triangles>=Th.nbt){
-			_error2_("head-Th.triangles<0 || head-Th.triangles>=Th.nbt");
+			_error_("head-Th.triangles<0 || head-Th.triangles>=Th.nbt");
 		}
 		head = ThNew.triangles + Th.GetId(head) ; 
 		if (edge-Th.edges<0 || edge-Th.edges>=Th.nbe);{
-			_error2_("edge-Th.edges<0 || edge-Th.edges>=Th.nbe");
+			_error_("edge-Th.edges<0 || edge-Th.edges>=Th.nbe");
 		}
 		edge = ThNew.edges+ Th.GetId(edge);
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Metric.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Metric.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Metric.cpp	(revision 13036)
@@ -196,7 +196,7 @@
 		}
 		// warning for optimisation S is in [0:0.5] not in [0:1]
 		if (i>=512){
-			_error2_("i>=512");
+			_error_("i>=512");
 		}
 		LastMetricInterpole.lab=l;
 		LastMetricInterpole.opt=i;
@@ -344,7 +344,7 @@
 			}
 		}
 		if (r>1 || r<0){
-			_error2_("r>1 || r<0");
+			_error_("r>1 || r<0");
 		}
 		return r ;
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Geometry.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Geometry.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Geometry.cpp	(revision 13036)
@@ -75,13 +75,13 @@
 		nbe    = bamggeom->EdgesSize[0];
 
 		//some checks
-		if (bamggeom->Vertices==NULL) _error2_("the domain provided does not contain any vertex");
-		if (bamggeom->Edges==NULL) _error2_("the domain provided does not contain any edge");
+		if (bamggeom->Vertices==NULL) _error_("the domain provided does not contain any vertex");
+		if (bamggeom->Edges==NULL) _error_("the domain provided does not contain any edge");
 
 		//Vertices
 		if (bamggeom->Vertices){
 			if(verbose>5) _printLine_("      processing Vertices");
-			if (bamggeom->VerticesSize[1]!=3) _error2_("Vertices should have 3 columns");
+			if (bamggeom->VerticesSize[1]!=3) _error_("Vertices should have 3 columns");
 			vertices = new GeomVertex[nbv];
 			for (i=0;i<nbv;i++) {
 				vertices[i].r.x=(double)bamggeom->Vertices[i*3+0];
@@ -114,10 +114,10 @@
 			 * coefIcoor = (2^30 -1)/D
 			 */
 			coefIcoor=(MaxICoor)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
-			if(coefIcoor<=0) _error2_("coefIcoor should be positive");
+			if(coefIcoor<=0) _error_("coefIcoor should be positive");
 		}
 		else{
-			_error2_("No BamgVertex provided");
+			_error_("No BamgVertex provided");
 		}
 
 		//Edges
@@ -126,7 +126,7 @@
 			double* verticeslength=NULL;
 
 			if(verbose>5) _printLine_("      processing Edges");
-			if (bamggeom->EdgesSize[1]!=3) _error2_("Edges should have 3 columns");
+			if (bamggeom->EdgesSize[1]!=3) _error_("Edges should have 3 columns");
 			edges = new GeomEdge[nbe];
 
 			//initialize verticeslength (sum of the lengths of the edges holding vertex)
@@ -175,7 +175,7 @@
 			
 		}
 		else{
-			_error2_("No edges provided");
+			_error_("No edges provided");
 		}
 
 		//hVertices
@@ -205,7 +205,7 @@
 		//TangentAtEdges
 		if (bamggeom->TangentAtEdges){
 			if(verbose>5) _printString_("      processing TangentAtEdges");
-			if (bamggeom->TangentAtEdgesSize[1]!=4) _error2_("TangentAtEdges should have 4 columns");
+			if (bamggeom->TangentAtEdgesSize[1]!=4) _error_("TangentAtEdges should have 4 columns");
 			int n,i,j,k;
 			R2 tg;
 
@@ -215,8 +215,8 @@
 				j=(int)bamggeom->TangentAtEdges[k*4+1]-1; //for C indexing
 				tg.x=bamggeom->TangentAtEdges[k*4+2];
 				tg.y=bamggeom->TangentAtEdges[k*4+3];
-				if (i<0 || i>=nbe) _error2_("TangentAtEdges first index exceeds matrix dimension");
-				if (j!=0 && j!=1)  _error2_("TangentAtEdges second index should be 1 or 2 only");
+				if (i<0 || i>=nbe) _error_("TangentAtEdges first index exceeds matrix dimension");
+				if (j!=0 && j!=1)  _error_("TangentAtEdges second index should be 1 or 2 only");
 				edges[i].tg[j] = tg;
 			}
 		}
@@ -224,11 +224,11 @@
 		//Corners
 		if(bamggeom->Corners){
 			if(verbose>5) _printString_("      processing Corners");
-			if (bamggeom->CornersSize[1]!=1) _error2_("Corners should have 1 column");
+			if (bamggeom->CornersSize[1]!=1) _error_("Corners should have 1 column");
 			n=bamggeom->CornersSize[0];
 			for (i=0;i<n;i++) {     
 				j=(int)bamggeom->Corners[i]-1; //for C indexing
-				if (j>nbv-1 || j<0) _error2_("Bad corner definition: should in [0 " << nbv << "]");
+				if (j>nbv-1 || j<0) _error_("Bad corner definition: should in [0 " << nbv << "]");
 				/*Required => at the same time SetRequired and SetCorner*/
 				vertices[j].SetCorner();
 				vertices[j].SetRequired();
@@ -238,11 +238,11 @@
 		//RequiredVertices
 		if(bamggeom->RequiredVertices){
 			if(verbose>5) _printLine_("      processing RequiredVertices");
-			if (bamggeom->RequiredVerticesSize[1]!=1) _error2_("RequiredVertices should have 1 column");
+			if (bamggeom->RequiredVerticesSize[1]!=1) _error_("RequiredVertices should have 1 column");
 			n=bamggeom->RequiredVerticesSize[0];
 			for (i=0;i<n;i++) {     
 				j=(int)bamggeom->RequiredVertices[i]-1; //for C indexing
-				if (j>nbv-1 || j<0) _error2_("Bad RequiredVerticess  definition: should in [0 " << nbv << "]");
+				if (j>nbv-1 || j<0) _error_("Bad RequiredVerticess  definition: should in [0 " << nbv << "]");
 				vertices[j].SetRequired();
 			}
 		}
@@ -250,11 +250,11 @@
 		//RequiredEdges
 		if(bamggeom->RequiredEdges){
 			if(verbose>5) _printLine_("      processing RequiredEdges");
-			if (bamggeom->RequiredEdgesSize[1]!=1) _error2_("RequiredEdges should have 1 column");
+			if (bamggeom->RequiredEdgesSize[1]!=1) _error_("RequiredEdges should have 1 column");
 			n=bamggeom->RequiredEdgesSize[0];
 			for (i=0;i<n;i++) {     
 				j=(int)bamggeom->RequiredEdges[i]-1; //for C indexing
-				if (j>nbe-1 || j<0) _error2_("Bad RequiredEdges definition: should in [0 " << nbe << "]");
+				if (j>nbe-1 || j<0) _error_("Bad RequiredEdges definition: should in [0 " << nbe << "]");
 				edges[j].SetRequired();  
 			}
 		}
@@ -262,7 +262,7 @@
 		//SubDomain
 		if(bamggeom->SubDomains){
 			if(verbose>5) _printLine_("      processing SubDomains");
-			if (bamggeom->SubDomainsSize[1]!=4) _error2_("SubDomains should have 4 columns");
+			if (bamggeom->SubDomainsSize[1]!=4) _error_("SubDomains should have 4 columns");
 			nbsubdomains=bamggeom->SubDomainsSize[0];
 			subdomains = new GeomSubDomain[nbsubdomains];
 			for (i=0;i<nbsubdomains;i++){
@@ -270,8 +270,8 @@
 				i1=(int)bamggeom->SubDomains[i*4+1];
 				i2=(int)bamggeom->SubDomains[i*4+2];
 				i3=(int)bamggeom->SubDomains[i*4+3];
-				if (i0!=2) _error2_("Bad Subdomain definition: first number should be 2 (for Edges)");
-				if (i1>nbe || i1<=0) _error2_("Bad Subdomain definition: second number should in [1 " << nbe << "] (edge number)");
+				if (i0!=2) _error_("Bad Subdomain definition: first number should be 2 (for Edges)");
+				if (i1>nbe || i1<=0) _error_("Bad Subdomain definition: second number should in [1 " << nbe << "] (edge number)");
 				subdomains[i].edge=edges + (i1-1);
 				subdomains[i].direction = (int) i2;
 				subdomains[i].ReferenceNumber = i3;
@@ -531,7 +531,7 @@
 				delete [] next_p;
 				delete [] head_v;
 				delete [] eangle;
-				_error2_("two points of the geometry are very closed to each other (see reference numbers above)");
+				_error_("two points of the geometry are very closed to each other (see reference numbers above)");
 			}
 
 			/*Add vertices[i] to the quadtree*/
@@ -609,7 +609,7 @@
 				delete [] next_p;
 				delete [] head_v;
 				delete [] eangle;
-				_error2_("Length of edge " << i << " is 0");
+				_error_("Length of edge " << i << " is 0");
 			}
 			//compute angle in [-Pi Pi]
 			eangle[i] = atan2(v10.y,v10.x);
@@ -703,7 +703,7 @@
 				long n1 = next_p[k++]; 
 				long i1 = n1/2 ,j1=n1%2;
 
-				if( edges[i1].v[j1] != edges[i].v[j]) _error2_("Problem while processing edges: check the edge list");
+				if( edges[i1].v[j1] != edges[i].v[j]) _error_("Problem while processing edges: check the edge list");
 
 				edges[i1].Adj[j1] = edges + i;
 				edges[i1].AdjVertexIndex[j1] = j;
@@ -830,10 +830,10 @@
 		s=save_s;
 		GeomEdge* on=e.GeomEdgeHook;
 		if (!on){
-			_error2_("ProjectOnCurve error message: edge provided should be on geometry");
+			_error_("ProjectOnCurve error message: edge provided should be on geometry");
 		}
 		if (!e[0].GeomEdgeHook ||  !e[1].GeomEdgeHook){
-			_error2_("ProjectOnCurve error message: at least one of the vertex of the edge provided is not on geometry");
+			_error_("ProjectOnCurve error message: at least one of the vertex of the edge provided is not on geometry");
 		}
 
 		//Get the two vertices of the edge
@@ -874,7 +874,7 @@
 					_printLine_(" 1)  a mesh edge  containing more than " << mxe/2 << " geometrical edges");
 					_printLine_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before");
 					_printLine_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)");
-					_error2_("see above");
+					_error_("see above");
 				}
 				NbTry++;
 				goto retry;
@@ -894,7 +894,7 @@
 				_printLine_(" 1)  a mesh edge  contening more than " << mxe/2 << " geometrical edges");
 				_printLine_(" 2)  code bug : be sure that we call   Mesh::SetVertexFieldOn() before");
 				_printLine_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)");
-				_error2_("see above");
+				_error_("see above");
 			}
 			GeomEdge* tmpge = eg1;
 			ge[++tge] =eg1 = eg1->Adj[direction1];
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgVertex.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgVertex.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/BamgVertex.cpp	(revision 13036)
@@ -75,7 +75,7 @@
 			ci= 2.0/9.0 * 1/(err*coef*coef) * 1/(smax-smin);
 		}
 		else{
-			_error2_("Metrictype " << Metrictype << " not supported yet (use 0,1 or 2(default))");
+			_error_("Metrictype " << Metrictype << " not supported yet (use 0,1 or 2(default))");
 		}
 
 		//initialize metric Miv with ci*H
@@ -145,7 +145,7 @@
 			tria = ttc;
 			j = NextEdge[jc];
 			if (k>=2000){
-				_error2_("k>=2000 (Maximum number of iterations reached)");
+				_error_("k>=2000 (Maximum number of iterations reached)");
 			}
 		} while ( tbegin != tria); 
 		if (kk<4) return 0;
@@ -212,7 +212,7 @@
 				tria = ttc;
 				j = NextEdge[jc];
 				if (k>=2000){
-					_error2_("k>=2000");
+					_error_("k>=2000");
 				}
 			}while ( tbegin != tria); 
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Edge.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Edge.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Edge.cpp	(revision 13036)
@@ -44,7 +44,7 @@
 	int Edge::Intersection(const  Edge & e){ 
 
 		/*some shecks*/
-		if (!(adj[0]==&e || adj[1]==&e)){ _error2_("Intersection bug"); }
+		if (!(adj[0]==&e || adj[1]==&e)){ _error_("Intersection bug"); }
 		_assert_(adj[0]==&e || adj[1]==&e);
 
 		return adj[0]==&e?0:1;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.h
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.h	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/ListofIntersectionTriangles.h	(revision 13036)
@@ -33,7 +33,7 @@
 				R2 F(double s){ 
 					double c01=lEnd-lBegin, c0=(lEnd-s)/c01, c1=(s-lBegin)/c01;
 					if (lBegin>s || s>lEnd){
-						_error2_("lBegin>s || s>lEnd");
+						_error_("lBegin>s || s>lEnd");
 					}
 					return e->F(sBegin*c0+sEnd*c1);
 				}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SetOfE4.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SetOfE4.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/SetOfE4.cpp	(revision 13036)
@@ -49,7 +49,7 @@
 
 		//check that nbax <=NbOfEdges
 		if (nbax <=NbOfEdges ) {
-			_error2_("SetOfEdges4::add overflow: NbOfEdges=" << NbOfEdges << " > nbax=" << nbax);
+			_error_("SetOfEdges4::add overflow: NbOfEdges=" << NbOfEdges << " > nbax=" << nbax);
 		}
 
 		//update chain
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Mesh.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Mesh.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/bamg/Mesh.cpp	(revision 13036)
@@ -116,7 +116,7 @@
 		  if (imaxnbv != nbv){
 			  delete [] kk;
 			  delete [] refv;
-			  _error2_("imaxnbv != nbv");
+			  _error_("imaxnbv != nbv");
 		  }
 		  for (i=0;i<Tho.nbt;i++)
 			if(  reft[i] >=0 && flag[i]) 
@@ -127,20 +127,20 @@
 				int i2 = Tho.GetId(t[2]);
 				if (i0<0 || i1<0 || i2<0){
 					delete [] refv;
-					_error2_("i0<0 || i1<0 || i2< 0");
+					_error_("i0<0 || i1<0 || i2< 0");
 				}
 				if (i0>=Tho.nbv || i1>=Tho.nbv || i2>=Tho.nbv){
-					_error2_("i0>=Tho.nbv || i1>=Tho.nbv || i2>=Tho.nbv");
+					_error_("i0>=Tho.nbv || i1>=Tho.nbv || i2>=Tho.nbv");
 				}
 				triangles[nbt] = Triangle(this,kk[i0],kk[i1],kk[i2]);
 				triangles[nbt].color = Tho.subdomains[reft[i]].ReferenceNumber; 
 				nbt++;           
 			  }
 		  if (kt!=nbt){
-			  _error2_("kt!=nbt");
+			  _error_("kt!=nbt");
 		  }
 		  if (nbt==0 && nbv==0) {
-			  _error2_("All triangles have been removed");
+			  _error_("All triangles have been removed");
 		  }
 		  delete [] kk;
 		  delete [] reft;
@@ -152,10 +152,10 @@
 		  ReconstructExistingMesh();
 
 		  if (!nbsubdomains){
-			  _error2_("nbsubdomains==0");
+			  _error_("nbsubdomains==0");
 		  }
 		  if (!subdomains[0].head || !subdomains[0].head->link){
-			  _error2_("!subdomains[0].head || !subdomains[0].head->link");
+			  _error_("!subdomains[0].head || !subdomains[0].head->link");
 		  }
 
 	  }
@@ -322,7 +322,7 @@
 				isorphan=true;
 			}
 		}
-		if(isorphan) _error2_("Orphan found in mesh, see ids above");
+		if(isorphan) _error_("Orphan found in mesh, see ids above");
 
 		/*Clean up*/
 		xDelete<bool>(nodeflags);
@@ -361,7 +361,7 @@
 			maxnbt=2*maxnbv-2; // for filling The Holes and quadrilaterals 
 		}
 		else{
-			if(verbose>5) _error2_("no Vertices found in the initial mesh");
+			if(verbose>5) _error_("no Vertices found in the initial mesh");
 		}
 
 		//Triangles
@@ -379,7 +379,7 @@
 			}
 		}
 		else{
-			if(verbose>5) _error2_("no Triangles found in the initial mesh");
+			if(verbose>5) _error_("no Triangles found in the initial mesh");
 		}
 
 		//Quadrilaterals
@@ -505,7 +505,7 @@
 				j=(int)bamgmesh->EdgesOnGeomEdge[i1*2+1]-1; //C indexing
 				//Check value
 				if(!(i>=0 && j>=0 && i<nbe && j<Gh.nbe)) {
-					_error2_("ReadMesh error: EdgesOnGeomEdge edge provided (line " << i1+1 << ": [" << i+1 << " " << j+1 << "]) is incorrect (must be positive, [0<i<nbe=" << nbe << " 0<j<Gh.nbe=" << Gh.nbe << "]");
+					_error_("ReadMesh error: EdgesOnGeomEdge edge provided (line " << i1+1 << ": [" << i+1 << " " << j+1 << "]) is incorrect (must be positive, [0<i<nbe=" << nbe << " 0<j<Gh.nbe=" << Gh.nbe << "]");
 				}
 				edges[i].GeomEdgeHook=Gh.edges+j;
 			}
@@ -521,8 +521,8 @@
 				i3  =(int)bamgmesh->SubDomains[i*3+0];
 				head=(int)bamgmesh->SubDomains[i*3+1]-1;//C indexing
 				direction=(int)bamgmesh->SubDomains[i*3+2];
-				if (i3!=23) _error2_("Bad Subdomain definition: first number should be 3");
-				if (head<0 || head>=nbt) _error2_("Bad Subdomain definition: head should in [1 " << nbt << "] (triangle number)");
+				if (i3!=23) _error_("Bad Subdomain definition: first number should be 3");
+				if (head<0 || head>=nbt) _error_("Bad Subdomain definition: head should in [1 " << nbt << "] (triangle number)");
 				subdomains[i].head = triangles+head;
 			}
 		}
@@ -566,9 +566,9 @@
 			if (reft[i]>=0){
 				for (j=0;j<3;j++){
 					int v=GetId(triangles[i][j]); //jth vertex of the ith triangle
-					if (k>3*nbt-1 || k<0) _error2_("k = " << k << ", nbt = " << nbt);
+					if (k>3*nbt-1 || k<0) _error_("k = " << k << ", nbt = " << nbt);
 					next_1[k]=head_1[v];
-					if (v>nbv-1 || v<0)   _error2_("v = " << v << ", nbv = " << nbv);
+					if (v>nbv-1 || v<0)   _error_("v = " << v << ", nbv = " << nbv);
 					head_1[v]=k++;
 					connectivitysize_1[v]+=1;
 				}
@@ -706,7 +706,7 @@
 					if(stop) break;
 				}
 				if (!stop){
-					_error2_("Element holding segment [" << i1+1 << " " << i2+1 << "] not found...");
+					_error_("Element holding segment [" << i1+1 << " " << i2+1 << "] not found...");
 				}
 			}
 		}
@@ -804,7 +804,7 @@
 			for (i=0;i<NbVerticesOnGeomEdge;i++){
 				const VertexOnGeom &v=VerticesOnGeomEdge[i];
 				if (!v.OnGeomEdge()){
-					_error2_("A vertices supposed to be OnGeomEdge is actually not");
+					_error_("A vertices supposed to be OnGeomEdge is actually not");
 				}
 				bamgmesh->VerticesOnGeomEdge[i*3+0]=GetId((BamgVertex*)v)+1; //back to Matlab indexing
 				bamgmesh->VerticesOnGeomEdge[i*3+1]=Gh.GetId((const GeomEdge*)v)+1; //back to Matlab indexing
@@ -887,9 +887,9 @@
 		for (i=0;i<i1;i++) {
 			for (j=0;j<2;j++){
 				int v=(int)bamgmesh->IssmEdges[i*i2+j]-1; //back to C indexing
-				if (k>2*i1-1 || k<0) _error2_("Index exceed matrix dimensions (k=" << k << " not in [0 " << 2*i1-1 << "]");
+				if (k>2*i1-1 || k<0) _error_("Index exceed matrix dimensions (k=" << k << " not in [0 " << 2*i1-1 << "]");
 				next_2[k]=head_2[v];
-				if (v>nbv-1 || v<0)   _error2_("Index exceed matrix dimensions (v=" << v << " not in [0 " << nbv-1 << "])");
+				if (v>nbv-1 || v<0)   _error_("Index exceed matrix dimensions (v=" << v << " not in [0 " << nbv-1 << "])");
 				head_2[v]=k++;
 				connectivitysize_2[v]+=1;
 			}
@@ -1060,7 +1060,7 @@
 
 		//check that hmax is positive
 		if (hmax<=0){
-			_error2_("hmax<=0");
+			_error_("hmax<=0");
 		}
 
 		//errC cannot be higher than 1
@@ -1089,7 +1089,7 @@
 				double hn=Min(hmax,ht*anisomax);
 
 				if (ht<=0 || hn<=0){
-					_error2_("ht<=0 || hn<=0");
+					_error_("ht<=0 || hn<=0");
 				}
 				EigenMetric Vp(1/(ht*ht),1/(hn*hn),tg);
 				Metric MVp(Vp);
@@ -1114,7 +1114,7 @@
 			BuildMetric1(bamgopts);
 		}
 		else{
-			_error2_("Hessiantype " << Hessiantype << " not supported yet (1->use Green formula, 0-> double P2 projection)");
+			_error_("Hessiantype " << Hessiantype << " not supported yet (1->use Green formula, 0-> double P2 projection)");
 		}
 	}
 	/*}}}*/
@@ -1158,7 +1158,7 @@
 
 		//some checks
 		if (( infvertexindex <0 ) && (detOld <0) ||  ( infvertexindex >=0  ) && (detOld >0) ){
-			_error2_("inconsistent configuration (Contact ISSM developers)");
+			_error_("inconsistent configuration (Contact ISSM developers)");
 		}
 
 		// if det3 does not exist, build it 
@@ -1200,7 +1200,7 @@
 				}
 			}
 			else{
-				_error2_("Cannot add a vertex more than once. Check duplicates");
+				_error_("Cannot add a vertex more than once. Check duplicates");
 			}
 		}
 
@@ -1213,7 +1213,7 @@
 		tt[1]= &triangles[nbt++];
 		tt[2]= &triangles[nbt++];
 
-		if (nbt>maxnbt) _error2_("Not enough triangles");
+		if (nbt>maxnbt) _error_("Not enough triangles");
 
 		*tt[1]=*tt[2]=*t;
 		tt[0]->link=tt[1];
@@ -1250,7 +1250,7 @@
 			int rswap=tt[izerodet]->swap(iedge);
 
 			if (!rswap) {
-				_error2_("swap the point s is on a edge");
+				_error_("swap the point s is on a edge");
 			}
 		}
 	}
@@ -1317,7 +1317,7 @@
 
 		//check that the mesh is not empty
 		if (nbt<=0 || nbv <=0 ) {
-			_error2_("nbt or nbv is negative (Mesh empty?)");
+			_error_("nbt or nbv is negative (Mesh empty?)");
 		}
 
 		//Gh is the geometry of the mesh (this), initialize MaxCornerAngle
@@ -1339,7 +1339,7 @@
 		//check that there is no double edge
 		if (nbe !=  edge4->nb()){ 
 			delete [] st;
-			_error2_("Some Double edge in the mesh, the number is " << nbe << ", nbe4=" << edge4->nb()); 
+			_error_("Some Double edge in the mesh, the number is " << nbe << ", nbe4=" << edge4->nb()); 
 		}
 		//keep nbe in nbeold
 		long nbeold = nbe;
@@ -1359,7 +1359,7 @@
 				else if(st[k]>=0) {
 					//check that it is not an edge on boundary (should not already exist)
 					if (triangles[i].TriangleAdj(j) || triangles[st[k]/3].TriangleAdj((int) (st[k]%3))){
-						_error2_("problem in Geometry reconstruction: an edge on boundary is duplicated (double element?)");
+						_error_("problem in Geometry reconstruction: an edge on boundary is duplicated (double element?)");
 					}
 					//OK, the element is not on boundary, is belongs to 2 triangles -> build Adjacent triangles list
 					triangles[i].SetAdj2(j,triangles + st[k] / 3,(int) (st[k]%3));
@@ -1377,7 +1377,7 @@
 					_printLine_("Edge " << j << " of triangle " << i);
 					_printLine_("Edge " << (-st[k]+2)%3 << " of triangle " << (-st[k]+2)/3);
 					_printLine_("Edge " << triangles[(-st[k]+2)/3].NuEdgeTriangleAdj((int)((-st[k]+2)%3)) << " of triangle " << GetId(triangles[(-st[k]+2)/3].TriangleAdj((int)((-st[k]+2)%3))));
-					_error2_("An edge belongs to more than 2 triangles");
+					_error_("An edge belongs to more than 2 triangles");
 				}	
 			}
 		}
@@ -1459,7 +1459,7 @@
 
 			//check that we have been through all edges
 			if (k!=nbe){
-				_error2_("problem in edge construction process: k!=nbe (should not happen)");
+				_error_("problem in edge construction process: k!=nbe (should not happen)");
 			}
 			//delete edgessave
 			if (edgessave) delete [] edgessave;
@@ -1504,7 +1504,7 @@
 
 					//check that we have the correct vertex
 					if (v!=edges[i0 ].v[j0]){
-						_error2_("v!=edges[i0 ].v[j0]: this should not happen as the vertex belongs to this edge");
+						_error_("v!=edges[i0 ].v[j0]: this should not happen as the vertex belongs to this edge");
 					}
 
 					//Add adjacence
@@ -1521,7 +1521,7 @@
 
 		//check that nbsubdomains is empty
 		if (nbsubdomains){
-			_error2_("nbsubdomains should be 0");
+			_error_("nbsubdomains should be 0");
 		}
 		nbsubdomains=0;
 
@@ -1590,7 +1590,7 @@
 		//check that we have been through all subdomains
 		if (k!= nbsubdomains){
 			delete [] colorT;
-			_error2_("k!= nbsubdomains");
+			_error_("k!= nbsubdomains");
 		}
 		//delete colorT and st
 		delete [] colorT;
@@ -1651,7 +1651,7 @@
 		Gh.coefIcoor= (MaxICoor)/(Max(Gh.pmax.x-Gh.pmin.x,Gh.pmax.y-Gh.pmin.y));
 		if (Gh.coefIcoor<=0){
 			delete [] colorV;
-			_error2_("Gh.coefIcoor<=0 in infered Geometry (this should not happen)");
+			_error_("Gh.coefIcoor<=0 in infered Geometry (this should not happen)");
 		}
 
 		/*Build Gh.edges*/
@@ -1704,7 +1704,7 @@
 			if (k != i){
 				delete [] len;
 				delete [] colorV;
-				_error2_("problem in Edge4 construction: k != i");
+				_error_("problem in Edge4 construction: k != i");
 			}
 		}
 
@@ -1733,7 +1733,7 @@
 				Gh.subdomains[i].ReferenceNumber =  subdomains[i].ReferenceNumber;
 			}
 			else
-			 _error2_("%i should be >=0");
+			 _error_("%i should be >=0");
 		  }
 
 		delete edge4;
@@ -1767,7 +1767,7 @@
 		nbsol=bamgopts->fieldSize[1];
 
 		/*Check size*/
-		if (bamgopts->fieldSize[0] != nbv) _error2_("'field' should have " << nbv << " rows");
+		if (bamgopts->fieldSize[0] != nbv) _error_("'field' should have " << nbv << " rows");
 
 		//initialization of some variables
 		double* ss=(double*)s;
@@ -1972,7 +1972,7 @@
 		nbsol=bamgopts->fieldSize[1];
 
 		/*Check size*/
-		if (bamgopts->fieldSize[0] != nbv) _error2_("'field' should have " << nbv << " rows");
+		if (bamgopts->fieldSize[0] != nbv) _error_("'field' should have " << nbv << " rows");
 
 		//initialization of some variables
 		long    i,k,iA,iB,iC,iv;
@@ -2297,7 +2297,7 @@
 				//The vertex cannot be marked more than twice
 				if (splitvertex[i1]==3 || splitvertex[i2]==3){
 					delete [] splitvertex;
-					_error2_("Crossing rifts not supported yet");
+					_error_("Crossing rifts not supported yet");
 				}
 			}
 		}
@@ -2375,14 +2375,14 @@
 				}
 				//_printLine_(element_renu[GetId(ta.t)] << " -> " << GetId((*ta.t)[0])+1 << " " << GetId((*ta.t)[1])+1 << " " << GetId((*ta.t)[2])+1 << ", edge [" << i1 << "->" << j1 << " " << i2 << "->" << j2 << "]");
 				ta = Next(ta).Adj(); 
-				if (count++>50) _error2_("Maximum number of iteration exceeded");
+				if (count++>50) _error_("Maximum number of iteration exceeded");
 			}while ((tbegin != ta)); 
 		}
 
 		//Check EdgeFlag
 		for(i=0;i<NbCrackedEdges;i++){
 			if (Edgeflags[i]!=2){
-				_error2_("A problem occured: at least one crack edge (number " << i+1 << ") does not belong to 2 elements");
+				_error_("A problem occured: at least one crack edge (number " << i+1 << ") does not belong to 2 elements");
 			}
 		}
 		delete [] Edgeflags;
@@ -2432,7 +2432,7 @@
 				if (!triangles[t].det) k++;
 			}
 			if (k!=0) {
-				_error2_("there is " << k << " triangles of mes = 0");
+				_error_("there is " << k << " triangles of mes = 0");
 			}
 
 			//Force Edges
@@ -2446,12 +2446,12 @@
 
 				if (nbswp) nbfe++;
 				if ( nbswp < 0 && k < 5){
-					_error2_("Missing Edge " << i << ", v0=" << GetId(edges[i][0]) << ",v1=" << GetId(edges[i][1]));
+					_error_("Missing Edge " << i << ", v0=" << GetId(edges[i][0]) << ",v1=" << GetId(edges[i][1]));
 				}
 			}
 
 			if (k!=0) {
-				_error2_("There are " << k << " lost edges, the boundary might be crossing");
+				_error_("There are " << k << " lost edges, the boundary might be crossing");
 			}
 			for (int j=0;j<nbv;j++){
 				Nbswap +=  vertices[j].Optim(1,0);
@@ -2533,7 +2533,7 @@
 			it++;} // end while (it<nbt)
 			if (nbt == nbtout ||  !NbSubDomTot) {
 				delete [] HeapArete;
-				_error2_("The boundary is not close: all triangles are outside");
+				_error_("The boundary is not close: all triangles are outside");
 			}
 
 			delete [] HeapArete;
@@ -2571,7 +2571,7 @@
 						it++;} // end white (it<nbt)
 						if (k!=nbsubdomains){
 							delete [] mark;
-							_error2_("k!=nbsubdomains");
+							_error_("k!=nbsubdomains");
 						}
 						if(OutSide) 
 						  {
@@ -2661,7 +2661,7 @@
 							else 
 							 subdomains[i].head=t=ta;
 							if(t<triangles || t >= triangles+nbt || t->det < 0 || t->link == 0) {
-								_error2_("bad definition of SubSomain " << i);
+								_error_("bad definition of SubSomain " << i);
 							}
 							long it = GetId(t);
 							if (mark[it] >=0) {
@@ -2676,7 +2676,7 @@
 							  {
 								kkk++;
 								if (mark[GetId(tt)]>=0){
-									_error2_("mark[GetId(tt)]>=0");
+									_error_("mark[GetId(tt)]>=0");
 								}
 								mark[GetId(tt)]=i;
 								tt=tt->link;
@@ -2685,7 +2685,7 @@
 						}
 						ta = Previous(Adj(ta));         
 						if(t == (Triangle *) ta) {
-							_error2_("bad definition of SubSomain " << i);
+							_error_("bad definition of SubSomain " << i);
 						}
 					}
 				}
@@ -2847,7 +2847,7 @@
 		for (i=2; det(orderedvertices[0]->i,orderedvertices[1]->i,orderedvertices[i]->i)==0;){
 			//if i is higher than nbv, it means that all the determinants are 0,
 			//all vertices are aligned!
-			if  (++i>=nbv) _error2_("all the vertices are aligned");
+			if  (++i>=nbv) _error_("all the vertices are aligned");
 		}
 		// exchange i et 2 in "orderedvertices" so that
 		// the first 3 vertices are not aligned (real triangle)
@@ -2983,7 +2983,7 @@
 				BamgVertex &vj = vertices[iv];
 				long  j=vj.ReferenceNumber; 
 				if (&vj!=orderedvertices[j]){
-					_error2_("&vj!= orderedvertices[j]");
+					_error_("&vj!= orderedvertices[j]");
 				}
 				if(i!=j){ 
 					Exchange(vi,vj);
@@ -2993,7 +2993,7 @@
 				Triangle *tcvj=TriangleFindFromCoord(vj.i,det3);
 				if (tcvj && !tcvj->link){
 					tcvj->Echo();
-					_error2_("problem inserting point in InsertNewPoints (tcvj=" << tcvj << " and tcvj->link=" << tcvj->link << ")");
+					_error_("problem inserting point in InsertNewPoints (tcvj=" << tcvj << " and tcvj->link=" << tcvj->link << ")");
 				}
 				quadtree->Add(vj);
 				AddVertex(vj,tcvj,det3);
@@ -3025,7 +3025,7 @@
 		/*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeGeomEdgeToEdge)*/
 
 		if (!Gh.nbe){
-			_error2_("!Gh.nbe");
+			_error_("!Gh.nbe");
 		}
 		Edge **e= new (Edge* [Gh.nbe]);
 
@@ -3058,7 +3058,7 @@
 				if(kk<10) _printLine_("BUG: the geometrical edge " << i << " is on no edge curve");
 			}
 		}
-		if(kk) _error2_("See above");
+		if(kk) _error_("See above");
 
 		return e;
 	}
@@ -3257,7 +3257,7 @@
 
 				//check i
 				if (i<0 || i>=nbt ){
-					_error2_("Index problem in NewPoints (i=" << i << " not in [0 " << nbt-1 << "])");
+					_error_("Index problem in NewPoints (i=" << i << " not in [0 " << nbt-1 << "])");
 				}
 				//change first_np_or_next_t[i]
 				first_np_or_next_t[i] = iter; 
@@ -3308,7 +3308,7 @@
 						Headt=kt;
 					}
 					if (ta.EdgeVertex(0)!=s){
-						_error2_("ta.EdgeVertex(0)!=s");
+						_error_("ta.EdgeVertex(0)!=s");
 					}
 					ta = Next(Adj(ta));
 				} while ( (tbegin != (Triangle*) ta)); 
@@ -3343,7 +3343,7 @@
 			tA=vA.BackgroundEdgeHook->abcisse;
 		}
 		else {
-			_error2_("ProjectOnCurve On BamgVertex " << BTh.GetId(vA) << " forget call to SetVertexFieldOnBTh");
+			_error_("ProjectOnCurve On BamgVertex " << BTh.GetId(vA) << " forget call to SetVertexFieldOnBTh");
 		} 
 
 		if (vB.IndexInTriangle == IsVertexOnVertex){
@@ -3354,17 +3354,17 @@
 			tB=vB.BackgroundEdgeHook->abcisse;
 		}
 		else {
-			_error2_("ProjectOnCurve On BamgVertex " << BTh.GetId(vB) << " forget call to SetVertexFieldOnBTh");
+			_error_("ProjectOnCurve On BamgVertex " << BTh.GetId(vB) << " forget call to SetVertexFieldOnBTh");
 		} 
 		Edge * e = &BhAB;
 		if (!pA || !pB || !e){
-			_error2_("!pA || !pB || !e");
+			_error_("!pA || !pB || !e");
 		}
 		// be carefull the back ground edge e is on same geom edge 
 		// of the initiale edge def by the 2 vertex A B;
 		//check Is a background Mesh;   
 		if (e<BTh.edges || e>=BTh.edges+BTh.nbe){
-			_error2_("e<BTh.edges || e>=BTh.edges+BTh.nbe");
+			_error_("e<BTh.edges || e>=BTh.edges+BTh.nbe");
 		}
 		// walk on BTh edge 
 		//not finish ProjectOnCurve with BackGround Mesh);
@@ -3387,7 +3387,7 @@
 
 		  } 
 		else{ // do the search by walking 
-			_error2_("case not supported yet");
+			_error_("case not supported yet");
 		  }
 
 		// find the direction of walking with direction of edge and pA,PB;
@@ -3451,7 +3451,7 @@
 			abscisse = lg*theta;
 
 		  }
-		_error2_("Big bug...");
+		_error_("Big bug...");
 		return 0; // just for the compiler 
 	}                  
 	/*}}}*/
@@ -3492,7 +3492,7 @@
 		kk=kk+(i==edge4->SortAndAdd(GetId(edges[i][0]),GetId(edges[i][1])));
 	}
 	if (kk != nbe){ 
-		_error2_("There are " << kk-nbe << " double edges in the mesh");
+		_error_("There are " << kk-nbe << " double edges in the mesh");
 	}
 
 	//Add edges of all triangles in existing mesh
@@ -3524,7 +3524,7 @@
 
 			//An edge belongs to 2 triangles
 			else {
-				_error2_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << " , " << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles");
+				_error_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << " , " << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles");
 			}
 		}
 	}
@@ -3562,7 +3562,7 @@
 		}
 	}
 	if(k) {
-		_error2_(k << " boundary edges (from the geometry) are not defined as mesh edges");
+		_error_(k << " boundary edges (from the geometry) are not defined as mesh edges");
 	}
 
 	/* mesh generation with boundary points*/
@@ -3589,7 +3589,7 @@
 	//Find a vertex that is not aligned with vertices 0 and 1
 	for (i=2;det(orderedvertices[0]->i,orderedvertices[1]->i,orderedvertices[i]->i)==0;) 
 	 if  (++i>=nbvb) {
-		 _error2_("ReconstructExistingMesh: All the vertices are aligned");
+		 _error_("ReconstructExistingMesh: All the vertices are aligned");
 	 }
 	//Move this vertex (i) to the 2d position in orderedvertices
 	Exchange(orderedvertices[2], orderedvertices[i]);
@@ -3649,7 +3649,7 @@
 		}
 	}
 	if(nbloss) {
-		_error2_("we lost " << nbloss << " existing edges other " << knbe);
+		_error_("we lost " << nbloss << " existing edges other " << knbe);
 	}
 
 	FindSubDomain(1);
@@ -3724,7 +3724,7 @@
 	triangles = savetriangles;
 	subdomains = savesubdomains;
 	if (k) {
-		_error2_("number of triangles edges alone = " << k);
+		_error_("number of triangles edges alone = " << k);
 	}
 	FindSubDomain();
 
@@ -3754,7 +3754,7 @@
 						 _printLine_("Its pointer is " << edges[i][j].GeomEdgeHook);
 
 						_printLine_("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required");
-						_error2_("See above (might be cryptic...)");
+						_error_("See above (might be cryptic...)");
 					}
 				}
 			}
@@ -3777,15 +3777,15 @@
 		  { 
 			t=t0=subdomains[i].head;
 			if (!t0){ // not empty sub domain
-				_error2_("!t0");
+				_error_("!t0");
 			}
 			do { 
 				long kt = GetId(t);
 				if (kt<0 || kt >= nbt ){
-					_error2_("kt<0 || kt >= nbt");
+					_error_("kt<0 || kt >= nbt");
 				}
 				if (renu[kt]!=-1){
-					_error2_("renu[kt]!=-1");
+					_error_("renu[kt]!=-1");
 				}
 				renu[kt]=k++;
 			}
@@ -3802,7 +3802,7 @@
 			if (renu[it]==-1) renu[it]=k++;
 		}
 		if (k != nbt){
-			_error2_("k != nbt");
+			_error_("k != nbt");
 		}
 		// do the change on all the pointeur 
 		for ( it=0;it<nbt;it++)
@@ -3928,7 +3928,7 @@
 	//Compute coefIcoor
 	coefIcoor= (MaxICoor)/(Max(pmax.x-pmin.x,pmax.y-pmin.y));
 	if (coefIcoor<=0){
-		_error2_("coefIcoor should be positive, a problem in the geometry is likely");
+		_error_("coefIcoor should be positive, a problem in the geometry is likely");
 	}
 
 	// generation of integer coord  
@@ -3964,7 +3964,7 @@
 		else triangles[i].det=-1;
 	}
 
-	if (number_of_errors) _error2_("Fatal error: some triangles have negative areas, see above");
+	if (number_of_errors) _error_("Fatal error: some triangles have negative areas, see above");
 }
 /*}}}*/
 /*FUNCTION Mesh::ShowRegulaty{{{*/
@@ -4145,7 +4145,7 @@
 			//  pour tous les triangles autour du sommet s
 			register Triangle* t= vertices[i].t;
 			if (!t){
-				_error2_("!t");
+				_error_("!t");
 			}
 			BamgVertex & vi = vertices[i];
 			AdjacentTriangle ta(t,EdgesVertexTriangle[vertices[i].IndexInTriangle][0]);
@@ -4153,13 +4153,13 @@
 			while (1) {
 				ta=Previous(Adj(ta));
 				if (vertices+i != ta.EdgeVertex(1)){
-					_error2_("vertices+i != ta.EdgeVertex(1)");
+					_error_("vertices+i != ta.EdgeVertex(1)");
 				}
 				BamgVertex & vj = *(ta.EdgeVertex(0));
 				if ( &vj ) {
 					j= &vj-vertices;
 					if (j<0 || j >= nbv){
-						_error2_("j<0 || j >= nbv");
+						_error_("j<0 || j >= nbv");
 					}
 					R2 Aij = (R2) vj - (R2) vi;
 					double ll =  Norme2(Aij);
@@ -4283,7 +4283,7 @@
 					// a faire -- difficile 
 					// the first PB is to now a background edge between the 2 vertices
 					if (!edgesGtoB){
-						_error2_("!edgesGtoB");
+						_error_("!edgesGtoB");
 					}
 					ong= ProjectOnCurve(*edgesGtoB[Gh.GetId(edges[i].GeomEdgeHook)],
 								edges[i][0],edges[i][1],0.5,vertices[k],
@@ -4355,7 +4355,7 @@
 		for (i=0;i<nbt;i++) {
 			Triangle & t = triangles[i];
 			if (!t.link){
-				_error2_("!t.link");
+				_error_("!t.link");
 			}
 			for(int j=0;j<3;j++)
 			  {
@@ -4382,7 +4382,7 @@
 										||   (bb=Area2( t[0].r , A.r    , t[2].r )) < 0.0  
 										||   (cc=Area2( t[0].r , t[1].r , A.r    )) < 0.0)){
 							_printLine_(ke + nbvold << " not in triangle " << i << " In= " << !!t.link << " " << aa << " " << bb << " " << cc << " " << dd);
-							_error2_("Number of triangles with P2 interpolation Problem");
+							_error_("Number of triangles with P2 interpolation Problem");
 						}
 					}
 					else {
@@ -4390,7 +4390,7 @@
 										||   (bb=Area2( tt[0].r , A.r     , tt[2].r )) < 0 
 										||   (cc=Area2( tt[0].r , tt[1].r , A.r     )) < 0)){
 							_printLine_(ke + nbvold << " not in triangle " << ii << " In= " << !!tt.link << " " << aa << " " << bb << " " << cc << " " << dd);
-							_error2_("Number of triangles with P2 interpolation Problem");
+							_error_("Number of triangles with P2 interpolation Problem");
 						}
 					} 
 				  }
@@ -4438,7 +4438,7 @@
 							kkk[nbsplitedge++]=j;		      
 						  } // tt 
 						else
-						 _error2_("Bug...");
+						 _error_("Bug...");
 					  } // ke<0	       
 					else
 					  { // ke >=0
@@ -4451,7 +4451,7 @@
 
 			  } 
 			if (nbinvisible>=2){
-				_error2_("nbinvisible>=2");
+				_error_("nbinvisible>=2");
 			}
 			switch (nbsplitedge) {
 				case 0: ksplit[i]=10; newnbt++; break;   // nosplit
@@ -4463,7 +4463,7 @@
 						  break;
 			} 
 			if (ksplit[i]<40){
-				_error2_("ksplit[i]<40");
+				_error_("ksplit[i]<40");
 			}
 		  }
 		//  now do the element split
@@ -4480,7 +4480,7 @@
 			long kk=ksplit[i]/10;
 			int  ke=(int) (ksplit[i]%10);
 			if (kk>=7 || kk<=0){
-				_error2_("kk>=7 || kk<=0");
+				_error_("kk>=7 || kk<=0");
 			}
 
 			// def the numbering   k (edge) i vertex 
@@ -4497,7 +4497,7 @@
 			BamgVertex * v2=t0(i2);
 
 			if (nbmkadj>=10){
-				_error2_("nbmkadj>=10");
+				_error_("nbmkadj>=10");
 			}
 			// --------------------------
 			AdjacentTriangle ta0(t0.Adj(i0)),ta1(t0.Adj(i1)),ta2(t0.Adj(i2));
@@ -4515,7 +4515,7 @@
 							Triangle &t1=triangles[kkk++];
 							t1=t0;
 							if (kedge[3*i+i0]<0){
-								_error2_("kedge[3*i+i0]<0");
+								_error_("kedge[3*i+i0]<0");
 							}
 							BamgVertex * v3 = vertices + kedge[3*i+k0];
 
@@ -4531,10 +4531,10 @@
 							Triangle &t2=triangles[kkk++];
 							t2=t1=t0;
 							if (kedge[3*i+k1]<0){
-								_error2_("kedge[3*i+k1]<0");
+								_error_("kedge[3*i+k1]<0");
 							}
 							if (kedge[3*i+k2]<0){
-								_error2_("kedge[3*i+k2]<0");
+								_error_("kedge[3*i+k2]<0");
 							}
 
 							BamgVertex * v01 = vertices + kedge[3*i+k2];
@@ -4558,7 +4558,7 @@
 							Triangle &t3=triangles[kkk++];
 							t3=t2=t1=t0;
 							if (kedge[3*i+k0] <0 || kedge[3*i+k1]<0 || kedge[3*i+k2]<0){
-								_error2_("kedge[3*i+k0] <0 || kedge[3*i+k1]<0 || kedge[3*i+k2]<0");
+								_error_("kedge[3*i+k0] <0 || kedge[3*i+k1]<0 || kedge[3*i+k2]<0");
 							}
 							BamgVertex * v12 = vertices + kedge[3*i+k0];
 							BamgVertex * v02 = vertices + kedge[3*i+k1]; 
@@ -4632,7 +4632,7 @@
 				 mkadj[nbmkadj++]=jj;
 				}
 			if (nbmkadj>13){// 13 = 6 + 4 +
-				_error2_("nbmkadj>13");
+				_error_("nbmkadj>13");
 			}
 
 			if (kk==6)  newnbq+=3;
@@ -4758,7 +4758,7 @@
 
 			quadtree->Add(vi);
 			if (!tcvi || tcvi->det<0){// internal
-				_error2_("!tcvi || tcvi->det < 0");
+				_error_("!tcvi || tcvi->det < 0");
 			}
 			AddVertex(vi,tcvi,det3);
 			NbSwap += vi.Optim(1);          
@@ -4801,14 +4801,14 @@
 	else {
 
 		/*Check that the quadtree does exist*/
-		if (!quadtree) _error2_("no starting triangle provided and no quadtree available");
+		if (!quadtree) _error_("no starting triangle provided and no quadtree available");
 
 		/*Call NearestVertex*/
 		BamgVertex *a = quadtree->NearestVertex(B.x,B.y) ;
 
 		/*Check output (Vertex a)*/
-		if (!a)    _error2_("problem while trying to find nearest vertex from a given point. No output found");
-		if (!a->t) _error2_("no triangle is associated to vertex number " << GetId(a)+1 << " (orphan?)");
+		if (!a)    _error_("problem while trying to find nearest vertex from a given point. No output found");
+		if (!a->t) _error_("no triangle is associated to vertex number " << GetId(a)+1 << " (orphan?)");
 		_assert_(a>=vertices && a<vertices+nbv);
 
 		/*Get starting triangle*/
@@ -4843,7 +4843,7 @@
 	while(t->det>0) { 
 
 		/*Increase counter*/
-		if (++counter>=10000) _error2_("Maximum number of iteration reached (threshold = " << counter << ").");
+		if (++counter>=10000) _error_("Maximum number of iteration reached (threshold = " << counter << ").");
 
 		j= OppositeVertex[jj];
 		det3[j] = detop;  //det(*b,*s1,*s2);
@@ -4907,7 +4907,7 @@
 		t=t0=subdomains[i].head;
 
 		//check that the subdomain is not empty
-		if (!t0){ _error2_("At least one subdomain is empty");}
+		if (!t0){ _error_("At least one subdomain is empty");}
 
 		//loop
 		do{
@@ -4990,7 +4990,7 @@
 		}
 		//allocate
 		VerticesOnGeomVertex = new VertexOnGeom[NbVerticesOnGeomVertex];  
-		if(NbVerticesOnGeomVertex >= maxnbv) _error2_("too many vertices on geometry: " << NbVerticesOnGeomVertex << " >= " << maxnbv);
+		if(NbVerticesOnGeomVertex >= maxnbv) _error_("too many vertices on geometry: " << NbVerticesOnGeomVertex << " >= " << maxnbv);
 		_assert_(nbv==0);
 		//Build VerticesOnGeomVertex
 		for (i=0;i<Gh.nbv;i++){
@@ -5079,7 +5079,7 @@
 								PreviousNewEdge=0;
 								NbNewPoints=0;
 								NbEdgeCurve=0;
-								if (nbvend>=maxnbv) _error2_("maximum number of vertices too low! Check the domain outline or increase maxnbv");
+								if (nbvend>=maxnbv) _error_("maximum number of vertices too low! Check the domain outline or increase maxnbv");
 								lcurve =0;
 								s = lstep; //-1 initially, then length of each sub edge
 
@@ -5321,7 +5321,7 @@
 		for (i=0;i<Gh.nbv;i++) if (Gh[i].Required()) NbVerticesOnGeomVertex++;
 		printf("\n");
 		if(NbVerticesOnGeomVertex >= maxnbv){
-			_error2_("too many vertices on geometry: " << NbVerticesOnGeomVertex << " >= " << maxnbv);
+			_error_("too many vertices on geometry: " << NbVerticesOnGeomVertex << " >= " << maxnbv);
 		}
 
 		VerticesOnGeomVertex = new VertexOnGeom[  NbVerticesOnGeomVertex];
@@ -5392,7 +5392,7 @@
 		} 
 		if (bfind!=Gh.nbcurves){
 			delete [] bcurve;
-			_error2_("problem generating number of curves (" << Gh.nbcurves << " found in the geometry but " << bfind << " curve found in the mesh)");
+			_error_("problem generating number of curves (" << Gh.nbcurves << " found in the geometry but " << bfind << " curve found in the mesh)");
 		}
 
 		// method in 2 + 1 step 
@@ -5491,11 +5491,11 @@
 									Edge* e = edges + nbe++;
 									double se= (sNew-L0)/LAB;
 									if (se<0 || se>=1.000000001){
-										_error2_("Problem creating point on a boundary: se=" << se << " should be in [0 1]");
+										_error_("Problem creating point on a boundary: se=" << se << " should be in [0 1]");
 									}
 									se = abscisseInterpole(v0.m,v1.m,AB,se,1);
 									if (se<0 || se>1){
-										_error2_("Problem creating point on a boundary: se=" << se << " should be in [0 1]");
+										_error_("Problem creating point on a boundary: se=" << se << " should be in [0 1]");
 									}
 									se = k1         ? se : 1. - se;
 									se = k1==k1equi ? se : 1. - se;
@@ -5527,7 +5527,7 @@
 								break;
 							}
 							if (!ee.adj[k1]) {
-								_error2_("adj edge " << BTh.GetId(ee) << ", nbe=" << nbe << ", Gh.vertices=" << Gh.vertices);
+								_error_("adj edge " << BTh.GetId(ee) << ", nbe=" << nbe << ", Gh.vertices=" << Gh.vertices);
 							}
 							pe = ee.adj[k1]; // next edge
 							k0 = pe->Intersection(ee); 
@@ -5565,7 +5565,7 @@
 			//Allocate memory
 			if(step==0){
 				if(nbv+NbOfNewPoints > maxnbv) {
-					_error2_("too many vertices on geometry: " << nbv+NbOfNewPoints << " >= " << maxnbv);
+					_error_("too many vertices on geometry: " << nbv+NbOfNewPoints << " >= " << maxnbv);
 				}
 				edges = new Edge[NbOfNewEdge];
 				nbex = NbOfNewEdge;
@@ -5610,7 +5610,7 @@
 		int k=(*t)(0) ?  ((  (*t)(1) ? ( (*t)(2) ? -1 : 2) : 1  )) : 0;
 		int dir=0;
 		if (k<0){
-			_error2_("k<0");
+			_error_("k<0");
 		}
 		int kkk=0;  
 		Icoor2 IJ_IA,IJ_AJ;
@@ -5618,7 +5618,7 @@
 		for (;;edge = dir >0 ? Next(Adj(Next(edge))) : Previous(Adj(Previous(edge)))) {  
 			kkk++;
 			if (kkk>=1000){
-				_error2_("kkk>=1000");
+				_error_("kkk>=1000");
 			}
 			BamgVertex  &vI =  *edge.EdgeVertex(0);
 			BamgVertex  &vJ =  *edge.EdgeVertex(1);
@@ -5635,7 +5635,7 @@
 							continue;}}// go in direction j
 							double IJ2 = IJ_IA + IJ_AJ;
 							if (IJ2==0){
-								_error2_("IJ2==0");
+								_error_("IJ2==0");
 							}
 							a= IJ_AJ/IJ2;
 							b= IJ_IA/IJ2;
@@ -5649,7 +5649,7 @@
 
 	int NbSwap =0;
 	if (!a.t || !b.t){ // the 2 vertex is in a mesh
-		_error2_("!a.t || !b.t");
+		_error_("!a.t || !b.t");
 	}
 	int k=0;
 	taret=AdjacentTriangle(0,0); // erreur 
@@ -5666,7 +5666,7 @@
 		v2 = tta.EdgeVertex(0);
 		vbegin =v2;
 		if (!v2){
-			_error2_("!v2");
+			_error_("!v2");
 		}
 		det2 = det(*v2,a,b);
 	}
@@ -5683,12 +5683,12 @@
 			BamgVertex * va = &a, *vb = &b;
 			tc = Previous(tc);
 			if (!v1 || !v2){
-				_error2_("!v1 || !v2");
+				_error_("!v1 || !v2");
 			}
 			Icoor2 detss = 0,l=0,ks;
 			while ((ks=SwapForForcingEdge(  va,  vb, tc, detss, det1,det2,NbSwap)))
 			 if(l++ > 10000000) {
-				 _error2_("Loop in forcing Egde, nb de swap=" << NbSwap << ", nb of try swap (" << l << ") too big");
+				 _error_("Loop in forcing Egde, nb de swap=" << NbSwap << ", nb of try swap (" << l << ") too big");
 			 }
 			BamgVertex *aa = tc.EdgeVertex(0), *bb = tc.EdgeVertex(1);
 			if (( aa == &a ) && (bb == &b) ||  (bb ==  &a ) && (aa == &b)) {
@@ -5707,7 +5707,7 @@
 		tta = tc;
 		k++;
 		if (k>=2000){
-			_error2_("k>=2000");
+			_error_("k>=2000");
 		}
 		if ( vbegin == v2 ) return -1;// error 
 	}
@@ -5779,7 +5779,7 @@
 		Triangle *t1=tt1,*t2=tt2;// les 2 triangles adjacent
 		short a1=tt1,a2=tt2;// les 2 numero de l arete dans les 2 triangles
 		if ( a1<0 || a1>=3 ){
-			_error2_("a1<0 || a1>=3");
+			_error_("a1<0 || a1>=3");
 		}
 
 		BamgVertex & sa= (* t1)[VerticesOfTriangularEdge[a1][0]];
@@ -5791,10 +5791,10 @@
 		Icoor2 det1=t1->det , det2=t2->det ;
 		Icoor2 detT = det1+det2;
 		if ((det1<=0 ) || (det2<=0)){
-			_error2_("(det1<=0 ) || (det2<=0)");
+			_error_("(det1<=0 ) || (det2<=0)");
 		}
 		if ( (detsa>=0) || (detsb<=0) ){ // [a,b] cut infinite line va,bb
-			_error2_("(detsa>=0) || (detsb<=0)");
+			_error_("(detsa>=0) || (detsb<=0)");
 		}
 		Icoor2 ndet1 = bamg::det(s1,sa,s2);
 		Icoor2 ndet2 = detT - ndet1;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/IoModel.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/IoModel.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/IoModel.cpp	(revision 13036)
@@ -109,7 +109,7 @@
 
 		/*Get first Enum*/
 		if(fread(&record_enum,sizeof(int),1,this->fid)==0){
-			_error2_("Marshalled file is empty");
+			_error_("Marshalled file is empty");
 		}
 		else{
 			if(record_enum!=MaximumNumberOfEnums){
@@ -127,7 +127,7 @@
 				_printLine_("     and recompile                                                       ");
 				_printLine_("=========================================================================");
 				_printLine_("");
-				_error2_("Enums not consistent (See error message above)");
+				_error_("Enums not consistent (See error message above)");
 			}
 		}
 	}
@@ -176,7 +176,7 @@
 
 	/*Find constant*/
 	Param* param=(Param*)this->constants->FindParamObject(constant_enum);
-	if(!param) _error2_("Constant " << EnumToStringx(constant_enum) << " not found in iomodel");
+	if(!param) _error_("Constant " << EnumToStringx(constant_enum) << " not found in iomodel");
 
 	return (Param*)param->copy();
 }
@@ -265,7 +265,7 @@
 				switch(record_code){
 					case 1: 
 						/*Read the boolean and broadcast it to other cpus:*/
-						if(fread(&booleanint,sizeof(int),1,this->fid)!=1) _error2_("could not read boolean ");
+						if(fread(&booleanint,sizeof(int),1,this->fid)!=1) _error_("could not read boolean ");
 						#ifdef _HAVE_MPI_
 						MPI_Bcast(&booleanint,1,MPI_INT,0,MPI_COMM_WORLD); 
 						#endif
@@ -276,7 +276,7 @@
 						break;
 					case 2:
 						/*Read the integer and broadcast it to other cpus:*/
-						if(fread(&integer,sizeof(int),1,this->fid)!=1) _error2_("could not read integer ");
+						if(fread(&integer,sizeof(int),1,this->fid)!=1) _error_("could not read integer ");
 						#ifdef _HAVE_MPI_
 						MPI_Bcast(&integer,1,MPI_INT,0,MPI_COMM_WORLD); 
 						#endif
@@ -287,7 +287,7 @@
 						break;
 					case 3:
 						/*Read the scalar and broadcast it to other cpus:*/
-						if(fread(&scalar,sizeof(IssmPDouble),1,this->fid)!=1) _error2_("could not read scalar ");
+						if(fread(&scalar,sizeof(IssmPDouble),1,this->fid)!=1) _error_("could not read scalar ");
 						#ifdef _HAVE_MPI_
 						MPI_Bcast(&scalar,1,MPI_DOUBLE,0,MPI_COMM_WORLD); 
 						#endif
@@ -298,7 +298,7 @@
 						break;
 					case 4: 
 						/*We have to read a string from disk. First read the dimensions of the string, then the string: */
-						if(fread(&string_size,sizeof(int),1,this->fid)!=1) _error2_("could not read length of string ");
+						if(fread(&string_size,sizeof(int),1,this->fid)!=1) _error_("could not read length of string ");
 						#ifdef _HAVE_MPI_
 						MPI_Bcast(&string_size,1,MPI_INT,0,MPI_COMM_WORLD); 
 						#endif
@@ -308,7 +308,7 @@
 							string[string_size]='\0';
 
 							/*Read string, then broadcast: */
-							if(fread(string,string_size*sizeof(char),1,this->fid)!=1)_error2_(" could not read string ");
+							if(fread(string,string_size*sizeof(char),1,this->fid)!=1)_error_(" could not read string ");
 							#ifdef _HAVE_MPI_
 							MPI_Bcast(string,string_size,MPI_CHAR,0,MPI_COMM_WORLD); 
 							#endif
@@ -359,7 +359,7 @@
 							break;
 
 					default: 
-						_error2_("unknown record type:" << record_code); 
+						_error_("unknown record type:" << record_code); 
 						break;;
 				}
 			}
@@ -427,7 +427,7 @@
 				case 9: break; //do nothing. not interested in this type of data, which is memory intensive.
 
 				default: 
-					_error2_("unknown record type:" << record_code); 
+					_error_("unknown record type:" << record_code); 
 					break;;
 				}
 
@@ -452,11 +452,11 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
 
-	if(code!=1)_error2_("expecting a boolean for enum " << EnumToStringx(data_enum));
+	if(code!=1)_error_("expecting a boolean for enum " << EnumToStringx(data_enum));
 	
 	/*We have to read a boolean from disk. */
 	if(my_rank==0){  
-		if(fread(&booleanint,sizeof(int),1,fid)!=1) _error2_("could not read boolean ");
+		if(fread(&booleanint,sizeof(int),1,fid)!=1) _error_("could not read boolean ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&booleanint,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -481,11 +481,11 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
 	
-	if(code!=2)_error2_("expecting an integer for enum " << EnumToStringx(data_enum));
+	if(code!=2)_error_("expecting an integer for enum " << EnumToStringx(data_enum));
 	
 	/*We have to read a integer from disk. First read the dimensions of the integer, then the integer: */
 	if(my_rank==0){  
-		if(fread(&integer,sizeof(int),1,fid)!=1) _error2_("could not read integer ");
+		if(fread(&integer,sizeof(int),1,fid)!=1) _error_("could not read integer ");
 	}
 
 	#ifdef _HAVE_MPI_
@@ -511,11 +511,11 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
 	
-	if(code!=3)_error2_("expecting a IssmDouble for enum " << EnumToStringx(data_enum));
+	if(code!=3)_error_("expecting a IssmDouble for enum " << EnumToStringx(data_enum));
 	
 	/*We have to read a scalar from disk. First read the dimensions of the scalar, then the scalar: */
 	if(my_rank==0){
-		if(fread(&scalar,sizeof(IssmPDouble),1,fid)!=1)_error2_("could not read scalar ");
+		if(fread(&scalar,sizeof(IssmPDouble),1,fid)!=1)_error_("could not read scalar ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&scalar,1,MPI_DOUBLE,0,MPI_COMM_WORLD); 
@@ -541,13 +541,13 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
 	
-	if(code!=4)_error2_("expecting a string for enum " << EnumToStringx(data_enum));
+	if(code!=4)_error_("expecting a string for enum " << EnumToStringx(data_enum));
 	
 	/*Now fetch: */
 	
 	/*We have to read a string from disk. First read the dimensions of the string, then the string: */
 	if(my_rank==0){  
-		if(fread(&string_size,sizeof(int),1,fid)!=1) _error2_("could not read length of string ");
+		if(fread(&string_size,sizeof(int),1,fid)!=1) _error_("could not read length of string ");
 	}
 
 	#ifdef _HAVE_MPI_
@@ -561,7 +561,7 @@
 
 		/*Read string on node 0, then broadcast: */
 		if(my_rank==0){  
-			if(fread(string,string_size*sizeof(char),1,fid)!=1)_error2_(" could not read string ");
+			if(fread(string,string_size*sizeof(char),1,fid)!=1)_error_(" could not read string ");
 		}
 		#ifdef _HAVE_MPI_
 		MPI_Bcast(string,string_size,MPI_CHAR,0,MPI_COMM_WORLD); 
@@ -595,14 +595,14 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,&vector_type,data_enum);
 
-	if((code!=5) && (code!=6) && (code!=7))_error2_("expecting a IssmDouble, integer or boolean matrix for enum " << EnumToStringx(data_enum));
+	if((code!=5) && (code!=6) && (code!=7))_error_("expecting a IssmDouble, integer or boolean matrix for enum " << EnumToStringx(data_enum));
 	
 	/*Now fetch: */
 
 	/*We have to read a matrix from disk. First read the dimensions of the matrix, then the whole matrix: */
 	/*numberofelements: */
 	if(my_rank==0){  
-		if(fread(&M,sizeof(int),1,fid)!=1) _error2_("could not read number of rows for matrix ");
+		if(fread(&M,sizeof(int),1,fid)!=1) _error_("could not read number of rows for matrix ");
 	}
 
 	#ifdef _HAVE_MPI_
@@ -610,7 +610,7 @@
 	#endif
 
 	if(my_rank==0){  
-		if(fread(&N,sizeof(int),1,fid)!=1) _error2_("could not read number of columns for matrix ");
+		if(fread(&N,sizeof(int),1,fid)!=1) _error_("could not read number of columns for matrix ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&N,1,MPI_INT,0,MPI_COMM_WORLD);
@@ -622,7 +622,7 @@
 
 		/*Read matrix on node 0, then broadcast: */
 		if(my_rank==0){  
-			if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error2_("could not read matrix ");
+			if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read matrix ");
 		}
 		
 		#ifdef _HAVE_MPI_
@@ -666,21 +666,21 @@
 	
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,&vector_type,data_enum);
-	if((code!=5) && (code!=6) && (code!=7))_error2_("expecting a IssmDouble, integer or boolean matrix for enum " << EnumToStringx(data_enum));
+	if((code!=5) && (code!=6) && (code!=7))_error_("expecting a IssmDouble, integer or boolean matrix for enum " << EnumToStringx(data_enum));
 	
 	/*Now fetch: */
 
 	/*We have to read a matrix from disk. First read the dimensions of the matrix, then the whole matrix: */
 	/*numberofelements: */
 	if(my_rank==0){  
-		if(fread(&M,sizeof(int),1,fid)!=1) _error2_("could not read number of rows for matrix ");
+		if(fread(&M,sizeof(int),1,fid)!=1) _error_("could not read number of rows for matrix ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&M,1,MPI_INT,0,MPI_COMM_WORLD); 
 	#endif
 
 	if(my_rank==0){  
-		if(fread(&N,sizeof(int),1,fid)!=1) _error2_("could not read number of columns for matrix ");
+		if(fread(&N,sizeof(int),1,fid)!=1) _error_("could not read number of columns for matrix ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&N,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -692,7 +692,7 @@
 
 		/*Read matrix on node 0, then broadcast: */
 		if(my_rank==0){  
-			if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error2_("could not read matrix ");
+			if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read matrix ");
 		}
 		#ifdef _HAVE_MPI_
 		MPI_Bcast(matrix,M*N,MPI_DOUBLE,0,MPI_COMM_WORLD); 
@@ -728,11 +728,11 @@
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
 	
-	if(code!=9)_error2_("expecting a string array for enum " << EnumToStringx(data_enum));
+	if(code!=9)_error_("expecting a string array for enum " << EnumToStringx(data_enum));
 	
 	/*We have to read a bunch of strings from disk. First read the number of strings, and allocate: */
 	if(my_rank==0){  
-		if(fread(&numstrings,sizeof(int),1,fid)!=1) _error2_("could not read length of string array");
+		if(fread(&numstrings,sizeof(int),1,fid)!=1) _error_("could not read length of string array");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&numstrings,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -747,7 +747,7 @@
 		for(i=0;i<numstrings;i++){
 			
 			if(my_rank==0){  
-				if(fread(&string_size,sizeof(int),1,fid)!=1) _error2_("could not read length of string ");
+				if(fread(&string_size,sizeof(int),1,fid)!=1) _error_("could not read length of string ");
 			}
 			#ifdef _HAVE_MPI_
 			MPI_Bcast(&string_size,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -758,7 +758,7 @@
 
 				/*Read string on node 0, then broadcast: */
 				if(my_rank==0){  
-					if(fread(string,string_size*sizeof(char),1,fid)!=1)_error2_(" could not read string ");
+					if(fread(string,string_size*sizeof(char),1,fid)!=1)_error_(" could not read string ");
 				}
 				#ifdef _HAVE_MPI_
 				MPI_Bcast(string,string_size,MPI_CHAR,0,MPI_COMM_WORLD); 
@@ -799,11 +799,11 @@
 	
 	/*Set file pointer to beginning of the data: */
 	fid=this->SetFilePointerToData(&code,NULL,data_enum);
-	if(code!=8)_error2_("expecting a IssmDouble mat array for enum " << EnumToStringx(data_enum));
+	if(code!=8)_error_("expecting a IssmDouble mat array for enum " << EnumToStringx(data_enum));
 	
 	/*Now fetch: */
 	if(my_rank==0){  
-		if(fread(&numrecords,sizeof(int),1,fid)!=1) _error2_("could not read number of records in matrix array ");
+		if(fread(&numrecords,sizeof(int),1,fid)!=1) _error_("could not read number of records in matrix array ");
 	}
 	#ifdef _HAVE_MPI_
 	MPI_Bcast(&numrecords,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -826,14 +826,14 @@
 		for(i=0;i<numrecords;i++){
 
 			if(my_rank==0){  
-				if(fread(&M,sizeof(int),1,fid)!=1) _error2_("could not read number of rows in " << i << "th matrix of matrix array");
+				if(fread(&M,sizeof(int),1,fid)!=1) _error_("could not read number of rows in " << i << "th matrix of matrix array");
 			}
 			#ifdef _HAVE_MPI_
 			MPI_Bcast(&M,1,MPI_INT,0,MPI_COMM_WORLD); 
 			#endif
 
 			if(my_rank==0){  
-				if(fread(&N,sizeof(int),1,fid)!=1) _error2_("could not read number of columns in " << i << "th matrix of matrix array");
+				if(fread(&N,sizeof(int),1,fid)!=1) _error_("could not read number of columns in " << i << "th matrix of matrix array");
 			}
 			#ifdef _HAVE_MPI_
 			MPI_Bcast(&N,1,MPI_INT,0,MPI_COMM_WORLD); 
@@ -845,7 +845,7 @@
 
 				/*Read matrix on node 0, then broadcast: */
 				if(my_rank==0){  
-					if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error2_("could not read matrix ");
+					if(fread(matrix,M*N*sizeof(IssmPDouble),1,fid)!=1) _error_("could not read matrix ");
 				}
 
 				#ifdef _HAVE_MPI_
@@ -911,7 +911,7 @@
 			  break;
 			  }
 		default:
-			  _error2_("Option of format " << code << " not supported yet");
+			  _error_("Option of format " << code << " not supported yet");
 	}
 
 	/*Assign output pointers: */
@@ -940,7 +940,7 @@
 		#ifdef _ISSM_DEBUG_
 		_assert_(dataenum<MaximumNumberOfEnums);
 		if(this->data[dataenum]){
-			_error2_("Info: trying to fetch " << EnumToStringx(dataenum) << " but previous pointer has not been freed (DeleteData has not been called)");
+			_error_("Info: trying to fetch " << EnumToStringx(dataenum) << " but previous pointer has not been freed (DeleteData has not been called)");
 		}
 		#endif
 		/*}}}*/
@@ -1140,7 +1140,7 @@
 
 			break; /*}}}*/
 		default: /*{{{*/
-			_error2_("data code " << code << " not supported yet!");
+			_error_("data code " << code << " not supported yet!");
 			break;
 			/*}}}*/
 	}
@@ -1231,7 +1231,7 @@
 	}
 #ifdef _HAVE_MPI_
 	MPI_Bcast(&found,1,MPI_INT,0,MPI_COMM_WORLD); 
-	if(!found)_error2_("could not find data with name" << " " << EnumToStringx(data_enum) << " ");
+	if(!found)_error_("could not find data with name" << " " << EnumToStringx(data_enum) << " ");
 #endif
 
 	/*Broadcast code and vector type: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/FemModel.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/c/classes/FemModel.cpp	(revision 13036)
@@ -128,7 +128,7 @@
 		}
 	}
 	if(found!=-1) analysis_counter=found;
-	else _error2_("Could not find alias for analysis_type " << EnumToStringx(configuration_type) << " in list of FemModel analyses");
+	else _error_("Could not find alias for analysis_type " << EnumToStringx(configuration_type) << " in list of FemModel analyses");
 
 	/*Now, plug analysis_counter and analysis_type inside the parameters: */
 	this->parameters->SetParam(analysis_counter,AnalysisCounterEnum);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Scotch/Scotch.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Scotch/Scotch.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Scotch/Scotch.cpp	(revision 13036)
@@ -24,7 +24,7 @@
 {
 
 #ifndef _HAVE_SCOTCH_ //only works if scotch library has been compiled in.
-	_error2_("Scotch not available! Cannot carry out Scotch partitioning!");
+	_error_("Scotch not available! Cannot carry out Scotch partitioning!");
 	#else
 
 	int     argcm;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgConvertMesh/BamgConvertMesh.cpp	(revision 13036)
@@ -33,10 +33,10 @@
 	FetchData(&y,&test2,YHANDLE);
 
 	/*Check inputs*/
-	if(nels<0) _error2_("Number of elements must be positive, check index number of lines");
-	if(nods<0) _error2_("Number of nods must be positive, check x and y sizes");
-	if(test1!=3) _error2_("index should have 3 columns");
-	if(test2!=nods) _error2_("x and y do not have the same length");
+	if(nels<0) _error_("Number of elements must be positive, check index number of lines");
+	if(nods<0) _error_("Number of nods must be positive, check x and y sizes");
+	if(test1!=3) _error_("index should have 3 columns");
+	if(test2!=nods) _error_("x and y do not have the same length");
 
 	/* Run core computations: */
 	BamgConvertMeshx(bamgmesh,bamggeom,index,x,y,nods,nels);
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLOverlay/KMLOverlay.cpp	(revision 13036)
@@ -30,10 +30,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if(nlhs>NLHS){
-		KMLOverlayUsage(); _error2_("KMLOverlay usage error");
+		KMLOverlayUsage(); _error_("KMLOverlay usage error");
 	}
 	if(nrhs<NRHS){
-		KMLOverlayUsage(); _error2_("KMLOverlay usage error");
+		KMLOverlayUsage(); _error_("KMLOverlay usage error");
 	}
 
 	/*Input datasets: */
@@ -50,9 +50,9 @@
 	if (verbose) _printLine_("  dzip=" << dzip);
 
 	/*some checks*/
-	if (nlat !=2) _error2_("Latitudinal axes \"lataxis\" require two double values, not " << nlat << ".");
-	if (nlong!=2) _error2_("Longitudinal axes \"longaxis\" require two double values, not " << nlong << ".");
-	if (!nimages) _error2_("No image files provided.");
+	if (nlat !=2) _error_("Latitudinal axes \"lataxis\" require two double values, not " << nlat << ".");
+	if (nlong!=2) _error_("Longitudinal axes \"longaxis\" require two double values, not " << nlong << ".");
+	if (!nimages) _error_("No image files provided.");
 
 	if ((int)dzip){
 		filkmz=filkml;
@@ -89,7 +89,7 @@
 		if (verbose) _printLine_("Zipping file \"" << filkmz << "\".");
 		if (verbose) _printLine_(czip);
 
-		if (mexEvalString(czip)) _error2_("Error zipping file \"" << filkmz << "\".");
+		if (mexEvalString(czip)) _error_("Error zipping file \"" << filkmz << "\".");
 		xfree((void**)&czip);
 		xfree((void**)&filkmz);
 	}
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/MeshProfileIntersection/MeshProfileIntersection.cpp	(revision 13036)
@@ -53,7 +53,7 @@
 	/*Fetch inputs: */
 	//index
 	FetchData(&double_index,&nel,&dummy,INDEX);
-	if(dummy!=3 && dummy!=6)_error2_("element triangulation should be of 3 or 6 column width!");
+	if(dummy!=3 && dummy!=6)_error_("element triangulation should be of 3 or 6 column width!");
 	index=(int*)xmalloc(nel*3*sizeof(int));
 	for(i=0;i<nel;i++){
 		for(j=0;j<3;j++){
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp	(revision 13036)
@@ -75,10 +75,10 @@
 
 	/*some checks*/
 	if (x_data_rows!=y_data_rows || x_data_rows!=z_data_rows){
-		_error2_("vectors x, y and z should have the same length!");
+		_error_("vectors x, y and z should have the same length!");
 	}
 	if (x_prime_rows!=y_prime_rows || x_prime_rows!=z_prime_rows){
-		_error2_("vectors x_prime, y_prime and z_prime should have the same length!");
+		_error_("vectors x_prime, y_prime and z_prime should have the same length!");
 	}
 	/*get number of elements and number of nodes in the data*/
 	nels_data=index_data_rows;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Ll2xy/Ll2xy.cpp	(revision 13036)
@@ -24,10 +24,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		Ll2xyUsage(); _error2_("Ll2xy usage error");
+		Ll2xyUsage(); _error_("Ll2xy usage error");
 	}
 	if (nrhs < NRHS) {
-		Ll2xyUsage(); _error2_("Ll2xy usage error");
+		Ll2xyUsage(); _error_("Ll2xy usage error");
 	}
 
 	/*Input datasets: */
@@ -46,11 +46,11 @@
 
 	/*some checks*/
 	if (verbose) _printLine_("Checking inputs:");
-	if (nlat != nlon){_error2_("Must have same number of lat[" << nlat << "] and lon[" << nlon << "] coordinates.");}
+	if (nlat != nlon){_error_("Must have same number of lat[" << nlat << "] and lon[" << nlon << "] coordinates.");}
 	else                ncoord=nlat;
-	if (sgn != +1 && sgn != -1) _error2_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
-	if (fabs(cm)      > 180.) _error2_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
-	if (sp < 0. || sp >  90.) _error2_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
+	if (sgn != +1 && sgn != -1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
+	if (fabs(cm)      > 180.) _error_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
+	if (sp < 0. || sp >  90.) _error_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
 
 	x=(double*)mxMalloc(ncoord*sizeof(double));
 	y=(double*)mxMalloc(ncoord*sizeof(double));
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromGridToMesh/InterpFromGridToMesh.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromGridToMesh/InterpFromGridToMesh.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromGridToMesh/InterpFromGridToMesh.cpp	(revision 13036)
@@ -45,7 +45,7 @@
 	//CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InterpFromGridToMeshUsage);
 	if((nlhs!=NLHS) || (nrhs!=6 && nrhs!=7)){
 		InterpFromGridToMeshUsage();
-		_error2_("usage. See above");
+		_error_("usage. See above");
 	}
 
 	/*Input datasets: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLFileRead/KMLFileRead.cpp	(revision 13036)
@@ -44,10 +44,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		KMLFileReadUsage(); _error2_("KMLFileRead usage error");
+		KMLFileReadUsage(); _error_("KMLFileRead usage error");
 	}
 	if (nrhs < NRHS) {
-		KMLFileReadUsage(); _error2_("KMLFileRead usage error");
+		KMLFileReadUsage(); _error_("KMLFileRead usage error");
 	}
 
 	/*Input datasets: */
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Shp2Kml/Shp2Kml.cpp	(revision 13036)
@@ -24,7 +24,7 @@
 	int     iret=0;
 
 	#ifndef _HAVE_SHAPELIB_ //only works if shapelib library has been compiled in.
-	_error2_("Shapelib not available! Cannot carry out shp file translation!");
+	_error_("Shapelib not available! Cannot carry out shp file translation!");
 	#endif
 
 	/*Boot module: */
@@ -32,10 +32,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		Shp2KmlUsage(); _error2_("Shp2Kml usage error");
+		Shp2KmlUsage(); _error_("Shp2Kml usage error");
 	}
 	if (nrhs < NRHS) {
-		Shp2KmlUsage(); _error2_("Shp2Kml usage error");
+		Shp2KmlUsage(); _error_("Shp2Kml usage error");
 	}
 
 	/*Input datasets: */
@@ -53,9 +53,9 @@
 	}
 
 	/*some checks*/
-	if (sgn < -1 || sgn > +1) _error2_("Hemisphere sgn=" << sgn << " must be +1 (north), -1 (south), or 0 (no translation).");
-	if (fabs(cm)      > 180.) _error2_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
-	if (sp < 0. || sp >  90.) _error2_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
+	if (sgn < -1 || sgn > +1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north), -1 (south), or 0 (no translation).");
+	if (fabs(cm)      > 180.) _error_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
+	if (sp < 0. || sp >  90.) _error_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
 
 	/* Run core computations: */
 	if (options->GetOption("central_meridian") && options->GetOption("standard_parallel"))
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp	(revision 13036)
@@ -65,7 +65,7 @@
 	if (!(  (nlhs==6) || (nrhs==5))){
 		mexPrintf("   %s format error.\n", __FUNCT__);
 		TriMeshProcessRiftsUsage();
-		_error2_("bad usage");
+		_error_("bad usage");
 	}
 
 	/*Fetch index_in: */
@@ -80,7 +80,7 @@
 		}
 	}
 	else{
-		_error2_("first argument should be the element list");
+		_error_("first argument should be the element list");
 	}
 
 	/*Fetch x_in: */
@@ -93,7 +93,7 @@
 		}
 	}
 	else{
-		_error2_("second argument should be the x corrdinate list");
+		_error_("second argument should be the x corrdinate list");
 	}
 
 	/*Fetch y_in: */
@@ -105,7 +105,7 @@
 		}
 	}
 	else{
-		_error2_("third argument should be the y corrdinate list");
+		_error_("third argument should be the y corrdinate list");
 	}	
 
 	/*Fetch segments_in: */
@@ -120,7 +120,7 @@
 		}
 	}
 	else{
-		_error2_("fourth argument should be the segments list");
+		_error_("fourth argument should be the segments list");
 	}
 
 	/*Fetch segment markers: */
@@ -132,7 +132,7 @@
 		}
 	}
 	else{
-		_error2_("fourth argument should be the segmentmarkers list");
+		_error_("fourth argument should be the segmentmarkers list");
 	}
 
 	/*First, do some fixing on the existing mesh: we do not want any element belonging entirely to the segment list (ie: 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Exp2Kml/Exp2Kml.cpp	(revision 13036)
@@ -24,10 +24,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		Exp2KmlUsage(); _error2_("Exp2Kml usage error");
+		Exp2KmlUsage(); _error_("Exp2Kml usage error");
 	}
 	if (nrhs < NRHS) {
-		Exp2KmlUsage(); _error2_("Exp2Kml usage error");
+		Exp2KmlUsage(); _error_("Exp2Kml usage error");
 	}
 
 	/*Input datasets: */
@@ -48,9 +48,9 @@
 	}
 
 	/*some checks*/
-	if (sgn !=+1 && sgn !=-1) _error2_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
-	if (fabs(cm)      > 180.) _error2_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
-	if (sp < 0. || sp >  90.) _error2_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
+	if (sgn !=+1 && sgn !=-1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
+	if (fabs(cm)      > 180.) _error_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
+	if (sp < 0. || sp >  90.) _error_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
 
 	/* Run core computations: */
 	if (options->GetOption("central_meridian") && options->GetOption("standard_parallel"))
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kml2Exp/Kml2Exp.cpp	(revision 13036)
@@ -21,10 +21,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		Kml2ExpUsage(); _error2_("Kml2Exp usage error");
+		Kml2ExpUsage(); _error_("Kml2Exp usage error");
 	}
 	if (nrhs < NRHS) {
-		Kml2ExpUsage(); _error2_("Kml2Exp usage error");
+		Kml2ExpUsage(); _error_("Kml2Exp usage error");
 	}
 
 	/*Input datasets: */
@@ -42,9 +42,9 @@
 	}
 
 	/*some checks*/
-	if (sgn !=+1 && sgn!= -1) _error2_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
-	if (fabs(cm)      > 180.) _error2_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
-	if (sp < 0. || sp >  90.) _error2_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
+	if (sgn !=+1 && sgn!= -1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
+	if (fabs(cm)      > 180.) _error_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
+	if (sp < 0. || sp >  90.) _error_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
 
 	/* Run core computations: */
 	if (options->GetOption("central_meridian") && options->GetOption("standard_parallel"))
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InternalFront/InternalFront.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InternalFront/InternalFront.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InternalFront/InternalFront.cpp	(revision 13036)
@@ -25,13 +25,13 @@
 
 	/*Fetch required fields*/
 	FetchData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
-	if(numberofelements<=0) _error2_("No elements found in the model");
+	if(numberofelements<=0) _error_("No elements found in the model");
 	FetchData(&elements,&M,&N,mxGetAssignedField(MODEL,0,"elements"));
-	if(M!=numberofelements || N!=3) _error2_("Field 'elements' should be of size [md.numberofelements 3]");
+	if(M!=numberofelements || N!=3) _error_("Field 'elements' should be of size [md.numberofelements 3]");
 	FetchData(&elementonwater,&M,&N,mxGetAssignedField(MODEL,0,"elementonwater"));
-	if(M!=numberofelements || N!=1) _error2_("Field 'elementonwater' should be of size [md.numberofelements 1]");
+	if(M!=numberofelements || N!=1) _error_("Field 'elementonwater' should be of size [md.numberofelements 1]");
 	FetchData(&elementconnectivity,&M,&N,mxGetAssignedField(MODEL,0,"elementconnectivity"));
-	if(M!=numberofelements || N!=3) _error2_("Field 'elementconnectivity' should be of size [md.numberofelements 3]");
+	if(M!=numberofelements || N!=3) _error_("Field 'elementconnectivity' should be of size [md.numberofelements 3]");
 
 	/*Allocate and initialize all variables*/
 	numberofsegments=0;
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMesh2d/InterpFromMesh2d.cpp	(revision 13036)
@@ -68,11 +68,11 @@
 	/*checks on arguments on the matlab side: */
 	if(nlhs!=NLHS){
 		InterpFromMesh2dUsage();
-		_error2_("InterpFromMeshToMesh2dUsage usage error");
+		_error_("InterpFromMeshToMesh2dUsage usage error");
 	}
 	if((nrhs!=6) && (nrhs!=7) && (nrhs!=8)){
 		InterpFromMesh2dUsage();
-		_error2_("InterpFromMeshToMesh2dUsage usage error");
+		_error_("InterpFromMeshToMesh2dUsage usage error");
 	}
 
 	/*Input datasets: */
@@ -130,10 +130,10 @@
 
 	/*some checks*/
 	if (x_data_rows!=y_data_rows){
-		_error2_("vectors x and y should have the same length!");
+		_error_("vectors x and y should have the same length!");
 	}
 	if (x_prime_rows!=y_prime_rows){
-		_error2_("vectors x_prime and y_prime should have the same length!");
+		_error_("vectors x_prime and y_prime should have the same length!");
 	}
 	
 	/*get number of elements and number of nodes in the data*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kriging/Kriging.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kriging/Kriging.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Kriging/Kriging.cpp	(revision 13036)
@@ -21,15 +21,15 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nrhs<NRHS || nlhs>NLHS){
-		KrigingUsage(); _error2_("Kriging usage error");
+		KrigingUsage(); _error_("Kriging usage error");
 	}
 
 	/*Fetch inputs: */
 	FetchData(&x,&n_obs,X);
-	FetchData(&y,&N,Y);                       if(n_obs!=N) _error2_("x and y should have the same size");
-	FetchData(&observations,&N,OBSERVATIONS); if(n_obs!=N) _error2_("x and observations should have the same size");
+	FetchData(&y,&N,Y);                       if(n_obs!=N) _error_("x and y should have the same size");
+	FetchData(&observations,&N,OBSERVATIONS); if(n_obs!=N) _error_("x and observations should have the same size");
 	FetchData(&x_interp,&M_interp,&N_interp,XINTERP);
-	FetchData(&y_interp,&M,&N,YINTERP);       if(N!=N_interp || M!=M_interp) _error2_("x_interp and y_interp should have the same size");
+	FetchData(&y_interp,&M,&N,YINTERP);       if(N!=N_interp || M!=M_interp) _error_("x_interp and y_interp should have the same size");
 	FetchData(&options,NRHS,nrhs,prhs);
 
 	/*Call x layer*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/BamgTriangulate/BamgTriangulate.cpp	(revision 13036)
@@ -31,9 +31,9 @@
 	FetchData(&y,&y_rows,&y_cols,YHANDLE);
 
 	/*Check inputs*/
-	if(y_rows!=nods)         _error2_("x and y do not have the same length");
-	if(x_cols>1 || y_cols>1) _error2_("x and y should have only one column");
-	if(nods<3)               _error2_("At least 3 points are required");
+	if(y_rows!=nods)         _error_("x and y do not have the same length");
+	if(x_cols>1 || y_cols>1) _error_("x and y should have only one column");
+	if(nods<3)               _error_("At least 3 points are required");
 
 	/* Run core computations: */
 	if (verbose) _printLine_("Call core");
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp	(revision 13036)
@@ -27,22 +27,22 @@
 	#ifdef _HAVE_MATLAB_MODULES_
 	if(nlhs!=NLHS){
 		InterpFromMeshToMesh2dUsage();
-		_error2_("InterpFromMeshToMesh2dUsage usage error");
+		_error_("InterpFromMeshToMesh2dUsage usage error");
 	}
 	#endif
 	/*check on input arguments: */
 	if(nrhs<NRHS){
 		InterpFromMeshToMesh2dUsage();
-		_error2_("InterpFromMeshToMesh2dUsage usage error");
+		_error_("InterpFromMeshToMesh2dUsage usage error");
 	}
 
 	/*Fetch inputs: */
-	FetchData(&index,&nels_data,&test,INDEX); if(test!=3) _error2_("index should have 3 columns");
-	FetchData(&x_data,&nods_data,X);          if(nods_data<3) _error2_("there should be at least three points");
-	FetchData(&y_data,&test,Y);               if(test!=nods_data) _error2_("vectors x and y should have the same length");
-	FetchData(&data,&M_data,&N_data,DATA);    if(M_data*N_data<1) _error2_("data is empty");
-	FetchData(&x_interp,&N_interp,XINTERP);   if(N_interp<1) _error2_("no interpolation requested");
-	FetchData(&y_interp,&test,YINTERP);       if(test!=N_interp) _error2_("vectors x_interp and y_interp should have the same length");
+	FetchData(&index,&nels_data,&test,INDEX); if(test!=3) _error_("index should have 3 columns");
+	FetchData(&x_data,&nods_data,X);          if(nods_data<3) _error_("there should be at least three points");
+	FetchData(&y_data,&test,Y);               if(test!=nods_data) _error_("vectors x and y should have the same length");
+	FetchData(&data,&M_data,&N_data,DATA);    if(M_data*N_data<1) _error_("data is empty");
+	FetchData(&x_interp,&N_interp,XINTERP);   if(N_interp<1) _error_("no interpolation requested");
+	FetchData(&y_interp,&test,YINTERP);       if(test!=N_interp) _error_("vectors x_interp and y_interp should have the same length");
 	FetchData(&options,NRHS,nrhs,ARGUMENTS);
 
 	/*Run core computations*/
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/ContourToMesh/ContourToMesh.cpp	(revision 13036)
@@ -46,13 +46,13 @@
 	#ifdef _HAVE_MATLAB_MODULES_
 	if(nlhs!=1 && nlhs!=2){
 		ContourToMeshUsage();
-		_error2_("usage. See above");
+		_error_("usage. See above");
 	}
 	#endif
 	/*check on input arguments: */
 	if(nrhs!=NRHS){
 		ContourToMeshUsage();
-		_error2_("usage. See above");
+		_error_("usage. See above");
 	}
 
 
@@ -81,7 +81,7 @@
 		WriteData(PLHS0,in_nod);
 		WriteData(PLHS1,in_elem);
 	}
-	else _error2_("wrong interpolation type");
+	else _error_("wrong interpolation type");
 
 	/*end module: */
 	MODULEEND();
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Xy2ll/Xy2ll.cpp	(revision 13036)
@@ -23,10 +23,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		Xy2llUsage(); _error2_("Xy2ll usage error");
+		Xy2llUsage(); _error_("Xy2ll usage error");
 	}
 	if (nrhs < NRHS) {
-		Xy2llUsage(); _error2_("Xy2ll usage error");
+		Xy2llUsage(); _error_("Xy2ll usage error");
 	}
 
 	/*Input datasets: */
@@ -44,11 +44,11 @@
 	}
 
 	/*some checks*/
-	if   (nx != ny){_error2_("Must have same number of x[" << nx << "] and y[" << ny << "] coordinates.");}
+	if   (nx != ny){_error_("Must have same number of x[" << nx << "] and y[" << ny << "] coordinates.");}
 	else            ncoord=nx;
-	if (sgn != +1 && sgn != -1) _error2_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
-	if (fabs(cm)      > 180.) _error2_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
-	if (sp < 0. || sp >  90.) _error2_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
+	if (sgn != +1 && sgn != -1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south).");
+	if (fabs(cm)      > 180.) _error_("Central meridian cm=" << cm << " must be between -180 (west) and +180 (east) degrees.");
+	if (sp < 0. || sp >  90.) _error_("Standard parallel sp=" << sp << " must be between 0 and 90 degrees (in specified hemisphere).");
 
 	lat=(double*)mxMalloc(ncoord*sizeof(double));
 	lon=(double*)mxMalloc(ncoord*sizeof(double));
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLMeshWrite/KMLMeshWrite.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLMeshWrite/KMLMeshWrite.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/KMLMeshWrite/KMLMeshWrite.cpp	(revision 13036)
@@ -39,10 +39,10 @@
 
 	/*checks on arguments on the matlab side: */
 	if (nlhs > NLHS) {
-		KMLMeshWriteUsage(); _error2_("KMLMeshWrite usage error");
+		KMLMeshWriteUsage(); _error_("KMLMeshWrite usage error");
 	}
 	if (nrhs < NRHS) {
-		KMLMeshWriteUsage(); _error2_("KMLMeshWrite usage error");
+		KMLMeshWriteUsage(); _error_("KMLMeshWrite usage error");
 	}
 
 	/*Input datasets: */
@@ -86,17 +86,17 @@
 	if(part) for (i=0; i<lprt; i++) if (part[i]+1 > nparts) nparts=part[i]+1;
 
 	if (nodecon && (mncon != nnodes))
-	  {_error2_("Nodal connectivity table, if supplied, must be supplied for all nodes.");}
+	  {_error_("Nodal connectivity table, if supplied, must be supplied for all nodes.");}
 	else if (!nodecon)
 		mncon=nnodes;
 	if ((llat != nnodes) || (llng != nnodes) || (llat != llng))
-		_error2_("Latitude and longitude vectors must be supplied for all nodes.");
+		_error_("Latitude and longitude vectors must be supplied for all nodes.");
 	if (part && (lprt != nnodes))
-		_error2_("Partitioning vector, if supplied, must be supplied for all nodes.");
+		_error_("Partitioning vector, if supplied, must be supplied for all nodes.");
 	if (data && !((mdata == nnodes) || (mdata == melem)))
-		_error2_("Data matrix, if supplied, must be supplied for all nodes or all elements.");
+		_error_("Data matrix, if supplied, must be supplied for all nodes or all elements.");
 	if (cmap && (ncmap != 3))
-		_error2_("Colormap matrix, if supplied, must have three columns for rgb.");
+		_error_("Colormap matrix, if supplied, must have three columns for rgb.");
 	if (!strlen(filnam))
 		strcpy(filnam,"stdout");
 
Index: /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Chaco/Chaco.cpp
===================================================================
--- /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Chaco/Chaco.cpp	(revision 13035)
+++ /u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/src/modules/Chaco/Chaco.cpp	(revision 13036)
@@ -41,7 +41,7 @@
    double *doubleassignment = NULL; /*holds assignment, in double format, to return to matlab */
 
 	#ifndef _HAVE_CHACO_ //only works if dakota library has been compiled in.
-	_error2_("Chaco not available! Cannot carry out Chaco partitioning!");
+	_error_("Chaco not available! Cannot carry out Chaco partitioning!");
 	#endif
 
 	/*Boot module: */
