Index: /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4404)
+++ /issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h	(revision 4405)
@@ -10,6 +10,5 @@
 
 /* local prototypes: */
-void	ComputeBasalStressx( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,
-			int analysis_type,int sub_analysis_type);
+void	ComputeBasalStressx( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters);
 
 #endif  /* _COMPUTEBASALSTRESSX_H */
Index: /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4404)
+++ /issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.h	(revision 4405)
@@ -10,6 +10,5 @@
 
 /* local prototypes: */
-void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,
-			int analysis_type,int sub_analysis_type);
+void	ComputePressurex( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters);
 
 #endif  /* _COMPUTEPRESSUREX_H */
Index: /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
===================================================================
--- /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4404)
+++ /issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h	(revision 4405)
@@ -10,6 +10,5 @@
 
 /* local prototypes: */
-void	ComputeStrainRatex(Vec* eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters,
-			int analysis_type,int sub_analysis_type);
+void	ComputeStrainRatex(Vec* eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,  Parameters* parameters);
 
 #endif  /* _COMPUTESTRAINRATEX_H */
Index: /issm/trunk/src/c/objects/Elements/Beam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4404)
+++ /issm/trunk/src/c/objects/Elements/Beam.cpp	(revision 4405)
@@ -196,9 +196,8 @@
 	double xyz_list[numgrids][3];
 	double gauss[numgrids][numgrids]={{1,0},{0,1}};
-	int analysis_type,sub_analysis_type;
+	int    analysis_type;
 
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
 
 	/*Get dof list on which we will plug the pressure values: */
@@ -266,9 +265,8 @@
 void  Beam::CreatePVector(Vec pg){
 
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
 	
 	/*Just branch to the correct load generator, according to the type of analysis we are carrying out: */
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4404)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4405)
@@ -432,5 +432,5 @@
 	double stresstensor[6]={0.0};
 	double viscosity;
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	int  dofv[3]={0,1,2};
@@ -464,8 +464,7 @@
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
 
 	/*Check analysis_types*/
-	if (analysis_type!=DiagnosticAnalysisEnum || sub_analysis_type!=StokesAnalysisEnum) ISSMERROR("Not supported yet!");
+	if (analysis_type!=DiagnosticStokesAnalysisEnum) ISSMERROR("Not supported yet!");
 
 	/*recover some inputs: */
@@ -715,9 +714,8 @@
 void  Penta::CreatePVector(Vec pg){
 
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
 
 	/*if debugging mode, check that all pointers exist*/
@@ -860,10 +858,8 @@
 void  Penta::GetSolutionFromInputs(Vec solution){
 
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
-
 
 	/*Just branch to the correct InputUpdateFromSolution generator, according to the type of analysis we are carrying out: */
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4404)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 4405)
@@ -3566,5 +3566,4 @@
 /*}}}*/
 /*FUNCTION Tria::CreateKMatrixSlope {{{1*/
-
 void  Tria::CreateKMatrixSlope(Mat Kgg){
 
@@ -4400,8 +4399,8 @@
 	double  pe_g_gaussian[numdof];
 	double  slope[2];
-	int sub_analysis_type;
+	int     analysis_type;
 
 	/*retrive parameters: */
-	parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
+	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 
 	/* Get node coordinates and dof list: */
@@ -4422,8 +4421,8 @@
 		gauss_l1l2l3[2]=*(third_gauss_area_coord+ig);
 
-		if ( (sub_analysis_type==SurfaceSlopeXAnalysisEnum) || (sub_analysis_type==SurfaceSlopeYAnalysisEnum)){
+		if ( (analysis_type==SurfaceSlopeXAnalysisEnum) || (analysis_type==SurfaceSlopeYAnalysisEnum)){
 			inputs->GetParameterDerivativeValue(&slope[0],&xyz_list[0][0],&gauss_l1l2l3[0],SurfaceEnum);
 		}
-		if ( (sub_analysis_type==BedSlopeXAnalysisEnum) || (sub_analysis_type==BedSlopeYAnalysisEnum)){
+		if ( (analysis_type==BedSlopeXAnalysisEnum) || (analysis_type==BedSlopeYAnalysisEnum)){
 			inputs->GetParameterDerivativeValue(&slope[0],&xyz_list[0][0],&gauss_l1l2l3[0],BedEnum);
 		}
@@ -4436,8 +4435,8 @@
 
 		/*Build pe_g_gaussian vector: */
-		if ( (sub_analysis_type==SurfaceSlopeXAnalysisEnum) || (sub_analysis_type==BedSlopeXAnalysisEnum)){
+		if ( (analysis_type==SurfaceSlopeXAnalysisEnum) || (analysis_type==BedSlopeXAnalysisEnum)){
 			for(i=0;i<numdof;i++) pe_g_gaussian[i]=Jdet*gauss_weight*slope[0]*l1l2l3[i];
 		}
-		if ( (sub_analysis_type==SurfaceSlopeYAnalysisEnum) || (sub_analysis_type==BedSlopeYAnalysisEnum)){
+		if ( (analysis_type==SurfaceSlopeYAnalysisEnum) || (analysis_type==BedSlopeYAnalysisEnum)){
 			for(i=0;i<numdof;i++) pe_g_gaussian[i]=Jdet*gauss_weight*slope[1]*l1l2l3[i];
 		}
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4404)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 4405)
@@ -356,5 +356,5 @@
 	/* local declarations */
 	int             i,j;
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/* node data: */
@@ -395,5 +395,4 @@
 	/*Retrieve parameters: */
 	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
 
 	/*recover objects from hooks: */
@@ -475,5 +474,5 @@
 	/* local declarations */
 	int             i,j;
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/* node data: */
@@ -515,5 +514,4 @@
 	/*Retrieve parameters: */
 	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
 
 	/*recover objects from hooks: */
@@ -605,5 +603,5 @@
 	/* local declarations */
 	int             i,j;
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/* node data: */
@@ -649,5 +647,4 @@
 	/*Retrieve parameters: */
 	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
 
 	/*recover parameters: */
Index: /issm/trunk/src/c/objects/Loads/Pengrid.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 4404)
+++ /issm/trunk/src/c/objects/Loads/Pengrid.cpp	(revision 4405)
@@ -402,29 +402,22 @@
 void  Pengrid::PenaltyConstrain(int* punstable){
 
-	int analysis_type,sub_analysis_type;
+	int analysis_type;
 
 	/*Retrieve parameters: */
 	this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
-	this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
-
-	if ((analysis_type==DiagnosticAnalysisEnum) && ((sub_analysis_type==StokesAnalysisEnum))){
-
+
+	if (analysis_type==DiagnosticStokesAnalysisEnum){
 		/*No penalty to check*/
 		return;
-
 	}
 	else if (analysis_type==ThermalAnalysisEnum){
-		
 		PenaltyConstrainThermal(punstable);
-		
 	}
 	else if (analysis_type==MeltingAnalysisEnum){
-			
 		/*No penalty to check*/
 		return;
-
 	}
 	else{
-		ISSMERROR("%s%i%s%i%s","analysis: ",analysis_type," and sub_analysis_type: ",sub_analysis_type," not supported yet");
+		ISSMERROR("analysis: %s not supported yet",EnumAsString(analysis_type));
 	}
 
