Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 21049)
@@ -1489,13 +1489,29 @@
 	if(control_analysis && iomodel->Data("md.inversion.cost_functions_coefficients")) {
 
+		/*Generate cost functions associated with the iomodel*/
+		char**	cost_functions			= NULL;
+		int*		cost_functions_enums = NULL;
+		int		num_cost_functions;
+
+		iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
+		iomodel->FindConstant(&cost_functions,&num_cost_functions,"md.inversion.cost_functions");
+		if(num_cost_functions<1) _error_("No cost functions found");
+		cost_functions_enums=xNew<int>(num_cost_functions);
+		for(int j=0;j<num_cost_functions;j++){ cost_functions_enums[j]=StringToEnumx(cost_functions[j]); }
+
 		/*Create inputs and add to DataSetInput*/
 		DatasetInput* datasetinput=new DatasetInput(InversionCostFunctionsCoefficientsEnum);
 		for(i=0;i<num_responses;i++){
 			for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.inversion.cost_functions_coefficients")[(penta_vertex_ids[j]-1)*num_responses+i];
-			datasetinput->AddInput(new PentaInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),reCast<int>(iomodel->Data("md.inversion.cost_functions")[i]));
+			datasetinput->AddInput(new PentaInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),cost_functions_enums[i]);
 		}
 
 		/*Add datasetinput to element inputs*/
 		this->inputs->AddInput(datasetinput);
+
+		/*Free resources*/
+		for(int j=0;j<num_cost_functions;j++) xDelete<char>(cost_functions[j]);
+		xDelete<char*>(cost_functions);
+		xDelete<int>(cost_functions_enums);
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp	(revision 21049)
@@ -453,13 +453,29 @@
 	if (control_analysis && iomodel->Data("md.inversion.cost_functions_coefficients")) {
 
+		/*Generate cost functions associated with the iomodel*/
+		char**	cost_functions			= NULL;
+		int*		cost_functions_enums = NULL;
+		int		num_cost_functions;
+
+		iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
+		iomodel->FindConstant(&cost_functions,&num_cost_functions,"md.inversion.cost_functions");
+		if(num_cost_functions<1) _error_("No cost functions found");
+		cost_functions_enums=xNew<int>(num_cost_functions);
+		for(int j=0;j<num_cost_functions;j++){ cost_functions_enums[j]=StringToEnumx(cost_functions[j]); }
+
 		/*Create inputs and add to DataSetInput*/
 		DatasetInput* datasetinput=new DatasetInput(InversionCostFunctionsCoefficientsEnum);
 		for(i=0;i<num_responses;i++){
 			for(j=0;j<NUMVERTICES;j++)nodeinputs[j]=iomodel->Data("md.inversion.cost_functions_coefficients")[(tetra_vertex_ids[j]-1)*num_responses+i];
-			datasetinput->AddInput(new TetraInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),reCast<int>(iomodel->Data("md.inversion.cost_functions")[i]));
+			datasetinput->AddInput(new TetraInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),cost_functions_enums[i]);
 		}
 
 		/*Add datasetinput to element inputs*/
 		this->inputs->AddInput(datasetinput);
+
+		/*Clean up cost functions*/
+		xDelete<int>(cost_functions_enums);
+		for(int j=0;j<num_cost_functions;j++) xDelete<char>(cost_functions[j]); 
+		xDelete<char*>(cost_functions);
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 21049)
@@ -1823,4 +1823,15 @@
 	/*DatasetInputs*/
 	if (control_analysis && iomodel->Data("md.inversion.cost_functions_coefficients")){
+	
+		/*Generate cost functions associated with the iomodel*/
+		char**	cost_functions			= NULL;
+		int*		cost_functions_enums = NULL;
+		int		num_cost_functions;
+
+		iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
+		iomodel->FindConstant(&cost_functions,&num_cost_functions,"md.inversion.cost_functions");
+		if(num_cost_functions<1) _error_("No cost functions found");
+		cost_functions_enums=xNew<int>(num_cost_functions);
+		for(int j=0;j<num_cost_functions;j++){ cost_functions_enums[j]=StringToEnumx(cost_functions[j]); }
 
 		/*Create inputs and add to DataSetInput*/
@@ -1828,9 +1839,14 @@
 		for(i=0;i<num_responses;i++){
 			for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data("md.inversion.cost_functions_coefficients")[(tria_vertex_ids[j]-1)*num_responses+i];
-			datasetinput->AddInput(new TriaInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),reCast<int>(iomodel->Data("md.inversion.cost_functions")[i]));
+			datasetinput->AddInput(new TriaInput(InversionCostFunctionsCoefficientsEnum,nodeinputs,P1Enum),cost_functions_enums[i]);
 		}
 
 		/*Add datasetinput to element inputs*/
 		this->inputs->AddInput(datasetinput);
+
+		/*Clean up cost functions*/
+		xDelete<int>(cost_functions_enums);
+		for(int j=0;j<num_cost_functions;j++) xDelete<char>(cost_functions[j]);
+		xDelete<char*>(cost_functions);
 	}
 }
Index: /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/classes/Loads/Riftfront.cpp	(revision 21049)
@@ -86,5 +86,5 @@
 	//intialize properties
 	this->type=SegmentRiftfrontEnum;
-	this->fill = reCast<int,IssmDouble>(*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+7));
+	this->fill = IoRiftfillToEnum(reCast<int,IssmDouble>(*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+7)));
 	this->friction=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+8);
 	this->fractionincrement=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+10);
Index: /issm/trunk-jpl/src/c/classes/Misfit.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Misfit.h	(revision 21048)
+++ /issm/trunk-jpl/src/c/classes/Misfit.h	(revision 21049)
@@ -53,10 +53,11 @@
 
 			this->definitionenum=in_definitionenum;
-			this->name   = xNew<char>(strlen(in_name)+1);
+			
+			this->name		= xNew<char>(strlen(in_name)+1);
 			xMemCpy<char>(this->name,in_name,strlen(in_name)+1);
 
-			this->timeinterpolation   = xNew<char>(strlen(in_timeinterpolation)+1);
+			this->timeinterpolation = xNew<char>(strlen(in_timeinterpolation)+1);
 			xMemCpy<char>(this->timeinterpolation,in_timeinterpolation,strlen(in_timeinterpolation)+1);
-
+						
 			this->model_enum=in_model_enum;
 			this->observation_enum=in_observation_enum;
@@ -110,10 +111,8 @@
 		/*Definition virtual function resolutoin: */
 		int DefinitionEnum(){/*{{{*/
-
 			return this->definitionenum;
 		}
 		/*}}}*/
 		char* Name(){/*{{{*/
-
 			char* name2=xNew<char>(strlen(this->name)+1);
 			xMemCpy(name2,this->name,strlen(this->name)+1);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 21049)
@@ -8,5 +8,5 @@
 #include "../ModelProcessorx.h"
 
-void CreateParametersControl(Parameters* parameters,IoModel* iomodel,int solution_type){
+void CreateParametersControl(Parameters* parameters,IoModel* iomodel,int solution_type){/*{{{*/
 
 	bool        control_analysis;
@@ -17,5 +17,5 @@
 	char**      controls      = NULL;
 	int        *maxiter       = NULL;
-	int        *cm_responses  = NULL;
+	char**      cm_responses  = NULL;
 	IssmDouble *cm_jump       = NULL;
 	IssmDouble *optscal       = NULL;
@@ -51,7 +51,16 @@
 		parameters->AddObject(new IntVecParam(InversionControlParametersEnum,control_enums,num_controls));
 
-		iomodel->FetchData(&cm_responses,NULL,&num_costfunc,"md.inversion.cost_functions");
-		parameters->AddObject(new IntVecParam(InversionCostFunctionsEnum,cm_responses,num_costfunc));
+		iomodel->FindConstant(&cm_responses,&num_costfunc,"md.inversion.cost_functions");
+		if(num_costfunc<1) _error_ ("no cost functions found");
+		int* costfunc_enums=xNew<int>(num_costfunc);
+		for(int i=0;i<num_costfunc;i++){
+			costfunc_enums[i]=StringToEnumx(cm_responses[i]);
+			xDelete<char>(cm_responses[i]);
+		}
+		xDelete<char*>(cm_responses);
+		parameters->AddObject(new IntVecParam(InversionCostFunctionsEnum,costfunc_enums,num_costfunc));
+		
 		xDelete<int>(control_enums);
+		xDelete<int>(costfunc_enums);
 
 		/*Inversion type specifics*/
@@ -103,9 +112,7 @@
 			default:
 				_error_("not supported");
-
 		}
 
 		xDelete<int>(control_enums);
-		xDelete<int>(cm_responses);
 		xDelete<int>(maxiter);
 		xDelete<IssmDouble>(control_scaling_factors);
@@ -113,3 +120,3 @@
 		iomodel->DeleteData(optscal,"md.inversion.gradient_scaling");
 	}
-}
+}/*}}}*/
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp	(revision 21049)
@@ -12,11 +12,12 @@
 
 	/*Intermediary*/
-	int       control,cost_function,domaintype;
-	Element  *element = NULL;
-	Material *material = NULL;
-	int       num_controls,num_cost_functions;
-	int*      control_enums = NULL;
-	char**    controls;
-	bool      control_analysis;
+	bool       control_analysis;
+	int        control,cost_function,domaintype;
+	int        num_controls,num_cost_functions;
+	Element   *element          = NULL;
+	Material  *material         = NULL;
+	int       *control_enums    = NULL;
+	char     **controls         = NULL;
+	char     **cost_functions   = NULL;
 
 	/*Fetch parameters: */
@@ -35,12 +36,19 @@
 	}
 
-	iomodel->FetchData(4,"md.inversion.cost_functions","md.inversion.cost_functions_coefficients","md.inversion.min_parameters","md.inversion.max_parameters");
+	/*Process cost functions and convert from string to enums*/
+	iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
+	iomodel->FindConstant(&cost_functions,&num_cost_functions,"md.inversion.cost_functions");
+	if(num_cost_functions<1) _error_("No cost functions found");
+	int* cost_function_enums=xNew<int>(num_cost_functions);
+	for(int i=0;i<num_cost_functions;++i){
+		cost_function_enums[i]=StringToEnumx(cost_functions[i]);
+	}
 
+	iomodel->FetchData(3,"md.inversion.cost_functions_coefficients","md.inversion.min_parameters","md.inversion.max_parameters");
+	
 	/*Fetch Observations */
-	iomodel->FindConstant(&num_cost_functions,"md.inversion.num_cost_functions");
 	iomodel->FindConstant(&domaintype,"md.mesh.domain_type");
 	for(int i=0;i<num_cost_functions;i++){
-		cost_function= reCast<int,IssmDouble>(iomodel->Data("md.inversion.cost_functions")[i]);
-		//iomodel->FetchDataToInput(elements,"md.inversion.thickness_obs",InversionThicknessObsEnum);
+		cost_function=cost_function_enums[i];
 		if(     cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(elements,"md.inversion.thickness_obs",InversionThicknessObsEnum);
 		else if(cost_function==SurfaceAbsMisfitEnum)   iomodel->FetchDataToInput(elements,"md.inversion.surface_obs",InversionSurfaceObsEnum);
@@ -106,10 +114,11 @@
 		}
 	}
-	iomodel->DeleteData(4,"md.inversion.cost_functions","md.inversion.cost_functions_coefficients","md.inversion.min_parameters","md.inversion.max_parameters");
+
+	iomodel->DeleteData(3,"md.inversion.cost_functions_coefficients","md.inversion.min_parameters","md.inversion.max_parameters");
 	xDelete<int>(control_enums);
+	xDelete<int>(cost_function_enums);
+	for(int i=0;i<num_cost_functions;i++) xDelete<char>(cost_functions[i]);
+	xDelete<char*>(cost_functions);
 	for(int i=0;i<num_controls;i++) xDelete<char>(controls[i]);
 	xDelete<char*>(controls);
-
-
-
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21049)
@@ -18,6 +18,17 @@
 	/*Create output_definitions dataset: */
 	output_definitions=new DataSet();
-	
-	iomodel->FetchData(&output_definition_enums,&num_output_definitions,NULL,"md.outputdefinition.list");
+
+	char** out_strings = NULL;
+	iomodel->FetchData(&out_strings,&num_output_definitions,"md.outputdefinition.list");
+	if(num_output_definitions>0){
+		output_definition_enums=xNew<int>(num_output_definitions);
+		for(int i=0;i<num_output_definitions;i++){
+			output_definition_enums[i]=StringToEnumx(out_strings[i]);
+		}
+	}
+	// free data
+	for(int i=0;i<num_output_definitions;i++) xDelete<char>(out_strings[i]);
+	xDelete<char*>(out_strings);
+
 	if(num_output_definitions){
 		for (i=0;i<num_output_definitions;i++){
@@ -28,5 +39,5 @@
 				int          temp,numgates;
 				char       **gatenames           = NULL;
-				int         *gatedefinitionenums = NULL;
+				char		  **gatedefinitionstrings = NULL;
 				IssmDouble **gatesegments        = NULL;
 				int         *gatesegments_M      = NULL;
@@ -34,9 +45,9 @@
 				/*Fetch segments and names: */
 				iomodel->FetchMultipleData(&gatenames,&numgates,                     "md.massfluxatgate.name");
-				iomodel->FetchMultipleData(&gatedefinitionenums,&temp,               "md.massfluxatgate.definitionenum"); _assert_(temp==numgates);
+				iomodel->FetchMultipleData(&gatedefinitionstrings,&temp,             "md.massfluxatgate.definitionstring"); _assert_(temp==numgates);
 				iomodel->FetchMultipleData(&gatesegments,&gatesegments_M,NULL,&temp, "md.massfluxatgate.segments");       _assert_(temp==numgates);
 
 				for(j=0;j<numgates;j++){
-					output_definitions->AddObject(new Massfluxatgate<IssmDouble>(gatenames[j],gatedefinitionenums[j],gatesegments_M[j],gatesegments[j]));
+					output_definitions->AddObject(new Massfluxatgate<IssmDouble>(gatenames[j],StringToEnumx(gatedefinitionstrings[j]),gatesegments_M[j],gatesegments[j]));
 				}
 				/*Free ressources:*/
@@ -48,5 +59,5 @@
 				xDelete<IssmDouble*>(gatesegments);
 				xDelete<int>(gatesegments_M);
-				xDelete<int>(gatedefinitionenums);
+				xDelete<char*>(gatedefinitionstrings);
 				/*}}}*/
 			}
@@ -56,39 +67,39 @@
 				/*misfit variables: */
 				int          nummisfits;
-				char**       misfit_name_s             = NULL;    
-				int*         misfit_definitionenums_s             = NULL;    
-				int*         misfit_model_enum_s        = NULL;
-				IssmDouble** misfit_observation_s      = NULL;
-				int*         misfit_observation_enum_s  = NULL;
-				int*         misfit_observation_M_s    = NULL;
-				int*         misfit_observation_N_s    = NULL;
-				int*         misfit_local_s = NULL;
-				char**       misfit_timeinterpolation_s = NULL;
-				IssmDouble** misfit_weights_s           = NULL;
-				int*         misfit_weights_M_s    = NULL;
-				int*         misfit_weights_N_s    = NULL;
-				int*         misfit_weights_enum_s= NULL;
-
-				/*Fetch name, model_enum, observation, observation_enum, etc ... (see src/m/classes/misfit.m): */
+				char**       misfit_name_s						= NULL;    
+				char**		 misfit_definitionstring_s		= NULL;    
+				char**       misfit_model_string_s			= NULL;
+				IssmDouble** misfit_observation_s			= NULL;
+				char**		 misfit_observation_string_s	= NULL;
+				int*         misfit_observation_M_s			= NULL;
+				int*         misfit_observation_N_s			= NULL;
+				int*         misfit_local_s					= NULL;
+				char**       misfit_timeinterpolation_s	= NULL;
+				IssmDouble** misfit_weights_s					= NULL;
+				int*         misfit_weights_M_s				= NULL;
+				int*         misfit_weights_N_s				= NULL;
+				char**       misfit_weights_string_s		= NULL;
+
+				/*Fetch name, model_string, observation, observation_string, etc ... (see src/m/classes/misfit.m): */
 				iomodel->FetchMultipleData(&misfit_name_s,&nummisfits,                                                        "md.misfit.name");
-				iomodel->FetchMultipleData(&misfit_definitionenums_s,&nummisfits,                                             "md.misfit.definitionenum");
-				iomodel->FetchMultipleData(&misfit_model_enum_s,&nummisfits,                                                  "md.misfit.model_enum");
+				iomodel->FetchMultipleData(&misfit_definitionstring_s,&nummisfits,                                            "md.misfit.definitionstring");
+				iomodel->FetchMultipleData(&misfit_model_string_s,&nummisfits,                                                "md.misfit.model_string");
 				iomodel->FetchMultipleData(&misfit_observation_s,&misfit_observation_M_s,&misfit_observation_N_s,&nummisfits, "md.misfit.observation");
-				iomodel->FetchMultipleData(&misfit_observation_enum_s,&nummisfits,                                            "md.misfit.observation_enum");
+				iomodel->FetchMultipleData(&misfit_observation_string_s,&nummisfits,                                          "md.misfit.observation_string");
 				iomodel->FetchMultipleData(&misfit_timeinterpolation_s,&nummisfits,                                           "md.misfit.timeinterpolation");
 				iomodel->FetchMultipleData(&misfit_local_s,&nummisfits,                                                       "md.misfit.local");
 				iomodel->FetchMultipleData(&misfit_weights_s,&misfit_weights_M_s,&misfit_weights_N_s,&nummisfits,             "md.misfit.weights");
-				iomodel->FetchMultipleData(&misfit_weights_enum_s,&nummisfits,                                                "md.misfit.weights_enum");
+				iomodel->FetchMultipleData(&misfit_weights_string_s,&nummisfits,                                              "md.misfit.weights_string");
 
 				for(j=0;j<nummisfits;j++){
 
-					/*First create a misfit object for that specific enum (misfit_model_enum_s[j]):*/
-					output_definitions->AddObject(new Misfit(misfit_name_s[j],misfit_definitionenums_s[j],misfit_model_enum_s[j],misfit_observation_enum_s[j],misfit_timeinterpolation_s[j],(bool)misfit_local_s[j],misfit_weights_enum_s[j]));
+					/*First create a misfit object for that specific string (misfit_model_string_s[j]):*/
+					output_definitions->AddObject(new Misfit(misfit_name_s[j],StringToEnumx(misfit_definitionstring_s[j]),StringToEnumx(misfit_model_string_s[j]),StringToEnumx(misfit_observation_string_s[j]),misfit_timeinterpolation_s[j],(bool)misfit_local_s[j],StringToEnumx(misfit_weights_string_s[j])));
 
 					/*Now, for this particular misfit object, make sure we plug into the elements: the observation, and the weights.*/
 					for(int k=0;k<elements->Size();k++){
 						Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(k));
-						element->InputCreate(misfit_observation_s[j], iomodel,misfit_observation_M_s[j],misfit_observation_N_s[j],1,misfit_observation_enum_s[j],7);
-						element->InputCreate(misfit_weights_s[j], iomodel,misfit_weights_M_s[j],misfit_weights_N_s[j],1,misfit_weights_enum_s[j],7);
+						element->InputCreate(misfit_observation_s[j], iomodel,misfit_observation_M_s[j],misfit_observation_N_s[j],1,StringToEnumx(misfit_observation_string_s[j]),7);
+						element->InputCreate(misfit_weights_s[j], iomodel,misfit_weights_M_s[j],misfit_weights_N_s[j],1,StringToEnumx(misfit_weights_string_s[j]),7);
 					}
 
@@ -100,4 +111,8 @@
 					IssmDouble* matrix = NULL;
 
+					string = misfit_definitionstring_s[j];		xDelete<char>(string);
+					string = misfit_observation_string_s[j];	xDelete<char>(string);
+					string = misfit_model_string_s[j];			xDelete<char>(string);
+					string = misfit_weights_string_s[j];		xDelete<char>(string);
 					string = misfit_name_s[j];    xDelete<char>(string);
 					string = misfit_timeinterpolation_s[j];    xDelete<char>(string);
@@ -106,8 +121,8 @@
 				}
 				xDelete<char*>(misfit_name_s);
-				xDelete<int>(misfit_model_enum_s);
-				xDelete<int>(misfit_definitionenums_s);
+				xDelete<char*>(misfit_model_string_s);
+				xDelete<char*>(misfit_definitionstring_s);
 				xDelete<IssmDouble*>(misfit_observation_s);
-				xDelete<int>(misfit_observation_enum_s);
+				xDelete<char*>(misfit_observation_string_s);
 				xDelete<int>(misfit_observation_M_s);
 				xDelete<int>(misfit_observation_N_s);
@@ -117,5 +132,5 @@
 				xDelete<int>(misfit_weights_M_s);
 				xDelete<int>(misfit_weights_N_s);
-				xDelete<int>(misfit_weights_enum_s);
+				xDelete<char*>(misfit_weights_string_s);
 				/*}}}*/
 			}
@@ -156,12 +171,12 @@
 			else if (output_definition_enums[i]==MassconEnum){
 				/*Deal with masscons: {{{*/
-				
+
 				/*masscon variables: */
 				int          nummasscons;
-				char**       masscon_name_s             = NULL;    
-				int*         masscon_definitionenum_s   = NULL;    
+				char**       masscon_name_s					= NULL;    
+				int*         masscon_definitionenum_s		= NULL;    
 				IssmDouble** masscon_levelset_s           = NULL;
-				int*         masscon_levelset_M_s    = NULL;
-				int*         masscon_levelset_N_s    = NULL;
+				int*         masscon_levelset_M_s			= NULL;
+				int*         masscon_levelset_N_s			= NULL;
 
 				/*Fetch name and levelset, etc ... (see src/m/classes/masscon.m): */
@@ -232,5 +247,5 @@
 				/*}}}*/
 			}
-			else _error_("output definition enum " << output_definition_enums[i] << "not supported yet!");
+			else _error_("output definition enum " << output_definition_enums[i] << " not supported yet!");
 		}
 	}
Index: /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.cpp	(revision 21049)
@@ -15,6 +15,4 @@
 	/*Now, go through the output definitions, and retrieve the object which corresponds to our requested response, output_string: */
 	for(int i=0;i<output_definitions->Size();i++){
-		
-		//Definition* definition=xDynamicCast<Definition*>(output_definitions->GetObjectByOffset(i));
 		Definition* definition=dynamic_cast<Definition*>(output_definitions->GetObjectByOffset(i));
 
Index: /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp	(revision 21049)
@@ -119,2 +119,12 @@
 
 }/*}}}*/
+
+int IoRiftfillToEnum(int enum_in){/*{{{*/
+	switch(enum_in){
+		case 0: return AirEnum;
+		case 1: return IceEnum;
+		case 2: return MelangeEnum;
+		case 3: return WaterEnum;
+		default: _error_("Marshalled Riftfill enum \""<<enum_in<<"\" not supported yet.");
+	}
+}/*}}}*/
Index: /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.h	(revision 21048)
+++ /issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.h	(revision 21049)
@@ -12,3 +12,6 @@
 int IoCodeToEnumVertexEquation(int enum_in);
 int IoCodeToEnumElementEquation(int enum_in);
+
+int IoRiftfillToEnum(int enum_in);
+
 #endif	
Index: /issm/trunk-jpl/src/m/classes/SMBcomponents.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBcomponents.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBcomponents.m	(revision 21049)
@@ -49,20 +49,20 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/SMBcomponents.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBcomponents.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBcomponents.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import *
 from project3d import *
@@ -55,20 +54,20 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.runoff','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.runoff','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 21049)
@@ -67,5 +67,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1);
 				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -89,5 +88,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1])
 			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
Index: /issm/trunk-jpl/src/m/classes/SMBforcing.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBforcing.m	(revision 21049)
@@ -48,10 +48,10 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if (solution==TransientSolutionEnum & md.transient.issmb == 0), return; end
+			if (strcmp(solution,'TransientSolution') & md.transient.issmb == 0), return; end
 			
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/SMBforcing.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBforcing.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBforcing.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -42,8 +41,8 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.mass_balance','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
Index: /issm/trunk-jpl/src/m/classes/SMBgradients.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgradients.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBgradients.m	(revision 21049)
@@ -41,5 +41,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1,'Inf',1);
 				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/SMBgradients.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgradients.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBgradients.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -48,5 +47,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.href','timeseries',1,'NaN',1,'Inf',1)
 			md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1)
Index: /issm/trunk-jpl/src/m/classes/SMBhenning.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 21049)
@@ -35,8 +35,8 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.smbref','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.smbref','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.m	(revision 21049)
@@ -53,26 +53,26 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1,'Inf',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBmeltcomponents.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import *
 from project3d import *
