/*
* \file EnumToStringx.cpp:
* \brief: output string associated with enum
*
*   WARNING: DO NOT MODIFY THIS FILE
*            this file has been automatically generated by Synchronize.sh
*            Please read README for more information
*/

#include <cstring>
#include "./Enum.h"
#include "../Exceptions/exceptions.h"
#include "../MemOps/MemOps.h"

const char* EnumToStringx(int en){

	switch(en){

		case AutodiffIsautodiffEnum : return "AutodiffIsautodiff";
		case AutodiffNumDependentsEnum : return "AutodiffNumDependents";
		case AutodiffNumDependentObjectsEnum : return "AutodiffNumDependentObjects";
		case AutodiffDependentObjectNamesEnum : return "AutodiffDependentObjectNames";
		case AutodiffDependentObjectTypesEnum : return "AutodiffDependentObjectTypes";
		case AutodiffDependentObjectIndicesEnum : return "AutodiffDependentObjectIndices";
		case AutodiffDependentObjectsEnum : return "AutodiffDependentObjects";
		case AutodiffNumIndependentsEnum : return "AutodiffNumIndependents";
		case AutodiffNumIndependentObjectsEnum : return "AutodiffNumIndependentObjects";
		case AutodiffIndependentObjectNamesEnum : return "AutodiffIndependentObjectNames";
		case AutodiffIndependentObjectTypesEnum : return "AutodiffIndependentObjectTypes";
		case AutodiffIndependentObjectsEnum : return "AutodiffIndependentObjects";
		case AutodiffJacobianEnum : return "AutodiffJacobian";
		case AutodiffXpEnum : return "AutodiffXp";
		case AutodiffDriverEnum : return "AutodiffDriver";
		case AutodiffFosForwardIndexEnum : return "AutodiffFosForwardIndex";
		case AutodiffFovForwardIndicesEnum : return "AutodiffFovForwardIndices";
		case AutodiffFosReverseIndexEnum : return "AutodiffFosReverseIndex";
		case AutodiffMassFluxSegmentsPresentEnum : return "AutodiffMassFluxSegmentsPresent";
		case AutodiffKeepEnum : return "AutodiffKeep";
		case AutodiffObufsizeEnum : return "AutodiffObufsize";
		case AutodiffLbufsizeEnum : return "AutodiffLbufsize";
		case AutodiffCbufsizeEnum : return "AutodiffCbufsize";
		case AutodiffTbufsizeEnum : return "AutodiffTbufsize";
		case AutodiffGcTriggerRatioEnum : return "AutodiffGcTriggerRatio";
		case AutodiffGcTriggerMaxSizeEnum : return "AutodiffGcTriggerMaxSize";
		case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness";
		case BalancethicknessStabilizationEnum : return "BalancethicknessStabilization";
		case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate";
		case BasalforcingsEnum : return "Basalforcings";
		case BasalforcingsGeothermalfluxEnum : return "BasalforcingsGeothermalflux";
		case BasalforcingsGroundediceMeltingRateEnum : return "BasalforcingsGroundediceMeltingRate";
		case BasalforcingsFloatingiceMeltingRateEnum : return "BasalforcingsFloatingiceMeltingRate";
		case BasalforcingsDeepwaterMeltingRateEnum : return "BasalforcingsDeepwaterMeltingRate";
		case BasalforcingsDeepwaterElevationEnum : return "BasalforcingsDeepwaterElevation";
		case BasalforcingsUpperwaterElevationEnum : return "BasalforcingsUpperwaterElevation";
		case FloatingMeltRateEnum : return "FloatingMeltRate";
		case LinearFloatingMeltRateEnum : return "LinearFloatingMeltRate";
		case BedEnum : return "Bed";
		case BaseEnum : return "Base";
		case ConstantsGEnum : return "ConstantsG";
		case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature";
		case ConstantsYtsEnum : return "ConstantsYts";
		case DependentObjectEnum : return "DependentObject";
		case StressbalanceAbstolEnum : return "StressbalanceAbstol";
		case StressbalanceIsnewtonEnum : return "StressbalanceIsnewton";
		case StressbalanceMaxiterEnum : return "StressbalanceMaxiter";
		case StressbalancePenaltyFactorEnum : return "StressbalancePenaltyFactor";
		case StressbalanceReferentialEnum : return "StressbalanceReferential";
		case StressbalanceReltolEnum : return "StressbalanceReltol";
		case StressbalanceNumRequestedOutputsEnum : return "StressbalanceNumRequestedOutputs";
		case StressbalanceRequestedOutputsEnum : return "StressbalanceRequestedOutputs";
		case StressbalanceRestolEnum : return "StressbalanceRestol";
		case StressbalanceRiftPenaltyLockEnum : return "StressbalanceRiftPenaltyLock";
		case StressbalanceRiftPenaltyThresholdEnum : return "StressbalanceRiftPenaltyThreshold";
		case StressbalanceShelfDampeningEnum : return "StressbalanceShelfDampening";
		case StressbalanceSpcvxEnum : return "StressbalanceSpcvx";
		case StressbalanceSpcvyEnum : return "StressbalanceSpcvy";
		case StressbalanceSpcvzEnum : return "StressbalanceSpcvz";
		case StressbalanceFSreconditioningEnum : return "StressbalanceFSreconditioning";
		case StressbalanceVertexPairingEnum : return "StressbalanceVertexPairing";
		case StressbalanceViscosityOvershootEnum : return "StressbalanceViscosityOvershoot";
		case LoadingforceXEnum : return "LoadingforceX";
		case LoadingforceYEnum : return "LoadingforceY";
		case LoadingforceZEnum : return "LoadingforceZ";
		case FlowequationBorderSSAEnum : return "FlowequationBorderSSA";
		case FlowequationBorderHOEnum : return "FlowequationBorderHO";
		case FlowequationBorderFSEnum : return "FlowequationBorderFS";
		case FlowequationElementEquationEnum : return "FlowequationElementEquation";
		case FlowequationIsSIAEnum : return "FlowequationIsSIA";
		case FlowequationIsSSAEnum : return "FlowequationIsSSA";
		case FlowequationIsL1L2Enum : return "FlowequationIsL1L2";
		case FlowequationIsHOEnum : return "FlowequationIsHO";
		case FlowequationIsFSEnum : return "FlowequationIsFS";
		case FlowequationFeSSAEnum : return "FlowequationFeSSA";
		case FlowequationFeHOEnum : return "FlowequationFeHO";
		case FlowequationFeFSEnum : return "FlowequationFeFS";
		case FlowequationVertexEquationEnum : return "FlowequationVertexEquation";
		case FrictionCoefficientEnum : return "FrictionCoefficient";
		case FrictionPEnum : return "FrictionP";
		case FrictionQEnum : return "FrictionQ";
		case FrictionMEnum : return "FrictionM";
		case FrictionCEnum : return "FrictionC";
		case FrictionLawEnum : return "FrictionLaw";
		case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio";
		case HydrologyModelEnum : return "HydrologyModel";
		case HydrologyshreveEnum : return "Hydrologyshreve";
		case HydrologyshreveSpcwatercolumnEnum : return "HydrologyshreveSpcwatercolumn";
		case HydrologyshreveStabilizationEnum : return "HydrologyshreveStabilization";
		case HydrologydcEnum : return "Hydrologydc";
		case SedimentHeadEnum : return "SedimentHead";
		case SedimentHeadOldEnum : return "SedimentHeadOld";
		case SedimentHeadResidualEnum : return "SedimentHeadResidual";
		case EffectivePressureEnum : return "EffectivePressure";
		case EplHeadEnum : return "EplHead";
		case EplHeadOldEnum : return "EplHeadOld";
		case EplHeadSlopeXEnum : return "EplHeadSlopeX";
		case EplHeadSlopeYEnum : return "EplHeadSlopeY";
		case HydrologydcMaxIterEnum : return "HydrologydcMaxIter";
		case HydrologydcRelTolEnum : return "HydrologydcRelTol";
		case HydrologydcSpcsedimentHeadEnum : return "HydrologydcSpcsedimentHead";
		case HydrologydcSedimentCompressibilityEnum : return "HydrologydcSedimentCompressibility";
		case HydrologydcSedimentPorosityEnum : return "HydrologydcSedimentPorosity";
		case HydrologydcSedimentThicknessEnum : return "HydrologydcSedimentThickness";
		case HydrologydcSedimentTransmitivityEnum : return "HydrologydcSedimentTransmitivity";
		case HydrologydcWaterCompressibilityEnum : return "HydrologydcWaterCompressibility";
		case HydrologydcSpceplHeadEnum : return "HydrologydcSpceplHead";
		case HydrologydcMaskEplactiveNodeEnum : return "HydrologydcMaskEplactiveNode";
		case HydrologydcMaskEplactiveEltEnum : return "HydrologydcMaskEplactiveElt";
		case HydrologydcEplCompressibilityEnum : return "HydrologydcEplCompressibility";
		case HydrologydcEplPorosityEnum : return "HydrologydcEplPorosity";
		case HydrologydcEplInitialThicknessEnum : return "HydrologydcEplInitialThickness";
		case HydrologydcEplMaxThicknessEnum : return "HydrologydcEplMaxThickness";
		case HydrologydcEplThicknessEnum : return "HydrologydcEplThickness";
		case HydrologydcEplThicknessOldEnum : return "HydrologydcEplThicknessOld";
		case HydrologydcEplConductivityEnum : return "HydrologydcEplConductivity";
		case HydrologydcIsefficientlayerEnum : return "HydrologydcIsefficientlayer";
		case HydrologydcSedimentlimitFlagEnum : return "HydrologydcSedimentlimitFlag";
		case HydrologydcSedimentlimitEnum : return "HydrologydcSedimentlimit";
		case HydrologydcTransferFlagEnum : return "HydrologydcTransferFlag";
		case HydrologydcLeakageFactorEnum : return "HydrologydcLeakageFactor";
		case HydrologydcPenaltyFactorEnum : return "HydrologydcPenaltyFactor";
		case HydrologydcPenaltyLockEnum : return "HydrologydcPenaltyLock";
		case HydrologydcBasalMoulinInputEnum : return "HydrologydcBasalMoulinInput";
		case HydrologyLayerEnum : return "HydrologyLayer";
		case HydrologySedimentEnum : return "HydrologySediment";
		case HydrologyEfficientEnum : return "HydrologyEfficient";
		case HydrologySedimentKmaxEnum : return "HydrologySedimentKmax";
		case IndependentObjectEnum : return "IndependentObject";
		case InversionControlParametersEnum : return "InversionControlParameters";
		case InversionCostFunctionThresholdEnum : return "InversionCostFunctionThreshold";
		case InversionCostFunctionsCoefficientsEnum : return "InversionCostFunctionsCoefficients";
		case InversionCostFunctionsEnum : return "InversionCostFunctions";
		case InversionGradientScalingEnum : return "InversionGradientScaling";
		case InversionIscontrolEnum : return "InversionIscontrol";
		case InversionTypeEnum : return "InversionType";
		case InversionIncompleteAdjointEnum : return "InversionIncompleteAdjoint";
		case InversionMaxParametersEnum : return "InversionMaxParameters";
		case InversionMaxiterPerStepEnum : return "InversionMaxiterPerStep";
		case InversionMaxiterEnum : return "InversionMaxiter";
		case InversionMaxstepsEnum : return "InversionMaxsteps";
		case InversionFatolEnum : return "InversionFatol";
		case InversionFrtolEnum : return "InversionFrtol";
		case InversionGatolEnum : return "InversionGatol";
		case InversionGrtolEnum : return "InversionGrtol";
		case InversionGttolEnum : return "InversionGttol";
		case InversionAlgorithmEnum : return "InversionAlgorithm";
		case InversionMinParametersEnum : return "InversionMinParameters";
		case InversionNstepsEnum : return "InversionNsteps";
		case InversionDxminEnum : return "InversionDxmin";
		case InversionNumControlParametersEnum : return "InversionNumControlParameters";
		case InversionNumCostFunctionsEnum : return "InversionNumCostFunctions";
		case InversionStepThresholdEnum : return "InversionStepThreshold";
		case InversionThicknessObsEnum : return "InversionThicknessObs";
		case InversionVxObsEnum : return "InversionVxObs";
		case InversionVyObsEnum : return "InversionVyObs";
		case InversionVzObsEnum : return "InversionVzObs";
		case MaskIceLevelsetEnum : return "MaskIceLevelset";
		case QmuMaskIceLevelsetEnum : return "QmuMaskIceLevelset";
		case MaterialsBetaEnum : return "MaterialsBeta";
		case MaterialsHeatcapacityEnum : return "MaterialsHeatcapacity";
		case MaterialsLatentheatEnum : return "MaterialsLatentheat";
		case MaterialsMeltingpointEnum : return "MaterialsMeltingpoint";
		case MaterialsMixedLayerCapacityEnum : return "MaterialsMixedLayerCapacity";
		case MaterialsRheologyBEnum : return "MaterialsRheologyB";
		case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar";
		case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
		case MaterialsRheologyNEnum : return "MaterialsRheologyN";
		case DamageIsdamageEnum : return "DamageIsdamage";
		case DamageDEnum : return "DamageD";
		case DamageFEnum : return "DamageF";
		case QmuDamageDEnum : return "QmuDamageD";
		case DamageDbarEnum : return "DamageDbar";
		case DamageLawEnum : return "DamageLaw";
		case DamageC1Enum : return "DamageC1";
		case DamageC2Enum : return "DamageC2";
		case DamageC3Enum : return "DamageC3";
		case DamageC4Enum : return "DamageC4";
		case DamageElementinterpEnum : return "DamageElementinterp";
		case DamageHealingEnum : return "DamageHealing";
		case DamageStressThresholdEnum : return "DamageStressThreshold";
		case DamageStabilizationEnum : return "DamageStabilization";
		case DamagePenaltyThresholdEnum : return "DamagePenaltyThreshold";
		case DamagePenaltyLockEnum : return "DamagePenaltyLock";
		case DamagePenaltyFactorEnum : return "DamagePenaltyFactor";
		case DamageMaxiterEnum : return "DamageMaxiter";
		case DamageSpcdamageEnum : return "DamageSpcdamage";
		case DamageMaxDamageEnum : return "DamageMaxDamage";
		case DamageEquivStressEnum : return "DamageEquivStress";
		case DamageEvolutionNumRequestedOutputsEnum : return "DamageEvolutionNumRequestedOutputs";
		case DamageEvolutionRequestedOutputsEnum : return "DamageEvolutionRequestedOutputs";
		case NewDamageEnum : return "NewDamage";
		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
		case MaterialsRhoSeawaterEnum : return "MaterialsRhoSeawater";
		case MaterialsRhoFreshwaterEnum : return "MaterialsRhoFreshwater";
		case MaterialsMuWaterEnum : return "MaterialsMuWater";
		case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity";
		case MaterialsThermalconductivityEnum : return "MaterialsThermalconductivity";
		case MaterialsTemperateiceconductivityEnum : return "MaterialsTemperateiceconductivity";
		case MaterialsLithosphereShearModulusEnum : return "MaterialsLithosphereShearModulus";
		case MaterialsLithosphereDensityEnum : return "MaterialsLithosphereDensity";
		case MaterialsMantleShearModulusEnum : return "MaterialsMantleShearModulus";
		case MaterialsMantleDensityEnum : return "MaterialsMantleDensity";
		case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity";
		case MeshElements2dEnum : return "MeshElements2d";
		case MeshElementsEnum : return "MeshElements";
		case MeshLowerelementsEnum : return "MeshLowerelements";
		case MeshNumberofelements2dEnum : return "MeshNumberofelements2d";
		case MeshNumberofelementsEnum : return "MeshNumberofelements";
		case MeshNumberoflayersEnum : return "MeshNumberoflayers";
		case MeshNumberofvertices2dEnum : return "MeshNumberofvertices2d";
		case MeshNumberofverticesEnum : return "MeshNumberofvertices";
		case MeshUpperelementsEnum : return "MeshUpperelements";
		case MeshVertexonbaseEnum : return "MeshVertexonbase";
		case MeshVertexonsurfaceEnum : return "MeshVertexonsurface";
		case MeshVertexonboundaryEnum : return "MeshVertexonboundary";
		case MeshXEnum : return "MeshX";
		case MeshYEnum : return "MeshY";
		case MeshZEnum : return "MeshZ";
		case MeshElementtypeEnum : return "MeshElementtype";
		case DomainTypeEnum : return "DomainType";
		case DomainDimensionEnum : return "DomainDimension";
		case Domain2DhorizontalEnum : return "Domain2Dhorizontal";
		case Domain2DverticalEnum : return "Domain2Dvertical";
		case Domain3DEnum : return "Domain3D";
		case MiscellaneousNameEnum : return "MiscellaneousName";
		case MasstransportHydrostaticAdjustmentEnum : return "MasstransportHydrostaticAdjustment";
		case MasstransportIsfreesurfaceEnum : return "MasstransportIsfreesurface";
		case MasstransportMinThicknessEnum : return "MasstransportMinThickness";
		case MasstransportPenaltyFactorEnum : return "MasstransportPenaltyFactor";
		case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness";
		case MasstransportCalvingrateEnum : return "MasstransportCalvingrate";
		case MasstransportStabilizationEnum : return "MasstransportStabilization";
		case MasstransportVertexPairingEnum : return "MasstransportVertexPairing";
		case MasstransportNumRequestedOutputsEnum : return "MasstransportNumRequestedOutputs";
		case MasstransportRequestedOutputsEnum : return "MasstransportRequestedOutputs";
		case QmuIsdakotaEnum : return "QmuIsdakota";
		case MassFluxSegmentsEnum : return "MassFluxSegments";
		case MassFluxSegmentsPresentEnum : return "MassFluxSegmentsPresent";
		case QmuMassFluxSegmentsPresentEnum : return "QmuMassFluxSegmentsPresent";
		case QmuNumberofpartitionsEnum : return "QmuNumberofpartitions";
		case QmuNumberofresponsesEnum : return "QmuNumberofresponses";
		case QmuPartitionEnum : return "QmuPartition";
		case QmuResponsedescriptorsEnum : return "QmuResponsedescriptors";
		case QmuVariabledescriptorsEnum : return "QmuVariabledescriptors";
		case QmuMaterialsRheologyBEnum : return "QmuMaterialsRheologyB";
		case RiftsNumriftsEnum : return "RiftsNumrifts";
		case RiftsRiftstructEnum : return "RiftsRiftstruct";
		case SettingsResultsOnNodesEnum : return "SettingsResultsOnNodes";
		case SettingsIoGatherEnum : return "SettingsIoGather";
		case SettingsLowmemEnum : return "SettingsLowmem";
		case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency";
		case SettingsWaitonlockEnum : return "SettingsWaitonlock";
		case DebugProfilingEnum : return "DebugProfiling";
		case ProfilingCurrentMemEnum : return "ProfilingCurrentMem";
		case ProfilingCurrentFlopsEnum : return "ProfilingCurrentFlops";
		case ProfilingSolutionTimeEnum : return "ProfilingSolutionTime";
		case MaxIterationConvergenceFlagEnum : return "MaxIterationConvergenceFlag";
		case SteadystateMaxiterEnum : return "SteadystateMaxiter";
		case SteadystateNumRequestedOutputsEnum : return "SteadystateNumRequestedOutputs";
		case SteadystateReltolEnum : return "SteadystateReltol";
		case SteadystateRequestedOutputsEnum : return "SteadystateRequestedOutputs";
		case SurfaceEnum : return "Surface";
		case ThermalIsenthalpyEnum : return "ThermalIsenthalpy";
		case ThermalIsdynamicbasalspcEnum : return "ThermalIsdynamicbasalspc";
		case ThermalMaxiterEnum : return "ThermalMaxiter";
		case ThermalPenaltyFactorEnum : return "ThermalPenaltyFactor";
		case ThermalPenaltyLockEnum : return "ThermalPenaltyLock";
		case ThermalPenaltyThresholdEnum : return "ThermalPenaltyThreshold";
		case ThermalSpctemperatureEnum : return "ThermalSpctemperature";
		case ThermalStabilizationEnum : return "ThermalStabilization";
		case ThermalNumRequestedOutputsEnum : return "ThermalNumRequestedOutputs";
		case ThermalRequestedOutputsEnum : return "ThermalRequestedOutputs";
		case GiaMantleViscosityEnum : return "GiaMantleViscosity";
		case GiaLithosphereThicknessEnum : return "GiaLithosphereThickness";
		case ThicknessEnum : return "Thickness";
		case TimesteppingStartTimeEnum : return "TimesteppingStartTime";
		case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime";
		case TimesteppingCflCoefficientEnum : return "TimesteppingCflCoefficient";
		case TimesteppingTimeAdaptEnum : return "TimesteppingTimeAdapt";
		case TimesteppingTimeStepEnum : return "TimesteppingTimeStep";
		case TimesteppingInterpForcingsEnum : return "TimesteppingInterpForcings";
		case TransientIsstressbalanceEnum : return "TransientIsstressbalance";
		case TransientIsgroundinglineEnum : return "TransientIsgroundingline";
		case TransientIsmasstransportEnum : return "TransientIsmasstransport";
		case TransientIsthermalEnum : return "TransientIsthermal";
		case TransientIsgiaEnum : return "TransientIsgia";
		case TransientIsdamageevolutionEnum : return "TransientIsdamageevolution";
		case TransientIshydrologyEnum : return "TransientIshydrology";
		case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs";
		case TransientRequestedOutputsEnum : return "TransientRequestedOutputs";
		case PotentialEnum : return "Potential";
		case BalancethicknessSpcpotentialEnum : return "BalancethicknessSpcpotential";
		case BalancethicknessApparentMassbalanceEnum : return "BalancethicknessApparentMassbalance";
		case Balancethickness2MisfitEnum : return "Balancethickness2Misfit";
		case BalancethicknessNuxEnum : return "BalancethicknessNux";
		case BalancethicknessNuyEnum : return "BalancethicknessNuy";
		case BalancethicknessVxObsEnum : return "BalancethicknessVxObs";
		case BalancethicknessVyObsEnum : return "BalancethicknessVyObs";
		case BalancethicknessThicknessObsEnum : return "BalancethicknessThicknessObs";
		case SurfaceforcingsEnum : return "Surfaceforcings";
		case SMBEnum : return "SMB";
		case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance";
		case SMBpddEnum : return "SMBpdd";
		case SurfaceforcingsDelta18oEnum : return "SurfaceforcingsDelta18o";
		case SurfaceforcingsDelta18oSurfaceEnum : return "SurfaceforcingsDelta18oSurface";
		case SurfaceforcingsIsdelta18oEnum : return "SurfaceforcingsIsdelta18o";
		case SurfaceforcingsPrecipitationsPresentdayEnum : return "SurfaceforcingsPrecipitationsPresentday";
		case SurfaceforcingsTemperaturesPresentdayEnum : return "SurfaceforcingsTemperaturesPresentday";
		case SurfaceforcingsTemperaturesLgmEnum : return "SurfaceforcingsTemperaturesLgm";
		case SurfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation";
		case SurfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac";
		case SurfaceforcingsS0pEnum : return "SurfaceforcingsS0p";
		case SMBgradientsEnum : return "SMBgradients";
		case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures";
		case SurfaceforcingsHrefEnum : return "SurfaceforcingsHref";
		case SurfaceforcingsSmbrefEnum : return "SurfaceforcingsSmbref";
		case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos";
		case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg";
		case SMBhenningEnum : return "SMBhenning";
		case SMBcomponentsEnum : return "SMBcomponents";
		case SurfaceforcingsAccumulationEnum : return "SurfaceforcingsAccumulation";
		case SurfaceforcingsEvaporationEnum : return "SurfaceforcingsEvaporation";
		case SurfaceforcingsRunoffEnum : return "SurfaceforcingsRunoff";
		case SMBmeltcomponentsEnum : return "SMBmeltcomponents";
		case SurfaceforcingsMeltEnum : return "SurfaceforcingsMelt";
		case SurfaceforcingsRefreezeEnum : return "SurfaceforcingsRefreeze";
		case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
		case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";
		case SolutionTypeEnum : return "SolutionType";
		case AnalysisTypeEnum : return "AnalysisType";
		case ConfigurationTypeEnum : return "ConfigurationType";
		case AdjointBalancethicknessAnalysisEnum : return "AdjointBalancethicknessAnalysis";
		case AdjointBalancethickness2AnalysisEnum : return "AdjointBalancethickness2Analysis";
		case AdjointHorizAnalysisEnum : return "AdjointHorizAnalysis";
		case AnalysisCounterEnum : return "AnalysisCounter";
		case DefaultAnalysisEnum : return "DefaultAnalysis";
		case BalancethicknessAnalysisEnum : return "BalancethicknessAnalysis";
		case BalancethicknessSolutionEnum : return "BalancethicknessSolution";
		case Balancethickness2AnalysisEnum : return "Balancethickness2Analysis";
		case Balancethickness2SolutionEnum : return "Balancethickness2Solution";
		case BalancethicknessSoftAnalysisEnum : return "BalancethicknessSoftAnalysis";
		case BalancethicknessSoftSolutionEnum : return "BalancethicknessSoftSolution";
		case BalancevelocityAnalysisEnum : return "BalancevelocityAnalysis";
		case BalancevelocitySolutionEnum : return "BalancevelocitySolution";
		case L2ProjectionEPLAnalysisEnum : return "L2ProjectionEPLAnalysis";
		case L2ProjectionBaseAnalysisEnum : return "L2ProjectionBaseAnalysis";
		case BedSlopeSolutionEnum : return "BedSlopeSolution";
		case DamageEvolutionSolutionEnum : return "DamageEvolutionSolution";
		case DamageEvolutionAnalysisEnum : return "DamageEvolutionAnalysis";
		case StressbalanceAnalysisEnum : return "StressbalanceAnalysis";
		case StressbalanceSIAAnalysisEnum : return "StressbalanceSIAAnalysis";
		case StressbalanceSolutionEnum : return "StressbalanceSolution";
		case StressbalanceVerticalAnalysisEnum : return "StressbalanceVerticalAnalysis";
		case EnthalpyAnalysisEnum : return "EnthalpyAnalysis";
		case FlaimAnalysisEnum : return "FlaimAnalysis";
		case FlaimSolutionEnum : return "FlaimSolution";
		case HydrologyShreveAnalysisEnum : return "HydrologyShreveAnalysis";
		case HydrologyDCInefficientAnalysisEnum : return "HydrologyDCInefficientAnalysis";
		case HydrologyDCEfficientAnalysisEnum : return "HydrologyDCEfficientAnalysis";
		case HydrologySolutionEnum : return "HydrologySolution";
		case MeltingAnalysisEnum : return "MeltingAnalysis";
		case MasstransportAnalysisEnum : return "MasstransportAnalysis";
		case MasstransportSolutionEnum : return "MasstransportSolution";
		case FreeSurfaceBaseAnalysisEnum : return "FreeSurfaceBaseAnalysis";
		case FreeSurfaceTopAnalysisEnum : return "FreeSurfaceTopAnalysis";
		case SurfaceNormalVelocityEnum : return "SurfaceNormalVelocity";
		case ExtrudeFromBaseAnalysisEnum : return "ExtrudeFromBaseAnalysis";
		case ExtrudeFromTopAnalysisEnum : return "ExtrudeFromTopAnalysis";
		case DepthAverageAnalysisEnum : return "DepthAverageAnalysis";
		case SteadystateSolutionEnum : return "SteadystateSolution";
		case SurfaceSlopeSolutionEnum : return "SurfaceSlopeSolution";
		case SmoothedSurfaceSlopeXAnalysisEnum : return "SmoothedSurfaceSlopeXAnalysis";
		case SmoothedSurfaceSlopeYAnalysisEnum : return "SmoothedSurfaceSlopeYAnalysis";
		case ThermalAnalysisEnum : return "ThermalAnalysis";
		case ThermalSolutionEnum : return "ThermalSolution";
		case TransientSolutionEnum : return "TransientSolution";
		case UzawaPressureAnalysisEnum : return "UzawaPressureAnalysis";
		case GiaSolutionEnum : return "GiaSolution";
		case GiaAnalysisEnum : return "GiaAnalysis";
		case MeshdeformationSolutionEnum : return "MeshdeformationSolution";
		case MeshdeformationAnalysisEnum : return "MeshdeformationAnalysis";
		case LevelsetAnalysisEnum : return "LevelsetAnalysis";
		case ExtrapolationAnalysisEnum : return "ExtrapolationAnalysis";
		case LsfReinitializationAnalysisEnum : return "LsfReinitializationAnalysis";
		case ApproximationEnum : return "Approximation";
		case NoneApproximationEnum : return "NoneApproximation";
		case SIAApproximationEnum : return "SIAApproximation";
		case SSAApproximationEnum : return "SSAApproximation";
		case SSAHOApproximationEnum : return "SSAHOApproximation";
		case SSAFSApproximationEnum : return "SSAFSApproximation";
		case L1L2ApproximationEnum : return "L1L2Approximation";
		case HOApproximationEnum : return "HOApproximation";
		case HOFSApproximationEnum : return "HOFSApproximation";
		case FSApproximationEnum : return "FSApproximation";
		case FSvelocityEnum : return "FSvelocity";
		case FSpressureEnum : return "FSpressure";
		case ConstraintsEnum : return "Constraints";
		case LoadsEnum : return "Loads";
		case MaterialsEnum : return "Materials";
		case NodesEnum : return "Nodes";
		case ContoursEnum : return "Contours";
		case ParametersEnum : return "Parameters";
		case VerticesEnum : return "Vertices";
		case ResultsEnum : return "Results";
		case GenericParamEnum : return "GenericParam";
		case AdolcParamEnum : return "AdolcParam";
		case BoolInputEnum : return "BoolInput";
		case BoolParamEnum : return "BoolParam";
		case ContourEnum : return "Contour";
		case ControlInputEnum : return "ControlInput";
		case DatasetInputEnum : return "DatasetInput";
		case DoubleInputEnum : return "DoubleInput";
		case DataSetParamEnum : return "DataSetParam";
		case DoubleMatArrayParamEnum : return "DoubleMatArrayParam";
		case DoubleMatParamEnum : return "DoubleMatParam";
		case DoubleParamEnum : return "DoubleParam";
		case DoubleVecParamEnum : return "DoubleVecParam";
		case ElementEnum : return "Element";
		case ExternalResultEnum : return "ExternalResult";
		case FileParamEnum : return "FileParam";
		case InputEnum : return "Input";
		case IntInputEnum : return "IntInput";
		case InputToExtrudeEnum : return "InputToExtrude";
		case InputToL2ProjectEnum : return "InputToL2Project";
		case InputToDepthaverageEnum : return "InputToDepthaverage";
		case IntParamEnum : return "IntParam";
		case IntVecParamEnum : return "IntVecParam";
		case TransientParamEnum : return "TransientParam";
		case MaticeEnum : return "Matice";
		case MatdamageiceEnum : return "Matdamageice";
		case MatparEnum : return "Matpar";
		case NodeEnum : return "Node";
		case NumericalfluxEnum : return "Numericalflux";
		case NumericalfluxTypeEnum : return "NumericalfluxType";
		case ParamEnum : return "Param";
		case PengridEnum : return "Pengrid";
		case PenpairEnum : return "Penpair";
		case ProfilerEnum : return "Profiler";
		case MatrixParamEnum : return "MatrixParam";
		case NodeSIdEnum : return "NodeSId";
		case VectorParamEnum : return "VectorParam";
		case RiftfrontEnum : return "Riftfront";
		case RiftfrontTypeEnum : return "RiftfrontType";
		case SegmentEnum : return "Segment";
		case SegmentRiftfrontEnum : return "SegmentRiftfront";
		case SpcDynamicEnum : return "SpcDynamic";
		case SpcStaticEnum : return "SpcStatic";
		case SpcTransientEnum : return "SpcTransient";
		case StringArrayParamEnum : return "StringArrayParam";
		case StringParamEnum : return "StringParam";
		case SegEnum : return "Seg";
		case SegInputEnum : return "SegInput";
		case TriaEnum : return "Tria";
		case TriaInputEnum : return "TriaInput";
		case TetraEnum : return "Tetra";
		case TetraInputEnum : return "TetraInput";
		case PentaEnum : return "Penta";
		case PentaInputEnum : return "PentaInput";
		case VertexEnum : return "Vertex";
		case VertexPIdEnum : return "VertexPId";
		case VertexSIdEnum : return "VertexSId";
		case AirEnum : return "Air";
		case IceEnum : return "Ice";
		case MelangeEnum : return "Melange";
		case WaterEnum : return "Water";
		case ClosedEnum : return "Closed";
		case FreeEnum : return "Free";
		case OpenEnum : return "Open";
		case AdjointpEnum : return "Adjointp";
		case AdjointxEnum : return "Adjointx";
		case AdjointyEnum : return "Adjointy";
		case AdjointzEnum : return "Adjointz";
		case BalancethicknessMisfitEnum : return "BalancethicknessMisfit";
		case BedSlopeXEnum : return "BedSlopeX";
		case BedSlopeYEnum : return "BedSlopeY";
		case BoundaryEnum : return "Boundary";
		case ConvergedEnum : return "Converged";
		case FillEnum : return "Fill";
		case FractionIncrementEnum : return "FractionIncrement";
		case FrictionEnum : return "Friction";
		case InternalEnum : return "Internal";
		case MassFluxEnum : return "MassFlux";
		case MeltingOffsetEnum : return "MeltingOffset";
		case MisfitEnum : return "Misfit";
		case PressureEnum : return "Pressure";
		case PressurePicardEnum : return "PressurePicard";
		case QmuPressureEnum : return "QmuPressure";
		case QmuVxEnum : return "QmuVx";
		case QmuVyEnum : return "QmuVy";
		case QmuVzEnum : return "QmuVz";
		case QmuThicknessEnum : return "QmuThickness";
		case QmuBaseEnum : return "QmuBase";
		case QmuSurfaceEnum : return "QmuSurface";
		case QmuMeltingEnum : return "QmuMelting";
		case QmuVxMeshEnum : return "QmuVxMesh";
		case QmuVyMeshEnum : return "QmuVyMesh";
		case QmuVzMeshEnum : return "QmuVzMesh";
		case AndroidFrictionCoefficientEnum : return "AndroidFrictionCoefficient";
		case ResetPenaltiesEnum : return "ResetPenalties";
		case SegmentOnIceShelfEnum : return "SegmentOnIceShelf";
		case SurfaceAbsVelMisfitEnum : return "SurfaceAbsVelMisfit";
		case SurfaceAreaEnum : return "SurfaceArea";
		case SurfaceAverageVelMisfitEnum : return "SurfaceAverageVelMisfit";
		case SurfaceLogVelMisfitEnum : return "SurfaceLogVelMisfit";
		case SurfaceLogVxVyMisfitEnum : return "SurfaceLogVxVyMisfit";
		case SurfaceRelVelMisfitEnum : return "SurfaceRelVelMisfit";
		case SurfaceSlopeXEnum : return "SurfaceSlopeX";
		case SurfaceSlopeYEnum : return "SurfaceSlopeY";
		case TemperatureEnum : return "Temperature";
		case TemperaturePicardEnum : return "TemperaturePicard";
		case ThicknessAbsMisfitEnum : return "ThicknessAbsMisfit";
		case VelEnum : return "Vel";
		case VelocityEnum : return "Velocity";
		case VxAverageEnum : return "VxAverage";
		case VxEnum : return "Vx";
		case VxPicardEnum : return "VxPicard";
		case VyAverageEnum : return "VyAverage";
		case VyEnum : return "Vy";
		case VyPicardEnum : return "VyPicard";
		case VzEnum : return "Vz";
		case VzSSAEnum : return "VzSSA";
		case VzHOEnum : return "VzHO";
		case VzPicardEnum : return "VzPicard";
		case VzFSEnum : return "VzFS";
		case VxMeshEnum : return "VxMesh";
		case VyMeshEnum : return "VyMesh";
		case VzMeshEnum : return "VzMesh";
		case EnthalpyEnum : return "Enthalpy";
		case EnthalpyPicardEnum : return "EnthalpyPicard";
		case ThicknessAbsGradientEnum : return "ThicknessAbsGradient";
		case ThicknessAlongGradientEnum : return "ThicknessAlongGradient";
		case ThicknessAcrossGradientEnum : return "ThicknessAcrossGradient";
		case IntMatParamEnum : return "IntMatParam";
		case RheologyBbarAbsGradientEnum : return "RheologyBbarAbsGradient";
		case DragCoefficientAbsGradientEnum : return "DragCoefficientAbsGradient";
		case TransientInputEnum : return "TransientInput";
		case WaterfractionEnum : return "Waterfraction";
		case WatercolumnEnum : return "Watercolumn";
		case BasalFrictionEnum : return "BasalFriction";
		case ViscousHeatingEnum : return "ViscousHeating";
		case QmuTemperatureEnum : return "QmuTemperature";
		case HydrologyWaterVxEnum : return "HydrologyWaterVx";
		case HydrologyWaterVyEnum : return "HydrologyWaterVy";
		case SigmaNNEnum : return "SigmaNN";
		case StressTensorEnum : return "StressTensor";
		case StressTensorxxEnum : return "StressTensorxx";
		case StressTensorxyEnum : return "StressTensorxy";
		case StressTensorxzEnum : return "StressTensorxz";
		case StressTensoryyEnum : return "StressTensoryy";
		case StressTensoryzEnum : return "StressTensoryz";
		case StressTensorzzEnum : return "StressTensorzz";
		case DeviatoricStressEnum : return "DeviatoricStress";
		case DeviatoricStressxxEnum : return "DeviatoricStressxx";
		case DeviatoricStressxyEnum : return "DeviatoricStressxy";
		case DeviatoricStressxzEnum : return "DeviatoricStressxz";
		case DeviatoricStressyyEnum : return "DeviatoricStressyy";
		case DeviatoricStressyzEnum : return "DeviatoricStressyz";
		case DeviatoricStresszzEnum : return "DeviatoricStresszz";
		case StrainRateEnum : return "StrainRate";
		case StrainRatexxEnum : return "StrainRatexx";
		case StrainRatexyEnum : return "StrainRatexy";
		case StrainRatexzEnum : return "StrainRatexz";
		case StrainRateyyEnum : return "StrainRateyy";
		case StrainRateyzEnum : return "StrainRateyz";
		case StrainRatezzEnum : return "StrainRatezz";
		case DivergenceEnum : return "Divergence";
		case GiaCrossSectionShapeEnum : return "GiaCrossSectionShape";
		case GiadWdtEnum : return "GiadWdt";
		case GiaWEnum : return "GiaW";
		case P0Enum : return "P0";
		case P1Enum : return "P1";
		case P1DGEnum : return "P1DG";
		case P1bubbleEnum : return "P1bubble";
		case P1bubblecondensedEnum : return "P1bubblecondensed";
		case P2Enum : return "P2";
		case P2bubbleEnum : return "P2bubble";
		case P2bubblecondensedEnum : return "P2bubblecondensed";
		case P2xP1Enum : return "P2xP1";
		case P1xP2Enum : return "P1xP2";
		case P1xP3Enum : return "P1xP3";
		case P2xP4Enum : return "P2xP4";
		case P1P1Enum : return "P1P1";
		case P1P1GLSEnum : return "P1P1GLS";
		case MINIEnum : return "MINI";
		case MINIcondensedEnum : return "MINIcondensed";
		case TaylorHoodEnum : return "TaylorHood";
		case LATaylorHoodEnum : return "LATaylorHood";
		case XTaylorHoodEnum : return "XTaylorHood";
		case OneLayerP4zEnum : return "OneLayerP4z";
		case CrouzeixRaviartEnum : return "CrouzeixRaviart";
		case SaveResultsEnum : return "SaveResults";
		case BoolExternalResultEnum : return "BoolExternalResult";
		case DoubleExternalResultEnum : return "DoubleExternalResult";
		case DoubleMatExternalResultEnum : return "DoubleMatExternalResult";
		case IntExternalResultEnum : return "IntExternalResult";
		case JEnum : return "J";
		case StringExternalResultEnum : return "StringExternalResult";
		case StepEnum : return "Step";
		case TimeEnum : return "Time";
		case WaterColumnOldEnum : return "WaterColumnOld";
		case OutputdefinitionEnum : return "Outputdefinition";
		case OutputdefinitionListEnum : return "OutputdefinitionList";
		case MassfluxatgateEnum : return "Massfluxatgate";
		case MassfluxatgateNameEnum : return "MassfluxatgateName";
		case MassfluxatgateSegmentsEnum : return "MassfluxatgateSegments";
		case MisfitNameEnum : return "MisfitName";
		case MisfitModelEnumEnum : return "MisfitModelEnum";
		case MisfitObservationEnum : return "MisfitObservation";
		case MisfitObservationEnumEnum : return "MisfitObservationEnum";
		case MisfitTimeinterpolationEnum : return "MisfitTimeinterpolation";
		case MisfitWeightsEnum : return "MisfitWeights";
		case MisfitWeightsEnumEnum : return "MisfitWeightsEnum";
		case SurfaceObservationEnum : return "SurfaceObservation";
		case WeightsSurfaceObservationEnum : return "WeightsSurfaceObservation";
		case MinVelEnum : return "MinVel";
		case MaxVelEnum : return "MaxVel";
		case MinVxEnum : return "MinVx";
		case MaxVxEnum : return "MaxVx";
		case MaxAbsVxEnum : return "MaxAbsVx";
		case MinVyEnum : return "MinVy";
		case MaxVyEnum : return "MaxVy";
		case MaxAbsVyEnum : return "MaxAbsVy";
		case MinVzEnum : return "MinVz";
		case MaxVzEnum : return "MaxVz";
		case MaxAbsVzEnum : return "MaxAbsVz";
		case IceVolumeEnum : return "IceVolume";
		case IceVolumeAboveFloatationEnum : return "IceVolumeAboveFloatation";
		case TotalSmbEnum : return "TotalSmb";
		case AbsoluteEnum : return "Absolute";
		case IncrementalEnum : return "Incremental";
		case AugmentedLagrangianREnum : return "AugmentedLagrangianR";
		case AugmentedLagrangianRhopEnum : return "AugmentedLagrangianRhop";
		case AugmentedLagrangianThetaEnum : return "AugmentedLagrangianTheta";
		case NoneEnum : return "None";
		case AggressiveMigrationEnum : return "AggressiveMigration";
		case SoftMigrationEnum : return "SoftMigration";
		case SubelementMigrationEnum : return "SubelementMigration";
		case SubelementMigration2Enum : return "SubelementMigration2";
		case ContactEnum : return "Contact";
		case MaskGroundediceLevelsetEnum : return "MaskGroundediceLevelset";
		case QmuMaskGroundediceLevelsetEnum : return "QmuMaskGroundediceLevelset";
		case GaussSegEnum : return "GaussSeg";
		case GaussTriaEnum : return "GaussTria";
		case GaussTetraEnum : return "GaussTetra";
		case GaussPentaEnum : return "GaussPenta";
		case FSSolverEnum : return "FSSolver";
		case AdjointEnum : return "Adjoint";
		case ColinearEnum : return "Colinear";
		case ControlSteadyEnum : return "ControlSteady";
		case FsetEnum : return "Fset";
		case Gradient1Enum : return "Gradient1";
		case Gradient2Enum : return "Gradient2";
		case Gradient3Enum : return "Gradient3";
		case GradientEnum : return "Gradient";
		case GroundinglineMigrationEnum : return "GroundinglineMigration";
		case GsetEnum : return "Gset";
		case IndexEnum : return "Index";
		case IndexedEnum : return "Indexed";
		case IntersectEnum : return "Intersect";
		case NodalEnum : return "Nodal";
		case OldGradientEnum : return "OldGradient";
		case OutputFilePointerEnum : return "OutputFilePointer";
		case OutputFileNameEnum : return "OutputFileName";
		case LockFileNameEnum : return "LockFileName";
		case ToolkitsOptionsAnalysesEnum : return "ToolkitsOptionsAnalyses";
		case ToolkitsOptionsStringsEnum : return "ToolkitsOptionsStrings";
		case QmuErrNameEnum : return "QmuErrName";
		case QmuInNameEnum : return "QmuInName";
		case QmuOutNameEnum : return "QmuOutName";
		case RegularEnum : return "Regular";
		case ScaledEnum : return "Scaled";
		case SeparateEnum : return "Separate";
		case SsetEnum : return "Sset";
		case VerboseEnum : return "Verbose";
		case TriangleInterpEnum : return "TriangleInterp";
		case BilinearInterpEnum : return "BilinearInterp";
		case NearestInterpEnum : return "NearestInterp";
		case XYEnum : return "XY";
		case XYZEnum : return "XYZ";
		case DenseEnum : return "Dense";
		case MpiDenseEnum : return "MpiDense";
		case MpiSparseEnum : return "MpiSparse";
		case SeqEnum : return "Seq";
		case MpiEnum : return "Mpi";
		case MumpsEnum : return "Mumps";
		case GslEnum : return "Gsl";
		case OptionEnum : return "Option";
		case GenericOptionEnum : return "GenericOption";
		case OptionCellEnum : return "OptionCell";
		case OptionStructEnum : return "OptionStruct";
		case CuffeyEnum : return "Cuffey";
		case PatersonEnum : return "Paterson";
		case ArrheniusEnum : return "Arrhenius";
		case LliboutryDuvalEnum : return "LliboutryDuval";
		case TransientIslevelsetEnum : return "TransientIslevelset";
		case ExtrapolationVariableEnum : return "ExtrapolationVariable";
		case IceMaskNodeActivationEnum : return "IceMaskNodeActivation";
		case LevelsetfunctionSlopeXEnum : return "LevelsetfunctionSlopeX";
		case LevelsetfunctionSlopeYEnum : return "LevelsetfunctionSlopeY";
		case LevelsetfunctionPicardEnum : return "LevelsetfunctionPicard";
		case MaximumNumberOfDefinitionsEnum : return "MaximumNumberOfDefinitions";
		default : return "unknown";

	}
}
void EnumToStringx(char** pstring,int enum_in){
	char *string = NULL;
	int   len = 0;

	len=strlen(EnumToStringx(enum_in));
	string=xNew<char>(len+1);
	memcpy(string,EnumToStringx(enum_in),(len+1)*sizeof(char));

	/*Assign output pointer*/
	*pstring=string;
}
