Index: sm/trunk/src/m/enum/AnalysisTypeFromEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AnalysisTypeFromEnum.m	(revision 3781)
+++ 	(revision )
@@ -1,141 +1,0 @@
-function string=AnalysisTypeFromEnum(enum)
-%ANALYSISASENUM - get analysis type from Enum
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
-%            Please read src/c/README for more information
-%
-%   Usage:
-%      string=AnalysisTypeFromEnum(enum)
-
-%initialize output
-string='not found';
-
-if enum==AnalysisEnum(),
-	string='';
-end
-
-if enum==DiagnosticAnalysisEnum(),
-	string='diagnostic';
-end
-
-if enum==HorizAnalysisEnum(),
-	string='horiz';
-end
-
-if enum==HutterAnalysisEnum(),
-	string='hutter';
-end
-
-if enum==StokesAnalysisEnum(),
-	string='stokes';
-end
-
-if enum==VertAnalysisEnum(),
-	string='vert';
-end
-
-if enum==AdjointAnalysisEnum(),
-	string='adjoint';
-end
-
-if enum==ControlAnalysisEnum(),
-	string='control';
-end
-
-if enum==GradientAnalysisEnum(),
-	string='gradient';
-end
-
-if enum==InverseAnalysisEnum(),
-	string='inverse';
-end
-
-if enum==ThermalAnalysisEnum(),
-	string='thermal';
-end
-
-if enum==TransientAnalysisEnum(),
-	string='transient';
-end
-
-if enum==SteadyAnalysisEnum(),
-	string='steady';
-end
-
-if enum==SurfaceAnalysisEnum(),
-	string='surface';
-end
-
-if enum==SlopecomputeAnalysisEnum(),
-	string='slopecompute';
-end
-
-if enum==BedXAnalysisEnum(),
-	string='bedx';
-end
-
-if enum==BedYAnalysisEnum(),
-	string='bedy';
-end
-
-if enum==BedAnalysisEnum(),
-	string='bed';
-end
-
-if enum==SurfaceXAnalysisEnum(),
-	string='surfacex';
-end
-
-if enum==SurfaceYAnalysisEnum(),
-	string='surfacey';
-end
-
-if enum==Balancedthickness2AnalysisEnum(),
-	string='balancedthickness2';
-end
-
-if enum==BalancedthicknessAnalysisEnum(),
-	string='balancedthickness';
-end
-
-if enum==BalancedvelocitiesAnalysisEnum(),
-	string='balancedvelocities';
-end
-
-if enum==Prognostic2AnalysisEnum(),
-	string='prognostic2';
-end
-
-if enum==PrognosticAnalysisEnum(),
-	string='prognostic';
-end
-
-if enum==MeltingAnalysisEnum(),
-	string='melting';
-end
-
-if enum==Mesh2gridAnalysisEnum(),
-	string='mesh2grid';
-end
-
-if enum==ParametersAnalysisEnum(),
-	string='parameters';
-end
-
-if enum==SteadystateAnalysisEnum(),
-	string='steadystate';
-end
-
-if enum==NoneAnalysisEnum(),
-	string='none';
-end
-
-if enum==QmuAnalysisEnum(),
-	string='qmu';
-end
-
-%check that an analysis type has been found for enum
-if strcmp(string,'not found'),
-	error(['AnalysisTypeFromEnum error message: enum ' num2str(enum) ' not supported!']);
-end
Index: /issm/trunk/src/m/enum/EnumAsString.m
===================================================================
--- /issm/trunk/src/m/enum/EnumAsString.m	(revision 3782)
+++ /issm/trunk/src/m/enum/EnumAsString.m	(revision 3782)
@@ -0,0 +1,244 @@
+function string=EnumAsString(enum)
+%ENUMASSTRING - output string associated with enum
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      string=EnumAsString(enum)
+
+switch enum,
+
+	case ConstraintsEnum(), string='Constraints'; return
+	case DatasetsEnum(), string='Datasets'; return
+	case ElementsEnum(), string='Elements'; return
+	case LoadsEnum(), string='Loads'; return
+	case MaterialsEnum(), string='Materials'; return
+	case NodesEnum(), string='Nodes'; return
+	case ParametersEnum(), string='Parameters'; return
+	case ResultsEnum(), string='Results'; return
+	case VerticesEnum(), string='Vertices'; return
+	case AnalysisEnum(), string='Analysis'; return
+	case AnalysisTypeEnum(), string='AnalysisType'; return
+	case SubAnalysisTypeEnum(), string='SubAnalysisType'; return
+	case DiagnosticAnalysisEnum(), string='DiagnosticAnalysis'; return
+	case HorizAnalysisEnum(), string='HorizAnalysis'; return
+	case HutterAnalysisEnum(), string='HutterAnalysis'; return
+	case StokesAnalysisEnum(), string='StokesAnalysis'; return
+	case VertAnalysisEnum(), string='VertAnalysis'; return
+	case AdjointAnalysisEnum(), string='AdjointAnalysis'; return
+	case ControlAnalysisEnum(), string='ControlAnalysis'; return
+	case GradientAnalysisEnum(), string='GradientAnalysis'; return
+	case InverseAnalysisEnum(), string='InverseAnalysis'; return
+	case ThermalAnalysisEnum(), string='ThermalAnalysis'; return
+	case TransientAnalysisEnum(), string='TransientAnalysis'; return
+	case SteadyAnalysisEnum(), string='SteadyAnalysis'; return
+	case SurfaceAnalysisEnum(), string='SurfaceAnalysis'; return
+	case SlopecomputeAnalysisEnum(), string='SlopecomputeAnalysis'; return
+	case BedXAnalysisEnum(), string='BedXAnalysis'; return
+	case BedYAnalysisEnum(), string='BedYAnalysis'; return
+	case BedAnalysisEnum(), string='BedAnalysis'; return
+	case SurfaceXAnalysisEnum(), string='SurfaceXAnalysis'; return
+	case SurfaceYAnalysisEnum(), string='SurfaceYAnalysis'; return
+	case Balancedthickness2AnalysisEnum(), string='Balancedthickness2Analysis'; return
+	case BalancedthicknessAnalysisEnum(), string='BalancedthicknessAnalysis'; return
+	case BalancedvelocitiesAnalysisEnum(), string='BalancedvelocitiesAnalysis'; return
+	case Prognostic2AnalysisEnum(), string='Prognostic2Analysis'; return
+	case PrognosticAnalysisEnum(), string='PrognosticAnalysis'; return
+	case MeltingAnalysisEnum(), string='MeltingAnalysis'; return
+	case Mesh2gridAnalysisEnum(), string='Mesh2gridAnalysis'; return
+	case ParametersAnalysisEnum(), string='ParametersAnalysis'; return
+	case SteadystateAnalysisEnum(), string='SteadystateAnalysis'; return
+	case NoneAnalysisEnum(), string='NoneAnalysis'; return
+	case FormulationEnum(), string='Formulation'; return
+	case HutterFormulationEnum(), string='HutterFormulation'; return
+	case MacAyealFormulationEnum(), string='MacAyealFormulation'; return
+	case NoneFormulationEnum(), string='NoneFormulation'; return
+	case PattynFormulationEnum(), string='PattynFormulation'; return
+	case StokesFormulationEnum(), string='StokesFormulation'; return
+	case ObjectEnum(), string='Object'; return
+	case HookEnum(), string='Hook'; return
+	case ElementEnum(), string='Element'; return
+	case BeamEnum(), string='Beam'; return
+	case DofIndexingEnum(), string='DofIndexing'; return
+	case ElementPropertiesEnum(), string='ElementProperties'; return
+	case NodePropertiesEnum(), string='NodeProperties'; return
+	case PentaEnum(), string='Penta'; return
+	case SingEnum(), string='Sing'; return
+	case TriaEnum(), string='Tria'; return
+	case NodeEnum(), string='Node'; return
+	case VertexEnum(), string='Vertex'; return
+	case LoadEnum(), string='Load'; return
+	case IcefrontEnum(), string='Icefront'; return
+	case NumericalfluxEnum(), string='Numericalflux'; return
+	case PengridEnum(), string='Pengrid'; return
+	case PenpairEnum(), string='Penpair'; return
+	case QuadIceFrontEnum(), string='QuadIceFront'; return
+	case QuadRiftFrontEnum(), string='QuadRiftFront'; return
+	case RiftfrontEnum(), string='Riftfront'; return
+	case SegmentIcefrontEnum(), string='SegmentIcefront'; return
+	case SegmentRiftfrontEnum(), string='SegmentRiftfront'; return
+	case MaterialEnum(), string='Material'; return
+	case MaticeEnum(), string='Matice'; return
+	case MatparEnum(), string='Matpar'; return
+	case InputEnum(), string='Input'; return
+	case BeamVertexInputEnum(), string='BeamVertexInput'; return
+	case BoolInputEnum(), string='BoolInput'; return
+	case DoubleInputEnum(), string='DoubleInput'; return
+	case IntInputEnum(), string='IntInput'; return
+	case PentaVertexInputEnum(), string='PentaVertexInput'; return
+	case SingVertexInputEnum(), string='SingVertexInput'; return
+	case TriaVertexInputEnum(), string='TriaVertexInput'; return
+	case ParamEnum(), string='Param'; return
+	case BoolParamEnum(), string='BoolParam'; return
+	case DoubleMatParamEnum(), string='DoubleMatParam'; return
+	case DoubleParamEnum(), string='DoubleParam'; return
+	case DoubleVecParamEnum(), string='DoubleVecParam'; return
+	case IntParamEnum(), string='IntParam'; return
+	case PetscMatParamEnum(), string='PetscMatParam'; return
+	case PetscVecParamEnum(), string='PetscVecParam'; return
+	case StringArrayParamEnum(), string='StringArrayParam'; return
+	case StringParamEnum(), string='StringParam'; return
+	case ResultEnum(), string='Result'; return
+	case RgbEnum(), string='Rgb'; return
+	case SpcEnum(), string='Spc'; return
+	case DofVecEnum(), string='DofVec'; return
+	case GeographyEnum(), string='Geography'; return
+	case IceSheetEnum(), string='IceSheet'; return
+	case IceShelfEnum(), string='IceShelf'; return
+	case WaterEnum(), string='Water'; return
+	case IceEnum(), string='Ice'; return
+	case AirEnum(), string='Air'; return
+	case MelangeEnum(), string='Melange'; return
+	case AccumulationRateEnum(), string='AccumulationRate'; return
+	case AdjointxEnum(), string='Adjointx'; return
+	case AdjointyEnum(), string='Adjointy'; return
+	case AdjointzEnum(), string='Adjointz'; return
+	case ArtDiffEnum(), string='ArtDiff'; return
+	case BedEnum(), string='Bed'; return
+	case BedSlopexEnum(), string='BedSlopex'; return
+	case BedSlopeyEnum(), string='BedSlopey'; return
+	case BoundaryEnum(), string='Boundary'; return
+	case CmMaxDmpSlopeEnum(), string='CmMaxDmpSlope'; return
+	case CmMaxDmpValueEnum(), string='CmMaxDmpValue'; return
+	case CmMinDmpSlopeEnum(), string='CmMinDmpSlope'; return
+	case CmMinDmpValueEnum(), string='CmMinDmpValue'; return
+	case CmNoiseDmpEnum(), string='CmNoiseDmp'; return
+	case CollapseEnum(), string='Collapse'; return
+	case ConstantEnum(), string='Constant'; return
+	case ControlTypeEnum(), string='ControlType'; return
+	case ConvergedEnum(), string='Converged'; return
+	case DhDtEnum(), string='DhDt'; return
+	case DragCoefficientEnum(), string='DragCoefficient'; return
+	case DragPEnum(), string='DragP'; return
+	case DragQEnum(), string='DragQ'; return
+	case DragTypeEnum(), string='DragType'; return
+	case DtEnum(), string='Dt'; return
+	case ElementOnBedEnum(), string='ElementOnBed'; return
+	case ElementOnIceShelfEnum(), string='ElementOnIceShelf'; return
+	case ElementOnSurfaceEnum(), string='ElementOnSurface'; return
+	case ElementOnWaterEnum(), string='ElementOnWater'; return
+	case EpsVelEnum(), string='EpsVel'; return
+	case FillEnum(), string='Fill'; return
+	case FitEnum(), string='Fit'; return
+	case FractionIncrementEnum(), string='FractionIncrement'; return
+	case FrictionEnum(), string='Friction'; return
+	case GeothermalFluxEnum(), string='GeothermalFlux'; return
+	case InternalEnum(), string='Internal'; return
+	case KflagEnum(), string='Kflag'; return
+	case MaxPenetrationEnum(), string='MaxPenetration'; return
+	case MeanVelEnum(), string='MeanVel'; return
+	case MeltingOffsetEnum(), string='MeltingOffset'; return
+	case MeltingRateEnum(), string='MeltingRate'; return
+	case NodeOnBedEnum(), string='NodeOnBed'; return
+	case NodeOnIceSheetEnum(), string='NodeOnIceSheet'; return
+	case NodeOnIceShelfEnum(), string='NodeOnIceShelf'; return
+	case NodeOnSurfaceEnum(), string='NodeOnSurface'; return
+	case PenaltyOffsetEnum(), string='PenaltyOffset'; return
+	case PflagEnum(), string='Pflag'; return
+	case PressureEnum(), string='Pressure'; return
+	case ResetPenaltiesEnum(), string='ResetPenalties'; return
+	case RheologyBEnum(), string='RheologyB'; return
+	case RheologyNEnum(), string='RheologyN'; return
+	case SegmentOnIceShelfEnum(), string='SegmentOnIceShelf'; return
+	case StabilizeConstraintsEnum(), string='StabilizeConstraints'; return
+	case StokesReconditioningEnum(), string='StokesReconditioning'; return
+	case SurfaceAreaEnum(), string='SurfaceArea'; return
+	case SurfaceEnum(), string='Surface'; return
+	case SurfaceSlopexEnum(), string='SurfaceSlopex'; return
+	case SurfaceSlopeyEnum(), string='SurfaceSlopey'; return
+	case TemperatureEnum(), string='Temperature'; return
+	case TemperatureAverageEnum(), string='TemperatureAverage'; return
+	case ThicknessEnum(), string='Thickness'; return
+	case TypeEnum(), string='Type'; return
+	case ViscosityOvershootEnum(), string='ViscosityOvershoot'; return
+	case VxAverageEnum(), string='VxAverage'; return
+	case VxEnum(), string='Vx'; return
+	case VxObsEnum(), string='VxObs'; return
+	case VxOldEnum(), string='VxOld'; return
+	case VyAverageEnum(), string='VyAverage'; return
+	case VyEnum(), string='Vy'; return
+	case VyObsEnum(), string='VyObs'; return
+	case VyOldEnum(), string='VyOld'; return
+	case VzAverageEnum(), string='VzAverage'; return
+	case VzEnum(), string='Vz'; return
+	case VzObsEnum(), string='VzObs'; return
+	case VzOldEnum(), string='VzOld'; return
+	case WeightsEnum(), string='Weights'; return
+	case BetaEnum(), string='Beta'; return
+	case CmGradientEnum(), string='CmGradient'; return
+	case CmJumpEnum(), string='CmJump'; return
+	case CmMaxEnum(), string='CmMax'; return
+	case CmMinEnum(), string='CmMin'; return
+	case ConnectivityEnum(), string='Connectivity'; return
+	case ControlParameterEnum(), string='ControlParameter'; return
+	case ControlSteadyEnum(), string='ControlSteady'; return
+	case DakotaParameterEnum(), string='DakotaParameter'; return
+	case DimEnum(), string='Dim'; return
+	case EpsAbsEnum(), string='EpsAbs'; return
+	case EpsCmEnum(), string='EpsCm'; return
+	case EpsRelEnum(), string='EpsRel'; return
+	case EpsResEnum(), string='EpsRes'; return
+	case ExtrudeParamEnum(), string='ExtrudeParam'; return
+	case HeatCapacityEnum(), string='HeatCapacity'; return
+	case IsHutterEnum(), string='IsHutter'; return
+	case IsMacAyealPattynEnum(), string='IsMacAyealPattyn'; return
+	case IsStokesEnum(), string='IsStokes'; return
+	case LatentHeatEnum(), string='LatentHeat'; return
+	case LowmemEnum(), string='Lowmem'; return
+	case MaxIterEnum(), string='MaxIter'; return
+	case MaxNonlinearIterationsEnum(), string='MaxNonlinearIterations'; return
+	case MeltingPointEnum(), string='MeltingPoint'; return
+	case MinMechanicalConstraintsEnum(), string='MinMechanicalConstraints'; return
+	case MinThermalConstraintsEnum(), string='MinThermalConstraints'; return
+	case NStepsEnum(), string='NSteps'; return
+	case NdtEnum(), string='Ndt'; return
+	case NumOutputEnum(), string='NumOutput'; return
+	case NumRiftsEnum(), string='NumRifts'; return
+	case NumberOfDofsPerNodeEnum(), string='NumberOfDofsPerNode'; return
+	case NumberOfElementsEnum(), string='NumberOfElements'; return
+	case NumberOfNodesEnum(), string='NumberOfNodes'; return
+	case NumberOfVerticesEnum(), string='NumberOfVertices'; return
+	case OptScalEnum(), string='OptScal'; return
+	case OutputFileNameEnum(), string='OutputFileName'; return
+	case ParameterOutputEnum(), string='ParameterOutput'; return
+	case PenaltyMeltingEnum(), string='PenaltyMelting'; return
+	case QmuAnalysisEnum(), string='QmuAnalysis'; return
+	case QmuErrNameEnum(), string='QmuErrName'; return
+	case QmuInNameEnum(), string='QmuInName'; return
+	case QmuMassFluxSegmentsEnum(), string='QmuMassFluxSegments'; return
+	case QmuNPartEnum(), string='QmuNPart'; return
+	case QmuOutNameEnum(), string='QmuOutName'; return
+	case QmuPartEnum(), string='QmuPart'; return
+	case ResponseDescriptorsEnum(), string='ResponseDescriptors'; return
+	case SolverStringEnum(), string='SolverString'; return
+	case SparsityEnum(), string='Sparsity'; return
+	case TolXEnum(), string='TolX'; return
+	case VariableDescriptorsEnum(), string='VariableDescriptors'; return
+	case VerboseEnum(), string='Verbose'; return
+	case WaitOnLockEnum(), string='WaitOnLock'; return
+	case YtsEnum(), string='Yts'; return
+	otherwise, error(['Enum ' num2str(enum)  ' not found']);
+
+end
Index: /issm/trunk/src/m/enum/StringAsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StringAsEnum.m	(revision 3782)
+++ /issm/trunk/src/m/enum/StringAsEnum.m	(revision 3782)
@@ -0,0 +1,242 @@
+function enum=StringAsEnum(name)
+%STRINGASENUM - output enum associated with string
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      enum=StringAsEnum(name)
+
+if (strcmpi(name,'Constraints')), enum=ConstraintsEnum(); return
+elseif (strcmpi(name,'Datasets')), enum=DatasetsEnum(); return
+elseif (strcmpi(name,'Elements')), enum=ElementsEnum(); return
+elseif (strcmpi(name,'Loads')), enum=LoadsEnum(); return
+elseif (strcmpi(name,'Materials')), enum=MaterialsEnum(); return
+elseif (strcmpi(name,'Nodes')), enum=NodesEnum(); return
+elseif (strcmpi(name,'Parameters')), enum=ParametersEnum(); return
+elseif (strcmpi(name,'Results')), enum=ResultsEnum(); return
+elseif (strcmpi(name,'Vertices')), enum=VerticesEnum(); return
+elseif (strcmpi(name,'Analysis')), enum=AnalysisEnum(); return
+elseif (strcmpi(name,'AnalysisType')), enum=AnalysisTypeEnum(); return
+elseif (strcmpi(name,'SubAnalysisType')), enum=SubAnalysisTypeEnum(); return
+elseif (strcmpi(name,'DiagnosticAnalysis')), enum=DiagnosticAnalysisEnum(); return
+elseif (strcmpi(name,'HorizAnalysis')), enum=HorizAnalysisEnum(); return
+elseif (strcmpi(name,'HutterAnalysis')), enum=HutterAnalysisEnum(); return
+elseif (strcmpi(name,'StokesAnalysis')), enum=StokesAnalysisEnum(); return
+elseif (strcmpi(name,'VertAnalysis')), enum=VertAnalysisEnum(); return
+elseif (strcmpi(name,'AdjointAnalysis')), enum=AdjointAnalysisEnum(); return
+elseif (strcmpi(name,'ControlAnalysis')), enum=ControlAnalysisEnum(); return
+elseif (strcmpi(name,'GradientAnalysis')), enum=GradientAnalysisEnum(); return
+elseif (strcmpi(name,'InverseAnalysis')), enum=InverseAnalysisEnum(); return
+elseif (strcmpi(name,'ThermalAnalysis')), enum=ThermalAnalysisEnum(); return
+elseif (strcmpi(name,'TransientAnalysis')), enum=TransientAnalysisEnum(); return
+elseif (strcmpi(name,'SteadyAnalysis')), enum=SteadyAnalysisEnum(); return
+elseif (strcmpi(name,'SurfaceAnalysis')), enum=SurfaceAnalysisEnum(); return
+elseif (strcmpi(name,'SlopecomputeAnalysis')), enum=SlopecomputeAnalysisEnum(); return
+elseif (strcmpi(name,'BedXAnalysis')), enum=BedXAnalysisEnum(); return
+elseif (strcmpi(name,'BedYAnalysis')), enum=BedYAnalysisEnum(); return
+elseif (strcmpi(name,'BedAnalysis')), enum=BedAnalysisEnum(); return
+elseif (strcmpi(name,'SurfaceXAnalysis')), enum=SurfaceXAnalysisEnum(); return
+elseif (strcmpi(name,'SurfaceYAnalysis')), enum=SurfaceYAnalysisEnum(); return
+elseif (strcmpi(name,'Balancedthickness2Analysis')), enum=Balancedthickness2AnalysisEnum(); return
+elseif (strcmpi(name,'BalancedthicknessAnalysis')), enum=BalancedthicknessAnalysisEnum(); return
+elseif (strcmpi(name,'BalancedvelocitiesAnalysis')), enum=BalancedvelocitiesAnalysisEnum(); return
+elseif (strcmpi(name,'Prognostic2Analysis')), enum=Prognostic2AnalysisEnum(); return
+elseif (strcmpi(name,'PrognosticAnalysis')), enum=PrognosticAnalysisEnum(); return
+elseif (strcmpi(name,'MeltingAnalysis')), enum=MeltingAnalysisEnum(); return
+elseif (strcmpi(name,'Mesh2gridAnalysis')), enum=Mesh2gridAnalysisEnum(); return
+elseif (strcmpi(name,'ParametersAnalysis')), enum=ParametersAnalysisEnum(); return
+elseif (strcmpi(name,'SteadystateAnalysis')), enum=SteadystateAnalysisEnum(); return
+elseif (strcmpi(name,'NoneAnalysis')), enum=NoneAnalysisEnum(); return
+elseif (strcmpi(name,'Formulation')), enum=FormulationEnum(); return
+elseif (strcmpi(name,'HutterFormulation')), enum=HutterFormulationEnum(); return
+elseif (strcmpi(name,'MacAyealFormulation')), enum=MacAyealFormulationEnum(); return
+elseif (strcmpi(name,'NoneFormulation')), enum=NoneFormulationEnum(); return
+elseif (strcmpi(name,'PattynFormulation')), enum=PattynFormulationEnum(); return
+elseif (strcmpi(name,'StokesFormulation')), enum=StokesFormulationEnum(); return
+elseif (strcmpi(name,'Object')), enum=ObjectEnum(); return
+elseif (strcmpi(name,'Hook')), enum=HookEnum(); return
+elseif (strcmpi(name,'Element')), enum=ElementEnum(); return
+elseif (strcmpi(name,'Beam')), enum=BeamEnum(); return
+elseif (strcmpi(name,'DofIndexing')), enum=DofIndexingEnum(); return
+elseif (strcmpi(name,'ElementProperties')), enum=ElementPropertiesEnum(); return
+elseif (strcmpi(name,'NodeProperties')), enum=NodePropertiesEnum(); return
+elseif (strcmpi(name,'Penta')), enum=PentaEnum(); return
+elseif (strcmpi(name,'Sing')), enum=SingEnum(); return
+elseif (strcmpi(name,'Tria')), enum=TriaEnum(); return
+elseif (strcmpi(name,'Node')), enum=NodeEnum(); return
+elseif (strcmpi(name,'Vertex')), enum=VertexEnum(); return
+elseif (strcmpi(name,'Load')), enum=LoadEnum(); return
+elseif (strcmpi(name,'Icefront')), enum=IcefrontEnum(); return
+elseif (strcmpi(name,'Numericalflux')), enum=NumericalfluxEnum(); return
+elseif (strcmpi(name,'Pengrid')), enum=PengridEnum(); return
+elseif (strcmpi(name,'Penpair')), enum=PenpairEnum(); return
+elseif (strcmpi(name,'QuadIceFront')), enum=QuadIceFrontEnum(); return
+elseif (strcmpi(name,'QuadRiftFront')), enum=QuadRiftFrontEnum(); return
+elseif (strcmpi(name,'Riftfront')), enum=RiftfrontEnum(); return
+elseif (strcmpi(name,'SegmentIcefront')), enum=SegmentIcefrontEnum(); return
+elseif (strcmpi(name,'SegmentRiftfront')), enum=SegmentRiftfrontEnum(); return
+elseif (strcmpi(name,'Material')), enum=MaterialEnum(); return
+elseif (strcmpi(name,'Matice')), enum=MaticeEnum(); return
+elseif (strcmpi(name,'Matpar')), enum=MatparEnum(); return
+elseif (strcmpi(name,'Input')), enum=InputEnum(); return
+elseif (strcmpi(name,'BeamVertexInput')), enum=BeamVertexInputEnum(); return
+elseif (strcmpi(name,'BoolInput')), enum=BoolInputEnum(); return
+elseif (strcmpi(name,'DoubleInput')), enum=DoubleInputEnum(); return
+elseif (strcmpi(name,'IntInput')), enum=IntInputEnum(); return
+elseif (strcmpi(name,'PentaVertexInput')), enum=PentaVertexInputEnum(); return
+elseif (strcmpi(name,'SingVertexInput')), enum=SingVertexInputEnum(); return
+elseif (strcmpi(name,'TriaVertexInput')), enum=TriaVertexInputEnum(); return
+elseif (strcmpi(name,'Param')), enum=ParamEnum(); return
+elseif (strcmpi(name,'BoolParam')), enum=BoolParamEnum(); return
+elseif (strcmpi(name,'DoubleMatParam')), enum=DoubleMatParamEnum(); return
+elseif (strcmpi(name,'DoubleParam')), enum=DoubleParamEnum(); return
+elseif (strcmpi(name,'DoubleVecParam')), enum=DoubleVecParamEnum(); return
+elseif (strcmpi(name,'IntParam')), enum=IntParamEnum(); return
+elseif (strcmpi(name,'PetscMatParam')), enum=PetscMatParamEnum(); return
+elseif (strcmpi(name,'PetscVecParam')), enum=PetscVecParamEnum(); return
+elseif (strcmpi(name,'StringArrayParam')), enum=StringArrayParamEnum(); return
+elseif (strcmpi(name,'StringParam')), enum=StringParamEnum(); return
+elseif (strcmpi(name,'Result')), enum=ResultEnum(); return
+elseif (strcmpi(name,'Rgb')), enum=RgbEnum(); return
+elseif (strcmpi(name,'Spc')), enum=SpcEnum(); return
+elseif (strcmpi(name,'DofVec')), enum=DofVecEnum(); return
+elseif (strcmpi(name,'Geography')), enum=GeographyEnum(); return
+elseif (strcmpi(name,'IceSheet')), enum=IceSheetEnum(); return
+elseif (strcmpi(name,'IceShelf')), enum=IceShelfEnum(); return
+elseif (strcmpi(name,'Water')), enum=WaterEnum(); return
+elseif (strcmpi(name,'Ice')), enum=IceEnum(); return
+elseif (strcmpi(name,'Air')), enum=AirEnum(); return
+elseif (strcmpi(name,'Melange')), enum=MelangeEnum(); return
+elseif (strcmpi(name,'AccumulationRate')), enum=AccumulationRateEnum(); return
+elseif (strcmpi(name,'Adjointx')), enum=AdjointxEnum(); return
+elseif (strcmpi(name,'Adjointy')), enum=AdjointyEnum(); return
+elseif (strcmpi(name,'Adjointz')), enum=AdjointzEnum(); return
+elseif (strcmpi(name,'ArtDiff')), enum=ArtDiffEnum(); return
+elseif (strcmpi(name,'Bed')), enum=BedEnum(); return
+elseif (strcmpi(name,'BedSlopex')), enum=BedSlopexEnum(); return
+elseif (strcmpi(name,'BedSlopey')), enum=BedSlopeyEnum(); return
+elseif (strcmpi(name,'Boundary')), enum=BoundaryEnum(); return
+elseif (strcmpi(name,'CmMaxDmpSlope')), enum=CmMaxDmpSlopeEnum(); return
+elseif (strcmpi(name,'CmMaxDmpValue')), enum=CmMaxDmpValueEnum(); return
+elseif (strcmpi(name,'CmMinDmpSlope')), enum=CmMinDmpSlopeEnum(); return
+elseif (strcmpi(name,'CmMinDmpValue')), enum=CmMinDmpValueEnum(); return
+elseif (strcmpi(name,'CmNoiseDmp')), enum=CmNoiseDmpEnum(); return
+elseif (strcmpi(name,'Collapse')), enum=CollapseEnum(); return
+elseif (strcmpi(name,'Constant')), enum=ConstantEnum(); return
+elseif (strcmpi(name,'ControlType')), enum=ControlTypeEnum(); return
+elseif (strcmpi(name,'Converged')), enum=ConvergedEnum(); return
+elseif (strcmpi(name,'DhDt')), enum=DhDtEnum(); return
+elseif (strcmpi(name,'DragCoefficient')), enum=DragCoefficientEnum(); return
+elseif (strcmpi(name,'DragP')), enum=DragPEnum(); return
+elseif (strcmpi(name,'DragQ')), enum=DragQEnum(); return
+elseif (strcmpi(name,'DragType')), enum=DragTypeEnum(); return
+elseif (strcmpi(name,'Dt')), enum=DtEnum(); return
+elseif (strcmpi(name,'ElementOnBed')), enum=ElementOnBedEnum(); return
+elseif (strcmpi(name,'ElementOnIceShelf')), enum=ElementOnIceShelfEnum(); return
+elseif (strcmpi(name,'ElementOnSurface')), enum=ElementOnSurfaceEnum(); return
+elseif (strcmpi(name,'ElementOnWater')), enum=ElementOnWaterEnum(); return
+elseif (strcmpi(name,'EpsVel')), enum=EpsVelEnum(); return
+elseif (strcmpi(name,'Fill')), enum=FillEnum(); return
+elseif (strcmpi(name,'Fit')), enum=FitEnum(); return
+elseif (strcmpi(name,'FractionIncrement')), enum=FractionIncrementEnum(); return
+elseif (strcmpi(name,'Friction')), enum=FrictionEnum(); return
+elseif (strcmpi(name,'GeothermalFlux')), enum=GeothermalFluxEnum(); return
+elseif (strcmpi(name,'Internal')), enum=InternalEnum(); return
+elseif (strcmpi(name,'Kflag')), enum=KflagEnum(); return
+elseif (strcmpi(name,'MaxPenetration')), enum=MaxPenetrationEnum(); return
+elseif (strcmpi(name,'MeanVel')), enum=MeanVelEnum(); return
+elseif (strcmpi(name,'MeltingOffset')), enum=MeltingOffsetEnum(); return
+elseif (strcmpi(name,'MeltingRate')), enum=MeltingRateEnum(); return
+elseif (strcmpi(name,'NodeOnBed')), enum=NodeOnBedEnum(); return
+elseif (strcmpi(name,'NodeOnIceSheet')), enum=NodeOnIceSheetEnum(); return
+elseif (strcmpi(name,'NodeOnIceShelf')), enum=NodeOnIceShelfEnum(); return
+elseif (strcmpi(name,'NodeOnSurface')), enum=NodeOnSurfaceEnum(); return
+elseif (strcmpi(name,'PenaltyOffset')), enum=PenaltyOffsetEnum(); return
+elseif (strcmpi(name,'Pflag')), enum=PflagEnum(); return
+elseif (strcmpi(name,'Pressure')), enum=PressureEnum(); return
+elseif (strcmpi(name,'ResetPenalties')), enum=ResetPenaltiesEnum(); return
+elseif (strcmpi(name,'RheologyB')), enum=RheologyBEnum(); return
+elseif (strcmpi(name,'RheologyN')), enum=RheologyNEnum(); return
+elseif (strcmpi(name,'SegmentOnIceShelf')), enum=SegmentOnIceShelfEnum(); return
+elseif (strcmpi(name,'StabilizeConstraints')), enum=StabilizeConstraintsEnum(); return
+elseif (strcmpi(name,'StokesReconditioning')), enum=StokesReconditioningEnum(); return
+elseif (strcmpi(name,'SurfaceArea')), enum=SurfaceAreaEnum(); return
+elseif (strcmpi(name,'Surface')), enum=SurfaceEnum(); return
+elseif (strcmpi(name,'SurfaceSlopex')), enum=SurfaceSlopexEnum(); return
+elseif (strcmpi(name,'SurfaceSlopey')), enum=SurfaceSlopeyEnum(); return
+elseif (strcmpi(name,'Temperature')), enum=TemperatureEnum(); return
+elseif (strcmpi(name,'TemperatureAverage')), enum=TemperatureAverageEnum(); return
+elseif (strcmpi(name,'Thickness')), enum=ThicknessEnum(); return
+elseif (strcmpi(name,'Type')), enum=TypeEnum(); return
+elseif (strcmpi(name,'ViscosityOvershoot')), enum=ViscosityOvershootEnum(); return
+elseif (strcmpi(name,'VxAverage')), enum=VxAverageEnum(); return
+elseif (strcmpi(name,'Vx')), enum=VxEnum(); return
+elseif (strcmpi(name,'VxObs')), enum=VxObsEnum(); return
+elseif (strcmpi(name,'VxOld')), enum=VxOldEnum(); return
+elseif (strcmpi(name,'VyAverage')), enum=VyAverageEnum(); return
+elseif (strcmpi(name,'Vy')), enum=VyEnum(); return
+elseif (strcmpi(name,'VyObs')), enum=VyObsEnum(); return
+elseif (strcmpi(name,'VyOld')), enum=VyOldEnum(); return
+elseif (strcmpi(name,'VzAverage')), enum=VzAverageEnum(); return
+elseif (strcmpi(name,'Vz')), enum=VzEnum(); return
+elseif (strcmpi(name,'VzObs')), enum=VzObsEnum(); return
+elseif (strcmpi(name,'VzOld')), enum=VzOldEnum(); return
+elseif (strcmpi(name,'Weights')), enum=WeightsEnum(); return
+elseif (strcmpi(name,'Beta')), enum=BetaEnum(); return
+elseif (strcmpi(name,'CmGradient')), enum=CmGradientEnum(); return
+elseif (strcmpi(name,'CmJump')), enum=CmJumpEnum(); return
+elseif (strcmpi(name,'CmMax')), enum=CmMaxEnum(); return
+elseif (strcmpi(name,'CmMin')), enum=CmMinEnum(); return
+elseif (strcmpi(name,'Connectivity')), enum=ConnectivityEnum(); return
+elseif (strcmpi(name,'ControlParameter')), enum=ControlParameterEnum(); return
+elseif (strcmpi(name,'ControlSteady')), enum=ControlSteadyEnum(); return
+elseif (strcmpi(name,'DakotaParameter')), enum=DakotaParameterEnum(); return
+elseif (strcmpi(name,'Dim')), enum=DimEnum(); return
+elseif (strcmpi(name,'EpsAbs')), enum=EpsAbsEnum(); return
+elseif (strcmpi(name,'EpsCm')), enum=EpsCmEnum(); return
+elseif (strcmpi(name,'EpsRel')), enum=EpsRelEnum(); return
+elseif (strcmpi(name,'EpsRes')), enum=EpsResEnum(); return
+elseif (strcmpi(name,'ExtrudeParam')), enum=ExtrudeParamEnum(); return
+elseif (strcmpi(name,'HeatCapacity')), enum=HeatCapacityEnum(); return
+elseif (strcmpi(name,'IsHutter')), enum=IsHutterEnum(); return
+elseif (strcmpi(name,'IsMacAyealPattyn')), enum=IsMacAyealPattynEnum(); return
+elseif (strcmpi(name,'IsStokes')), enum=IsStokesEnum(); return
+elseif (strcmpi(name,'LatentHeat')), enum=LatentHeatEnum(); return
+elseif (strcmpi(name,'Lowmem')), enum=LowmemEnum(); return
+elseif (strcmpi(name,'MaxIter')), enum=MaxIterEnum(); return
+elseif (strcmpi(name,'MaxNonlinearIterations')), enum=MaxNonlinearIterationsEnum(); return
+elseif (strcmpi(name,'MeltingPoint')), enum=MeltingPointEnum(); return
+elseif (strcmpi(name,'MinMechanicalConstraints')), enum=MinMechanicalConstraintsEnum(); return
+elseif (strcmpi(name,'MinThermalConstraints')), enum=MinThermalConstraintsEnum(); return
+elseif (strcmpi(name,'NSteps')), enum=NStepsEnum(); return
+elseif (strcmpi(name,'Ndt')), enum=NdtEnum(); return
+elseif (strcmpi(name,'NumOutput')), enum=NumOutputEnum(); return
+elseif (strcmpi(name,'NumRifts')), enum=NumRiftsEnum(); return
+elseif (strcmpi(name,'NumberOfDofsPerNode')), enum=NumberOfDofsPerNodeEnum(); return
+elseif (strcmpi(name,'NumberOfElements')), enum=NumberOfElementsEnum(); return
+elseif (strcmpi(name,'NumberOfNodes')), enum=NumberOfNodesEnum(); return
+elseif (strcmpi(name,'NumberOfVertices')), enum=NumberOfVerticesEnum(); return
+elseif (strcmpi(name,'OptScal')), enum=OptScalEnum(); return
+elseif (strcmpi(name,'OutputFileName')), enum=OutputFileNameEnum(); return
+elseif (strcmpi(name,'ParameterOutput')), enum=ParameterOutputEnum(); return
+elseif (strcmpi(name,'PenaltyMelting')), enum=PenaltyMeltingEnum(); return
+elseif (strcmpi(name,'QmuAnalysis')), enum=QmuAnalysisEnum(); return
+elseif (strcmpi(name,'QmuErrName')), enum=QmuErrNameEnum(); return
+elseif (strcmpi(name,'QmuInName')), enum=QmuInNameEnum(); return
+elseif (strcmpi(name,'QmuMassFluxSegments')), enum=QmuMassFluxSegmentsEnum(); return
+elseif (strcmpi(name,'QmuNPart')), enum=QmuNPartEnum(); return
+elseif (strcmpi(name,'QmuOutName')), enum=QmuOutNameEnum(); return
+elseif (strcmpi(name,'QmuPart')), enum=QmuPartEnum(); return
+elseif (strcmpi(name,'ResponseDescriptors')), enum=ResponseDescriptorsEnum(); return
+elseif (strcmpi(name,'SolverString')), enum=SolverStringEnum(); return
+elseif (strcmpi(name,'Sparsity')), enum=SparsityEnum(); return
+elseif (strcmpi(name,'TolX')), enum=TolXEnum(); return
+elseif (strcmpi(name,'VariableDescriptors')), enum=VariableDescriptorsEnum(); return
+elseif (strcmpi(name,'Verbose')), enum=VerboseEnum(); return
+elseif (strcmpi(name,'WaitOnLock')), enum=WaitOnLockEnum(); return
+elseif (strcmpi(name,'Yts')), enum=YtsEnum(); return
+else error(['Enum ' name  ' not found']);
+
+end