@@ -61,26 +60,26 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.accumulation','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.accumulation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.melt','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.melt','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.refreeze','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.refreeze','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.evaporation','timeseries',1,'NaN',1,'Inf',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.evaporation','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 21049)
@@ -76,5 +76,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses),
+			if ismember('MasstransportAnalysis',analyses),
 				md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',1);
 				md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -118,5 +117,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','smb.desfac','<=',1,'numel',[1])
 			md = checkfield(md,'fieldname','smb.s0p','>=',0,'NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
Index: /issm/trunk-jpl/src/m/classes/adinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/adinversion.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/adinversion.m	(revision 21049)
@@ -83,8 +83,8 @@
 			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
 
-			if solution==BalancethicknessSolutionEnum()
+			if strcmp(solution,'BalancethicknessSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
-			elseif solution==BalancethicknessSoftSolutionEnum()
+			elseif strcmp(solution,'BalancethicknessSoftSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
@@ -159,28 +159,28 @@
 			num_cost_functions=size(self.cost_functions,2);
 			data=self.cost_functions;
-			pos=find(self.cost_functions==101); data(pos)=SurfaceAbsVelMisfitEnum();
-			pos=find(self.cost_functions==102); data(pos)=SurfaceRelVelMisfitEnum();
-			pos=find(self.cost_functions==103); data(pos)=SurfaceLogVelMisfitEnum();
-			pos=find(self.cost_functions==104); data(pos)=SurfaceLogVxVyMisfitEnum();
-			pos=find(self.cost_functions==105); data(pos)=SurfaceAverageVelMisfitEnum();
-			pos=find(self.cost_functions==201); data(pos)=ThicknessAbsMisfitEnum();
-			pos=find(self.cost_functions==501); data(pos)=DragCoefficientAbsGradientEnum();
-			pos=find(self.cost_functions==502); data(pos)=RheologyBbarAbsGradientEnum();
-			pos=find(self.cost_functions==503); data(pos)=ThicknessAbsGradientEnum();
-			pos=find(self.cost_functions==504); data(pos)=ThicknessAlongGradientEnum();
-			pos=find(self.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
-			pos=find(self.cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
-			pos=find(self.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum();
-			pos=find(self.cost_functions==1001); data(pos)=Outputdefinition1Enum();
-			pos=find(self.cost_functions==1002); data(pos)=Outputdefinition2Enum();
-			pos=find(self.cost_functions==1003); data(pos)=Outputdefinition3Enum();
-			pos=find(self.cost_functions==1004); data(pos)=Outputdefinition4Enum();
-			pos=find(self.cost_functions==1005); data(pos)=Outputdefinition5Enum();
-			pos=find(self.cost_functions==1006); data(pos)=Outputdefinition6Enum();
-			pos=find(self.cost_functions==1007); data(pos)=Outputdefinition7Enum();
-			pos=find(self.cost_functions==1008); data(pos)=Outputdefinition8Enum();
-			pos=find(self.cost_functions==1009); data(pos)=Outputdefinition8Enum();
-			pos=find(self.cost_functions==1010); data(pos)=Outputdefinition10Enum();
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+			pos=find(self.cost_functions==101); data(pos)={'SurfaceAbsVelMisfit'};
+			pos=find(self.cost_functions==102); data(pos)={'SurfaceRelVelMisfit'};
+			pos=find(self.cost_functions==103); data(pos)={'SurfaceLogVelMisfit'};
+			pos=find(self.cost_functions==104); data(pos)={'SurfaceLogVxVyMisfit'};
+			pos=find(self.cost_functions==105); data(pos)={'SurfaceAverageVelMisfit'};
+			pos=find(self.cost_functions==201); data(pos)={'ThicknessAbsMisfit'};
+			pos=find(self.cost_functions==501); data(pos)={'DragCoefficientAbsGradient'};
+			pos=find(self.cost_functions==502); data(pos)={'RheologyBbarAbsGradient'};
+			pos=find(self.cost_functions==503); data(pos)={'ThicknessAbsGradient'};
+			pos=find(self.cost_functions==504); data(pos)={'ThicknessAlongGradient'};
+			pos=find(self.cost_functions==505); data(pos)={'ThicknessAcrossGradient'};
+			pos=find(self.cost_functions==506); data(pos)={'BalancethicknessMisfit'};
+			pos=find(self.cost_functions==601); data(pos)={'SurfaceAbsMisfit'};
+			pos=find(self.cost_functions==1001); data(pos)={'Outputdefinition1'};
+			pos=find(self.cost_functions==1002); data(pos)={'Outputdefinition2'};
+			pos=find(self.cost_functions==1003); data(pos)={'Outputdefinition3'};
+			pos=find(self.cost_functions==1004); data(pos)={'Outputdefinition4'};
+			pos=find(self.cost_functions==1005); data(pos)={'Outputdefinition5'};
+			pos=find(self.cost_functions==1006); data(pos)={'Outputdefinition6'};
+			pos=find(self.cost_functions==1007); data(pos)={'Outputdefinition7'};
+			pos=find(self.cost_functions==1008); data(pos)={'Outputdefinition8'};
+			pos=find(self.cost_functions==1009); data(pos)={'Outputdefinition8'};
+			pos=find(self.cost_functions==1010); data(pos)={'Outputdefinition10'};
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/adinversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/adinversion.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/adinversion.py	(revision 21049)
@@ -12,6 +12,4 @@
 
 from MatlabFuncs import *
-
-from EnumDefinitions import *
 from numpy import *
 
@@ -96,8 +94,8 @@
 
 
-		if solution==BalancethicknessSolutionEnum():
+		if solution=='BalancethicknessSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],float('Nan'),1)
 			md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices, 1], float('Nan'),1)
-		elif solution==BalancethicknessSoftSolutionEnum():
+		elif solution=='BalancethicknessSoftSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],float('Nan'),1)
 		else:
@@ -173,28 +171,28 @@
 		num_cost_functions=numpy.size(self.cost_functions,2);
 		data=copy.deepcopy(self.cost_functions)
-		data[numpy.nonzero(self.cost_functions==101)] =SurfaceAbsVelMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==102)]=SurfaceRelVelMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==103)]=SurfaceLogVelMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==104)]=SurfaceLogVxVyMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==105)]=SurfaceAverageVelMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==201)]=ThicknessAbsMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==501)]=DragCoefficientAbsGradientEnum();
-		data[numpy.nonzero(self.cost_functions==502)]=RheologyBbarAbsGradientEnum();
-		data[numpy.nonzero(self.cost_functions==503)]=ThicknessAbsGradientEnum();
-		data[numpy.nonzero(self.cost_functions==504)]=ThicknessAlongGradientEnum();
-		data[numpy.nonzero(self.cost_functions==505)]=ThicknessAcrossGradientEnum();
-		data[numpy.nonzero(self.cost_functions==506)]=BalancethicknessMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==601)]=SurfaceAbsMisfitEnum();
-		data[numpy.nonzero(self.cost_functions==1001)]=Outputdefinition1Enum();
-		data[numpy.nonzero(self.cost_functions==1002)]=Outputdefinition2Enum();
-		data[numpy.nonzero(self.cost_functions==1003)]=Outputdefinition3Enum();
-		data[numpy.nonzero(self.cost_functions==1004)]=Outputdefinition4Enum();
-		data[numpy.nonzero(self.cost_functions==1005)]=Outputdefinition5Enum();
-		data[numpy.nonzero(self.cost_functions==1006)]=Outputdefinition6Enum();
-		data[numpy.nonzero(self.cost_functions==1007)]=Outputdefinition7Enum();
-		data[numpy.nonzero(self.cost_functions==1008)]=Outputdefinition8Enum();
-		data[numpy.nonzero(self.cost_functions==1009)]=Outputdefinition8Enum();
-		data[numpy.nonzero(self.cost_functions==1010)]=Outputdefinition10Enum();
-		WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+		data[numpy.nonzero(self.cost_functions==101)] =['SurfaceAbsVelMisfit'];
+		data[numpy.nonzero(self.cost_functions==102)]=['SurfaceRelVelMisfit'];
+		data[numpy.nonzero(self.cost_functions==103)]=['SurfaceLogVelMisfit'];
+		data[numpy.nonzero(self.cost_functions==104)]=['SurfaceLogVxVyMisfit'];
+		data[numpy.nonzero(self.cost_functions==105)]=['SurfaceAverageVelMisfit'];
+		data[numpy.nonzero(self.cost_functions==201)]=['ThicknessAbsMisfit'];
+		data[numpy.nonzero(self.cost_functions==501)]=['DragCoefficientAbsGradient'];
+		data[numpy.nonzero(self.cost_functions==502)]=['RheologyBbarAbsGradient'];
+		data[numpy.nonzero(self.cost_functions==503)]=['ThicknessAbsGradient'];
+		data[numpy.nonzero(self.cost_functions==504)]=['ThicknessAlongGradient'];
+		data[numpy.nonzero(self.cost_functions==505)]=['ThicknessAcrossGradient'];
+		data[numpy.nonzero(self.cost_functions==506)]=['BalancethicknessMisfit'];
+		data[numpy.nonzero(self.cost_functions==601)]=['SurfaceAbsMisfit'];
+		data[numpy.nonzero(self.cost_functions==1001)]=['Outputdefinition1'];
+		data[numpy.nonzero(self.cost_functions==1002)]=['Outputdefinition2'];
+		data[numpy.nonzero(self.cost_functions==1003)]=['Outputdefinition3'];
+		data[numpy.nonzero(self.cost_functions==1004)]=['Outputdefinition4'];
+		data[numpy.nonzero(self.cost_functions==1005)]=['Outputdefinition5'];
+		data[numpy.nonzero(self.cost_functions==1006)]=['Outputdefinition6'];
+		data[numpy.nonzero(self.cost_functions==1007)]=['Outputdefinition7'];
+		data[numpy.nonzero(self.cost_functions==1008)]=['Outputdefinition8'];
+		data[numpy.nonzero(self.cost_functions==1009)]=['Outputdefinition8'];
+		data[numpy.nonzero(self.cost_functions==1010)]=['Outputdefinition10'];
+		WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 		WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		
Index: /issm/trunk-jpl/src/m/classes/autodiff.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/autodiff.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/autodiff.py	(revision 21049)
@@ -3,5 +3,4 @@
 from independent import independent
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/balancethickness.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/balancethickness.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/balancethickness.m	(revision 21049)
@@ -29,5 +29,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if solution~=BalancethicknessSolutionEnum(), return; end
+			if ~strcmp(solution,'BalancethicknessSolution'), return; end
 
 			md = checkfield(md,'fieldname','balancethickness.spcthickness');
Index: /issm/trunk-jpl/src/m/classes/balancethickness.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/balancethickness.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/balancethickness.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -39,5 +38,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 		#Early return
-		if not solution==BalancethicknessSolutionEnum():
+		if not solution=='BalancethicknessSolution':
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/basalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.m	(revision 21049)
@@ -42,13 +42,13 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
+			if ismember('MasstransportAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.ismasstransport==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
-			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
+			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/basalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/basalforcings.py	(revision 21049)
@@ -1,5 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -54,13 +53,13 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
+		if 'MasstransportAnalysis' in analyses and not (solution=='TransientSolution' and not md.transient.ismasstransport):
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 
-		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
+		if 'ThermalAnalysis' in analyses and not (solution=='TransientSolution' and not md.transient.isthermal):
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
Index: /issm/trunk-jpl/src/m/classes/calving.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calving.m	(revision 21049)
@@ -37,5 +37,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if (solution~=TransientSolutionEnum() | md.transient.ismovingfront==0), return; end
+			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
 
 			md = checkfield(md,'fieldname','calving.calvingrate','>=',0,'timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/calving.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calving.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -42,5 +40,5 @@
 
 		#Early return
-		if (solution!=TransientSolutionEnum()) or (not md.transient.ismovingfront):
+		if (solution!='TransientSolution') or (not md.transient.ismovingfront):
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/calvingdev.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvingdev.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calvingdev.m	(revision 21049)
@@ -39,5 +39,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if (solution~=TransientSolutionEnum() | md.transient.ismovingfront==0), return; end
+			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
 
 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 21049)
@@ -39,5 +39,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if (solution~=TransientSolutionEnum() | md.transient.ismovingfront==0), return; end
+			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
 
 			md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 21049)
@@ -1,5 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -42,5 +40,5 @@
 
 		#Early return
-		if (solution!=TransientSolutionEnum()) or (not md.transient.ismovingfront):
+		if (solution!='TransientSolution') or (not md.transient.ismovingfront):
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/calvingminthickness.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvingminthickness.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/calvingminthickness.m	(revision 21049)
@@ -38,5 +38,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if (solution~=TransientSolutionEnum() | md.transient.ismovingfront==0), return; end
+			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
 
 			md = checkfield(md,'fieldname','calving.min_thickness','>',0,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/constants.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/constants.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/constants.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/damage.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/damage.m	(revision 21049)
@@ -105,5 +105,5 @@
 				md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1);
 			elseif (self.law~=0),
-				if (solution==DamageEvolutionSolutionEnum),
+				if (strcmp(solution,'DamageEvolutionSolution')),
 					error('Invalid evolution law (md.damage.law) for a damage solution');
 				end
Index: /issm/trunk-jpl/src/m/classes/damage.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/damage.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -140,5 +138,5 @@
 			md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1)
 		elif self.law != 0:
-			if (solution==DamageEvolutionSolutionEnum):
+			if (solution=='DamageEvolutionSolution'):
 				raise RuntimeError('Invalid evolution law (md.damage.law) for a damage solution')
 
Index: /issm/trunk-jpl/src/m/classes/dependent.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/dependent.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/dependent.m	(revision 21049)
@@ -64,5 +64,5 @@
 			disp(sprintf('   dependent variable:'));
 
-			fielddisplay(self,'name','variable name (must match corresponding Enum)');
+			fielddisplay(self,'name','variable name (must match corresponding String)');
 			fielddisplay(self,'type','type of variable (''vertex'' or ''scalar'')');
 
Index: /issm/trunk-jpl/src/m/classes/dependent.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/dependent.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/dependent.py	(revision 21049)
@@ -4,5 +4,4 @@
 from fielddisplay import fielddisplay
 from MatlabFuncs import *
-from EnumDefinitions import *
 from MeshProfileIntersection import MeshProfileIntersection
 
@@ -49,5 +48,5 @@
 		s ="   dependent variable:\n"
 
-		s+="%s\n" % fielddisplay(self,'name',"variable name (must match corresponding Enum)")
+		s+="%s\n" % fielddisplay(self,'name',"variable name (must match corresponding String)")
 		s+="%s\n" % fielddisplay(self,'type',"type of variable ('vertex' or 'scalar')")
 
Index: /issm/trunk-jpl/src/m/classes/flaim.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/flaim.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/flaim.m	(revision 21049)
@@ -35,5 +35,5 @@
 
 			%Early return
-			if solution~=FlaimSolutionEnum(), return; end
+			if ~strcmp(solution,'FlaimSolution'), return; end
 
 			md = checkfield(md,'fieldname','flaim.tracks','file',1);
Index: /issm/trunk-jpl/src/m/classes/flaim.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/flaim.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/flaim.py	(revision 21049)
@@ -2,5 +2,4 @@
 from collections import OrderedDict
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -60,5 +59,5 @@
 
 		#Early return
-		if not solution==FlaimSolutionEnum():
+		if not solution=='FlaimSolution':
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/flowequation.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/flowequation.m	(revision 21049)
@@ -91,5 +91,5 @@
 
 			%Early return
-			if (~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(StressbalanceSIAAnalysisEnum(),analyses)) | (solution==TransientSolutionEnum() & md.transient.isstressbalance==0), return; end
+			if (~ismember('StressbalanceAnalysis',analyses) & ~ismember('StressbalanceSIAAnalysis',analyses)) | (strcmp(solution,'TransientSolution') & md.transient.isstressbalance==0), return; end
 
 			md = checkfield(md,'fieldname','flowequation.isSIA','numel',[1],'values',[0 1]);
@@ -127,5 +127,5 @@
 				md = checkmessage(md,['no element types set for this model']);
 			end
-			if ismember(StressbalanceSIAAnalysisEnum(),analyses),
+			if ismember('StressbalanceSIAAnalysis',analyses),
 				if any(self.element_equation==1),
 					if(self.vertex_equation & md.mask.groundedice_levelset<0.),
Index: /issm/trunk-jpl/src/m/classes/flowequation.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 21049)
@@ -3,5 +3,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -83,5 +82,5 @@
 
 		#Early return
-		if (StressbalanceAnalysisEnum() not in analyses and StressbalanceSIAAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.isstressbalance):
+		if ('StressbalanceAnalysis' not in analyses and 'StressbalanceSIAAnalysis' not in analyses) or (solution=='TransientSolution' and not md.transient.isstressbalance):
 			return md
 
@@ -113,5 +112,5 @@
 			md.checkmessage("no element types set for this model")
 
-		if StressbalanceSIAAnalysisEnum() in analyses:
+		if 'StressbalanceSIAAnalysis' in analyses:
 			if any(self.element_equation==1):
 				if numpy.any(numpy.logical_and(self.vertex_equation,md.mask.groundedice_levelset)):
Index: /issm/trunk-jpl/src/m/classes/friction.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/friction.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/friction.m	(revision 21049)
@@ -30,6 +30,6 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
-			if (solution==TransientSolutionEnum() &  md.transient.isstressbalance ==0 & md.transient.isthermal == 0), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
+			if (strcmp(solution,'TransientSolution') &  md.transient.isstressbalance ==0 & md.transient.isthermal == 0), return; end
 
 			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/friction.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/friction.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/friction.py	(revision 21049)
@@ -1,5 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -42,5 +41,5 @@
 
 		#Early return
-		if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses:
+		if 'StressbalanceAnalysis' not in analyses and 'ThermalAnalysis' not in analyses:
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/frictioncoulomb.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictioncoulomb.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictioncoulomb.m	(revision 21049)
@@ -32,5 +32,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','friction.coefficientcoulomb','timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/frictioncoulomb.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictioncoulomb.py	(revision 21049)
@@ -1,5 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -45,5 +44,5 @@
 
 	#Early return
-	if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses:
+	if 'StressbalanceAnalysis' not in analyses and 'ThermalAnalysis' not in analyses:
 	    return md
 
Index: /issm/trunk-jpl/src/m/classes/frictionhydro.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 21049)
@@ -27,5 +27,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','friction.Coupling','numel',[1],'values',[0 1]);
 			md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
Index: /issm/trunk-jpl/src/m/classes/frictionsommers.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionsommers.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionsommers.m	(revision 21049)
@@ -28,5 +28,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/frictiontemp.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictiontemp.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictiontemp.m	(revision 21049)
@@ -37,5 +37,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 
 			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionwaterlayer.m	(revision 21049)
@@ -29,5 +29,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 
 			md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
Index: /issm/trunk-jpl/src/m/classes/frictionweertman.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertman.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionweertman.m	(revision 21049)
@@ -28,5 +28,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
Index: /issm/trunk-jpl/src/m/classes/frictionweertman.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertman.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionweertman.py	(revision 21049)
@@ -1,5 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -34,5 +33,5 @@
 
 		#Early return
-		if StressbalanceAnalysisEnum() not in analyses and ThermalAnalysisEnum() not in analyses:
+		if 'StressbalanceAnalysis' not in analyses and 'ThermalAnalysis' not in analyses:
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/frictionweertmantemp.m	(revision 21049)
@@ -25,5 +25,5 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			if ~ismember('StressbalanceAnalysis',analyses) & ~ismember('ThermalAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','friction.C','timeseries',1,'NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','friction.m','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
Index: /issm/trunk-jpl/src/m/classes/geometry.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/geometry.m	(revision 21049)
@@ -53,5 +53,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if (solution==TransientSolutionEnum() & md.transient.isgia) | (solution==GiaSolutionEnum()),
+			if (strcmp(solution,'TransientSolution') & md.transient.isgia) | strcmp(solution,'GiaSolution'),
 				md = checkfield(md,'fieldname','geometry.thickness','timeseries',1,'NaN',1,'Inf',1,'>=',0);
 			else
@@ -62,5 +62,5 @@
 					md = checkmessage(md,['equality thickness=surface-base violated']);
 				end 
-				if solution==TransientSolutionEnum() & md.transient.isgroundingline,
+				if strcmp(solution,'TransientSolution') & md.transient.isgroundingline,
 					md = checkfield(md,'fieldname','geometry.bed','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
Index: /issm/trunk-jpl/src/m/classes/geometry.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/geometry.py	(revision 21049)
@@ -1,5 +1,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -46,5 +45,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if (solution==TransientSolutionEnum() and md.transient.isgia) or (solution==GiaSolutionEnum()):
+		if (solution=='TransientSolution' and md.transient.isgia) or (solution=='GiaSolution'):
 			md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'Inf',1,'>=',0,'timeseries',1)
 		else:
@@ -54,5 +53,5 @@
 			if any(abs(self.thickness-self.surface+self.base)>10**-9):
 				md.checkmessage("equality thickness=surface-base violated")
-			if solution==TransientSolutionEnum() and md.transient.isgroundingline:
+			if solution=='TransientSolution' and md.transient.isgroundingline:
 				md = checkfield(md,'fieldname','geometry.bed','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 
Index: /issm/trunk-jpl/src/m/classes/gia.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/gia.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/gia.m	(revision 21049)
@@ -28,5 +28,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ~ismember(GiaAnalysisEnum(),analyses), return; end
+			if ~ismember('GiaAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','gia.mantle_viscosity','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
 			md = checkfield(md,'fieldname','gia.lithosphere_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1],'>',0);
@@ -35,5 +35,5 @@
 			%be sure that if we are running a masstransport ice flow model coupled with gia, that thickness forcings 
 			%are not provided into the future.
-			if solution==TransientSolutionEnum() & md.transient.ismasstransport & md.transient.isgia,
+			if strcmp(solution,'TransientSolution') & md.transient.ismasstransport & md.transient.isgia,
 				%figure out if thickness is a transient forcing: 
 				if size(md.geometry.thickness,1)==md.mesh.numberofvertices+1,
Index: /issm/trunk-jpl/src/m/classes/gia.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/gia.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/gia.py	(revision 21049)
@@ -1,5 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -45,5 +44,5 @@
 
 		# Early return 
-		if (GiaAnalysisEnum() not in  analyses):
+		if ('GiaAnalysis' not in  analyses):
 			return md 
 		
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 21049)
@@ -1,6 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.m	(revision 21049)
@@ -96,5 +96,5 @@
 		function md = checkconsistency(self,md,solution,analyses) 
 			%Early return
-			if ~ismember(HydrologyDCInefficientAnalysisEnum(),analyses) & ~ismember(HydrologyDCEfficientAnalysisEnum(),analyses),
+			if ~ismember('HydrologyDCInefficientAnalysis',analyses) & ~ismember('HydrologyDCEfficientAnalysis',analyses),
 				return;
 			end
Index: /issm/trunk-jpl/src/m/classes/hydrologydc.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologydc.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/hydrologydc.py	(revision 21049)
@@ -2,5 +2,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -145,5 +144,5 @@
 
 		#Early return
-		if HydrologyDCInefficientAnalysisEnum() not in analyses and HydrologyDCEfficientAnalysisEnum() not in analyses:
+		if 'HydrologyDCInefficientAnalysis' not in analyses and 'HydrologyDCEfficientAnalysis' not in analyses:
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/hydrologyshreve.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/hydrologyshreve.m	(revision 21049)
@@ -30,5 +30,5 @@
 
 			%Early return
-			if ~ismember(HydrologyShreveAnalysisEnum(),analyses)
+			if ~ismember('HydrologyShreveAnalysis',analyses)
 				return;
 			end
Index: /issm/trunk-jpl/src/m/classes/hydrologyshreve.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/hydrologyshreve.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -40,5 +39,5 @@
 		
 		#Early return
-		if HydrologyShreveAnalysisEnum() not in analyses:
+		if 'HydrologyShreveAnalysis' not in analyses:
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/hydrologysommers.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/hydrologysommers.m	(revision 21049)
@@ -34,5 +34,5 @@
 
 			%Early return
-			if ~ismember(HydrologySommersAnalysisEnum(),analyses)
+			if ~ismember('HydrologySommersAnalysis',analyses)
 				return;
 			end
Index: /issm/trunk-jpl/src/m/classes/independent.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/independent.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/independent.m	(revision 21049)
@@ -51,5 +51,5 @@
 			disp(sprintf('   independent variable:'));
 
-			fielddisplay(self,'name','variable name (must match corresponding Enum)');
+			fielddisplay(self,'name','variable name (must match corresponding String)');
 			fielddisplay(self,'type','type of variable (''vertex'' or ''scalar'')');
 			fielddisplay(self,'nods','size of dependent variables');
Index: /issm/trunk-jpl/src/m/classes/independent.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/independent.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/independent.py	(revision 21049)
@@ -4,5 +4,4 @@
 from checkfield import checkfield
 from MatlabFuncs import *
-from EnumDefinitions import *
 
 class independent(object):
@@ -33,5 +32,5 @@
 		s ="   independent variable:\n"
 
-		s+="%s\n" % fielddisplay(self,'name',"variable name (must match corresponding Enum)")
+		s+="%s\n" % fielddisplay(self,'name',"variable name (must match corresponding String)")
 		s+="%s\n" % fielddisplay(self,'type',"type of variable ('vertex' or 'scalar')")
 		if not numpy.isnan(self.fos_forward_index):
Index: /issm/trunk-jpl/src/m/classes/initialization.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/initialization.m	(revision 21049)
@@ -46,5 +46,5 @@
 		end % }}}
 		function md = checkconsistency(self,md,solution,analyses) % {{{
-			if ismember(StressbalanceAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isstressbalance == 0),
+			if ismember('StressbalanceAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isstressbalance == 0),
 				if ~(isnan(md.initialization.vx) | isnan(md.initialization.vy)),
 					md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
@@ -52,9 +52,9 @@
 				end
 			end
-			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport == 0),
+			if ismember('MasstransportAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.ismasstransport == 0),
 				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses) & solution==BalancethicknessSolutionEnum,
+			if ismember('BalancethicknessAnalysis',analyses) & strcmp(solution,'BalancethicknessSolution'),
 				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
@@ -64,5 +64,5 @@
 				end
 			end
-			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal == 0),
+			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal == 0),
 				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
@@ -73,19 +73,19 @@
 				md = checkfield(md,'fieldname','initialization.temperature','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 			end
-			if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy)
+			if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy)
 				md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices 1]);
 			end
-			if ismember(HydrologyShreveAnalysisEnum(),analyses),
+			if ismember('HydrologyShreveAnalysis',analyses),
 				if isa(md.hydrology,'hydrologyshreve'),
 					md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
-			if ismember(HydrologyDCInefficientAnalysisEnum(),analyses),
+			if ismember('HydrologyDCInefficientAnalysis',analyses),
 				if isa(md.hydrology,'hydrologydc'),
 					md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
-			if ismember(HydrologyDCEfficientAnalysisEnum(),analyses),
+			if ismember('HydrologyDCEfficientAnalysis',analyses),
 				if isa(md.hydrology,'hydrologydc'),
 					if md.hydrology.isefficientlayer==1,
Index: /issm/trunk-jpl/src/m/classes/initialization.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/initialization.py	(revision 21049)
@@ -2,5 +2,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -70,12 +69,12 @@
 	#}}}
 	def checkconsistency(self,md,solution,analyses):    # {{{
-		if StressbalanceAnalysisEnum() in analyses:
+		if 'StressbalanceAnalysis' in analyses:
 			if not numpy.any(numpy.logical_or(numpy.isnan(md.initialization.vx),numpy.isnan(md.initialization.vy))):
 				md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 				md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
-		if MasstransportAnalysisEnum() in analyses:
+		if 'MasstransportAnalysis' in analyses:
 			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
@@ -84,5 +83,5 @@
 			                               numpy.sum(numpy.abs(md.initialization.vy[md.mesh.elements-1]),axis=1)==0)):
 				md.checkmessage("at least one triangle has all its vertices with a zero velocity")
-		if ThermalAnalysisEnum() in analyses:
+		if 'ThermalAnalysis' in analyses:
 			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
@@ -91,14 +90,14 @@
 				md = checkfield(md,'fieldname','initialization.vz','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
-			if (EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy):
+			if ('EnthalpyAnalysis' in analyses and md.thermal.isenthalpy):
 				md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
 				md = checkfield(md,'fieldname','initialization.watercolumn'  ,'>=',0,'size',[md.mesh.numberofvertices])
-		if HydrologyShreveAnalysisEnum() in analyses:
+		if 'HydrologyShreveAnalysis' in analyses:
 			if hasattr(md.hydrology,'hydrologyshreve'):
 				md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
-		if HydrologyDCInefficientAnalysisEnum() in analyses:
+		if 'HydrologyDCInefficientAnalysis' in analyses:
 			if hasattr(md.hydrology,'hydrologydc'):
 				md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices,1])
-		if HydrologyDCEfficientAnalysisEnum() in analyses:
+		if 'HydrologyDCEfficientAnalysis' in analyses:
 			if hasattr(md.hydrology,'hydrologydc'):
 				if md.hydrology.isefficientlayer==1:
Index: /issm/trunk-jpl/src/m/classes/inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/inversion.m	(revision 21049)
@@ -103,5 +103,5 @@
 
 			%Only SSA, HO and FS are supported right now
-			if solution==StressbalanceSolutionEnum()
+			if strcmp(solution,'StressbalanceSolution')
 				if ~(md.flowequation.isSSA || md.flowequation.isHO || md.flowequation.isFS || md.flowequation.isL1L2),
 					md = checkmessage(md,['inversion can only be performed for SSA, HO or FS ice flow models']);
@@ -109,7 +109,7 @@
 			end
 
-			if solution==BalancethicknessSolutionEnum()
+			if strcmp(solution,'BalancethicknessSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
-			elseif solution==BalancethicknessSoftSolutionEnum()
+			elseif strcmp(solution,'BalancethicknessSoftSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
@@ -182,5 +182,5 @@
 			num_cost_functions=size(self.cost_functions,2);
 			data=marshallcostfunctions(self.cost_functions);
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversion.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/inversion.py	(revision 21049)
@@ -2,6 +2,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -24,5 +22,5 @@
 		self.nsteps                      = 0
 		self.maxiter_per_step            = float('NaN')
-		self.cost_functions              = float('NaN')
+		self.cost_functions              = '' 
 		self.cost_functions_coefficients = float('NaN')
 		self.gradient_scaling            = float('NaN')
@@ -146,9 +144,9 @@
 
 		#Only SSA, HO and FS are supported right now
-		if solution==StressbalanceSolutionEnum():
+		if solution=='StressbalanceSolution':
 			if not (md.flowequation.isSSA or md.flowequation.isHO or md.flowequation.isFS or md.flowequation.isL1L2):
 				md.checkmessage("'inversion can only be performed for SSA, HO or FS ice flow models");
 
-		if solution==BalancethicknessSolutionEnum():
+		if solution=='BalancethicknessSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		else:
@@ -189,5 +187,5 @@
 		num_cost_functions=numpy.size(self.cost_functions)
 		data=marshallcostfunctions(self.cost_functions)
-		WriteData(fid,prefix,'data',numpy.array(data).reshape(1,-1),'name','md.inversion.cost_functions','format','DoubleMat','mattype',3)
+		WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray')
 		WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer')
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/inversionvalidation.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/inversionvalidation.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/inversionvalidation.m	(revision 21049)
@@ -73,7 +73,7 @@
 			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
 
-			if solution==BalancethicknessSolutionEnum()
+			if strcmp(solution,'BalancethicknessSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
-			elseif solution==BalancethicknessSoftSolutionEnum()
+			elseif strcmp(solution,'BalancethicknessSoftSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
@@ -141,5 +141,5 @@
 			num_cost_functions=size(self.cost_functions,2);
 			data=marshallcostfunctions(self.cost_functions);
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/levelset.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/levelset.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/levelset.m	(revision 21049)
@@ -42,5 +42,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 			%Early return
-			if (solution~=TransientSolutionEnum() | md.transient.ismovingfront==0), return; end
+			if (~strcmp(solution,'TransientSolution') | md.transient.ismovingfront==0), return; end
 
 			md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/levelset.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/levelset.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/levelset.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -47,5 +45,5 @@
 
 		#Early return
-		if (solution!=TransientSolutionEnum()) or (not md.transient.ismovingfront):
+		if (solution!='TransientSolution') or (not md.transient.ismovingfront):
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/linearbasalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/linearbasalforcings.m	(revision 21049)
@@ -41,5 +41,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
+			if ismember('MasstransportAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.ismasstransport==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
@@ -47,5 +47,5 @@
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
@@ -53,5 +53,5 @@
 				md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0,'numel',1);
 			end
-			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
+			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0,'numel',1);
Index: /issm/trunk-jpl/src/m/classes/linearbasalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/linearbasalforcings.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -68,5 +67,5 @@
 	def checkconsistency(self,md,solution,analyses):    # {{{
 
-		if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
+		if 'MasstransportAnalysis' in analyses and not (solution=='TransientSolution' and not md.transient.ismasstransport):
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
@@ -74,5 +73,5 @@
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
 
-		if BalancethicknessAnalysisEnum() in analyses:
+		if 'BalancethicknessAnalysis' in analyses:
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
@@ -80,5 +79,5 @@
 			md = checkfield(md,'fieldname','basalforcings.upperwater_elevation','<',0);
 
-		if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and not md.transient.isthermal):
+		if 'ThermalAnalysis' in analyses and not (solution=='TransientSolution' and not md.transient.isthermal):
 			md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
 			md = checkfield(md,'fieldname','basalforcings.deepwater_melting_rate','>=',0);
Index: /issm/trunk-jpl/src/m/classes/m1qn3inversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/m1qn3inversion.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/m1qn3inversion.m	(revision 21049)
@@ -94,8 +94,8 @@
 			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
 
-			if solution==BalancethicknessSolutionEnum()
+			if strcmp(solution,'BalancethicknessSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 				md = checkfield(md,'fieldname','inversion.surface_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
-			elseif solution==BalancethicknessSoftSolutionEnum()
+			elseif strcmp(solution,'BalancethicknessSoftSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
@@ -171,5 +171,5 @@
 			num_cost_functions=size(self.cost_functions,2);
 			data=marshallcostfunctions(self.cost_functions);
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/m1qn3inversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/m1qn3inversion.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/m1qn3inversion.py	(revision 21049)
@@ -2,6 +2,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -155,5 +153,5 @@
 		md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices,num_controls])
 
-		if solution==BalancethicknessSolutionEnum():
+		if solution=='BalancethicknessSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices],'NaN',1,'Inf',1)
 		else:
@@ -193,5 +191,5 @@
 		num_cost_functions=numpy.size(self.cost_functions)
 		data=marshallcostfunctions(self.cost_functions)
-		WriteData(fid,prefix,'data',numpy.array(data).reshape(1,-1),'name','md.inversion.cost_functions','format','DoubleMat','mattype',3)
+		WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray')
 		WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer')
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 21049)
@@ -2,5 +2,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/maskpsl.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/maskpsl.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/maskpsl.py	(revision 21049)
@@ -2,5 +2,4 @@
 import MatlabFuncs as m
 from model import *
-from EnumDefinitions import *
 from fielddisplay import fielddisplay
 from checkfield import checkfield
Index: /issm/trunk-jpl/src/m/classes/masscon.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/masscon.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/masscon.m	(revision 21049)
@@ -14,5 +14,5 @@
 		%masscon
 		name              = '';
-		definitionenum   = NaN; %enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum
+		definitionstring   = ''; %string that identifies this output definition uniquely, from 'Outputdefinition[1-10]'
 		levelset          = NaN; %levelset vectorial field which identifies the boundaries of the masscon
 	end
@@ -29,5 +29,5 @@
 				self.name=getfieldvalue(options,'name','');
 				self.levelset=getfieldvalue(options,'levelset');
-				self.definitionenum=getfieldvalue(options,'definitionenum');
+				self.definitionstring=getfieldvalue(options,'definitionstring');
 
 			end
@@ -41,6 +41,10 @@
 			end
 			
-			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
 
+			md = checkfield(md,'fieldname','self.definitionstring','field',self.definitionstring,'values','Outputdefinition');
 			md = checkfield(md,'fieldname','self.levelset','field',self.levelset,'timeseries',1,'NaN',1,'Inf',1);
 
@@ -51,5 +55,5 @@
 
 			fielddisplay(self,'name','identifier for this masscon response');
-			fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from ''Outputdefinition[1-10]''');
 			fielddisplay(self,'levelset','levelset vectorial field which identifies the boundaries of the masscon');
 
@@ -58,5 +62,5 @@
 
 		WriteData(fid,prefix,'object',self,'fieldname','name','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','definitionenum','format','Integer');
+		WriteData(fid,prefix,'object',self,'fieldname','definitionstring','format','String');
 		WriteData(fid,prefix,'object',self,'fieldname','levelset','format','DoubleMat','mattype',1);
 
Index: /issm/trunk-jpl/src/m/classes/massconaxpby.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/massconaxpby.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/massconaxpby.m	(revision 21049)
@@ -15,5 +15,5 @@
 		%masscon axpby
 		name              = '';
-		definitionenum   = NaN; %enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum
+		definitionstring   = ''; %String that identifies this output definition uniquely, from 'Outputdefinition[1-10]'
 		namex              = '';
 		namey              = '';
@@ -32,5 +32,5 @@
 				%get names
 				self.name=getfieldvalue(options,'name','');
-				self.definitionenum=getfieldvalue(options,'definitionenum');
+				self.definitionstring=getfieldvalue(options,'definitionstring');
 				self.namex=getfieldvalue(options,'namex');
 				self.namey=getfieldvalue(options,'namey');
@@ -50,6 +50,12 @@
 			if ~ischar(self.namex), error('masscon error message: ''namex'' field should be a string!'); end
 			if ~ischar(self.namey), error('masscon error message: ''namey'' field should be a string!'); end
-			
-			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
+		
+			% Create output definition cell array for check
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
+
+			md = checkfield(md,'fieldname','self.definitionstring','field',self.definitionstring,'values',OutputdefinitionStringArray);
 
 			md = checkfield(md,'fieldname','self.alpha','field',self.alpha,'NaN',1,'Inf',1,'size',[1 1]);
@@ -62,5 +68,5 @@
 
 			fielddisplay(self,'name','name');
-			fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from Outputdefinition[1-10]');
 			fielddisplay(self,'namex','identifier for the first masscon');
 			fielddisplay(self,'alpha','first masscon multiplicator');
@@ -72,5 +78,5 @@
 
 		WriteData(fid,prefix,'object',self,'fieldname','name','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','definitionenum','format','Integer');
+		WriteData(fid,prefix,'object',self,'fieldname','definitionstring','format','Integer');
 		WriteData(fid,prefix,'object',self,'fieldname','namex','format','String');
 		WriteData(fid,prefix,'object',self,'fieldname','namey','format','String');
Index: /issm/trunk-jpl/src/m/classes/massfluxatgate.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/massfluxatgate.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/massfluxatgate.m	(revision 21049)
@@ -3,5 +3,5 @@
 %   Usage:
 %      massfluxatgate=massfluxatgate();
-%      massfluxatgate=massfluxatgate('name','GateName','definitionname',Outputdefinition1Enum,'profilename','PathToExpFile');
+%      massfluxatgate=massfluxatgate('name','GateName','definitionname','Outputdefinition1','profilename','PathToExpFile');
 
 classdef massfluxatgate
@@ -9,5 +9,5 @@
 		%massfluxatgate 
 		name            = '';
-		definitionenum  = 0;
+		definitionstring  = '';
 		profilename     = ''; 
 	end
@@ -25,5 +25,5 @@
 				%get name
 				self.name=getfieldvalue(options,'name','');
-				self.definitionenum=getfieldvalue(options,'definitionenum');
+				self.definitionstring=getfieldvalue(options,'definitionstring');
 				self.profilename=getfieldvalue(options,'profilename');
 			end
@@ -39,6 +39,10 @@
 				error('massfluxatgate error message: ''profilename'' field should be a string!');
 			end
-			
-			md = checkfield(md,'field',self.definitionenum,'values',[Outputdefinition1Enum():Outputdefinition100Enum()]);
+		
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
+			md = checkfield(md,'field',self.definitionstring,'values',OutputdefinitionStringArray);
 
 			%check the profilename points to a file!: 
@@ -52,5 +56,5 @@
 			fielddisplay(self,'name','identifier for this massfluxatgate response');
 			fielddisplay(self,'profilename','name of file (shapefile or argus file) defining a profile (or gate)');
-			fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from ''Outputdefinition[1-10]''');
 			
 		end % }}}
@@ -62,5 +66,5 @@
 		%ok, marshall name and segments: 
 		WriteData(fid,prefix,'data',self.name,'name','md.massfluxatgate.name','format','String');
-		WriteData(fid,prefix,'data',self.definitionenum,'name','md.massfluxatgate.definitionenum','format','Integer');
+		WriteData(fid,prefix,'data',self.definitionstring,'name','md.massfluxatgate.definitionstring','format','String');
 		WriteData(fid,prefix,'data',self.segments,'name','md.massfluxatgate.segments','format','DoubleMat','mattype',1);
 
Index: /issm/trunk-jpl/src/m/classes/massfluxatgate.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/massfluxatgate.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/massfluxatgate.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from pairoptions import pairoptions
 from checkfield import checkfield
@@ -18,5 +17,5 @@
 
 		self.name            = ''
-		self.definitionenum  = 0
+		self.definitionstring  = ''
 		self.profilename     = ''
 		self.segments        = float('NaN')
@@ -36,5 +35,5 @@
 		string="   Massfluxatgate:"
 		string="%s\n%s"%(string,fielddisplay(self,'name','identifier for this massfluxatgate response'))
-		string="%s\n%s"%(string,fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum'))
+		string="%s\n%s"%(string,fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from Outputdefinition[1-10]'))
 		string="%s\n%s"%(string,fielddisplay(self,'profilename','name of file (shapefile or argus file) defining a profile (or gate)'))
 		return string
@@ -51,5 +50,5 @@
 			raise RuntimeError("massfluxatgate error message: 'profilename' field should be a string!") 
 
-			md = checkfield(md,'field',self.definitionenum,'values',[Outputdefinition1Enum(),Outputdefinition2Enum(),Outputdefinition3Enum(),Outputdefinition4Enum(),Outputdefinition5Enum(),Outputdefinition6Enum(),Outputdefinition7Enum(),Outputdefinition8Enum(),Outputdefinition9Enum(),Outputdefinition10Enum()])
+			md = checkfield(md,'field',self.definitionstring,'values',['Outputdefinition1','Outputdefinition2','Outputdefinition3','Outputdefinition4','Outputdefinition5','Outputdefinition6','Outputdefinition7','Outputdefinition8','Outputdefinition9','Outputdefinition10'])
 		
 		#check the profilename points to a file!: 
@@ -66,5 +65,5 @@
 		#ok, marshall name and segments: 
 		WriteData(fid,prefix,'data',self.name,'name','md.massfluxatgate.name','format','String');
-		WriteData(fid,prefix,'data',self.definitionenum,'name','md.massfluxatgate.definitionenum','format','Integer');
+		WriteData(fid,prefix,'data',self.definitionstring,'name','md.massfluxatgate.definitionstring','format','String');
 		WriteData(fid,prefix,'data',self.segments,'name','md.massfluxatgate.segments','format','DoubleMat','mattype',1);
 
Index: /issm/trunk-jpl/src/m/classes/masstransport.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/masstransport.m	(revision 21049)
@@ -87,5 +87,5 @@
 
 			%Early return
-			if ~ismember(MasstransportAnalysisEnum(),analyses) |  (solution==TransientSolutionEnum() & md.transient.ismasstransport==0), return; end
+			if ~ismember('MasstransportAnalysis',analyses) |  (strcmp(solution,'TransientSolution') & md.transient.ismasstransport==0), return; end
 
 			md = checkfield(md,'fieldname','masstransport.spcthickness','Inf',1,'timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/masstransport.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/masstransport.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -69,5 +67,5 @@
 
 		#Early return
-		if (MasstransportAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.ismasstransport):
+		if ('MasstransportAnalysis' not in analyses) or (solution=='TransientSolution' and not md.transient.ismasstransport):
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/matdamageice.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/matdamageice.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/matdamageice.m	(revision 21049)
@@ -116,5 +116,5 @@
 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
 
-			if ismember(GiaAnalysisEnum(),analyses),
+			if ismember('GiaAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
 				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
@@ -122,5 +122,5 @@
 				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
 			end
-			if ismember(SealevelriseAnalysisEnum(),analyses),
+			if ismember('SealevelriseAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/matdamageice.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/matdamageice.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/matdamageice.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import MaterialsEnum, MatdamageiceEnum, MaterialsRheologyLawEnum, MaterialsRhoSeawaterEnum
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/matestar.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/matestar.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/matestar.m	(revision 21049)
@@ -126,5 +126,5 @@
 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
 
-			if ismember(GiaAnalysisEnum(),analyses),
+			if ismember('GiaAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
 				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
@@ -132,5 +132,5 @@
 				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
 			end
-			if ismember(SealevelriseAnalysisEnum(),analyses),
+			if ismember('SealevelriseAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/matice.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/matice.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/matice.m	(revision 21049)
@@ -116,5 +116,5 @@
 			md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
 
-			if ismember(GiaAnalysisEnum(),analyses),
+			if ismember('GiaAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1);
 				md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',1);
@@ -122,5 +122,5 @@
 				md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1);
 			end
-			if ismember(SealevelriseAnalysisEnum(),analyses),
+			if ismember('SealevelriseAnalysis',analyses),
 				md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1);
 			end
Index: /issm/trunk-jpl/src/m/classes/matice.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/matice.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/matice.py	(revision 21049)
@@ -1,6 +1,4 @@
 from fielddisplay import fielddisplay
 from project3d import project3d
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/mesh2d.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2d.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh2d.m	(revision 21049)
@@ -93,6 +93,5 @@
 			md = checkfield(md,'fieldname','mesh.segments','NaN',1,'Inf',1,'>',0,'size',[NaN 3]);
 
-			switch(solution),
-				case ThermalSolutionEnum(),
+			if strcmp(solution,'ThermalSolution')
 					md = checkmessage(md,'thermal not supported for 2d mesh');
 			end
Index: /issm/trunk-jpl/src/m/classes/mesh2d.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 import MatlabFuncs as m
@@ -93,5 +92,5 @@
 		md = checkfield(md,'fieldname','mesh.numberofvertices','>',0)
 		md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message',"'mesh.average_vertex_connectivity' should be at least 9 in 2d")
-		if solution==ThermalSolutionEnum():
+		if solution=='ThermalSolution':
 			md.checkmessage("thermal not supported for 2d mesh")
 
Index: /issm/trunk-jpl/src/m/classes/mesh2dvertical.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh2dvertical.m	(revision 21049)
@@ -93,7 +93,6 @@
 			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
 
-			switch(solution),
-				case ThermalSolutionEnum(),
-					md = checkmessage(md,'thermal not supported for 2d mesh');
+			if strcmp(solution,'ThermalSolution')
+				md = checkmessage(md,'thermal not supported for 2d mesh');
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/mesh3dprisms.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh3dprisms.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import *
 import MatlabFuncs as m
Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.m	(revision 21049)
@@ -96,7 +96,6 @@
 			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
 
-			switch(solution),
-				case ThermalSolutionEnum(),
-					md = checkmessage(md,'thermal not supported for 2d mesh');
+			if strcmp(solution,'ThermalSolution')
+				md = checkmessage(md,'thermal not supported for 2d mesh');
 			end
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 21049)
@@ -1,5 +1,4 @@
 from MatlabFuncs import *
 from model import *
-from EnumDefinitions import *
 from numpy import *
 from fielddisplay import fielddisplay
@@ -125,5 +124,5 @@
 		md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','"mesh.average_vertex_connectivity" should be at least 9 in 2d')
 
-		if (solution==ThermalSolutionEnum()):
+		if (solution=='ThermalSolution'):
 			md = checkmessage(md,'thermal not supported for 2d mesh');
 			
Index: /issm/trunk-jpl/src/m/classes/miscellaneous.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/miscellaneous.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/miscellaneous.py	(revision 21049)
@@ -1,5 +1,4 @@
 from collections import OrderedDict
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/misfit.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/misfit.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/misfit.m	(revision 21049)
@@ -4,11 +4,12 @@
 %      misfit=misfit();
 %      misfit=misfit('name','SurfaceAltimetry',...
-%                    'definitionenum',Outputdefinition1Enum, 'model_enum',SurfaceEnum,...
-%                    'observation_enum',SurfaceObservationsEnum,...
+%                    'definitionstring','Outputdefinition1',... 
+%							'model_string','Surface',...
+%                    'observation_string','SurfaceObservations',...
 %                    'observation',md.geometry.surface,...
 %                    'timeinterpolation','nearestneighbor',...
 %                    'local',1,...
 %                    'weights',ones(md.mesh.numberofvertices,1),...
-%                    'weights_enum',WeightsSurfaceObservationsEnum);
+%                    'weights_string','WeightsSurfaceObservations');
 %
 %
@@ -17,14 +18,14 @@
 	properties (SetAccess=public)
 		%misfit
-		name              = '';
-		definitionenum   = NaN; %enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum
-		model_enum        = NaN; %enum for field that is modeled
-		observation       = NaN; %observed field that we compare the model against
-		observation_enum  = NaN; %enum for observed field.
-		timeinterpolation = '';
-		local             = 1;
-		weights           = NaN; %weight coefficients for every vertex
-		weights_enum      = NaN; %enum to identify this particular set of weights
-		cumulated         = NaN; %do we cumulate misfit through time?
+		name						= '';
+		definitionstring		= ''; %string that identifies this output definition uniquely, from 'Outputdefinition[1-10]'
+		model_string			= ''; %string for field that is modeled
+		observation				= NaN; %observed field that we compare the model against
+		observation_string	= ''; %string for observed field.
+		timeinterpolation		= '';
+		local						= 1;
+		weights					= NaN; %weight coefficients for every vertex
+		weights_string			= ''; %string to identify this particular set of weights
+		cumulated				= NaN; %do we cumulate misfit through time?
 	end
 	
@@ -39,12 +40,12 @@
 				%get name
 				self.name=getfieldvalue(options,'name','');
-				self.definitionenum=getfieldvalue(options,'definitionenum');
-				self.model_enum=getfieldvalue(options,'model_enum');
+				self.definitionstring=getfieldvalue(options,'definitionstring');
+				self.model_string=getfieldvalue(options,'model_string');
 				self.observation=getfieldvalue(options,'observation',NaN);
-				self.observation_enum=getfieldvalue(options,'observation_enum');
+				self.observation_string=getfieldvalue(options,'observation_string');
 				self.local=getfieldvalue(options,'local',1);
 				self.timeinterpolation=getfieldvalue(options,'timeinterpolation','nearestneighbor');
 				self.weights=getfieldvalue(options,'weights',NaN);
-				self.weights_enum=getfieldvalue(options,'weights_enum',NaN);
+				self.weights_string=getfieldvalue(options,'weights_string','');
 
 			end
@@ -59,5 +60,9 @@
 				error('misfit error message: ''name'' field should be a string!');
 			end
-			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
+			md = checkfield(md,'fieldname','self.definitionstring','field',self.definitionstring,'values',OutputdefinitionStringArray);
 
 			if ~ischar(self.timeinterpolation),
@@ -74,12 +79,12 @@
 
 			fielddisplay(self,'name','identifier for this misfit response');
-			fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum');
-			fielddisplay(self,'model_enum','enum for field that is modeled');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from ''Outputdefinition[1-10]''');
+			fielddisplay(self,'model_string','string for field that is modeled');
 			fielddisplay(self,'observation','observed field that we compare the model against');
-			fielddisplay(self,'observation_enum','observation enum');
+			fielddisplay(self,'observation_string','observation string');
 			fielddisplay(self,'local','is the response local to the elements, or global? (default is 1)''');
 			fielddisplay(self,'timeinterpolation','interpolation routine used to interpolate misfit between two time steps (default is ''nearestneighbor''');
 			fielddisplay(self,'weights','weights (at vertices) to apply to the misfit');
-			fielddisplay(self,'weights_enum','enum for weights for identification purposes');
+			fielddisplay(self,'weights_string','string for weights for identification purposes');
 
 		end % }}}
@@ -87,12 +92,12 @@
 
 		WriteData(fid,prefix,'data',self.name,'name','md.misfit.name','format','String');
-		WriteData(fid,prefix,'data',self.definitionenum,'name','md.misfit.definitionenum','format','Integer');
-		WriteData(fid,prefix,'data',self.model_enum,'name','md.misfit.model_enum','format','Integer');
+		WriteData(fid,prefix,'data',self.definitionstring,'name','md.misfit.definitionstring','format','String');
+		WriteData(fid,prefix,'data',self.model_string,'name','md.misfit.model_string','format','String');
 		WriteData(fid,prefix,'data',self.observation,'name','md.misfit.observation','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
-		WriteData(fid,prefix,'data',self.observation_enum,'name','md.misfit.observation_enum','format','Integer');
+		WriteData(fid,prefix,'data',self.observation_string,'name','md.misfit.observation_string','format','String');
 		WriteData(fid,prefix,'data',self.local,'name','md.misfit.local','format','Integer');
 		WriteData(fid,prefix,'data',self.timeinterpolation,'name','md.misfit.timeinterpolation','format','String');
 		WriteData(fid,prefix,'data',self.weights,'name','md.misfit.weights','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
-		WriteData(fid,prefix,'data',self.weights_enum,'name','md.misfit.weights_enum','format','Integer');
+		WriteData(fid,prefix,'data',self.weights_string,'name','md.misfit.weights_string','format','String');
 
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mismipbasalforcings.m	(revision 21049)
@@ -45,5 +45,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
+			if ismember('MasstransportAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.ismasstransport==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
@@ -51,5 +51,5 @@
 				md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
@@ -57,5 +57,5 @@
 				md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',1);
 			end
-			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
+			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);
Index: /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/mismipbasalforcings.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -55,5 +54,5 @@
 
 	#Early return
-        if MasstransportAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and md.transient.ismasstransport==0):
+        if 'MasstransportAnalysis' in analyses and not (solution=='TransientSolution' and md.transient.ismasstransport==0):
 
 	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
@@ -62,5 +61,5 @@
 	    md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',[1])
 
-        if BalancethicknessAnalysisEnum() in analyses:
+        if 'BalancethicknessAnalysis' in analyses:
 
 	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices])
@@ -69,5 +68,5 @@
 	    md = checkfield(md,'fieldname','basalforcings.upperdepth_melt','<=',0,'numel',[1])
 
-        if ThermalAnalysisEnum() in analyses and not (solution==TransientSolutionEnum() and md.transient.isthermal==0):
+        if 'ThermalAnalysis' in analyses and not (solution=='TransientSolution' and md.transient.isthermal==0):
 
 	    md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1)
Index: /issm/trunk-jpl/src/m/classes/nodalvalue.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/nodalvalue.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/nodalvalue.m	(revision 21049)
@@ -4,6 +4,6 @@
 %      nodalvalue=nodalvalue();
 %      nodalvalue=nodalvalue('name','SealevelriseSNodalValue',...
-%                    'definitionenum',Outputdefinition1Enum, 
-%                    'model_enum',SealevelriseSEnum,...
+%                    'definitionstring','Outputdefinition1', 
+%                    'model_string','SealevelriseS',
 %                    'node',1);
 
@@ -12,6 +12,6 @@
 		%nodalvalue
 		name              = '';
-		definitionenum   = NaN; %enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum
-		model_enum       = NaN; %enum for field that is being retrieved
+		definitionstring   = ''; %string that identifies this output definition uniquely, from 'Outputdefinition[1-10]'
+		model_string      = ''; %string for field that is being retrieved
 		node             = NaN; %for which node are we retrieving the value?
 	end
@@ -27,6 +27,6 @@
 				%get name
 				self.name=getfieldvalue(options,'name','');
-				self.definitionenum=getfieldvalue(options,'definitionenum');
-				self.model_enum=getfieldvalue(options,'model_enum');
+				self.definitionstring=getfieldvalue(options,'definitionstring');
+				self.model_string=getfieldvalue(options,'model_string');
 				self.node=getfieldvalue(options,'node',NaN);
 
@@ -40,6 +40,9 @@
 				error('nodalvalue error message: ''name'' field should be a string!');
 			end
-			md = checkfield(md,'fieldname','self.definitionenum','field',self.definitionenum,'values',[Outputdefinition1Enum:Outputdefinition100Enum]);
-
+			OutputdefinitionStringArray={};
+			for i=1:100
+				OutputdefinitionStringArray{i}=strcat('Outputdefinition',num2str(i));
+			end
+			md = checkfield(md,'fieldname','self.definitionstring','field',self.definitionstring,'values',OutputdefinitionStringArray);
 			md = checkfield(md,'fieldname','self.node','field',self.node,'values',[1:md.mesh.numberofvertices]);
 
@@ -50,6 +53,6 @@
 
 			fielddisplay(self,'name','identifier for this nodalvalue response');
-			fielddisplay(self,'definitionenum','enum that identifies this output definition uniquely, from Outputdefinition[1-10]Enum');
-			fielddisplay(self,'model_enum','enum for field that is being retrieved');
+			fielddisplay(self,'definitionstring','string that identifies this output definition uniquely, from ''Outputdefinition[1-10]''');
+			fielddisplay(self,'model_string','string for field that is being retrieved');
 			fielddisplay(self,'node','vertex index at which we retrieve the value');
 
@@ -58,6 +61,6 @@
 
 		WriteData(fid,prefix,'object',self,'fieldname','name','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','definitionenum','format','Integer');
-		WriteData(fid,prefix,'object',self,'fieldname','model_enum','format','Integer');
+		WriteData(fid,prefix,'object',self,'fieldname','definitionstring','format','String');
+		WriteData(fid,prefix,'object',self,'fieldname','model_string','format','String');
 		WriteData(fid,prefix,'object',self,'fieldname','node','format','Integer');
 
Index: /issm/trunk-jpl/src/m/classes/outputdefinition.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/outputdefinition.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/outputdefinition.m	(revision 21049)
@@ -37,5 +37,5 @@
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
-
+		%{
 		enums=zeros(length(self.definitions),1);
 		for i=1:length(self.definitions),
@@ -45,7 +45,15 @@
 			enums(i)=StringToEnum(classdefinition);
 		end
-		enums=unique(enums);
-		
 		WriteData(fid,prefix,'data',enums,'name','md.outputdefinition.list','format','DoubleMat','mattype',1);
+		%}
+		data={};
+		for i=1:length(self.definitions)
+			self.definitions{i}.marshall(prefix,md,fid);
+			classdefinition=class(self.definitions{i});
+			classdefinition(1)=upper(classdefinition(1));
+			data{i}=classdefinition;
+		end
+		data_unique=unique(data);
+		WriteData(fid,prefix,'data',data_unique,'name','md.outputdefinition.list','format','StringArray');
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
Index: /issm/trunk-jpl/src/m/classes/outputdefinition.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/outputdefinition.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/outputdefinition.py	(revision 21049)
@@ -1,5 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
-from StringToEnum import StringToEnum
 from checkfield import checkfield
 from WriteData import WriteData
@@ -35,15 +33,12 @@
 	# }}}
 	def marshall(self,prefix,md,fid):    # {{{
-		
-		enums=npy.zeros(len(self.definitions),)
-		
+		data=[];
 		for i in range(len(self.definitions)):
 			self.definitions[i].marshall(prefix,md,fid);
-			classdefinition=self.definitions[i].__class__.__name__
+			classdefinition=self.definitions[i].__class__.__name__;
 			classdefinition=classdefinition[0].upper()+classdefinition[1:]
-			enums[i]=StringToEnum(classdefinition)[0]
-		
-		enums=npy.unique(enums);
-		
-		WriteData(fid,prefix,'data',enums,'name','md.outputdefinition.list','format','DoubleMat','mattype',1);
+			data.append(classdefinition)
+
+		data=npy.unique(data);
+		WriteData(fid,prefix,'data',data,'name','md.outputdefinition.list','format','StringArray');
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/plumebasalforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/plumebasalforcings.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/plumebasalforcings.m	(revision 21049)
@@ -66,13 +66,13 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport==0),
+			if ismember('MasstransportAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.ismasstransport==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
 			end
-			if ismember(BalancethicknessAnalysisEnum(),analyses),
+			if ismember('BalancethicknessAnalysis',analyses),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			end
-			if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal==0),
+			if ismember('ThermalAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.isthermal==0),
 				md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'timeseries',1);
 				md = checkfield(md,'fieldname','basalforcings.floatingice_melting_rate','NaN',1,'timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/private.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/private.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/private.py	(revision 21049)
@@ -1,5 +1,4 @@
 from collections import OrderedDict
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 
Index: /issm/trunk-jpl/src/m/classes/qmu.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/qmu.py	(revision 21049)
@@ -3,5 +3,4 @@
 from collections import OrderedDict
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/results.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/results.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/results.py	(revision 21049)
@@ -3,5 +3,4 @@
 from fielddisplay import fielddisplay
 import MatlabFuncs as m
-from EnumDefinitions import *
 
 class results(object):
Index: /issm/trunk-jpl/src/m/classes/rifts.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/rifts.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/rifts.m	(revision 21049)
@@ -39,5 +39,5 @@
 				end
 				for i=1:numrifts,
-					md = checkfield(md,'fieldname',sprintf('rifts.riftstruct(%d).fill',i),'values',[WaterEnum() AirEnum() IceEnum() MelangeEnum()]);
+					md = checkfield(md,'fieldname',sprintf('rifts.riftstruct(%d).fill',i),'values',{'Air','Ice','Melange','Water'});
 				end
 			else
@@ -62,7 +62,22 @@
 				numrifts=numel(self.riftstruct);
 			end
+
 			numpairs=0;
 			for i=1:numrifts,
 				numpairs=numpairs+size(self.riftstruct(i).penaltypairs,1);
+			end
+			
+			for i=1:numrifts
+				if (strcmpi(self.riftstruct(i).fill,'Air'))
+					self.riftstruct(i).fill = 0;
+				elseif (strcmpi(self.riftstruct(i).fill,'Ice'))
+					self.riftstruct(i).fill = 1;
+				elseif (strcmpi(self.riftstruct(i).fill,'Melange'))
+					self.riftstruct(i).fill = 2;
+				elseif (strcmpi(self.riftstruct(i).fill,'Water'))
+					self.riftstruct(i).fill = 3;
+				else
+					error(['Could not convert string in riftstruct to integer for marshalling']);	
+				end
 			end
 
Index: /issm/trunk-jpl/src/m/classes/rifts.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/rifts.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/rifts.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -48,5 +47,5 @@
 				md.checkmessage("model should be processed for rifts (run meshprocessrifts)!")
 			for i,rift in enumerate(self.riftstruct):
-				md = checkfield(md,'fieldname',"rifts.riftstruct[%d]['fill']" % i,'values',[WaterEnum(),AirEnum(),IceEnum(),MelangeEnum()])
+				md = checkfield(md,'fieldname',"rifts.riftstruct[%d]['fill']" % i,'values',['Water','Air','Ice','Melange'])
 		else:
 			if self.riftstruct and numpy.any(numpy.logical_not(isnans(self.riftstruct))):
@@ -67,4 +66,17 @@
 			numpairs+=numpy.size(rift['penaltypairs'],axis=0)
 
+		# Convert strings in riftstruct to hard coded numbers
+		for i,rift in enumerate(self.riftstruct):
+			if rift['fill'] == 'Air':
+				rift['fill'] = 0;
+			elif rift['fill'] == 'Ice':
+				rift['fill'] = 1;
+			elif rift['fill'] == 'Melange':
+				rift['fill'] = 2;
+			elif rift['fill'] == 'Water':
+				rift['fill'] = 3;
+			else:
+				error('Could not convert strings in riftstruct to integers for marshalling')
+
 		# 2 for nodes + 2 for elements+ 2 for  normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction + 1 for fractionincrement + 1 for state.
 		data=numpy.zeros((numpairs,12))
Index: /issm/trunk-jpl/src/m/classes/settings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/settings.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/settings.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/slr.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/slr.m	(revision 21049)
@@ -62,5 +62,5 @@
 		function md = checkconsistency(self,md,solution,analyses) % {{{
 
-			if ~ismember(SealevelriseAnalysisEnum(),analyses), return; end
+			if ~ismember('SealevelriseAnalysis',analyses), return; end
 			md = checkfield(md,'fieldname','slr.deltathickness','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','slr.sealevel','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
Index: /issm/trunk-jpl/src/m/classes/slr.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/slr.py	(revision 21049)
@@ -2,5 +2,4 @@
 from MatlabFuncs import *
 from model import *
-from EnumDefinitions import *
 from numpy import *
 from checkfield import checkfield
@@ -90,5 +89,5 @@
 
 		#Early return
-		if (solution!=SealevelriseAnalysisEnum()):
+		if (solution!='SealevelriseAnalysis'):
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/steadystate.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/steadystate.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/steadystate.m	(revision 21049)
@@ -37,5 +37,5 @@
 
 			%Early return
-			if solution~=SteadystateSolutionEnum(), return; end;
+			if ~strcmp(solution,'SteadystateSolution'), return; end;
 
 			if md.timestepping.time_step~=0,
Index: /issm/trunk-jpl/src/m/classes/steadystate.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/steadystate.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/steadystate.py	(revision 21049)
@@ -1,5 +1,4 @@
 import numpy
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -49,5 +48,5 @@
 
 		#Early return
-		if not solution==SteadystateSolutionEnum():
+		if not solution=='SteadystateSolution':
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/stressbalance.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.m	(revision 21049)
@@ -88,6 +88,6 @@
 
 			%Early return
-			if ~ismember(StressbalanceAnalysisEnum(),analyses), return; end
-			if (solution==TransientSolutionEnum & md.transient.isstressbalance == 0), return; end
+			if ~ismember('StressbalanceAnalysis',analyses), return; end
+			if (strcmp(solution,'TransientSolution') & md.transient.isstressbalance == 0), return; end
 
 			md = checkfield(md,'fieldname','stressbalance.spcvx','Inf',1,'timeseries',1);
Index: /issm/trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 21049)
@@ -4,5 +4,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -130,5 +129,5 @@
 
 		#Early return
-		if StressbalanceAnalysisEnum() not in analyses:
+		if 'StressbalanceAnalysis' not in analyses:
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/taoinversion.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.m	(revision 21049)
@@ -117,7 +117,7 @@
 			md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]);
 
-			if solution==BalancethicknessSolutionEnum()
+			if strcmp(solution,'BalancethicknessSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
-			elseif solution==BalancethicknessSoftSolutionEnum()
+			elseif strcmp(solution,'BalancethicknessSoftSolution')
 				md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1);
 			else
@@ -192,5 +192,5 @@
 			num_cost_functions=size(self.cost_functions,2);
 			data=marshallcostfunctions(self.cost_functions);
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3);
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/taoinversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 21049)
@@ -5,5 +5,4 @@
 from fielddisplay import fielddisplay
 from IssmConfig import IssmConfig
-from EnumDefinitions import *
 from marshallcostfunctions import marshallcostfunctions
 
@@ -155,7 +154,7 @@
 
 
-		if solution==BalancethicknessSolutionEnum():
+		if solution=='BalancethicknessSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
-		elif solution==BalancethicknessSoftSolutionEnum():
+		elif solution=='BalancethicknessSoftSolution':
 			md = checkfield(md,'fieldname','inversion.thickness_obs','size',[md.mesh.numberofvertices, 1],'NaN',1,'Inf',1)
 		else:
@@ -196,4 +195,4 @@
 			num_cost_functions = numpy.size(self.cost_functions,2)
 			data= marshallcostfunctions(self.cost_functions)
-			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','DoubleMat','mattype',3)
+			WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray')
 			WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer')
Index: /issm/trunk-jpl/src/m/classes/thermal.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/thermal.m	(revision 21049)
@@ -72,9 +72,9 @@
 
 			%Early return
-			if (~ismember(ThermalAnalysisEnum(),analyses) & ~ismember(EnthalpyAnalysisEnum(),analyses)) | (solution==TransientSolutionEnum() & md.transient.isthermal==0), return; end
+			if (~ismember('ThermalAnalysis',analyses) & ~ismember('EnthalpyAnalysis',analyses)) | (strcmp(solution,'TransientSolution') & md.transient.isthermal==0), return; end
 
 			md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0 1 2]);
 			md = checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1,'>=',0);
-			if (ismember(EnthalpyAnalysisEnum(),analyses) & md.thermal.isenthalpy & dimension(md.mesh)==3),
+			if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy & dimension(md.mesh)==3),
 
 				%Make sure the spc are less than melting point
Index: /issm/trunk-jpl/src/m/classes/thermal.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/thermal.py	(revision 21049)
@@ -2,5 +2,4 @@
 from project3d import project3d
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -91,10 +90,10 @@
 
 		#Early return
-		if (ThermalAnalysisEnum() not in analyses and EnthalpyAnalysisEnum() not in analyses) or (solution==TransientSolutionEnum() and not md.transient.isthermal):
+		if ('ThermalAnalysis' not in analyses and 'EnthalpyAnalysis' not in analyses) or (solution=='TransientSolution' and not md.transient.isthermal):
 			return md
 
 		md = checkfield(md,'fieldname','thermal.stabilization','numel',[1],'values',[0,1,2])
 		md = checkfield(md,'fieldname','thermal.spctemperature','Inf',1,'timeseries',1)
-		if EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy and md.mesh.dimension()==3:
+		if 'EnthalpyAnalysis' in analyses and md.thermal.isenthalpy and md.mesh.dimension()==3:
 			pos=numpy.nonzero(numpy.logical_not(numpy.isnan(md.thermal.spctemperature[0:md.mesh.numberofvertices])))
 			replicate=numpy.tile(md.geometry.surface-md.mesh.z,(1,numpy.size(md.thermal.spctemperature,axis=1)))
Index: /issm/trunk-jpl/src/m/classes/timestepping.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/timestepping.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
Index: /issm/trunk-jpl/src/m/classes/toolkits.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/toolkits.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/toolkits.m	(revision 21049)
@@ -22,9 +22,6 @@
 		 function self = addoptions(self,analysis,varargin) % {{{
 		 % Usage example:
-		 %    md.toolkits=addoptions(md.toolkits,StressbalanceAnalysisEnum(),FSoptions());
-		 %    md.toolkits=addoptions(md.toolkits,StressbalanceAnalysisEnum());
-
-			 %Convert analysis from enum to string
-			 analysis=EnumToString(analysis);
+		 %    md.toolkits=addoptions(md.toolkits,'StressbalanceAnalysis',FSoptions());
+		 %    md.toolkits=addoptions(md.toolkits,'StressbalanceAnalysis');
 
 			 %Create dynamic property if property does not exist yet
Index: /issm/trunk-jpl/src/m/classes/toolkits.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 21049)
@@ -2,7 +2,5 @@
 from mumpsoptions import mumpsoptions
 from iluasmoptions import iluasmoptions
-from EnumToString import EnumToString
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from issmgslsolver import issmgslsolver
@@ -44,9 +42,6 @@
 	def addoptions(self,analysis,*args):    # {{{
 		# Usage example:
-		#    md.toolkits=addoptions(md.toolkits,StressbalanceAnalysisEnum(),FSoptions());
-		#    md.toolkits=addoptions(md.toolkits,StressbalanceAnalysisEnum());
-
-		#Convert analysis from enum to string
-		analysis=EnumToString(analysis)[0]
+		#    md.toolkits=addoptions(md.toolkits,'StressbalanceAnalysis',FSoptions());
+		#    md.toolkits=addoptions(md.toolkits,'StressbalanceAnalysis');
 
 		#Create dynamic property if property does not exist yet
Index: /issm/trunk-jpl/src/m/classes/transient.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/transient.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/transient.m	(revision 21049)
@@ -74,5 +74,5 @@
 
 			%Early return
-			if solution~=TransientSolutionEnum(), return; end
+			if ~strcmp(solution,'TransientSolution'), return; end
 
 			md = checkfield(md,'fieldname','transient.issmb','numel',[1],'values',[0 1]);
Index: /issm/trunk-jpl/src/m/classes/transient.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/transient.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/transient.py	(revision 21049)
@@ -1,4 +1,3 @@
 from fielddisplay import fielddisplay
-from EnumDefinitions import *
 from checkfield import checkfield
 from WriteData import WriteData
@@ -95,5 +94,5 @@
 
 		#Early return
-		if not solution==TransientSolutionEnum():
+		if not solution=='TransientSolution':
 			return md
 
Index: /issm/trunk-jpl/src/m/classes/verbose.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/verbose.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/classes/verbose.py	(revision 21049)
@@ -1,5 +1,4 @@
 from pairoptions import pairoptions
 import MatlabFuncs as m
-from EnumDefinitions import *
 from WriteData import WriteData
 
Index: /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m
===================================================================
--- /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21049)
@@ -44,57 +44,38 @@
 %      [analyses]=AnalysisConfiguration(solutiontype);
 
-switch solutiontype,
-
-	case StressbalanceSolutionEnum(),
-		analyses=[StressbalanceAnalysisEnum();StressbalanceVerticalAnalysisEnum();StressbalanceSIAAnalysisEnum();L2ProjectionBaseAnalysisEnum()];
-
-	case SteadystateSolutionEnum(),
-		analyses=[StressbalanceAnalysisEnum();StressbalanceVerticalAnalysisEnum();StressbalanceSIAAnalysisEnum();L2ProjectionBaseAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum()];
-
-	case ThermalSolutionEnum(),
-		analyses=[EnthalpyAnalysisEnum;ThermalAnalysisEnum();MeltingAnalysisEnum()];
-
-	case MasstransportSolutionEnum(),
-		analyses=[MasstransportAnalysisEnum()];
-
-	case BalancethicknessSolutionEnum(),
-		analyses=[BalancethicknessAnalysisEnum()];
-
-	case Balancethickness2SolutionEnum(),
-		analyses=[Balancethickness2AnalysisEnum()];
-
-	case BalancethicknessSoftSolutionEnum(),
-		analyses=[BalancethicknessAnalysisEnum()];
-
-	case BalancevelocitySolutionEnum(),
-		analyses=[BalancevelocityAnalysisEnum()];
-
-	case SurfaceSlopeSolutionEnum(),
-		analyses=[L2ProjectionBaseAnalysisEnum()];
-
-	case BedSlopeSolutionEnum(),
-		analyses=[L2ProjectionBaseAnalysisEnum()];
-
-	case GiaSolutionEnum(),
-		analyses=[GiaAnalysisEnum()];
-
-	case TransientSolutionEnum(),
-		analyses=[StressbalanceAnalysisEnum();StressbalanceVerticalAnalysisEnum();StressbalanceSIAAnalysisEnum();L2ProjectionBaseAnalysisEnum();ThermalAnalysisEnum();MeltingAnalysisEnum();EnthalpyAnalysisEnum();MasstransportAnalysisEnum();HydrologySommersAnalysisEnum];
-
-	case FlaimSolutionEnum(),
-		analyses=[FlaimAnalysisEnum()];
-
-	case SealevelriseSolutionEnum(),
-		analyses=[SealevelriseAnalysisEnum()];
-
-	case HydrologySolutionEnum(),
-		analyses=[L2ProjectionBaseAnalysisEnum();HydrologyShreveAnalysisEnum();HydrologyDCInefficientAnalysisEnum();HydrologyDCEfficientAnalysisEnum()];
-	
-	case DamageEvolutionSolutionEnum(),
-		analyses=[DamageEvolutionAnalysisEnum()];
-
-	otherwise
-		error('%s%s%s',' solution type: ',EnumToString(solutiontype),' not supported yet!');
-
+	if strcmp(solutiontype,'StressbalanceSolution')
+		analyses={'StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis'};
+	elseif strcmp(solutiontype,'SteadystateSolution')
+		analyses={'StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis'};
+	elseif strcmp(solutiontype,'ThermalSolution')
+		analyses={'EnthalpyAnalysis','ThermalAnalysis','MeltingAnalysis'};
+	elseif strcmp(solutiontype,'MasstransportSolution')
+		analyses={'MasstransportAnalysis'};
+	elseif strcmp(solutiontype,'BalancethicknessSolution')
+		analyses={'BalancethicknessAnalysis'};
+	elseif strcmp(solutiontype,'Balancethickness2Solution')
+		analyses={'Balancethickness2Analysis'};
+	elseif strcmp(solutiontype,'BalancethicknessSoftSolution')
+		analyses={'BalancethicknessAnalysis'};
+	elseif strcmp(solutiontype,'BalancevelocitySolution')
+		analyses={'BalancevelocityAnalysis'};
+	elseif strcmp(solutiontype,'SurfaceSlopeSolution')
+		analyses={'L2ProjectionBaseAnalysis'};
+	elseif strcmp(solutiontype,'BedSlopeSolution')
+		analyses={'L2ProjectionBaseAnalysis'};
+	elseif strcmp(solutiontype,'GiaSolution')
+		analyses={'GiaAnalysis'};
+	elseif strcmp(solutiontype,'TransientSolution')
+		analyses={'StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis','HydrologySommersAnalysis'};
+	elseif strcmp(solutiontype,'FlaimSolution')
+		analyses={'FlaimAnalysis'};
+	elseif strcmp(solutiontype,'SealevelriseSolution')
+		analyses={'SealevelriseAnalysis'};
+	elseif strcmp(solutiontype,'HydrologySolution')
+		analyses={'L2ProjectionBaseAnalysis','HydrologyShreveAnalysis','HydrologyDCInefficientAnalysis','HydrologyDCEfficientAnalysis'};
+	elseif strcmp(solutiontype,'DamageEvolutionSolution')
+		analyses={'DamageEvolutionAnalysis'};
+	else
+		error(' solution type: %s' , solutiontype, ' not supported yet!');
 	end
 end % }}}
Index: /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py
===================================================================
--- /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21049)
@@ -10,45 +10,45 @@
 	"""
 
-	if   solutiontype == StressbalanceSolutionEnum():
-		analyses=[StressbalanceAnalysisEnum(),StressbalanceVerticalAnalysisEnum(),StressbalanceSIAAnalysisEnum(),L2ProjectionBaseAnalysisEnum()]
+	if   solutiontype == 'StressbalanceSolution':
+		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis']
 
-	elif solutiontype == SteadystateSolutionEnum():
-		analyses=[StressbalanceAnalysisEnum(),StressbalanceVerticalAnalysisEnum(),StressbalanceSIAAnalysisEnum(),L2ProjectionBaseAnalysisEnum(),ThermalAnalysisEnum(),MeltingAnalysisEnum(),EnthalpyAnalysisEnum()]
+	elif solutiontype == 'SteadystateSolution':
+		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis']
 
-	elif solutiontype == ThermalSolutionEnum():
-		analyses=[EnthalpyAnalysisEnum(),ThermalAnalysisEnum(),MeltingAnalysisEnum()]
+	elif solutiontype == 'ThermalSolution':
+		analyses=['EnthalpyAnalysis','ThermalAnalysis','MeltingAnalysis']
 
-	elif solutiontype == MasstransportSolutionEnum():
-		analyses=[MasstransportAnalysisEnum()]
+	elif solutiontype == 'MasstransportSolution':
+		analyses=['MasstransportAnalysis']
 
-	elif solutiontype == BalancethicknessSolutionEnum():
-		analyses=[BalancethicknessAnalysisEnum()]
+	elif solutiontype == 'BalancethicknessSolution':
+		analyses=['BalancethicknessAnalysis']
 
-	elif solutiontype == SurfaceSlopeSolutionEnum():
-		analyses=[L2ProjectionBaseAnalysisEnum()]
+	elif solutiontype == 'SurfaceSlopeSolution':
+		analyses=['L2ProjectionBaseAnalysis']
 
-	elif solutiontype == BalancevelocitySolutionEnum():
-		analyses=[BalancevelocityAnalysisEnum()]
+	elif solutiontype == 'BalancevelocitySolution':
+		analyses=['BalancevelocityAnalysis']
 
-	elif solutiontype == BedSlopeSolutionEnum():
-		analyses=[L2ProjectionBaseAnalysisEnum()]
+	elif solutiontype == 'BedSlopeSolution':
+		analyses=['L2ProjectionBaseAnalysis']
 
-	elif solutiontype == GiaSolutionEnum():
-		analyses=[GiaAnalysisEnum()]
+	elif solutiontype == 'GiaSolution':
+		analyses=['GiaAnalysis']
 
-	elif solutiontype == TransientSolutionEnum():
-		analyses=[StressbalanceAnalysisEnum(),StressbalanceVerticalAnalysisEnum(),StressbalanceSIAAnalysisEnum(),L2ProjectionBaseAnalysisEnum(),ThermalAnalysisEnum(),MeltingAnalysisEnum(),EnthalpyAnalysisEnum(),MasstransportAnalysisEnum()]
+	elif solutiontype == 'TransientSolution':
+		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis']
 
-	elif solutiontype == FlaimSolutionEnum():
-		analyses=[FlaimAnalysisEnum()]
+	elif solutiontype == 'FlaimSolution':
+		analyses=['FlaimAnalysis']
 
-	elif solutiontype == HydrologySolutionEnum():
-		analyses=[L2ProjectionBaseAnalysisEnum(),HydrologyShreveAnalysisEnum(),HydrologyDCInefficientAnalysisEnum(),HydrologyDCEfficientAnalysisEnum()]
+	elif solutiontype == 'HydrologySolution':
+		analyses=['L2ProjectionBaseAnalysis','HydrologyShreveAnalysis','HydrologyDCInefficientAnalysis','HydrologyDCEfficientAnalysis']
 
-	elif DamageEvolutionSolutionEnum():
-		analyses=[DamageEvolutionAnalysisEnum()]
+	elif 'DamageEvolutionSolution':
+		analyses=['DamageEvolutionAnalysis']
 
 	else:
-		raise TypeError("solution type: '%s' not supported yet!" % EnumToString(solutiontype)[0])
+		raise TypeError("solution type: '%s' not supported yet!" % solutiontype)
 
 	return analyses
Index: /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.m
===================================================================
--- /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.m	(revision 21049)
@@ -1,16 +1,16 @@
 function data = marshallcostfunctions(cost_functions)
-	pos=find(cost_functions==101); data(pos)=SurfaceAbsVelMisfitEnum();
-	pos=find(cost_functions==102); data(pos)=SurfaceRelVelMisfitEnum();
-	pos=find(cost_functions==103); data(pos)=SurfaceLogVelMisfitEnum();
-	pos=find(cost_functions==104); data(pos)=SurfaceLogVxVyMisfitEnum();
-	pos=find(cost_functions==105); data(pos)=SurfaceAverageVelMisfitEnum();
-	pos=find(cost_functions==201); data(pos)=ThicknessAbsMisfitEnum();
-	pos=find(cost_functions==501); data(pos)=DragCoefficientAbsGradientEnum();
-	pos=find(cost_functions==502); data(pos)=RheologyBbarAbsGradientEnum();
-	pos=find(cost_functions==503); data(pos)=ThicknessAbsGradientEnum();
-	pos=find(cost_functions==504); data(pos)=ThicknessAlongGradientEnum();
-	pos=find(cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
-	pos=find(cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
-	pos=find(cost_functions==507); data(pos)=RheologyBAbsGradientEnum();
-	pos=find(cost_functions==510); data(pos)=ThicknessPositiveEnum();
-	pos=find(cost_functions==601); data(pos)=SurfaceAbsMisfitEnum();
+	pos=find(cost_functions==101); data(pos) = {'SurfaceAbsVelMisfit'};
+	pos=find(cost_functions==102); data(pos) = {'SurfaceRelVelMisfit'};
+	pos=find(cost_functions==103); data(pos) = {'SurfaceLogVelMisfit'};
+	pos=find(cost_functions==104); data(pos) = {'SurfaceLogVxVyMisfit'};
+	pos=find(cost_functions==105); data(pos) = {'SurfaceAverageVelMisfit'};
+	pos=find(cost_functions==201); data(pos) = {'ThicknessAbsMisfit'};
+	pos=find(cost_functions==501); data(pos) = {'DragCoefficientAbsGradient'};
+	pos=find(cost_functions==502); data(pos) = {'RheologyBbarAbsGradient'};
+	pos=find(cost_functions==503); data(pos) = {'ThicknessAbsGradient'};
+	pos=find(cost_functions==504); data(pos) = {'ThicknessAlongGradient'};
+	pos=find(cost_functions==505); data(pos) = {'ThicknessAcrossGradient'};
+	pos=find(cost_functions==506); data(pos) = {'BalancethicknessMisfit'};
+	pos=find(cost_functions==507); data(pos) = {'RheologyBAbsGradient'};
+	pos=find(cost_functions==510); data(pos) = {'ThicknessPositive'};
+	pos=find(cost_functions==601); data(pos) = {'SurfaceAbsMisfit'};
Index: /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.py
===================================================================
--- /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/inversions/marshallcostfunctions.py	(revision 21049)
@@ -1,4 +1,3 @@
 import copy
-from EnumDefinitions import *
 
 def marshallcostfunctions(cost_functions):
@@ -7,27 +6,27 @@
 	data=copy.deepcopy(cost_functions)
 
-	#convert to  Enums
+	#convert to strings 
 	pos=[i for i,x in enumerate(cost_functions) if x==101];
-	for i in pos: data[i]=SurfaceAbsVelMisfitEnum()        
+	for i in pos: data[i]='SurfaceAbsVelMisfit'        
 	pos=[i for i,x in enumerate(cost_functions) if x==102];
-	for i in pos: data[i]=SurfaceRelVelMisfitEnum()        
+	for i in pos: data[i]='SurfaceRelVelMisfit'        
 	pos=[i for i,x in enumerate(cost_functions) if x==103];
-	for i in pos: data[i]=SurfaceLogVelMisfitEnum()        
+	for i in pos: data[i]='SurfaceLogVelMisfit'        
 	pos=[i for i,x in enumerate(cost_functions) if x==104];
-	for i in pos: data[i]=SurfaceLogVxVyMisfitEnum()       
+	for i in pos: data[i]='SurfaceLogVxVyMisfit'       
 	pos=[i for i,x in enumerate(cost_functions) if x==105];
-	for i in pos: data[i]=SurfaceAverageVelMisfitEnum()    
+	for i in pos: data[i]='SurfaceAverageVelMisfit'    
 	pos=[i for i,x in enumerate(cost_functions) if x==201];
-	for i in pos: data[i]=ThicknessAbsMisfitEnum()         
+	for i in pos: data[i]='ThicknessAbsMisfit'         
 	pos=[i for i,x in enumerate(cost_functions) if x==501];
-	for i in pos: data[i]=DragCoefficientAbsGradientEnum() 
+	for i in pos: data[i]='DragCoefficientAbsGradient' 
 	pos=[i for i,x in enumerate(cost_functions) if x==502];
-	for i in pos: data[i]=RheologyBbarAbsGradientEnum()    
+	for i in pos: data[i]='RheologyBbarAbsGradient'    
 	pos=[i for i,x in enumerate(cost_functions) if x==503];
-	for i in pos: data[i]=ThicknessAbsGradientEnum()       
+	for i in pos: data[i]='ThicknessAbsGradient'       
 	pos=[i for i,x in enumerate(cost_functions) if x==504];
-	for i in pos: data[i]=ThicknessAlongGradientEnum()     
+	for i in pos: data[i]='ThicknessAlongGradient'     
 	pos=[i for i,x in enumerate(cost_functions) if x==505];
-	for i in pos: data[i]=ThicknessAcrossGradientEnum()    
+	for i in pos: data[i]='ThicknessAcrossGradient'    
 
 	return data
Index: /issm/trunk-jpl/src/m/solve/WriteData.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 21049)
@@ -205,5 +205,5 @@
 		recordlength=4+4+8*s[0]*s[1]+4+4; #2 integers (32 bits) + the double matrix + code + matrix type
 		if recordlength > 2**31 :
-			raise ValueError('field %s cannot be marshalled because it is larger than 4^31 bytes!' % EnumToString(enum)[0])
+			raise ValueError('field %s cannot be marshalled because it is larger than 4^31 bytes!' % enum)
 
 		fid.write(struct.pack('i',recordlength))  #2 integers (32 bits) + the double matrix + code + matrix type
@@ -288,5 +288,5 @@
 
 	else:    # {{{
-		raise TypeError('WriteData error message: data type: %d not supported yet! (%s)' % (format,EnumToString(enum)[0]))
+		raise TypeError('WriteData error message: data type: %d not supported yet! (%s)' % (format,enum))
 	# }}}
 
Index: /issm/trunk-jpl/src/m/solve/solve.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.m	(revision 21048)
+++ /issm/trunk-jpl/src/m/solve/solve.m	(revision 21049)
@@ -1,20 +1,21 @@
-function md=solve(md,solutionenum,varargin)
+function md=solve(md,solutionstring,varargin)
 %SOLVE - apply solution sequence for this model
 %
 %   Usage:
-%      md=solve(md,solutionenum,varargin)
+%      md=solve(md,solutionstring,varargin)
 %      where varargin is a lit of paired arguments of string OR enums
 %
 %   solution types available comprise:
-%		 - StressbalanceSolutionEnum
-%		 - MasstransportSolutionEnum
-%		 - ThermalSolutionEnum
-%		 - SteadystateSolutionEnum
-%		 - TransientSolutionEnum
-%		 - BalancethicknessSolutionEnum
-%		 - BedSlopeSolutionEnum
-%		 - SurfaceSlopeSolutionEnum
-%		 - HydrologySolutionEnum
-%		 - FlaimSolutionEnum
+%		 - 'StressbalanceSolution'		or 'sb'
+%		 - 'MasstransportSolution'		or 'mt'
+%		 - 'ThermalSolution'				or 'th'
+%		 - 'SteadystateSolution'		or 'st'
+%		 - 'TransientSolution'			or 'tr'
+%		 - 'BalancethicknessSolution' or 'mc'
+%      - 'BalancevelocitySolution'	or 'bv'
+%		 - 'BedSlopeSolution'			or 'bs'
+%		 - 'SurfaceSlopeSolution'		or 'ss'
+%		 - 'HydrologySolution'			or 'hy'
+%      - 'DamageEvolutionSolution'	or 'da'
 %
 %  extra options:
@@ -25,14 +26,41 @@
 %
 %   Examples:
-%      md=solve(md,StressbalanceSolutionEnum);
+%      md=solve(md,'StressbalanceSolution');
+%		 md=solve(md,'sb');
+
+if ~ischar(solutionstring)
+	error('ISSM''s solve function only accepts strings for solution sequences. Type help solve to get a list of supported solutions');
+end
 
 %recover and process solve options
-if ~strncmp(fliplr(EnumToString(solutionenum)),fliplr('Solution'),8),
-	error(['solutionenum ' EnumToString(solutionenum) ' not supported!']);
+if strcmpi(solutionstring,'sb') || strcmpi(solutionstring,'Stressbalance') || strcmpi(solutionstring, 'StressbalanceSolution')
+	solutionstring = 'StressbalanceSolution';
+elseif strcmpi(solutionstring,'mt') || strcmpi(solutionstring,'Masstransport') || strcmpi(solutionstring,'MasstransportSolution')
+	solutionstring = 'MasstransportSolution';
+elseif strcmpi(solutionstring,'th') || strcmpi(solutionstring,'Thermal') || strcmpi(solutionstring,'ThermalSolution')
+	solutionstring = 'ThermalSolution';
+elseif strcmpi(solutionstring,'st') || strcmpi(solutionstring,'Steadystate') || strcmpi(solutionstring,'SteadystateSolution')
+	solutionstring = 'SteadystateSolution';
+elseif strcmpi(solutionstring,'tr') || strcmpi(solutionstring,'Transient') || strcmpi(solutionstring,'TransientSolution')
+	solutionstring = 'TransientSolution';
+elseif strcmpi(solutionstring,'mc') || strcmpi(solutionstring,'Balancethickness') || strcmpi(solutionstring,'BalancethicknessSolution')
+	solutionstring = 'BalancethicknessSolution';
+elseif strcmpi(solutionstring,'bv') || strcmpi(solutionstring,'Balancevelocity') || strcmpi(solutionstring,'BalancevelocitySolution')
+	solutionstring = 'BalancevelocitySolution';
+elseif strcmpi(solutionstring,'bs') || strcmpi(solutionstring,'BedSlope') || strcmpi(solutionstring,'BedSlopeSolution')
+	solutionstring = 'BedSlopeSolution';
+elseif strcmpi(solutionstring,'ss') || strcmpi(solutionstring,'SurfaceSlope') || strcmpi(solutionstring,'SurfaceSlopeSolution')
+	solutionstring = 'SurfaceSlopeSolution';
+elseif strcmpi(solutionstring,'hy') || strcmpi(solutionstring,'Hydrology') || strcmpi(solutionstring,'HydrologySolution')
+	solutionstring = 'HydrologySolution';
+elseif strcmpi(solutionstring,'da') || strcmpi(solutionstring,'DamageEvolution') || strcmpi(solutionstring,'DamageEvolutionSolution')
+	solutionstring = 'DamageEvolutionSolution';
+else
+	error(['solutionstring ' solutionstring ' not supported!']);
 end
-options=pairoptions(varargin{:},'solutionenum',solutionenum);
+options=pairoptions(varargin{:},'solutionstring',solutionstring);
 
 %recover some fields
-md.private.solution=solutionenum;
+md.private.solution=solutionstring;
 cluster=md.cluster;
 if strcmpi(getfieldvalue(options,'batch','no'),'yes') batch=1; else batch=0; end
@@ -43,8 +71,8 @@
 		disp('checking model consistency');
 	end
-	if (solutionenum == FlaimSolutionEnum())
+	if (strcmp(solutionstring,'FlaimSolution'))
 		md.private.isconsistent=true;
-		md=checkconsistency(md.mesh,md,solutionenum);
-		md=checkconsistency(md.flaim,md,solutionenum);
+		md=checkconsistency(md.mesh,md,solutionstring);
+		md=checkconsistency(md.flaim,md,solutionstring);
 		if md.private.isconsistent==false,
 			error('Model not consistent, see messages above');
@@ -78,5 +106,5 @@
 
 %flaim analysis (To be removed?)
-if (solutionenum == FlaimSolutionEnum())
+if (strcmp(solutionstring,'FlaimSolution'))
 	%fmdir     = getfieldvalue(options,'fmdir',['fm' num2str(feature('GetPid'))]);
 	%overwrite = getfieldvalue(options,'overwrite','n');
@@ -85,5 +113,5 @@
 	%cmap      = getfieldvalue(options,'cmap',[]);
 	md=flaim_sol(md,options);
-	md.private.solution=EnumToString(solutionenum);
+	md.private.solution=solutionstring;
 	return;
 end
Index: /issm/trunk-jpl/src/m/solve/solve.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.py	(revision 21048)
+++ /issm/trunk-jpl/src/m/solve/solve.py	(revision 21049)
@@ -11,23 +11,25 @@
 import MatlabFuncs as m
 
-def solve(md,solutionenum,*args):
+def solve(md,solutionstring,*args):
 	"""
 	SOLVE - apply solution sequence for this model
  
 	   Usage:
-	      md=solve(md,solutionenum,varargin)
+	      md=solve(md,solutionstring,varargin)
 	      where varargin is a list of paired arguments of string OR enums
  
-	   solution types available comprise:
-	      - StressbalanceSolutionEnum
-	      - MasstransportSolutionEnum
-	      - ThermalSolutionEnum
-	      - SteadystateSolutionEnum
-	      - TransientSolutionEnum
-	      - BalancethicknessSolutionEnum
-	      - BedSlopeSolutionEnum
-	      - SurfaceSlopeSolutionEnum
-	      - HydrologySolutionEnum
-	      - FlaimSolutionEnum
+		solution types available comprise:
+		 - 'StressbalanceSolution'		or 'sb'
+		 - 'MasstransportSolution'		or 'mt'
+		 - 'ThermalSolution'				or 'th'
+		 - 'SteadystateSolution'		or 'st'
+		 - 'TransientSolution'			or 'tr'
+		 - 'BalancethicknessSolution' or 'mc'
+		 - 'BalancevelocitySolution'	or 'bv'
+		 - 'BedSlopeSolution'			or 'bs'
+		 - 'SurfaceSlopeSolution'		or 'ss'
+		 - 'HydrologySolution'			or 'hy'
+		 - 'DamageEvolutionSolution'	or 'da'
+
  
 	   extra options:
@@ -37,14 +39,37 @@
  
 	   Examples:
-	      md=solve(md,StressbalanceSolutionEnum);
+	      md=solve(md,'StressbalanceSolution');
+			md=solve(md,'sb');
 	"""
 
 	#recover and process solve options
-	if EnumToString(solutionenum)[0][-8:] != 'Solution':
-		raise ValueError("solutionenum '%s' not supported!" % EnumToString(solutionenum)[0])
-	options=pairoptions('solutionenum',solutionenum,*args)
+	if solutionstring.lower() == 'sb' or solutionstring.lower() == 'stressbalance' or solutionstring.lower() == 'stressbalancesolution':
+		solutionstring = 'StressbalanceSolution';
+	elif solutionstring.lower() == 'mt' or solutionstring.lower() == 'masstransport' or solutionstring.lower() == 'masstransportsolution':
+		solutionstring = 'MasstransportSolution';	
+	elif solutionstring.lower() == 'th' or solutionstring.lower() == 'thermal' or solutionstring.lower() == 'thermalsolution':
+		solutionstring = 'ThermalSolution';
+	elif solutionstring.lower() == 'st' or solutionstring.lower() == 'steadystate' or solutionstring.lower() == 'steadystatesolution':
+		solutionstring = 'SteadystateSolution';
+	elif solutionstring.lower() == 'tr' or solutionstring.lower() == 'transient' or solutionstring.lower() == 'transientsolution':
+		solutionstring = 'TransientSolution';
+	elif solutionstring.lower() == 'mc' or solutionstring.lower() == 'balancethickness' or solutionstring.lower() == 'balancethicknesssolution':
+		solutionstring = 'BalancethicknessSolution';
+	elif solutionstring.lower() == 'bv' or solutionstring.lower() == 'balancevelocity' or solutionstring.lower() == 'balancevelocitysolution':
+		solutionstring = 'BalancevelocitySolution';
+	elif solutionstring.lower() == 'bs' or solutionstring.lower() == 'bedslope' or solutionstring.lower() == 'bedslopesolution':
+		solutionstring = 'BedSlopeSolution';
+	elif solutionstring.lower() == 'ss' or solutionstring.lower() == 'surfaceslope' or solutionstring.lower() == 'surfaceslopesolution':
+		solutionstring = 'SurfaceSlopeSolution';
+	elif solutionstring.lower() == 'hy' or solutionstring.lower() == 'hydrology' or solutionstring.lower() == 'hydrologysolution':
+		solutioneum = 'HydrologySolution';
+	elif solutionstring.lower() == 'da' or solutionstring.lower() == 'damageevolution' or solutionstring.lower() == 'damageevolutionsolution':
+		solutionstring = 'DamageEvolutionSolution';
+	else: 	
+		raise ValueError("solutionstring '%s' not supported!" % solutionstring)
+	options=pairoptions('solutionstring',solutionstring,*args)
 
 	#recover some fields
-	md.private.solution=solutionenum
+	md.private.solution=solutionstring
 	cluster=md.cluster 
 	if m.strcmpi(options.getfieldvalue('batch','no'),'yes'):
@@ -56,8 +81,8 @@
 	if m.strcmpi(options.getfieldvalue('checkconsistency','yes'),'yes'):
 		print "checking model consistency"
-		if solutionenum == FlaimSolutionEnum():
+		if solutionstring.lower() == 'flaimsolution':
 			md.private.isconsistent=True
-			md.mesh.checkconsistency(md,solutionenum)
-			md.flaim.checkconsistency(md,solutionenum)
+			md.mesh.checkconsistency(md,solutionstring)
+			md.flaim.checkconsistency(md,solutionstring)
 			if not md.private.isconsistent:
 				raise RuntimeError("Model not consistent, see messages above.")
@@ -85,7 +110,8 @@
 
 	#flaim analysis
-	if solutionenum == FlaimSolutionEnum():
+	if solutionstring.lower() == 'flaimSolution':
+		solutionstring='FlaimSolution'
 		md=flaim_sol(md,options)
-		md.private.solution=EnumToString(solutionenum)[0]
+		md.private.solution=solutionstring
 		return md
 
Index: /issm/trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/wrappers/matlab/io/WriteMatlabData.cpp	(revision 21049)
@@ -351,5 +351,5 @@
 		SetStructureFieldi(dataref,i,"tips"             ,1                                  ,2,&riftstruct->riftstips[2*i]);
 		SetStructureFieldi(dataref,i,"penaltypairs"     ,riftstruct->riftsnumpenaltypairs[i],7,riftstruct->riftspenaltypairs[i]);
-		SetStructureFieldi(dataref,i,"fill"             ,IceEnum);
+		SetStructureFieldi(dataref,i,"fill"             ,"Ice");
 		SetStructureFieldi(dataref,i,"friction"         ,0);
 		SetStructureFieldi(dataref,i,"fraction"         ,0.);
Index: /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 21048)
+++ /issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp	(revision 21049)
@@ -227,8 +227,8 @@
 		PyDict_SetItemString(dict,"penaltypairs"     ,PyArrayFromCopiedData(riftstruct->riftsnumpenaltypairs[i],7,riftstruct->riftspenaltypairs[i]));
 		#if _PYTHON_MAJOR_ >= 3
-		PyDict_SetItemString(dict,"fill"             ,PyLong_FromSsize_t((Py_ssize_t)IceEnum));
+		PyDict_SetItemString(dict,"fill"             ,PyString_FromString("Ice"));
 		PyDict_SetItemString(dict,"friction"         ,PyLong_FromSsize_t((Py_ssize_t)0));
 		#else
-		PyDict_SetItemString(dict,"fill"             ,PyInt_FromSsize_t((Py_ssize_t)IceEnum));
+		PyDict_SetItemString(dict,"fill"             ,PyString_FromString("Ice"));
 		PyDict_SetItemString(dict,"friction"         ,PyInt_FromSsize_t((Py_ssize_t)0));
 		#endif
Index: /issm/trunk-jpl/test/NightlyRun/test101.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test101.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test101.m	(revision 21049)
@@ -9,13 +9,13 @@
 md.stressbalance.requested_outputs={'default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6'};
 md.outputdefinition.definitions={...
-	massfluxatgate('name','MassFlux1','profilename',['../Exp/MassFlux1.exp'],'definitionenum',Outputdefinition1Enum()),...
-	massfluxatgate('name','MassFlux2','profilename',['../Exp/MassFlux2.exp'],'definitionenum',Outputdefinition2Enum()),...
-	massfluxatgate('name','MassFlux3','profilename',['../Exp/MassFlux3.exp'],'definitionenum',Outputdefinition3Enum()),...
-	massfluxatgate('name','MassFlux4','profilename',['../Exp/MassFlux4.exp'],'definitionenum',Outputdefinition4Enum()),...
-	massfluxatgate('name','MassFlux5','profilename',['../Exp/MassFlux5.exp'],'definitionenum',Outputdefinition5Enum()),...
-	massfluxatgate('name','MassFlux6','profilename',['../Exp/MassFlux6.exp'],'definitionenum',Outputdefinition6Enum())...
+	massfluxatgate('name','MassFlux1','profilename',['../Exp/MassFlux1.exp'],'definitionstring','Outputdefinition1'),...
+	massfluxatgate('name','MassFlux2','profilename',['../Exp/MassFlux2.exp'],'definitionstring','Outputdefinition2'),...
+	massfluxatgate('name','MassFlux3','profilename',['../Exp/MassFlux3.exp'],'definitionstring','Outputdefinition3'),...
+	massfluxatgate('name','MassFlux4','profilename',['../Exp/MassFlux4.exp'],'definitionstring','Outputdefinition4'),...
+	massfluxatgate('name','MassFlux5','profilename',['../Exp/MassFlux5.exp'],'definitionstring','Outputdefinition5'),...
+	massfluxatgate('name','MassFlux6','profilename',['../Exp/MassFlux6.exp'],'definitionstring','Outputdefinition6')...
 	};
 
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test101.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test101.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test101.py	(revision 21049)
@@ -20,13 +20,13 @@
 md.stressbalance.requested_outputs=['default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6']
 md.outputdefinition.definitions=[
-		massfluxatgate('name','MassFlux1','profilename','../Exp/MassFlux1.exp','definitionenum',Outputdefinition1Enum()),
-		massfluxatgate('name','MassFlux2','profilename','../Exp/MassFlux2.exp','definitionenum',Outputdefinition2Enum()),
-		massfluxatgate('name','MassFlux3','profilename','../Exp/MassFlux3.exp','definitionenum',Outputdefinition3Enum()),
-		massfluxatgate('name','MassFlux4','profilename','../Exp/MassFlux4.exp','definitionenum',Outputdefinition4Enum()),
-		massfluxatgate('name','MassFlux5','profilename','../Exp/MassFlux5.exp','definitionenum',Outputdefinition5Enum()),
-		massfluxatgate('name','MassFlux6','profilename','../Exp/MassFlux6.exp','definitionenum',Outputdefinition6Enum())
+		massfluxatgate('name','MassFlux1','profilename','../Exp/MassFlux1.exp','definitionstring','Outputdefinition1'),
+		massfluxatgate('name','MassFlux2','profilename','../Exp/MassFlux2.exp','definitionstring','Outputdefinition2'),
+		massfluxatgate('name','MassFlux3','profilename','../Exp/MassFlux3.exp','definitionstring','Outputdefinition3'),
+		massfluxatgate('name','MassFlux4','profilename','../Exp/MassFlux4.exp','definitionstring','Outputdefinition4'),
+		massfluxatgate('name','MassFlux5','profilename','../Exp/MassFlux5.exp','definitionstring','Outputdefinition5'),
+		massfluxatgate('name','MassFlux6','profilename','../Exp/MassFlux6.exp','definitionstring','Outputdefinition6')
 		]
 
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test102.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test102.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test102.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test102.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test102.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test102.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test103.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test103.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test103.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.stressbalance.requested_outputs={'default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz'};
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'sb');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test103.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test103.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test103.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.stressbalance.requested_outputs=['default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test104.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test104.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test104.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test104.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test104.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test104.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test105.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test105.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test105.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test105.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test105.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test105.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test106.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test106.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test106.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.masstransport.stabilization=3;
 md.masstransport.spcthickness=md.geometry.thickness;
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test106.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test106.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test106.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.masstransport.stabilization=3
 md.masstransport.spcthickness=md.geometry.thickness
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test107.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test107.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test107.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=extrude(md,5,3.);
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test107.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test107.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test107.py	(revision 21049)
@@ -15,5 +15,5 @@
 md.extrude(5,3.)
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test108.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test108.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test108.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.timestepping.time_step=0;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test108.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test108.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test108.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.timestepping.time_step=0
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test109.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test109.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test109.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test109.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test109.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test109.py	(revision 21049)
@@ -20,5 +20,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test110.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test110.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test110.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.transient.requested_outputs={'IceVolume'};
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test110.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test110.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test110.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.transient.requested_outputs=['IceVolume']
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1101.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1101.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1101.m	(revision 21049)
@@ -42,5 +42,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1101.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1101.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1101.py	(revision 21049)
@@ -55,5 +55,5 @@
 	#Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1102.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1102.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1102.m	(revision 21049)
@@ -51,5 +51,5 @@
 	md.stressbalance.restol=1.;
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1102.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1102.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1102.py	(revision 21049)
@@ -64,5 +64,5 @@
 	md.stressbalance.restol=1.
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1103.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1103.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1103.m	(revision 21049)
@@ -41,5 +41,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1103.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1103.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1103.py	(revision 21049)
@@ -54,5 +54,5 @@
 	#Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1104.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1104.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1104.m	(revision 21049)
@@ -39,5 +39,5 @@
 	md.stressbalance.abstol=NaN;
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	pos=find(md.mesh.x==0. | md.mesh.y==0. | md.mesh.x==max(md.mesh.x) | md.mesh.y==max(md.mesh.y));
 	md.stressbalance.spcvx(pos)=md.results.StressbalanceSolution.Vx(pos);
@@ -45,5 +45,5 @@
 	md.stressbalance.vertex_pairing=[];
 	md=setflowequation(md,'FS','all');
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1104.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1104.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1104.py	(revision 21049)
@@ -50,5 +50,5 @@
 	md.stressbalance.abstol=float('NaN')
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	pos=numpy.nonzero(logical_or_n(md.mesh.x==0.,md.mesh.y==0.,md.mesh.x==numpy.max(md.mesh.x),md.mesh.y==numpy.max(md.mesh.y)))
 	md.stressbalance.spcvx[pos]=md.results.StressbalanceSolution.Vx[pos]
@@ -56,5 +56,5 @@
 	md.stressbalance.vertex_pairing=numpy.empty((0,2),int)
 	md=setflowequation(md,'FS','all')
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1105.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1105.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1105.m	(revision 21049)
@@ -65,5 +65,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1105.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1105.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1105.py	(revision 21049)
@@ -77,5 +77,5 @@
 	#Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1106.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1106.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1106.m	(revision 21049)
@@ -43,5 +43,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1106.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1106.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1106.py	(revision 21049)
@@ -53,5 +53,5 @@
 	#Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1107.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1107.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1107.m	(revision 21049)
@@ -60,5 +60,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1107.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1107.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1107.py	(revision 21049)
@@ -74,5 +74,5 @@
 	#Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1108.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1108.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1108.m	(revision 21049)
@@ -40,5 +40,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	md.stressbalance.reltol=NaN;
 	md.stressbalance.abstol=NaN;
@@ -52,5 +52,5 @@
 	md.stressbalance.spcvy(pos)=md.results.StressbalanceSolution.Vy(pos);
 	md=setflowequation(md,'FS','all');
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	%Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1108.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1108.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1108.py	(revision 21049)
@@ -52,5 +52,5 @@
 	md.cluster=generic('name',oshostname(),'np',8)
 	md.verbose=verbose('convergence',True)
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	md.stressbalance.reltol=float('NaN')
 	md.stressbalance.abstol=float('NaN')
@@ -64,5 +64,5 @@
 	md.stressbalance.spcvy[pos]=md.results.StressbalanceSolution.Vy[pos]
 	md=setflowequation(md,'FS','all')
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 
 	#Plot the results and save them
Index: /issm/trunk-jpl/test/NightlyRun/test1109.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1109.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1109.m	(revision 21049)
@@ -50,5 +50,5 @@
 	%Compute the stressbalance
 	md.cluster=generic('name',oshostname(),'np',8);
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 
 	vx=(md.results.StressbalanceSolution.Vx);
Index: /issm/trunk-jpl/test/NightlyRun/test111.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test111.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test111.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.transient.requested_outputs={'IceVolume'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test111.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test111.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test111.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['IceVolume']
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1110.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1110.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1110.m	(revision 21049)
@@ -59,5 +59,5 @@
 	md.cluster=generic('name',oshostname(),'np',8);
 	md.verbose=verbose('convergence',true,'solution',true);
-	md=solve(md,TransientSolutionEnum());
+	md=solve(md,'TransientSolution');
 
 	%save the results
Index: /issm/trunk-jpl/test/NightlyRun/test112.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test112.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test112.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SurfaceSlopeSolutionEnum());
+md=solve(md,'SurfaceSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test112.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test112.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test112.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SurfaceSlopeSolutionEnum())
+md=solve(md,'SurfaceSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test113.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test113.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test113.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SurfaceSlopeSolutionEnum());
+md=solve(md,'SurfaceSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test113.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test113.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test113.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SurfaceSlopeSolutionEnum())
+md=solve(md,'SurfaceSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test114.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test114.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test114.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BedSlopeSolutionEnum());
+md=solve(md,'BedSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test114.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test114.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test114.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BedSlopeSolutionEnum())
+md=solve(md,'BedSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test115.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test115.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test115.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BedSlopeSolutionEnum());
+md=solve(md,'BedSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test115.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test115.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test115.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BedSlopeSolutionEnum())
+md=solve(md,'BedSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test116.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test116.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test116.m	(revision 21049)
@@ -8,5 +8,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancethicknessSolutionEnum());
+md=solve(md,'BalancethicknessSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test116.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test116.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test116.py	(revision 21049)
@@ -18,5 +18,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancethicknessSolutionEnum())
+md=solve(md,'BalancethicknessSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test120.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test120.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test120.m	(revision 21049)
@@ -12,5 +12,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test120.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test120.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test120.py	(revision 21049)
@@ -22,5 +22,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1201.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1201.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1201.m	(revision 21049)
@@ -39,5 +39,5 @@
 	md.settings.output_frequency=500; %keep only last step
 	md.verbose=verbose();
-	md=solve(md,TransientSolutionEnum());
+	md=solve(md,'TransientSolution');
 	results{stabilization}=(md.results.TransientSolution(end).Thickness);
 end
Index: /issm/trunk-jpl/test/NightlyRun/test1201.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1201.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1201.py	(revision 21049)
@@ -51,5 +51,5 @@
 	md.settings.output_frequency=500    #keep only last step
 	md.verbose=verbose()
-	md=solve(md,TransientSolutionEnum())
+	md=solve(md,'TransientSolution')
 	results.append(md.results.TransientSolution[-1].Thickness)
 
Index: /issm/trunk-jpl/test/NightlyRun/test1202.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1202.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1202.m	(revision 21049)
@@ -12,5 +12,5 @@
 %Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1202.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1202.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1202.py	(revision 21049)
@@ -25,5 +25,5 @@
 #Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1203.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1203.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1203.m	(revision 21049)
@@ -16,5 +16,5 @@
 %Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 vx=(md.results.StressbalanceSolution.Vx);
Index: /issm/trunk-jpl/test/NightlyRun/test1203.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1203.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1203.py	(revision 21049)
@@ -30,5 +30,5 @@
 #Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 vx=md.results.StressbalanceSolution.Vx
Index: /issm/trunk-jpl/test/NightlyRun/test1204.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1204.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1204.m	(revision 21049)
@@ -16,5 +16,5 @@
 %Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %plot results
@@ -25,5 +25,5 @@
 md.timestepping.final_time=5000.;
 md.masstransport.stabilization=1;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 plotmodel(md,'data',(md.results.TransientSolution(end).Vx))
Index: /issm/trunk-jpl/test/NightlyRun/test1204.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1204.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1204.py	(revision 21049)
@@ -30,5 +30,5 @@
 #Compute solution for SSA's model 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #plot results
@@ -39,5 +39,5 @@
 md.timestepping.final_time=5000.
 md.masstransport.stabilization=1
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #plotmodel(md,'data',(md.results.TransientSolution(end).Vx))
Index: /issm/trunk-jpl/test/NightlyRun/test1205.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1205.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1205.m	(revision 21049)
@@ -30,5 +30,5 @@
 %Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1205.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1205.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1205.py	(revision 21049)
@@ -43,5 +43,5 @@
 #Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1206.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1206.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1206.m	(revision 21049)
@@ -30,5 +30,5 @@
 %Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1206.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1206.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1206.py	(revision 21049)
@@ -43,5 +43,5 @@
 #Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1207.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1207.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1207.m	(revision 21049)
@@ -30,5 +30,5 @@
 %Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1207.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1207.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1207.py	(revision 21049)
@@ -43,5 +43,5 @@
 #Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Calculate the depth averaged velocity field (2d):
Index: /issm/trunk-jpl/test/NightlyRun/test1208.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1208.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1208.m	(revision 21049)
@@ -28,5 +28,5 @@
 %Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1208.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1208.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1208.py	(revision 21049)
@@ -41,5 +41,5 @@
 #Now we can solve the problem 
 md.cluster=generic('name',oshostname(),'np',8)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test121.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test121.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test121.m	(revision 21049)
@@ -15,5 +15,5 @@
 md.thermal.isenthalpy=1;
 md.thermal.isdynamicbasalspc=1;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test121.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test121.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test121.py	(revision 21049)
@@ -24,5 +24,5 @@
 md.thermal.isenthalpy=1
 md.thermal.isdynamicbasalspc=1
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test122.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test122.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test122.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.thermal.stabilization=2;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test122.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test122.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test122.py	(revision 21049)
@@ -20,5 +20,5 @@
 md.thermal.stabilization=2
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test123.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test123.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test123.m	(revision 21049)
@@ -5,4 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
+%md.debug.valgrind=1;
 
 fake_surface=[[md.geometry.surface+100;1.1],...
@@ -11,7 +12,7 @@
 
 md.transient.requested_outputs={'default','SurfaceMisfit'};
-md.outputdefinition.definitions={misfit('name','SurfaceMisfit', 'definitionenum',Outputdefinition1Enum,'model_enum',SurfaceEnum,'observation_enum',SurfaceObservationEnum,'observation',fake_surface,'timeinterpolation','nearestneighbor','weights',ones(md.mesh.numberofvertices,1),'weights_enum',WeightsSurfaceObservationEnum)};
+md.outputdefinition.definitions={misfit('name','SurfaceMisfit', 'definitionstring','Outputdefinition1','model_string','Surface','observation_string','SurfaceObservation','observation',fake_surface,'timeinterpolation','nearestneighbor','weights',ones(md.mesh.numberofvertices,1),'weights_string','WeightsSurfaceObservation')};
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test124.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test124.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test124.m	(revision 21049)
@@ -13,5 +13,5 @@
 %Go solve
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test125.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test125.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test125.m	(revision 21049)
@@ -13,6 +13,6 @@
 md.timestepping.final_time=8;
 
-md=solve(md,TransientSolutionEnum());
-md2=solve(md,TransientSolutionEnum(),'restart',1);
+md=solve(md,'TransientSolution');
+md2=solve(md,'TransientSolution','restart',1);
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test125.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test125.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test125.py	(revision 21049)
@@ -25,7 +25,7 @@
 md.timestepping.final_time=8
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 md2=copy.deepcopy(md)
-md=solve(md,TransientSolutionEnum(),'restart',1)
+md=solve(md,'TransientSolution','restart',1)
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test126.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test126.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test126.m	(revision 21049)
@@ -14,6 +14,6 @@
 md.timestepping.final_time=8;
 
-md=solve(md,TransientSolutionEnum());
-md2=solve(md,TransientSolutionEnum(),'restart',1);
+md=solve(md,'TransientSolution');
+md2=solve(md,'TransientSolution','restart',1);
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test126.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test126.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test126.py	(revision 21049)
@@ -26,7 +26,7 @@
 md.timestepping.final_time=8
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 md2=copy.deepcopy(md)
-md=solve(md,TransientSolutionEnum(),'restart',1)
+md=solve(md,'TransientSolution','restart',1)
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1301.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1301.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1301.m	(revision 21049)
@@ -27,5 +27,5 @@
 %modeled results
 md.cluster=generic('name',oshostname(),'np',2);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1301.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1301.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1301.py	(revision 21049)
@@ -41,5 +41,5 @@
 #modeled results
 md.cluster=generic('name',oshostname(),'np',2)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1302.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1302.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1302.m	(revision 21049)
@@ -29,5 +29,5 @@
 %modeled results
 md.cluster=generic('name',oshostname(),'np',2);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1302.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1302.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1302.py	(revision 21049)
@@ -45,5 +45,5 @@
 #modeled results
 md.cluster=generic('name',oshostname(),'np',2)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1303.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1303.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1303.m	(revision 21049)
@@ -24,5 +24,5 @@
 %modeled results
 md.cluster=generic('name',oshostname(),'np',2);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1303.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1303.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1303.py	(revision 21049)
@@ -40,5 +40,5 @@
 #modeled results
 md.cluster=generic('name',oshostname(),'np',2)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1304.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1304.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1304.m	(revision 21049)
@@ -24,5 +24,5 @@
 %modeled results
 md.cluster=generic('name',oshostname(),'np',2);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1304.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1304.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1304.py	(revision 21049)
@@ -39,5 +39,5 @@
 #modeled results
 md.cluster=generic('name',oshostname(),'np',2)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #plot results
Index: /issm/trunk-jpl/test/NightlyRun/test1501.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1501.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1501.m	(revision 21049)
@@ -18,8 +18,8 @@
 md.basalforcings.groundedice_melting_rate= smb;
 
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 for i=1:10
-	 md=solve(md,MasstransportSolutionEnum());
+	 md=solve(md,'MasstransportSolution');
 	 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness);
 end
@@ -34,5 +34,5 @@
 md.smb.mass_balance(end+1,:)=[1.:2000.];
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1501.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1501.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1501.py	(revision 21049)
@@ -29,8 +29,8 @@
 md.basalforcings.groundedice_melting_rate= smb
 
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 for i in xrange(1,11):
-	 md=solve(md,MasstransportSolutionEnum())
+	 md=solve(md,'MasstransportSolution')
 	 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness)
 
@@ -47,5 +47,5 @@
 md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1502.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1502.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1502.m	(revision 21049)
@@ -19,8 +19,8 @@
 md.basalforcings.groundedice_melting_rate= smb;
 
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 for i=1:10
-	 md=solve(md,MasstransportSolutionEnum());
+	 md=solve(md,'MasstransportSolution');
 	 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness);
 end
@@ -35,5 +35,5 @@
 md.smb.mass_balance(end+1,:)=[1.:2000.];
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1502.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1502.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1502.py	(revision 21049)
@@ -30,8 +30,8 @@
 md.basalforcings.groundedice_melting_rate= smb
 
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 for i in xrange(1,11):
-	 md=solve(md,MasstransportSolutionEnum())
+	 md=solve(md,'MasstransportSolution')
 	 md.smb.mass_balance= md.smb.mass_balance - ((md.results.MasstransportSolution.Thickness)-md.geometry.thickness)
 
@@ -48,5 +48,5 @@
 md.smb.mass_balance=numpy.vstack((smb,numpy.arange(1,2001)))
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test1601.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1601.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1601.m	(revision 21049)
@@ -10,5 +10,5 @@
 
 md.cluster=generic('name',oshostname(),'np',2);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 vel0=md.results.StressbalanceSolution.Vel;
 
@@ -21,5 +21,5 @@
 md.stressbalance.referential(:,1:3)=repmat([cos(theta),sin(theta),0],md.mesh.numberofvertices,1);
 md.stressbalance.referential(:,4:6)=repmat([0,0,1],md.mesh.numberofvertices,1);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 vel1=md.results.StressbalanceSolution.Vel;
 
@@ -32,5 +32,5 @@
 md.stressbalance.referential(pos,1:3)=repmat([cos(theta),sin(theta),0],size(pos,1),1);
 md.stressbalance.referential(pos,4:6)=repmat([0,0,1],size(pos,1),1);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 vel2=md.results.StressbalanceSolution.Vel;
 
Index: /issm/trunk-jpl/test/NightlyRun/test1601.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1601.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1601.py	(revision 21049)
@@ -21,5 +21,5 @@
 
 md.cluster=generic('name',oshostname(),'np',2)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 vel0=md.results.StressbalanceSolution.Vel
 
@@ -32,5 +32,5 @@
 md.stressbalance.referential[:,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(md.mesh.numberofvertices,1))
 md.stressbalance.referential[:,3: ]=numpy.tile([0,0,1],(md.mesh.numberofvertices,1))
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 vel1=md.results.StressbalanceSolution.Vel
 
@@ -43,5 +43,5 @@
 md.stressbalance.referential[pos,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(len(pos),1))
 md.stressbalance.referential[pos,3: ]=numpy.tile([0,0,1],(len(pos),1))
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 vel2=md.results.StressbalanceSolution.Vel
 
Index: /issm/trunk-jpl/test/NightlyRun/test1602.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1602.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1602.m	(revision 21049)
@@ -11,5 +11,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 vel0=md.results.StressbalanceSolution.Vel;
 
@@ -22,5 +22,5 @@
 md.stressbalance.referential(:,1:3)=repmat([cos(theta),sin(theta),0],md.mesh.numberofvertices,1);
 md.stressbalance.referential(:,4:6)=repmat([0,0,1],md.mesh.numberofvertices,1);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 vel1=md.results.StressbalanceSolution.Vel;
 
Index: /issm/trunk-jpl/test/NightlyRun/test1602.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test1602.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test1602.py	(revision 21049)
@@ -22,5 +22,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 vel0=md.results.StressbalanceSolution.Vel
 
@@ -33,5 +33,5 @@
 md.stressbalance.referential[:,0:3]=numpy.tile([numpy.cos(theta),numpy.sin(theta),0],(md.mesh.numberofvertices,1))
 md.stressbalance.referential[:,3: ]=numpy.tile([0,0,1],(md.mesh.numberofvertices,1))
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 vel1=md.results.StressbalanceSolution.Vel
 
Index: /issm/trunk-jpl/test/NightlyRun/test2001.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2001.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2001.m	(revision 21049)
@@ -20,5 +20,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2001.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2001.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2001.py	(revision 21049)
@@ -33,5 +33,5 @@
 #Solve for GIA deflection 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,GiaSolutionEnum())
+md=solve(md,'GiaSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2002.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2002.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2002.py	(revision 21049)
@@ -79,5 +79,5 @@
 md.slr.rigid=0
 md.slr.elastic=0
-md=solve(md,SealevelriseSolutionEnum())
+md=solve(md,'SealevelriseSolution')
 Seustatic=md.results.SealevelriseSolution.Sealevel;
 
@@ -85,5 +85,5 @@
 md.slr.rigid=1
 md.slr.elastic=0
-md=solve(md,SealevelriseSolutionEnum())
+md=solve(md,'SealevelriseSolution')
 Srigid=md.results.SealevelriseSolution.Sealevel;
 
@@ -91,5 +91,5 @@
 md.slr.rigid=1
 md.slr.elastic=1
-md=solve(md,SealevelriseSolutionEnum())
+md=solve(md,'SealevelriseSolution')
 Selastic=md.results.SealevelriseSolution.Sealevel;
 
Index: /issm/trunk-jpl/test/NightlyRun/test201.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test201.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test201.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test201.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test201.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test201.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test202.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test202.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test202.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test202.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test202.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test202.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test203.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test203.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test203.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test203.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test203.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test203.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test204.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test204.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test204.m	(revision 21049)
@@ -8,7 +8,7 @@
 md.stressbalance.shelf_dampening=1;
 md.timestepping.time_step=0;
-md1=solve(md,StressbalanceSolutionEnum());
+md1=solve(md,'StressbalanceSolution');
 md.stressbalance.shelf_dampening=0;
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test204.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test204.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test204.py	(revision 21049)
@@ -19,7 +19,7 @@
 md.stressbalance.shelf_dampening=1;
 md.timestepping.time_step=0;
-md1=solve(md,StressbalanceSolutionEnum())
+md1=solve(md,'StressbalanceSolution')
 md.stressbalance.shelf_dampening=0;
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test205.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test205.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test205.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA','coupling','penalties');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test205.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test205.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test205.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA','coupling','penalties')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test2051.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2051.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2051.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2052.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2052.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2052.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2053.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2053.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2053.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test206.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test206.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test206.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.timestepping.time_step=0;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test206.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test206.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test206.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.timestepping.time_step=0
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test207.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test207.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test207.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test207.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test207.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test207.py	(revision 21049)
@@ -22,5 +22,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2071.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2071.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2071.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2072.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2072.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2072.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2073.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2073.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2073.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test208.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test208.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test208.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.transient.requested_outputs={'default','FloatingArea','GroundedArea','TotalGroundedBmb','TotalFloatingBmb'};
 md.basalforcings.floatingice_melting_rate(:)=1;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test208.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test208.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test208.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['default','FloatingArea','GroundedArea','TotalFloatingBmb','TotalGroundedBmb']
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test2081.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2081.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2081.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2082.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2082.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2082.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2083.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2083.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2083.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.verbose=verbose('1111111');
-md=solve(md,GiaSolutionEnum());
+md=solve(md,'GiaSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test209.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test209.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test209.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test209.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test209.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test209.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test210.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test210.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test210.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.transient.requested_outputs={'default','GroundedArea'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test210.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test210.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test210.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test211.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test211.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test211.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.stressbalance.reltol=NaN;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test211.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test211.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test211.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.stressbalance.reltol=NaN
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test212.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test212.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test212.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test212.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test212.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test212.py	(revision 21049)
@@ -34,5 +34,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test213.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test213.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test213.m	(revision 21049)
@@ -22,6 +22,6 @@
 md.verbose.solution=true;
 
-md.cluster=generic('name',oshostname(),'np',1);
-md=solve(md,StressbalanceSolutionEnum());
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test213.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test213.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test213.py	(revision 21049)
@@ -35,5 +35,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test214.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test214.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test214.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test214.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test214.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test214.py	(revision 21049)
@@ -35,5 +35,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test215.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test215.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test215.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test215.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test215.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test215.py	(revision 21049)
@@ -35,5 +35,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 
Index: /issm/trunk-jpl/test/NightlyRun/test216.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test216.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test216.m	(revision 21049)
@@ -8,10 +8,10 @@
 
 %rift settings
-md.rifts.riftstruct.fill=MelangeEnum();
+md.rifts.riftstruct.fill='Melange';
 md.rifts.riftstruct.fraction=0;
 md.stressbalance.rift_penalty_lock=2;
 md.stressbalance.rift_penalty_threshold=0;
 md.rifts.riftstruct.fractionincrement=.1;
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test216.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test216.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test216.py	(revision 21049)
@@ -21,10 +21,10 @@
 # rift settings
 
-md.rifts.riftstruct[0]['fill']=MelangeEnum()
+md.rifts.riftstruct[0]['fill']='Melange'
 md.rifts.riftstruct[0]['fraction']=0
 md.stressbalance.rift_penalty_lock=2
 md.stressbalance.rift_penalty_threshold=0
 md.rifts.riftstruct[0]['fractionincrement']=0.1
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test217.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test217.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test217.m	(revision 21049)
@@ -57,5 +57,5 @@
 md.mask.ice_levelset=-1+nodeonicefront;
 
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
Index: /issm/trunk-jpl/test/NightlyRun/test217.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test217.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test217.py	(revision 21049)
@@ -70,5 +70,5 @@
 md.mask.ice_levelset=-1+nodeonicefront
 
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
Index: /issm/trunk-jpl/test/NightlyRun/test218.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 21049)
@@ -86,5 +86,5 @@
 
 %solve
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test219.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test219.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test219.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test219.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test219.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test219.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'HO','../Exp/SquareHalfRight.exp','fill','SSA')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test220.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test220.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test220.m	(revision 21049)
@@ -6,5 +6,6 @@
 md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md.verbose=verbose('all');
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test220.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test220.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test220.py	(revision 21049)
@@ -17,5 +17,5 @@
 md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test221.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test221.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test221.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.stressbalance.viscosity_overshoot=0;
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test221.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test221.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test221.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.stressbalance.viscosity_overshoot=0
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test222.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test222.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test222.m	(revision 21049)
@@ -6,5 +6,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.masstransport.hydrostatic_adjustment='Incremental';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test222.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test222.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test222.py	(revision 21049)
@@ -15,5 +15,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.masstransport.hydrostatic_adjustment='Incremental'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test223.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test223.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test223.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',1);
 md.masstransport.hydrostatic_adjustment='Incremental';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test223.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test223.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test223.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.masstransport.hydrostatic_adjustment='Incremental'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test224.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test224.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test224.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.masstransport.hydrostatic_adjustment='Incremental';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test224.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test224.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test224.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.masstransport.hydrostatic_adjustment='Incremental'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test225.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.masstransport.hydrostatic_adjustment='Incremental';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test225.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.masstransport.hydrostatic_adjustment='Incremental'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test226.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test226.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test226.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.timestepping.time_adapt=1.;
 md.timestepping.final_time=15.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test226.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test226.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test226.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.timestepping.time_adapt=1.
 md.timestepping.final_time=15.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test227.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test227.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test227.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.timestepping.time_adapt=1.;
 md.timestepping.final_time=20.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test227.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test227.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test227.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.timestepping.time_adapt=1.
 md.timestepping.final_time=20.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test228.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test228.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test228.m	(revision 21049)
@@ -18,5 +18,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test228.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test228.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test228.py	(revision 21049)
@@ -27,5 +27,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test229.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test229.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test229.m	(revision 21049)
@@ -18,5 +18,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test229.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test229.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test229.py	(revision 21049)
@@ -27,5 +27,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test230.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test230.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test230.m	(revision 21049)
@@ -19,5 +19,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test230.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test230.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test230.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test231.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test231.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test231.m	(revision 21049)
@@ -19,5 +19,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test231.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test231.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test231.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test232.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test232.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test232.m	(revision 21049)
@@ -14,5 +14,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test232.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test232.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test232.py	(revision 21049)
@@ -24,5 +24,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test233.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test233.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test233.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.timestepping.time_step=0.5;
 md.timestepping.final_time=2.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test233.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test233.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test233.py	(revision 21049)
@@ -19,5 +19,5 @@
 md.timestepping.time_step=0.5
 md.timestepping.final_time=2.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test234.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test234.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test234.m	(revision 21049)
@@ -72,5 +72,5 @@
 
 %solve
-md=solve(md,TransientSolutionEnum(),'overwrite','y');
+md=solve(md,'TransientSolution','overwrite','y');
 md.qmu.results=md.results.dakota;
 
Index: /issm/trunk-jpl/test/NightlyRun/test235.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test235.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test235.m	(revision 21049)
@@ -67,5 +67,5 @@
 
 %solve
-md=solve(md,TransientSolutionEnum(),'overwrite','y');
+md=solve(md,'TransientSolution','overwrite','y');
 md.qmu.results=md.results.dakota;
 
Index: /issm/trunk-jpl/test/NightlyRun/test236.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test236.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test236.m	(revision 21049)
@@ -68,5 +68,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test236.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test236.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test236.py	(revision 21049)
@@ -73,5 +73,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test237.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test237.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test237.m	(revision 21049)
@@ -61,5 +61,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster
-md=solve(md,TransientSolutionEnum);
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test237.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test237.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test237.py	(revision 21049)
@@ -74,5 +74,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',1)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test238.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test238.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test238.m	(revision 21049)
@@ -48,5 +48,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test238.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test238.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test238.py	(revision 21049)
@@ -53,5 +53,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test239.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test239.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test239.m	(revision 21049)
@@ -49,5 +49,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test239.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test239.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test239.py	(revision 21049)
@@ -53,5 +53,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test240.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test240.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test240.m	(revision 21049)
@@ -49,5 +49,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',1); % 3 for the cluster
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test240.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test240.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test240.py	(revision 21049)
@@ -54,5 +54,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test241.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test241.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test241.m	(revision 21049)
@@ -19,5 +19,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test241.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test241.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test241.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test242.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test242.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test242.m	(revision 21049)
@@ -20,5 +20,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test242.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test242.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test242.py	(revision 21049)
@@ -29,5 +29,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test2424.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2424.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2424.m	(revision 21049)
@@ -23,5 +23,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %we are checking that the grounding line position is near the theorical one, which is the 0 contour level 
Index: /issm/trunk-jpl/test/NightlyRun/test2425.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test2425.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test2425.m	(revision 21049)
@@ -18,5 +18,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 vel1=md.results.TransientSolution(end).Vel;
 
@@ -33,5 +33,5 @@
 md.slr.sealevel=1000*ones(md.mesh.numberofvertices,1);
 
-md=solve(md,TransientSolutionEnum(),'checkconsistency','no');
+md=solve(md,'TransientSolution','checkconsistency','no');
 vel2=md.results.TransientSolution(end).Vel;
 
Index: /issm/trunk-jpl/test/NightlyRun/test243.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test243.m	(revision 21049)
@@ -41,5 +41,5 @@
 
 %Run transient
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test270.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test270.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test270.m	(revision 21049)
@@ -9,5 +9,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test270.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test270.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test270.py	(revision 21049)
@@ -21,5 +21,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test272.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test272.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test272.m	(revision 21049)
@@ -25,5 +25,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test272.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test272.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test272.py	(revision 21049)
@@ -36,5 +36,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test273.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test273.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test273.m	(revision 21049)
@@ -14,5 +14,5 @@
 md.damage.kappa=2.8;
 
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test273.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test273.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test273.py	(revision 21049)
@@ -26,5 +26,5 @@
 md.damage.kappa=2.8
 
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test274.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test274.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test274.m	(revision 21049)
@@ -11,5 +11,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test274.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test274.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test274.py	(revision 21049)
@@ -24,5 +24,6 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+print md.rifts.riftstruct[0]['fill']
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test275.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test275.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test275.m	(revision 21049)
@@ -20,5 +20,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,DamageEvolutionSolutionEnum());
+md=solve(md,'DamageEvolutionSolution');
 
 field_names={'D','F'};
Index: /issm/trunk-jpl/test/NightlyRun/test275.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test275.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test275.py	(revision 21049)
@@ -33,5 +33,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,DamageEvolutionSolutionEnum())
+md=solve(md,'DamageEvolutionSolution')
 
 field_names=['D','F']
Index: /issm/trunk-jpl/test/NightlyRun/test280.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test280.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test280.m	(revision 21049)
@@ -11,5 +11,5 @@
 for i={'P1bubble','P1bubblecondensed','P2'}
 	md.flowequation.fe_SSA=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},1e-12,1e-13,1e-13,1e-13};
Index: /issm/trunk-jpl/test/NightlyRun/test280.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test280.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test280.py	(revision 21049)
@@ -21,5 +21,5 @@
 for i in ['P1bubble','P1bubblecondensed','P2']:
 	md.flowequation.fe_SSA=i
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	field_names     =field_names+['Vx'+i,'Vy'+i,'Vel'+i,'Pressure'+i]
 	field_tolerances=field_tolerances+[1e-12,1e-13,1e-13,1e-13]
Index: /issm/trunk-jpl/test/NightlyRun/test285.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test285.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test285.m	(revision 21049)
@@ -12,5 +12,5 @@
 for i={'P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P1xP3','P2xP4'}
 	md.flowequation.fe_HO=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vz' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},6.5e-08,5e-08,2e-08,5e-08,1e-13};
Index: /issm/trunk-jpl/test/NightlyRun/test285.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test285.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test285.py	(revision 21049)
@@ -22,5 +22,5 @@
 for i in ['P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P1xP3','P2xP4']:
 	md.flowequation.fe_HO=i
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	field_names     =field_names+['Vx'+i,'Vy'+i,'Vz'+i,'Vel'+i,'Pressure'+i]
 	field_tolerances=field_tolerances+[6.5e-08,5e-08,2e-08,5e-08,1e-13]
Index: /issm/trunk-jpl/test/NightlyRun/test290.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test290.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test290.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.flowequation.fe_FS='TaylorHood';
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test290.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test290.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test290.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.flowequation.fe_FS='TaylorHood';
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test291.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test291.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test291.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.flowequation.fe_FS='OneLayerP4z';
 md.cluster=generic('name',oshostname(),'np',1);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test291.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test291.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test291.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.flowequation.fe_FS='OneLayerP4z'
 md.cluster=generic('name',oshostname(),'np',1)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test292.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test292.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test292.m	(revision 21049)
@@ -6,5 +6,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.basalforcings=linearbasalforcings(md.basalforcings);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test292.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test292.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test292.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.basalforcings=linearbasalforcings(md.basalforcings)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test293.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test293.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test293.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.geometry.bed=min(md.geometry.base)*ones(md.mesh.numberofvertices,1);
 md.transient.requested_outputs={'default','BasalforcingsFloatingiceMeltingRate'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3001.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3001.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3001.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3001.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3001.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3001.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.stressbalance.requested_outputs=['default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy']
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3002.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3002.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3002.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3002.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3002.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3002.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3003.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3003.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3003.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3003.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3003.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3003.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.stressbalance.requested_outputs=['default','StressTensorxx','StressTensoryy','StressTensorzz','StressTensorxy','StressTensorxz','StressTensoryz']
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3004.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3004.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3004.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3004.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3004.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3004.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3005.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3005.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3005.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3005.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3005.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3005.py	(revision 21049)
@@ -15,5 +15,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3006.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3006.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3006.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.toolkits.DefaultAnalysis=issmgslsolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3006.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3006.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3006.py	(revision 21049)
@@ -19,5 +19,5 @@
 md.masstransport.spcthickness=md.geometry.thickness
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3007.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3007.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3007.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmgslsolver();
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3007.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3007.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3007.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3008.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3008.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmgslsolver();
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3008.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3008.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3008.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',1)
 md.autodiff.isautodiff=True
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3009.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3009.m	(revision 21049)
@@ -14,5 +14,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmgslsolver();
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3009.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3009.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3009.py	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isgroundingline=False
 md.autodiff.isautodiff=True
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test301.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test301.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test301.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test301.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test301.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test301.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3010.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3010.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3010.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmgslsolver();
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3010.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3010.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3010.py	(revision 21049)
@@ -17,5 +17,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3015.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3015.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3015.m	(revision 21049)
@@ -43,5 +43,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 V0=md.results.MasstransportSolution.IceVolume;
 
@@ -54,5 +54,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 V2=md.results.MasstransportSolution.IceVolume;
 
@@ -68,5 +68,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 %retrieve directly
 dVdh_ad=md.results.MasstransportSolution.AutodiffJacobian;
Index: /issm/trunk-jpl/test/NightlyRun/test3015.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3015.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3015.py	(revision 21049)
@@ -59,5 +59,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 V0=md.results.MasstransportSolution.IceVolume
 
@@ -70,5 +70,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 V2=md.results.MasstransportSolution.IceVolume
 
@@ -84,5 +84,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 #retrieve directly
 dVdh_ad=md.results.MasstransportSolution.AutodiffJacobian
Index: /issm/trunk-jpl/test/NightlyRun/test3019.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3019.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3019.m	(revision 21049)
@@ -16,5 +16,5 @@
 md.autodiff.driver='fos_reverse';
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %recover jacobian: 
@@ -26,5 +26,5 @@
 md.autodiff.driver='fov_forward';
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %recover jacobian: 
Index: /issm/trunk-jpl/test/NightlyRun/test3019.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3019.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3019.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.autodiff.driver='fos_reverse'
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #recover jacobian: 
@@ -38,5 +38,5 @@
 md.autodiff.driver='fov_forward'
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #recover jacobian: 
Index: /issm/trunk-jpl/test/NightlyRun/test302.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test302.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test302.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SIA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test302.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test302.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test302.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SIA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3020.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3020.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3020.m	(revision 21049)
@@ -45,5 +45,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 V0=md.results.TransientSolution(end).IceVolume;
 MaxV0=md.results.TransientSolution(end).MaxVel;
@@ -57,5 +57,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 V2=md.results.TransientSolution(end).IceVolume;
 MaxV2=md.results.TransientSolution(end).MaxVel;
@@ -73,5 +73,5 @@
 md=SetIceShelfBC(md);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 %retrieve directly
 dVdh_ad=md.results.TransientSolution(1).AutodiffJacobian(1);
Index: /issm/trunk-jpl/test/NightlyRun/test3020.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3020.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3020.py	(revision 21049)
@@ -61,5 +61,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 V0=md.results.TransientSolution[-1].IceVolume
 MaxV0=md.results.TransientSolution[-1].MaxVel
@@ -73,5 +73,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 V2=md.results.TransientSolution[-1].IceVolume
 MaxV2=md.results.TransientSolution[-1].MaxVel
@@ -89,5 +89,5 @@
 md=SetIceShelfBC(md)
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 #retrieve directly
 dVdh_ad=md.results.TransientSolution[0].AutodiffJacobian[0]
Index: /issm/trunk-jpl/test/NightlyRun/test3021.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3021.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3021.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.toolkits.DefaultAnalysis=issmsolver();
 md.verbose=verbose('all');
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test303.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test303.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test303.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test303.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test303.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test303.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test304.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test304.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test304.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test304.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test304.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test304.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test305.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test305.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test305.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SIA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test305.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test305.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test305.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SIA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test306.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test306.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test306.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test306.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test306.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test306.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SIA','../Exp/SquareHalfRight.exp','fill','SSA')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test307.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test307.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test307.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test307.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test307.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test307.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test308.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test308.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test308.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test308.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test308.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test308.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test309.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test309.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test309.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test309.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test309.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test309.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test310.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test310.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test310.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.masstransport.spcthickness=md.geometry.thickness;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test310.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test310.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test310.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.masstransport.spcthickness=md.geometry.thickness
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3101.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3101.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3101.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3101.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3101.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3101.py	(revision 21049)
@@ -17,5 +17,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3102.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3102.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3102.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3102.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3102.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3102.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.autodiff.isautodiff=True
 
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3103.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3103.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3103.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3103.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3103.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3103.py	(revision 21049)
@@ -18,5 +18,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3104.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3104.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3104.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3104.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3104.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3104.py	(revision 21049)
@@ -17,5 +17,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3105.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3105.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3105.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3105.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3105.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3105.py	(revision 21049)
@@ -16,5 +16,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3106.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3106.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3106.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.toolkits.DefaultAnalysis=issmmumpssolver();
 md.verbose=verbose('autodiff',true);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3106.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3106.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3106.py	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3107.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3107.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3107.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmmumpssolver();
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3107.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3107.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3107.py	(revision 21049)
@@ -17,5 +17,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3108.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3108.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3108.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmmumpssolver();
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3108.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3108.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3108.py	(revision 21049)
@@ -18,5 +18,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3109.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3109.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3109.m	(revision 21049)
@@ -14,5 +14,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmmumpssolver();
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3109.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3109.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3109.py	(revision 21049)
@@ -22,5 +22,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test311.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test311.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test311.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=extrude(md,5,0.5);
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test311.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test311.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test311.py	(revision 21049)
@@ -15,5 +15,5 @@
 md.extrude(5,0.5)
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3110.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3110.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3110.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.verbose=verbose('autodiff',true);
 md.toolkits.DefaultAnalysis=issmmumpssolver();
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3110.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3110.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3110.py	(revision 21049)
@@ -18,5 +18,5 @@
 
 md.autodiff.isautodiff=True
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3119.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3119.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3119.m	(revision 21049)
@@ -16,5 +16,5 @@
 md.autodiff.driver='fos_reverse';
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %recover jacobian: 
Index: /issm/trunk-jpl/test/NightlyRun/test3119.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3119.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3119.py	(revision 21049)
@@ -26,5 +26,5 @@
 md.autodiff.driver='fos_reverse'
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #recover jacobian: 
Index: /issm/trunk-jpl/test/NightlyRun/test312.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test312.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test312.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.timestepping.time_step=0.;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test312.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test312.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test312.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.timestepping.time_step=0.
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test313.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test313.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test313.m	(revision 21049)
@@ -12,5 +12,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test313.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test313.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test313.py	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test314.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test314.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test314.m	(revision 21049)
@@ -6,5 +6,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.transient.requested_outputs={'default','GroundedArea','FloatingArea','IceVolume'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test314.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test314.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test314.py	(revision 21049)
@@ -15,5 +15,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['default','GroundedArea','FloatingArea','IceVolume']
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test315.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test315.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test315.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SIA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test315.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test315.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test315.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SIA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test316.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test316.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test316.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test316.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test316.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test316.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test317.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test317.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test317.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.transient.requested_outputs={'default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test317.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test317.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test317.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb']
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test318.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test318.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test318.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test318.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test318.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test318.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test319.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test319.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test319.m	(revision 21049)
@@ -19,5 +19,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test319.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test319.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test319.py	(revision 21049)
@@ -31,5 +31,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test320.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test320.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test320.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test320.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 21049)
@@ -32,5 +32,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test321.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test321.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test321.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test321.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 21049)
@@ -32,5 +32,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test322.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test322.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test322.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test322.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 21049)
@@ -32,5 +32,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test323.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test323.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test323.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.timestepping.time_adapt=1;
 md.timestepping.final_time=1120.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test323.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test323.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test323.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.timestepping.time_adapt=1
 md.timestepping.final_time=1120.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test324.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.timestepping.time_adapt=1;
 md.timestepping.final_time=16000.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test324.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.timestepping.time_adapt=1
 md.timestepping.final_time=16000.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test325.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test325.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test325.m	(revision 21049)
@@ -12,5 +12,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test325.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test325.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test325.py	(revision 21049)
@@ -22,5 +22,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test326.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test326.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test326.m	(revision 21049)
@@ -15,5 +15,5 @@
 md.thermal.isenthalpy=1;
 md.thermal.isdynamicbasalspc=1;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test326.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test326.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test326.py	(revision 21049)
@@ -25,5 +25,5 @@
 md.thermal.isenthalpy=1
 md.thermal.isdynamicbasalspc=1
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test327.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test327.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test327.m	(revision 21049)
@@ -13,5 +13,5 @@
 md.thermal.isdynamicbasalspc=1;
 md.basalforcings.geothermalflux(:)=5.;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test327.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test327.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test327.py	(revision 21049)
@@ -23,5 +23,5 @@
 md.thermal.isdynamicbasalspc=1
 md.basalforcings.geothermalflux[:]=5.
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test328.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test328.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test328.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.transient.requested_outputs={'default','TotalSmb'};
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test328.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test328.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test328.py	(revision 21049)
@@ -22,5 +22,5 @@
 md.smb.smbref= 1000. - 0.001*md.mesh.x - 0.005*md.mesh.y;
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test329.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test329.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test329.m	(revision 21049)
@@ -12,5 +12,5 @@
 md.transient.requested_outputs={'default','TotalSmb'};
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test329.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test329.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test329.py	(revision 21049)
@@ -23,5 +23,5 @@
 md.transient.requested_outputs=['default','TotalSmb']
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test3300.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3300.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test3300.m	(revision 21049)
@@ -49,5 +49,5 @@
 md.timestepping.final_time=8.0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 field_names     ={'SedimentWaterHead5','EplWaterHead5','SedimentWaterHead40','EplWaterHead40'};
Index: /issm/trunk-jpl/test/NightlyRun/test332.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test332.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test332.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.timestepping.time_step=0;
 md.timestepping.final_time=1.0;
-md=solve(md,HydrologySolutionEnum());
+md=solve(md,'HydrologySolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test332.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test332.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test332.py	(revision 21049)
@@ -37,5 +37,5 @@
 md.timestepping.time_step=0
 md.timestepping.final_time=1.0
-md=solve(md,HydrologySolutionEnum())
+md=solve(md,'HydrologySolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test333.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test333.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test333.m	(revision 21049)
@@ -33,5 +33,5 @@
 %md.verbose.solution=1;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %store=md.constants.g*md.hydrology.sediment_porosity*md.materials.rho_freshwater*((md.hydrology.sediment_compressibility/md.hydrology.sediment_porosity)+md.hydrology.water_compressibility);
Index: /issm/trunk-jpl/test/NightlyRun/test333.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test333.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test333.py	(revision 21049)
@@ -46,5 +46,5 @@
 md.timestepping.final_time=2.0
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 field_names     =['SedimentWaterHead1','EplWaterHead1','SedimentHeadResidual1', \
Index: /issm/trunk-jpl/test/NightlyRun/test334.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test334.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test334.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.timestepping.final_time=1.0;
 md=extrude(md,3,1.1);
-md=solve(md,HydrologySolutionEnum());
+md=solve(md,'HydrologySolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test335.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test335.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test335.m	(revision 21049)
@@ -33,5 +33,5 @@
 %md.verbose.solution=1;
 md=extrude(md,3,1.1);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %store=md.constants.g*md.hydrology.sediment_porosity* ...
Index: /issm/trunk-jpl/test/NightlyRun/test336.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test336.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test336.m	(revision 21049)
@@ -20,5 +20,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test336.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test336.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test336.py	(revision 21049)
@@ -30,5 +30,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test337.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test337.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test337.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test337.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test337.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test337.py	(revision 21049)
@@ -31,5 +31,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test338.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test338.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test338.m	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test338.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test338.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test338.py	(revision 21049)
@@ -31,5 +31,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test339.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test339.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test339.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.transient.isthermal=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test339.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test339.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test339.py	(revision 21049)
@@ -32,5 +32,5 @@
 md.transient.isthermal=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test340.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test340.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test340.m	(revision 21049)
@@ -19,5 +19,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test341.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test341.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test341.m	(revision 21049)
@@ -19,5 +19,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test341.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test341.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test341.py	(revision 21049)
@@ -32,5 +32,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test342.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test342.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test342.m	(revision 21049)
@@ -13,5 +13,5 @@
 md.thermal.requested_outputs={'default','BasalforcingsGeothermalflux'};
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test350.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test350.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test350.m	(revision 21049)
@@ -53,5 +53,5 @@
 md.hydrology.neumannflux(pos,:)=repmat(0.05*(1-sin(2*pi/(1/365)*time)),numel(pos),1);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test401.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test401.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test401.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test401.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test401.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test401.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test402.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test402.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test402.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test402.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test402.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test402.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test403.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test403.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test403.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test403.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test403.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test403.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test404.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test404.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test404.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test404.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test404.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test404.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test405.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test405.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test405.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO','coupling','penalties');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test405.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test405.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test405.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO','coupling','penalties')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test406.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0.;
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test406.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0.
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test407.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test407.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test407.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test407.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test408.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test408.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test408.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.transient.requested_outputs={'default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test408.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb']
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test409.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test409.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test409.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',1);
 md.transient.requested_outputs={'default','GroundedArea'};
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test409.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.transient.requested_outputs=['default','GroundedArea'];
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test410.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test410.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test410.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test410.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test411.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test411.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test411.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test411.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0.
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test412.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test412.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test412.m	(revision 21049)
@@ -46,5 +46,5 @@
 
 %solve
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test413.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test413.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test413.m	(revision 21049)
@@ -44,5 +44,5 @@
 
 %solve
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test414.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test414.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test414.m	(revision 21049)
@@ -61,5 +61,5 @@
 
 %solve
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 md.qmu.results=md.results.dakota;
 
Index: /issm/trunk-jpl/test/NightlyRun/test415.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 21049)
@@ -21,5 +21,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test415.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 21049)
@@ -33,5 +33,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test416.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 21049)
@@ -21,5 +21,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test416.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 21049)
@@ -33,5 +33,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test417.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test417.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test417.m	(revision 21049)
@@ -66,5 +66,5 @@
 md.stressbalance.reltol=10^-5; %tighten for qmu analyses
 
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test419.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test419.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test419.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test419.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test419.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test419.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','../Exp/SquareHalfRight.exp','fill','HO')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test420.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test420.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test420.m	(revision 21049)
@@ -45,5 +45,5 @@
 
 %solve
-md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
+md=solve(md,'StressbalanceSolution','overwrite','y');
 md.qmu.results=md.results.dakota;
 
Index: /issm/trunk-jpl/test/NightlyRun/test421.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test421.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test421.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test421.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test421.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test421.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'FS','../Exp/SquareHalfRight.exp','fill','HO')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test422.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test422.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test422.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.stressbalance.reltol=0.4;
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test422.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test422.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test422.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.stressbalance.reltol=0.4
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test423.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test423.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test423.m	(revision 21049)
@@ -27,10 +27,10 @@
 %test different grounding line dynamics.
 md.groundingline.migration='AggressiveMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_agressive=(md.results.TransientSolution.MaskGroundediceLevelset);
 vel_agressive=(md.results.TransientSolution.Vel);
 
 md.groundingline.migration='SoftMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_soft=(md.results.TransientSolution.MaskGroundediceLevelset);
 vel_soft=(md.results.TransientSolution.Vel);
@@ -38,10 +38,10 @@
 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.bed;
 md.groundingline.migration='SubelementMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_subelement=(md.results.TransientSolution.MaskGroundediceLevelset);
 vel_subelement=(md.results.TransientSolution.Vel);
 
 md.groundingline.migration='SubelementMigration2';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_subelement2=(md.results.TransientSolution.MaskGroundediceLevelset);
 vel_subelement2=(md.results.TransientSolution.Vel);
Index: /issm/trunk-jpl/test/NightlyRun/test423.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test423.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test423.py	(revision 21049)
@@ -38,10 +38,10 @@
 #test different grounding line dynamics.
 md.groundingline.migration='AggressiveMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_agressive=md.results.TransientSolution[0].MaskGroundediceLevelset
 vel_agressive=md.results.TransientSolution[0].Vel
 
 md.groundingline.migration='SoftMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_soft=md.results.TransientSolution[0].MaskGroundediceLevelset
 vel_soft=md.results.TransientSolution[0].Vel
@@ -49,10 +49,10 @@
 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.bed
 md.groundingline.migration='SubelementMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_subelement=md.results.TransientSolution[0].MaskGroundediceLevelset
 vel_subelement=md.results.TransientSolution[0].Vel
 
 md.groundingline.migration='SubelementMigration2'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_subelement2=md.results.TransientSolution[0].MaskGroundediceLevelset
 vel_subelement2=md.results.TransientSolution[0].Vel
Index: /issm/trunk-jpl/test/NightlyRun/test424.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test424.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test424.m	(revision 21049)
@@ -17,5 +17,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test424.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test424.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test424.py	(revision 21049)
@@ -27,5 +27,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test425.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test425.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test425.m	(revision 21049)
@@ -16,5 +16,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test425.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test425.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test425.py	(revision 21049)
@@ -26,5 +26,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test426.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test426.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test426.m	(revision 21049)
@@ -18,5 +18,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test426.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test426.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test426.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test427.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test427.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test427.m	(revision 21049)
@@ -17,5 +17,5 @@
 md.groundingline.migration='SoftMigration';
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test427.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test427.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test427.py	(revision 21049)
@@ -27,5 +27,5 @@
 md.groundingline.migration='SoftMigration'
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test428.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test428.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test428.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.stressbalance.restol=0.0001;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test428.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test428.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test428.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.stressbalance.restol=0.0001
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test429.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test429.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test429.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.stressbalance.restol=0.0001;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test429.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test429.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test429.py	(revision 21049)
@@ -18,5 +18,5 @@
 md.stressbalance.restol=0.0001
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test431.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test431.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test431.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
 md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test431.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test431.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test431.py	(revision 21049)
@@ -21,5 +21,5 @@
 md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
 md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test432.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test432.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test432.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
 md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test432.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test432.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test432.py	(revision 21049)
@@ -20,5 +20,5 @@
 md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
 md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test433.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test433.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test433.m	(revision 21049)
@@ -28,13 +28,13 @@
 %test different grounding line dynamics.
 md.groundingline.migration='AggressiveMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_agressive=(md.results.TransientSolution.MaskGroundediceLevelset);
 
 md.groundingline.migration='SoftMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_soft=(md.results.TransientSolution.MaskGroundediceLevelset);
 
 md.groundingline.migration='SubelementMigration';
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_subelement=(md.results.TransientSolution.MaskGroundediceLevelset);
 
@@ -42,5 +42,5 @@
 md.transient.isstressbalance=1;
 md=setflowequation(md,'SSA','all');
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 element_on_iceshelf_subelement2=(md.results.TransientSolution.MaskGroundediceLevelset);
 
Index: /issm/trunk-jpl/test/NightlyRun/test433.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test433.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test433.py	(revision 21049)
@@ -39,13 +39,13 @@
 #test different grounding line dynamics.
 md.groundingline.migration='AggressiveMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_agressive=md.results.TransientSolution[0].MaskGroundediceLevelset
 
 md.groundingline.migration='SoftMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_soft=md.results.TransientSolution[0].MaskGroundediceLevelset
 
 md.groundingline.migration='SubelementMigration'
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 element_on_iceshelf_subelement=md.results.TransientSolution[0].MaskGroundediceLevelset
 
Index: /issm/trunk-jpl/test/NightlyRun/test434.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test434.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test434.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'L1L2','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test434.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test434.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test434.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'L1L2','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test435.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 21049)
@@ -44,5 +44,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test436.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test436.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test436.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 	md.materials.rheology_law=i{1};
-	md=solve(md,SteadystateSolutionEnum());
+	md=solve(md,'SteadystateSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vz' i{1}],['Vel' i{1}],['Pressure' i{1}],...
 		['Temperature' i{1}],['Waterfraction' i{1}],['Enthalpy' i{1}]};
Index: /issm/trunk-jpl/test/NightlyRun/test437.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test437.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test437.m	(revision 21049)
@@ -45,5 +45,5 @@
 md.verbose=verbose(0);
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md, TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test438.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test438.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test438.m	(revision 21049)
@@ -10,5 +10,5 @@
 md.friction.f=0.8;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test439.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test439.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test439.m	(revision 21049)
@@ -11,5 +11,5 @@
 md.friction.f=0.8;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test450.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test450.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test450.m	(revision 21049)
@@ -11,5 +11,5 @@
 for i={'P1bubble','P1bubblecondensed','P2'}
 	md.flowequation.fe_SSA=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},1e-12,1e-13,1e-13,1e-13};
Index: /issm/trunk-jpl/test/NightlyRun/test450.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test450.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test450.py	(revision 21049)
@@ -21,5 +21,5 @@
 for i in ['P1bubble','P1bubblecondensed','P2']:
 	md.flowequation.fe_SSA=i
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	field_names     =field_names+['Vx'+i,'Vy'+i,'Vel'+i,'Pressure'+i]
 	field_tolerances=field_tolerances+[1e-12,1e-13,1e-13,1e-13]
Index: /issm/trunk-jpl/test/NightlyRun/test455.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test455.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test455.m	(revision 21049)
@@ -12,5 +12,5 @@
 for i={'P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P1xP3','P2xP4'}
 	md.flowequation.fe_HO=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vz' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},6e-08,6e-08,6e-08,6e-08,3e-13};
Index: /issm/trunk-jpl/test/NightlyRun/test455.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test455.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test455.py	(revision 21049)
@@ -22,5 +22,5 @@
 for i in ['P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P1xP3','P2xP4']:
 	md.flowequation.fe_HO=i
-	md=solve(md,StressbalanceSolutionEnum())
+	md=solve(md,'StressbalanceSolution')
 	field_names     =field_names+['Vx'+i,'Vy'+i,'Vz'+i,'Vel'+i,'Pressure'+i]
 	field_tolerances=field_tolerances+[6e-08,6e-08,6e-08,6e-08,3e-13]
Index: /issm/trunk-jpl/test/NightlyRun/test460.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test460.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test460.m	(revision 21049)
@@ -19,5 +19,5 @@
 	disp(['====== Testing Estar with ' i{1} ' =====']);
 	md=setflowequation(md,i{1},'all');
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vz' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},6e-07,6e-07,2e-06,1e-06,5e-07};
Index: /issm/trunk-jpl/test/NightlyRun/test501.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test501.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test501.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test501.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test501.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test501.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test502.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test502.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test502.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test502.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test502.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test502.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test503.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test503.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test503.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test503.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test503.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test503.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test504.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test504.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test504.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test504.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test504.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test504.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test505.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test505.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test505.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test505.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test505.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test505.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test506.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test506.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test506.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test506.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test506.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test506.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test507.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test507.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test507.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'FS','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test507.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test507.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test507.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test508.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test508.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test508.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0.;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test508.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test508.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test508.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0.
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test509.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test509.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test509.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.timestepping.time_step=0.;
 md.thermal.penalty_threshold=7;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test509.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test509.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test509.py	(revision 21049)
@@ -17,5 +17,5 @@
 md.timestepping.time_step=0.
 md.thermal.penalty_threshold=7
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test510.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test510.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test510.m	(revision 21049)
@@ -7,5 +7,5 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0.;
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test510.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test510.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test510.py	(revision 21049)
@@ -16,5 +16,5 @@
 md.cluster=generic('name',oshostname(),'np',3)
 md.timestepping.time_step=0.
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test511.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test511.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test511.m	(revision 21049)
@@ -25,5 +25,5 @@
 
 md.cluster=generic('name',oshostname(),'np',1);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test511.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test511.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test511.py	(revision 21049)
@@ -36,5 +36,5 @@
 
 md.cluster=generic('name',oshostname(),'np',1)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test512.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test512.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test512.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,StressbalanceSolutionEnum());
+md=solve(md,'StressbalanceSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test512.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test512.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test512.py	(revision 21049)
@@ -32,5 +32,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,StressbalanceSolutionEnum())
+md=solve(md,'StressbalanceSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test513.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test513.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test513.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.thermal.penalty_lock=5;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SteadystateSolutionEnum());
+md=solve(md,'SteadystateSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test513.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 21049)
@@ -33,5 +33,5 @@
 md.thermal.penalty_lock=5
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SteadystateSolutionEnum())
+md=solve(md,'SteadystateSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test515.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test515.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test515.m	(revision 21049)
@@ -12,5 +12,5 @@
 md.transient.isthermal=1;
 md.transient.isgroundingline=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test515.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test515.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test515.py	(revision 21049)
@@ -21,5 +21,5 @@
 md.transient.isthermal=True
 md.transient.isgroundingline=False
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test516.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test516.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test516.m	(revision 21049)
@@ -9,5 +9,5 @@
 md.timestepping.time_step=0;
 md.thermal.penalty_threshold=40;
-md=solve(md,ThermalSolutionEnum());
+md=solve(md,'ThermalSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test516.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test516.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test516.py	(revision 21049)
@@ -19,5 +19,5 @@
 md.timestepping.time_step=0
 md.thermal.penalty_threshold=40
-md=solve(md,ThermalSolutionEnum())
+md=solve(md,'ThermalSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test530.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test530.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test530.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancevelocitySolutionEnum());
+md=solve(md,'BalancevelocitySolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test530.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test530.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test530.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancevelocitySolutionEnum())
+md=solve(md,'BalancevelocitySolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test531.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test531.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test531.m	(revision 21049)
@@ -7,5 +7,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancevelocitySolutionEnum());
+md=solve(md,'BalancevelocitySolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test531.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test531.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test531.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancevelocitySolutionEnum())
+md=solve(md,'BalancevelocitySolution')
 
 # Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test601.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test601.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test601.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test601.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test601.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test601.py	(revision 21049)
@@ -14,5 +14,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test602.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test602.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test602.m	(revision 21049)
@@ -8,5 +8,5 @@
 md.masstransport.spcthickness=md.geometry.thickness;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test602.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test602.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test602.py	(revision 21049)
@@ -19,5 +19,5 @@
 md.masstransport.spcthickness=md.geometry.thickness
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test603.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test603.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test603.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,MasstransportSolutionEnum());
+md=solve(md,'MasstransportSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test603.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test603.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test603.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,MasstransportSolutionEnum())
+md=solve(md,'MasstransportSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test604.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test604.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test604.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SurfaceSlopeSolutionEnum());
+md=solve(md,'SurfaceSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test604.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test604.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test604.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SurfaceSlopeSolutionEnum())
+md=solve(md,'SurfaceSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test605.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test605.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test605.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'HO','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,SurfaceSlopeSolutionEnum());
+md=solve(md,'SurfaceSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test605.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test605.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test605.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'HO','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,SurfaceSlopeSolutionEnum())
+md=solve(md,'SurfaceSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test606.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test606.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test606.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BedSlopeSolutionEnum());
+md=solve(md,'BedSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test606.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test606.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test606.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BedSlopeSolutionEnum())
+md=solve(md,'BedSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test607.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test607.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test607.m	(revision 21049)
@@ -6,5 +6,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BedSlopeSolutionEnum());
+md=solve(md,'BedSlopeSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test607.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test607.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test607.py	(revision 21049)
@@ -16,5 +16,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BedSlopeSolutionEnum())
+md=solve(md,'BedSlopeSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test608.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test608.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test608.m	(revision 21049)
@@ -5,5 +5,5 @@
 md=setflowequation(md,'SSA','all');
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancethicknessSolutionEnum());
+md=solve(md,'BalancethicknessSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test608.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test608.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test608.py	(revision 21049)
@@ -15,5 +15,5 @@
 md=setflowequation(md,'SSA','all')
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancethicknessSolutionEnum())
+md=solve(md,'BalancethicknessSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test611.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test611.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test611.m	(revision 21049)
@@ -20,5 +20,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancethicknessSolutionEnum());
+md=solve(md,'BalancethicknessSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test611.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test611.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test611.py	(revision 21049)
@@ -30,5 +30,5 @@
 
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancethicknessSolutionEnum())
+md=solve(md,'BalancethicknessSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test613.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test613.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test613.m	(revision 21049)
@@ -27,5 +27,5 @@
 md.verbose.control=1;
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,BalancethicknessSolutionEnum());
+md=solve(md,'BalancethicknessSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test613.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test613.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test613.py	(revision 21049)
@@ -39,5 +39,5 @@
 md.verbose.control=1
 md.cluster=generic('name',oshostname(),'np',3)
-md=solve(md,BalancethicknessSolutionEnum())
+md=solve(md,'BalancethicknessSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test701.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test701.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test701.m	(revision 21049)
@@ -56,5 +56,5 @@
 	disp(['====== Testing ' i{1} ' Full-Stokes Finite element =====']);
 	md.flowequation.fe_FS=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},9e-5,9e-5,9e-5,1e-10};
Index: /issm/trunk-jpl/test/NightlyRun/test702.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test702.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test702.m	(revision 21049)
@@ -54,5 +54,5 @@
 	disp(['====== Testing ' i{1} ' Full-Stokes Finite element =====']);
 	md.flowequation.fe_FS=i{1};
-	md=solve(md,StressbalanceSolutionEnum());
+	md=solve(md,'StressbalanceSolution');
 	field_names     ={field_names{:},['Vx' i{1}],['Vy' i{1}],['Vel' i{1}],['Pressure' i{1}]};
 	field_tolerances={field_tolerances{:},8e-5,8e-5,8e-5,1e-08};
Index: /issm/trunk-jpl/test/NightlyRun/test703.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 21049)
@@ -61,8 +61,8 @@
 md.cluster=generic('np',3);
 md.stressbalance.shelf_dampening=1;
-md1=solve(md,TransientSolutionEnum());
+md1=solve(md,'TransientSolution');
 
 md.stressbalance.shelf_dampening=0;
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test801.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test801.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test801.m	(revision 21049)
@@ -15,5 +15,5 @@
 md.transient.isgia=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test801.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test801.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test801.py	(revision 21049)
@@ -25,5 +25,5 @@
 md.transient.isgia=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test802.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test802.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test802.m	(revision 21049)
@@ -20,5 +20,5 @@
 md.transient.isgia=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test802.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test802.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test802.py	(revision 21049)
@@ -30,5 +30,5 @@
 md.transient.isgia=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test803.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test803.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test803.m	(revision 21049)
@@ -22,5 +22,5 @@
 md.transient.isgia=0;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test803.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test803.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test803.py	(revision 21049)
@@ -32,5 +32,5 @@
 md.transient.isgia=False
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test804.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test804.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test804.m	(revision 21049)
@@ -18,5 +18,5 @@
 md.calving.meltingrate=zeros(md.mesh.numberofvertices,1);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test804.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test804.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test804.py	(revision 21049)
@@ -28,5 +28,5 @@
 md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test805.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test805.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test805.m	(revision 21049)
@@ -25,5 +25,5 @@
 md.calving.meltingrate=zeros(md.mesh.numberofvertices,1);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test805.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test805.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test805.py	(revision 21049)
@@ -35,5 +35,5 @@
 md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test806.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test806.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test806.m	(revision 21049)
@@ -32,5 +32,5 @@
 md.transient.requested_outputs={'default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate'};
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test806.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test806.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test806.py	(revision 21049)
@@ -43,5 +43,5 @@
 md.transient.requested_outputs=['default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate']
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test807.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test807.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test807.m	(revision 21049)
@@ -29,5 +29,5 @@
 md.levelset.spclevelset=NaN(md.mesh.numberofvertices,1);
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test807.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test807.py	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test807.py	(revision 21049)
@@ -40,5 +40,5 @@
 md.levelset.spclevelset=numpy.float('NaN')*numpy.ones((md.mesh.numberofvertices,1))
 
-md=solve(md,TransientSolutionEnum())
+md=solve(md,'TransientSolution')
 
 #Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test808.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test808.m	(revision 21048)
+++ /issm/trunk-jpl/test/NightlyRun/test808.m	(revision 21049)
@@ -31,5 +31,5 @@
 md.levelset.reinit_frequency=1;
 
-md=solve(md,TransientSolutionEnum());
+md=solve(md,'TransientSolution');
 
 %Fields and tolerances to track changes
