Index: /issm/trunk-jpl/src/jl/core/issmenums.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/issmenums.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/core/issmenums.jl	(revision 26727)
@@ -1,5 +1,8 @@
+#   WARNING: DO NOT MODIFY THIS FILE
+#            this file has been automatically generated by Synchronize.sh
+#            Please read README for more information
+
 @enum IssmEnum begin
 	ParametersSTARTEnum
-	#Parameters{{{
 	AdolcParamEnum
 	AmrDeviatoricErrorGroupThresholdEnum
@@ -163,6 +166,12 @@
 	FrictionVoidRatioEnum
 	FrontalForcingsBasinIcefrontAreaEnum
+	FrontalForcingsAutoregressionInitialTimeEnum
+	FrontalForcingsAutoregressionTimestepEnum
+	FrontalForcingsAutoregressiveOrderEnum
+	FrontalForcingsBeta0Enum
+	FrontalForcingsBeta1Enum
 	FrontalForcingsNumberofBasinsEnum
 	FrontalForcingsParamEnum
+	FrontalForcingsPhiEnum
 	GrdModelEnum
 	GroundinglineFrictionInterpolationEnum
@@ -377,4 +386,13 @@
 	SolidearthSettingsGrdOceanEnum
 	SolidearthSettingsOceanAreaScalingEnum
+	StochasticForcingCovarianceEnum
+	StochasticForcingDefaultDimensionEnum
+	StochasticForcingDimensionsEnum
+	StochasticForcingFieldsEnum
+	StochasticForcingIsEffectivePressureEnum
+	StochasticForcingIsStochasticForcingEnum
+	StochasticForcingIsWaterPressureEnum
+	StochasticForcingNumFieldsEnum
+	StochasticForcingRandomflagEnum
 	RotationalPolarMoiEnum
 	SolidearthSettingsReltolEnum
@@ -407,5 +425,4 @@
 	SmbBeta0Enum
 	SmbBeta1Enum
-	SmbCovmatEnum
 	SmbDesfacEnum
 	SmbDpermilEnum
@@ -417,4 +434,5 @@
 	SmbDtEnum
 	SmbEnum
+	SmbEIdxEnum
 	SmbFEnum
 	SmbInitDensityScalingEnum
@@ -425,4 +443,5 @@
 	SmbIsdelta18oEnum
 	SmbIsdensificationEnum
+	SmbIsdeltaLWupEnum
 	SmbIsfirnwarmingEnum
 	SmbIsgraingrowthEnum
@@ -440,5 +459,4 @@
 	SmbPfacEnum
 	SmbPhiEnum
-	SmbRandomflagEnum
 	SmbRdlEnum
 	SmbRequestedOutputsEnum
@@ -453,4 +471,5 @@
 	SmbT0dryEnum
 	SmbT0wetEnum
+	SmbTeThreshEnum
 	SmbTdiffEnum
 	SmbThermoDeltaTScalingEnum
@@ -510,5 +529,5 @@
 	TransientIsgroundinglineEnum
 	TransientIshydrologyEnum
-	TransientIsmasstransportEnum 
+	TransientIsmasstransportEnum
 	TransientIsoceantransportEnum
 	TransientIsmovingfrontEnum
@@ -527,8 +546,6 @@
 	AreaeEnum
 	WorldCommEnum
-	#}}}
 	ParametersENDEnum
 	InputsSTARTEnum
-	#Inputs{{{
 	AccumulatedDeltaBottomPressureEnum
 	AccumulatedDeltaIceThicknessEnum
@@ -575,4 +592,7 @@
 	BaseSlopeXEnum
 	BaseSlopeYEnum
+	BaselineBasalforcingsFloatingiceMeltingRateEnum
+	BaselineCalvingCalvingrateEnum
+	BaselineFrictionEffectivePressureEnum
 	BedEnum
 	BedGRDEnum
@@ -868,4 +888,5 @@
 	SmbAdiffiniEnum
 	SmbAiniEnum
+	SmbAutoregressionNoiseEnum
 	SmbBasinsIdEnum
 	SmbBMaxEnum
@@ -889,4 +910,5 @@
 	SmbDiniEnum
 	SmbDlwrfEnum
+	SmbDulwrfValueEnum
 	SmbDswrfEnum
 	SmbDswdiffrfEnum
@@ -917,5 +939,4 @@
 	SmbMeanULWEnum
 	SmbMeltEnum
-	SmbMInitnum
 	SmbMonthlytemperaturesEnum
 	SmbMSurfEnum
@@ -970,4 +991,5 @@
 	SolidearthExternalDisplacementUpRateEnum
 	SolidearthExternalGeoidRateEnum
+	StochasticForcingDefaultIdEnum
 	StrainRateeffectiveEnum
 	StrainRateparallelEnum
@@ -1005,4 +1027,6 @@
 	TemperaturePicardEnum
 	TemperatureSEMICEnum
+	ThermalforcingAutoregressionNoiseEnum
+	ThermalforcingValuesAutoregressionEnum
 	ThermalSpctemperatureEnum
 	ThicknessAbsGradientEnum
@@ -1041,4 +1065,6 @@
 	WaterfractionEnum
 	WaterheightEnum
+	FrictionWaterPressureEnum
+	FrictionWaterPressureNoiseEnum
 	WeightsLevelsetObservationEnum
 	WeightsSurfaceObservationEnum
@@ -1146,7 +1172,5 @@
 	Outputdefinition9Enum
 	Outputdefinition100Enum
-	#}}}
 	InputsENDEnum
-	#Other{{{
 	AbsoluteEnum
 	AdaptiveTimesteppingEnum
@@ -1253,4 +1277,5 @@
 	FrontalForcingsDefaultEnum
 	FrontalForcingsRignotEnum
+	FrontalForcingsRignotAutoregressionEnum
 	FsetEnum
 	FullMeltOnPartiallyFloatingEnum
@@ -1512,33 +1537,1575 @@
 	XYEnum
 	XYZEnum
-	#}}}
+	BalancethicknessD0Enum
+	BalancethicknessDiffusionCoefficientEnum
+	BilinearInterpEnum
+	CalvingdevCoeffEnum
+	DeviatoricStressEnum
+	EtaAbsGradientEnum
+	MeshZEnum
+	NearestInterpEnum
+	OutputdefinitionListEnum
+	SealevelObsEnum
+	SealevelWeightsEnum
+	StrainRateEnum
+	StressTensorEnum
+	StressbalanceViscosityOvershootEnum
+	SubelementMigration4Enum
+	TimesteppingTimeAdaptEnum
+	TriangleInterpEnum
 	MaximumNumberOfDefinitionsEnum
 end
 
 function EnumToString(enum::IssmEnum)
-
-	#Make dictionnary from enums
-	inst = instances(IssmEnum)
-	syms = Symbol.(inst)
-	enumdic = Dict(zip(inst, syms))
-
-	return enumdic[enum]
+	if(enum==ParametersSTARTEnum) return "ParametersSTART" end
+	if(enum==AdolcParamEnum) return "AdolcParam" end
+	if(enum==AmrDeviatoricErrorGroupThresholdEnum) return "AmrDeviatoricErrorGroupThreshold" end
+	if(enum==AmrDeviatoricErrorMaximumEnum) return "AmrDeviatoricErrorMaximum" end
+	if(enum==AmrDeviatoricErrorResolutionEnum) return "AmrDeviatoricErrorResolution" end
+	if(enum==AmrDeviatoricErrorThresholdEnum) return "AmrDeviatoricErrorThreshold" end
+	if(enum==AmrErrEnum) return "AmrErr" end
+	if(enum==AmrFieldEnum) return "AmrField" end
+	if(enum==AmrGradationEnum) return "AmrGradation" end
+	if(enum==AmrGroundingLineDistanceEnum) return "AmrGroundingLineDistance" end
+	if(enum==AmrGroundingLineResolutionEnum) return "AmrGroundingLineResolution" end
+	if(enum==AmrHmaxEnum) return "AmrHmax" end
+	if(enum==AmrHminEnum) return "AmrHmin" end
+	if(enum==AmrIceFrontDistanceEnum) return "AmrIceFrontDistance" end
+	if(enum==AmrIceFrontResolutionEnum) return "AmrIceFrontResolution" end
+	if(enum==AmrKeepMetricEnum) return "AmrKeepMetric" end
+	if(enum==AmrLagEnum) return "AmrLag" end
+	if(enum==AmrLevelMaxEnum) return "AmrLevelMax" end
+	if(enum==AmrRestartEnum) return "AmrRestart" end
+	if(enum==AmrThicknessErrorGroupThresholdEnum) return "AmrThicknessErrorGroupThreshold" end
+	if(enum==AmrThicknessErrorMaximumEnum) return "AmrThicknessErrorMaximum" end
+	if(enum==AmrThicknessErrorResolutionEnum) return "AmrThicknessErrorResolution" end
+	if(enum==AmrThicknessErrorThresholdEnum) return "AmrThicknessErrorThreshold" end
+	if(enum==AmrTypeEnum) return "AmrType" end
+	if(enum==AnalysisCounterEnum) return "AnalysisCounter" end
+	if(enum==AnalysisTypeEnum) return "AnalysisType" end
+	if(enum==AugmentedLagrangianREnum) return "AugmentedLagrangianR" end
+	if(enum==AugmentedLagrangianRholambdaEnum) return "AugmentedLagrangianRholambda" end
+	if(enum==AugmentedLagrangianRhopEnum) return "AugmentedLagrangianRhop" end
+	if(enum==AugmentedLagrangianRlambdaEnum) return "AugmentedLagrangianRlambda" end
+	if(enum==AugmentedLagrangianThetaEnum) return "AugmentedLagrangianTheta" end
+	if(enum==AutodiffCbufsizeEnum) return "AutodiffCbufsize" end
+	if(enum==AutodiffDependentObjectsEnum) return "AutodiffDependentObjects" end
+	if(enum==AutodiffDriverEnum) return "AutodiffDriver" end
+	if(enum==AutodiffFosForwardIndexEnum) return "AutodiffFosForwardIndex" end
+	if(enum==AutodiffFosReverseIndexEnum) return "AutodiffFosReverseIndex" end
+	if(enum==AutodiffFovForwardIndicesEnum) return "AutodiffFovForwardIndices" end
+	if(enum==AutodiffGcTriggerMaxSizeEnum) return "AutodiffGcTriggerMaxSize" end
+	if(enum==AutodiffGcTriggerRatioEnum) return "AutodiffGcTriggerRatio" end
+	if(enum==AutodiffIsautodiffEnum) return "AutodiffIsautodiff" end
+	if(enum==AutodiffLbufsizeEnum) return "AutodiffLbufsize" end
+	if(enum==AutodiffNumDependentsEnum) return "AutodiffNumDependents" end
+	if(enum==AutodiffNumIndependentsEnum) return "AutodiffNumIndependents" end
+	if(enum==AutodiffObufsizeEnum) return "AutodiffObufsize" end
+	if(enum==AutodiffTapeAllocEnum) return "AutodiffTapeAlloc" end
+	if(enum==AutodiffTbufsizeEnum) return "AutodiffTbufsize" end
+	if(enum==AutodiffXpEnum) return "AutodiffXp" end
+	if(enum==BalancethicknessStabilizationEnum) return "BalancethicknessStabilization" end
+	if(enum==BarystaticContributionsEnum) return "BarystaticContributions" end
+	if(enum==BasalforcingsBottomplumedepthEnum) return "BasalforcingsBottomplumedepth" end
+	if(enum==BasalforcingsCrustthicknessEnum) return "BasalforcingsCrustthickness" end
+	if(enum==BasalforcingsDeepwaterElevationEnum) return "BasalforcingsDeepwaterElevation" end
+	if(enum==BasalforcingsDeepwaterMeltingRateEnum) return "BasalforcingsDeepwaterMeltingRate" end
+	if(enum==BasalforcingsDtbgEnum) return "BasalforcingsDtbg" end
+	if(enum==BasalforcingsEnum) return "Basalforcings" end
+	if(enum==BasalforcingsIsmip6AverageTfEnum) return "BasalforcingsIsmip6AverageTf" end
+	if(enum==BasalforcingsIsmip6BasinAreaEnum) return "BasalforcingsIsmip6BasinArea" end
+	if(enum==BasalforcingsIsmip6DeltaTEnum) return "BasalforcingsIsmip6DeltaT" end
+	if(enum==BasalforcingsIsmip6Gamma0Enum) return "BasalforcingsIsmip6Gamma0" end
+	if(enum==BasalforcingsIsmip6IsLocalEnum) return "BasalforcingsIsmip6IsLocal" end
+	if(enum==BasalforcingsIsmip6NumBasinsEnum) return "BasalforcingsIsmip6NumBasins" end
+	if(enum==BasalforcingsIsmip6TfDepthsEnum) return "BasalforcingsIsmip6TfDepths" end
+	if(enum==BasalforcingsLowercrustheatEnum) return "BasalforcingsLowercrustheat" end
+	if(enum==BasalforcingsMantleconductivityEnum) return "BasalforcingsMantleconductivity" end
+	if(enum==BasalforcingsNusseltEnum) return "BasalforcingsNusselt" end
+	if(enum==BasalforcingsPicoAverageOverturningEnum) return "BasalforcingsPicoAverageOverturning" end
+	if(enum==BasalforcingsPicoAverageSalinityEnum) return "BasalforcingsPicoAverageSalinity" end
+	if(enum==BasalforcingsPicoAverageTemperatureEnum) return "BasalforcingsPicoAverageTemperature" end
+	if(enum==BasalforcingsPicoBoxAreaEnum) return "BasalforcingsPicoBoxArea" end
+	if(enum==BasalforcingsPicoFarOceansalinityEnum) return "BasalforcingsPicoFarOceansalinity" end
+	if(enum==BasalforcingsPicoFarOceantemperatureEnum) return "BasalforcingsPicoFarOceantemperature" end
+	if(enum==BasalforcingsPicoGammaTEnum) return "BasalforcingsPicoGammaT" end
+	if(enum==BasalforcingsPicoIsplumeEnum) return "BasalforcingsPicoIsplume" end
+	if(enum==BasalforcingsPicoMaxboxcountEnum) return "BasalforcingsPicoMaxboxcount" end
+	if(enum==BasalforcingsPicoNumBasinsEnum) return "BasalforcingsPicoNumBasins" end
+	if(enum==BasalforcingsPlumeradiusEnum) return "BasalforcingsPlumeradius" end
+	if(enum==BasalforcingsPlumexEnum) return "BasalforcingsPlumex" end
+	if(enum==BasalforcingsPlumeyEnum) return "BasalforcingsPlumey" end
+	if(enum==BasalforcingsThresholdThicknessEnum) return "BasalforcingsThresholdThickness" end
+	if(enum==BasalforcingsTopplumedepthEnum) return "BasalforcingsTopplumedepth" end
+	if(enum==BasalforcingsUppercrustheatEnum) return "BasalforcingsUppercrustheat" end
+	if(enum==BasalforcingsUppercrustthicknessEnum) return "BasalforcingsUppercrustthickness" end
+	if(enum==BasalforcingsUpperdepthMeltEnum) return "BasalforcingsUpperdepthMelt" end
+	if(enum==BasalforcingsUpperwaterElevationEnum) return "BasalforcingsUpperwaterElevation" end
+	if(enum==BasalforcingsUpperwaterMeltingRateEnum) return "BasalforcingsUpperwaterMeltingRate" end
+	if(enum==CalvingCrevasseDepthEnum) return "CalvingCrevasseDepth" end
+	if(enum==CalvingCrevasseThresholdEnum) return "CalvingCrevasseThreshold" end
+	if(enum==CalvingHeightAboveFloatationEnum) return "CalvingHeightAboveFloatation" end
+	if(enum==CalvingLawEnum) return "CalvingLaw" end
+	if(enum==CalvingMinthicknessEnum) return "CalvingMinthickness" end
+	if(enum==ConfigurationTypeEnum) return "ConfigurationType" end
+	if(enum==ConstantsGEnum) return "ConstantsG" end
+	if(enum==ConstantsNewtonGravityEnum) return "ConstantsNewtonGravity" end
+	if(enum==ConstantsReferencetemperatureEnum) return "ConstantsReferencetemperature" end
+	if(enum==ConstantsYtsEnum) return "ConstantsYts" end
+	if(enum==ControlInputSizeMEnum) return "ControlInputSizeM" end
+	if(enum==ControlInputSizeNEnum) return "ControlInputSizeN" end
+	if(enum==ControlInputInterpolationEnum) return "ControlInputInterpolation" end
+	if(enum==CumBslcEnum) return "CumBslc" end
+	if(enum==CumBslcIceEnum) return "CumBslcIce" end
+	if(enum==CumBslcHydroEnum) return "CumBslcHydro" end
+	if(enum==CumBslcOceanEnum) return "CumBslcOcean" end
+	if(enum==CumBslcIcePartitionEnum) return "CumBslcIcePartition" end
+	if(enum==CumBslcHydroPartitionEnum) return "CumBslcHydroPartition" end
+	if(enum==CumBslcOceanPartitionEnum) return "CumBslcOceanPartition" end
+	if(enum==CumGmtslcEnum) return "CumGmtslc" end
+	if(enum==CumGmslcEnum) return "CumGmslc" end
+	if(enum==DamageC1Enum) return "DamageC1" end
+	if(enum==DamageC2Enum) return "DamageC2" end
+	if(enum==DamageC3Enum) return "DamageC3" end
+	if(enum==DamageC4Enum) return "DamageC4" end
+	if(enum==DamageEnum) return "Damage" end
+	if(enum==DamageEquivStressEnum) return "DamageEquivStress" end
+	if(enum==DamageEvolutionNumRequestedOutputsEnum) return "DamageEvolutionNumRequestedOutputs" end
+	if(enum==DamageEvolutionRequestedOutputsEnum) return "DamageEvolutionRequestedOutputs" end
+	if(enum==DamageHealingEnum) return "DamageHealing" end
+	if(enum==DamageKappaEnum) return "DamageKappa" end
+	if(enum==DamageLawEnum) return "DamageLaw" end
+	if(enum==DamageMaxDamageEnum) return "DamageMaxDamage" end
+	if(enum==DamageStabilizationEnum) return "DamageStabilization" end
+	if(enum==DamageStressThresholdEnum) return "DamageStressThreshold" end
+	if(enum==DamageStressUBoundEnum) return "DamageStressUBound" end
+	if(enum==DebugProfilingEnum) return "DebugProfiling" end
+	if(enum==DomainDimensionEnum) return "DomainDimension" end
+	if(enum==DomainTypeEnum) return "DomainType" end
+	if(enum==DslModelEnum) return "DslModel" end
+	if(enum==DslModelidEnum) return "DslModelid" end
+	if(enum==DslNummodelsEnum) return "DslNummodels" end
+	if(enum==SolidearthIsExternalEnum) return "SolidearthIsExternal" end
+	if(enum==SolidearthExternalNatureEnum) return "SolidearthExternalNature" end
+	if(enum==SolidearthExternalModelidEnum) return "SolidearthExternalModelid" end
+	if(enum==SolidearthExternalNummodelsEnum) return "SolidearthExternalNummodels" end
+	if(enum==SolidearthSettingsComputeBpGrdEnum) return "SolidearthSettingsComputeBpGrd" end
+	if(enum==EarthIdEnum) return "EarthId" end
+	if(enum==ElasticEnum) return "Elastic" end
+	if(enum==EplZigZagCounterEnum) return "EplZigZagCounter" end
+	if(enum==EsaHElasticEnum) return "EsaHElastic" end
+	if(enum==EsaHemisphereEnum) return "EsaHemisphere" end
+	if(enum==EsaRequestedOutputsEnum) return "EsaRequestedOutputs" end
+	if(enum==EsaUElasticEnum) return "EsaUElastic" end
+	if(enum==ExtrapolationVariableEnum) return "ExtrapolationVariable" end
+	if(enum==FemModelCommEnum) return "FemModelComm" end
+	if(enum==FieldsEnum) return "Fields" end
+	if(enum==FlowequationFeFSEnum) return "FlowequationFeFS" end
+	if(enum==FlowequationIsFSEnum) return "FlowequationIsFS" end
+	if(enum==FlowequationIsHOEnum) return "FlowequationIsHO" end
+	if(enum==FlowequationIsL1L2Enum) return "FlowequationIsL1L2" end
+	if(enum==FlowequationIsMLHOEnum) return "FlowequationIsMLHO" end
+	if(enum==FlowequationIsSIAEnum) return "FlowequationIsSIA" end
+	if(enum==FlowequationIsSSAEnum) return "FlowequationIsSSA" end
+	if(enum==FlowequationIsNitscheEnum) return "FlowequationIsNitsche" end
+	if(enum==FeFSNitscheGammaEnum) return "FeFSNitscheGamma" end
+	if(enum==FrictionCouplingEnum) return "FrictionCoupling" end
+	if(enum==FrictionDeltaEnum) return "FrictionDelta" end
+	if(enum==FrictionEffectivePressureLimitEnum) return "FrictionEffectivePressureLimit" end
+	if(enum==FrictionFEnum) return "FrictionF" end
+	if(enum==FrictionGammaEnum) return "FrictionGamma" end
+	if(enum==FrictionLawEnum) return "FrictionLaw" end
+	if(enum==FrictionPseudoplasticityExponentEnum) return "FrictionPseudoplasticityExponent" end
+	if(enum==FrictionThresholdSpeedEnum) return "FrictionThresholdSpeed" end
+	if(enum==FrictionVoidRatioEnum) return "FrictionVoidRatio" end
+	if(enum==FrontalForcingsBasinIcefrontAreaEnum) return "FrontalForcingsBasinIcefrontArea" end
+	if(enum==FrontalForcingsAutoregressionInitialTimeEnum) return "FrontalForcingsAutoregressionInitialTime" end
+	if(enum==FrontalForcingsAutoregressionTimestepEnum) return "FrontalForcingsAutoregressionTimestep" end
+	if(enum==FrontalForcingsAutoregressiveOrderEnum) return "FrontalForcingsAutoregressiveOrder" end
+	if(enum==FrontalForcingsBeta0Enum) return "FrontalForcingsBeta0" end
+	if(enum==FrontalForcingsBeta1Enum) return "FrontalForcingsBeta1" end
+	if(enum==FrontalForcingsNumberofBasinsEnum) return "FrontalForcingsNumberofBasins" end
+	if(enum==FrontalForcingsParamEnum) return "FrontalForcingsParam" end
+	if(enum==FrontalForcingsPhiEnum) return "FrontalForcingsPhi" end
+	if(enum==GrdModelEnum) return "GrdModel" end
+	if(enum==GroundinglineFrictionInterpolationEnum) return "GroundinglineFrictionInterpolation" end
+	if(enum==GroundinglineMeltInterpolationEnum) return "GroundinglineMeltInterpolation" end
+	if(enum==GroundinglineMigrationEnum) return "GroundinglineMigration" end
+	if(enum==HydrologyAveragingEnum) return "HydrologyAveraging" end
+	if(enum==HydrologyCavitySpacingEnum) return "HydrologyCavitySpacing" end
+	if(enum==HydrologyChannelConductivityEnum) return "HydrologyChannelConductivity" end
+	if(enum==HydrologyChannelSheetWidthEnum) return "HydrologyChannelSheetWidth" end
+	if(enum==HydrologyEnglacialVoidRatioEnum) return "HydrologyEnglacialVoidRatio" end
+	if(enum==HydrologyIschannelsEnum) return "HydrologyIschannels" end
+	if(enum==HydrologyMeltFlagEnum) return "HydrologyMeltFlag" end
+	if(enum==HydrologyModelEnum) return "HydrologyModel" end
+	if(enum==HydrologyNumRequestedOutputsEnum) return "HydrologyNumRequestedOutputs" end
+	if(enum==HydrologyPressureMeltCoefficientEnum) return "HydrologyPressureMeltCoefficient" end
+	if(enum==HydrologyRelaxationEnum) return "HydrologyRelaxation" end
+	if(enum==HydrologyRequestedOutputsEnum) return "HydrologyRequestedOutputs" end
+	if(enum==HydrologySedimentKmaxEnum) return "HydrologySedimentKmax" end
+	if(enum==HydrologyStepsPerStepEnum) return "HydrologyStepsPerStep" end
+	if(enum==HydrologyStorageEnum) return "HydrologyStorage" end
+	if(enum==HydrologydcEplColapseThicknessEnum) return "HydrologydcEplColapseThickness" end
+	if(enum==HydrologydcEplConductivityEnum) return "HydrologydcEplConductivity" end
+	if(enum==HydrologydcEplInitialThicknessEnum) return "HydrologydcEplInitialThickness" end
+	if(enum==HydrologydcEplLayerCompressibilityEnum) return "HydrologydcEplLayerCompressibility" end
+	if(enum==HydrologydcEplMaxThicknessEnum) return "HydrologydcEplMaxThickness" end
+	if(enum==HydrologydcEplPoreWaterMassEnum) return "HydrologydcEplPoreWaterMass" end
+	if(enum==HydrologydcEplThickCompEnum) return "HydrologydcEplThickComp" end
+	if(enum==HydrologydcEplflipLockEnum) return "HydrologydcEplflipLock" end
+	if(enum==HydrologydcIsefficientlayerEnum) return "HydrologydcIsefficientlayer" end
+	if(enum==HydrologydcLeakageFactorEnum) return "HydrologydcLeakageFactor" end
+	if(enum==HydrologydcMaxIterEnum) return "HydrologydcMaxIter" end
+	if(enum==HydrologydcPenaltyFactorEnum) return "HydrologydcPenaltyFactor" end
+	if(enum==HydrologydcPenaltyLockEnum) return "HydrologydcPenaltyLock" end
+	if(enum==HydrologydcRelTolEnum) return "HydrologydcRelTol" end
+	if(enum==HydrologydcSedimentlimitEnum) return "HydrologydcSedimentlimit" end
+	if(enum==HydrologydcSedimentlimitFlagEnum) return "HydrologydcSedimentlimitFlag" end
+	if(enum==HydrologydcSedimentLayerCompressibilityEnum) return "HydrologydcSedimentLayerCompressibility" end
+	if(enum==HydrologydcSedimentPoreWaterMassEnum) return "HydrologydcSedimentPoreWaterMass" end
+	if(enum==HydrologydcSedimentPorosityEnum) return "HydrologydcSedimentPorosity" end
+	if(enum==HydrologydcSedimentThicknessEnum) return "HydrologydcSedimentThickness" end
+	if(enum==HydrologydcTransferFlagEnum) return "HydrologydcTransferFlag" end
+	if(enum==HydrologydcUnconfinedFlagEnum) return "HydrologydcUnconfinedFlag" end
+	if(enum==HydrologyshreveStabilizationEnum) return "HydrologyshreveStabilization" end
+	if(enum==IcecapToEarthCommEnum) return "IcecapToEarthComm" end
+	if(enum==IndexEnum) return "Index" end
+	if(enum==InputFileNameEnum) return "InputFileName" end
+	if(enum==DirectoryNameEnum) return "DirectoryName" end
+	if(enum==IndicesEnum) return "Indices" end
+	if(enum==InputToDepthaverageInEnum) return "InputToDepthaverageIn" end
+	if(enum==InputToDepthaverageOutEnum) return "InputToDepthaverageOut" end
+	if(enum==InputToExtrudeEnum) return "InputToExtrude" end
+	if(enum==InputToL2ProjectEnum) return "InputToL2Project" end
+	if(enum==InputToSmoothEnum) return "InputToSmooth" end
+	if(enum==InversionAlgorithmEnum) return "InversionAlgorithm" end
+	if(enum==InversionControlParametersEnum) return "InversionControlParameters" end
+	if(enum==InversionControlScalingFactorsEnum) return "InversionControlScalingFactors" end
+	if(enum==InversionCostFunctionsEnum) return "InversionCostFunctions" end
+	if(enum==InversionDxminEnum) return "InversionDxmin" end
+	if(enum==InversionGatolEnum) return "InversionGatol" end
+	if(enum==InversionGradientScalingEnum) return "InversionGradientScaling" end
+	if(enum==InversionGrtolEnum) return "InversionGrtol" end
+	if(enum==InversionGttolEnum) return "InversionGttol" end
+	if(enum==InversionIncompleteAdjointEnum) return "InversionIncompleteAdjoint" end
+	if(enum==InversionIscontrolEnum) return "InversionIscontrol" end
+	if(enum==InversionMaxiterEnum) return "InversionMaxiter" end
+	if(enum==InversionMaxiterPerStepEnum) return "InversionMaxiterPerStep" end
+	if(enum==InversionMaxstepsEnum) return "InversionMaxsteps" end
+	if(enum==InversionNstepsEnum) return "InversionNsteps" end
+	if(enum==InversionNumControlParametersEnum) return "InversionNumControlParameters" end
+	if(enum==InversionNumCostFunctionsEnum) return "InversionNumCostFunctions" end
+	if(enum==InversionStepThresholdEnum) return "InversionStepThreshold" end
+	if(enum==InversionTypeEnum) return "InversionType" end
+	if(enum==IvinsEnum) return "Ivins" end
+	if(enum==IsSlcCouplingEnum) return "IsSlcCoupling" end
+	if(enum==LevelsetKillIcebergsEnum) return "LevelsetKillIcebergs" end
+	if(enum==LevelsetReinitFrequencyEnum) return "LevelsetReinitFrequency" end
+	if(enum==LevelsetStabilizationEnum) return "LevelsetStabilization" end
+	if(enum==LockFileNameEnum) return "LockFileName" end
+	if(enum==LoveAllowLayerDeletionEnum) return "LoveAllowLayerDeletion" end
+	if(enum==LoveCoreMantleBoundaryEnum) return "LoveCoreMantleBoundary" end
+	if(enum==LoveEarthMassEnum) return "LoveEarthMass" end
+	if(enum==LoveForcingTypeEnum) return "LoveForcingType" end
+	if(enum==LoveFrequenciesEnum) return "LoveFrequencies" end
+	if(enum==LoveIsTemporalEnum) return "LoveIsTemporal" end
+	if(enum==LoveG0Enum) return "LoveG0" end
+	if(enum==LoveGravitationalConstantEnum) return "LoveGravitationalConstant" end
+	if(enum==LoveInnerCoreBoundaryEnum) return "LoveInnerCoreBoundary" end
+	if(enum==LoveComplexComputationEnum) return "LoveComplexComputation" end
+	if(enum==LoveIntStepsPerLayerEnum) return "LoveIntStepsPerLayer" end
+	if(enum==LoveKernelsEnum) return "LoveKernels" end
+	if(enum==LoveMu0Enum) return "LoveMu0" end
+	if(enum==LoveNfreqEnum) return "LoveNfreq" end
+	if(enum==LoveNTemporalIterationsEnum) return "LoveNTemporalIterations" end
+	if(enum==LoveNYiEquationsEnum) return "LoveNYiEquations" end
+	if(enum==LoveR0Enum) return "LoveR0" end
+	if(enum==LoveShNmaxEnum) return "LoveShNmax" end
+	if(enum==LoveShNminEnum) return "LoveShNmin" end
+	if(enum==LoveStartingLayerEnum) return "LoveStartingLayer" end
+	if(enum==LoveUnderflowTolEnum) return "LoveUnderflowTol" end
+	if(enum==MassFluxSegmentsEnum) return "MassFluxSegments" end
+	if(enum==MassFluxSegmentsPresentEnum) return "MassFluxSegmentsPresent" end
+	if(enum==MasstransportHydrostaticAdjustmentEnum) return "MasstransportHydrostaticAdjustment" end
+	if(enum==MasstransportIsfreesurfaceEnum) return "MasstransportIsfreesurface" end
+	if(enum==MasstransportMinThicknessEnum) return "MasstransportMinThickness" end
+	if(enum==MasstransportNumRequestedOutputsEnum) return "MasstransportNumRequestedOutputs" end
+	if(enum==MasstransportPenaltyFactorEnum) return "MasstransportPenaltyFactor" end
+	if(enum==MasstransportRequestedOutputsEnum) return "MasstransportRequestedOutputs" end
+	if(enum==MasstransportStabilizationEnum) return "MasstransportStabilization" end
+	if(enum==MaterialsBetaEnum) return "MaterialsBeta" end
+	if(enum==MaterialsEarthDensityEnum) return "MaterialsEarthDensity" end
+	if(enum==MaterialsEffectiveconductivityAveragingEnum) return "MaterialsEffectiveconductivityAveraging" end
+	if(enum==MaterialsHeatcapacityEnum) return "MaterialsHeatcapacity" end
+	if(enum==MaterialsLatentheatEnum) return "MaterialsLatentheat" end
+	if(enum==MaterialsMeltingpointEnum) return "MaterialsMeltingpoint" end
+	if(enum==MaterialsMixedLayerCapacityEnum) return "MaterialsMixedLayerCapacity" end
+	if(enum==MaterialsMuWaterEnum) return "MaterialsMuWater" end
+	if(enum==MaterialsRheologyLawEnum) return "MaterialsRheologyLaw" end
+	if(enum==MaterialsRhoFreshwaterEnum) return "MaterialsRhoFreshwater" end
+	if(enum==MaterialsRhoIceEnum) return "MaterialsRhoIce" end
+	if(enum==MaterialsRhoSeawaterEnum) return "MaterialsRhoSeawater" end
+	if(enum==MaterialsTemperateiceconductivityEnum) return "MaterialsTemperateiceconductivity" end
+	if(enum==MaterialsThermalExchangeVelocityEnum) return "MaterialsThermalExchangeVelocity" end
+	if(enum==MaterialsThermalconductivityEnum) return "MaterialsThermalconductivity" end
+	if(enum==MeltingOffsetEnum) return "MeltingOffset" end
+	if(enum==MeshAverageVertexConnectivityEnum) return "MeshAverageVertexConnectivity" end
+	if(enum==MeshElementtypeEnum) return "MeshElementtype" end
+	if(enum==MeshNumberoflayersEnum) return "MeshNumberoflayers" end
+	if(enum==MeshNumberofverticesEnum) return "MeshNumberofvertices" end
+	if(enum==MeshNumberofelementsEnum) return "MeshNumberofelements" end
+	if(enum==MigrationMaxEnum) return "MigrationMax" end
+	if(enum==ModelIdEnum) return "ModelId" end
+	if(enum==NbinsEnum) return "Nbins" end
+	if(enum==NodesEnum) return "Nodes" end
+	if(enum==NumModelsEnum) return "NumModels" end
+	if(enum==OceanGridNxEnum) return "OceanGridNx" end
+	if(enum==OceanGridNyEnum) return "OceanGridNy" end
+	if(enum==OceanGridXEnum) return "OceanGridX" end
+	if(enum==OceanGridYEnum) return "OceanGridY" end
+	if(enum==OutputBufferPointerEnum) return "OutputBufferPointer" end
+	if(enum==OutputBufferSizePointerEnum) return "OutputBufferSizePointer" end
+	if(enum==OutputFileNameEnum) return "OutputFileName" end
+	if(enum==OutputFilePointerEnum) return "OutputFilePointer" end
+	if(enum==OutputdefinitionEnum) return "Outputdefinition" end
+	if(enum==QmuErrNameEnum) return "QmuErrName" end
+	if(enum==QmuInNameEnum) return "QmuInName" end
+	if(enum==QmuIsdakotaEnum) return "QmuIsdakota" end
+	if(enum==QmuOutNameEnum) return "QmuOutName" end
+	if(enum==QmuOutputEnum) return "QmuOutput" end
+	if(enum==QmuCurrEvalIdEnum) return "QmuCurrEvalId" end
+	if(enum==QmuNsampleEnum) return "QmuNsample" end
+	if(enum==QmuResponsedescriptorsEnum) return "QmuResponsedescriptors" end
+	if(enum==QmuVariableDescriptorsEnum) return "QmuVariableDescriptors" end
+	if(enum==QmuVariablePartitionsEnum) return "QmuVariablePartitions" end
+	if(enum==QmuVariablePartitionsNpartEnum) return "QmuVariablePartitionsNpart" end
+	if(enum==QmuVariablePartitionsNtEnum) return "QmuVariablePartitionsNt" end
+	if(enum==QmuResponsePartitionsEnum) return "QmuResponsePartitions" end
+	if(enum==QmuResponsePartitionsNpartEnum) return "QmuResponsePartitionsNpart" end
+	if(enum==QmuStatisticsEnum) return "QmuStatistics" end
+	if(enum==QmuNumstatisticsEnum) return "QmuNumstatistics" end
+	if(enum==QmuNdirectoriesEnum) return "QmuNdirectories" end
+	if(enum==QmuNfilesPerDirectoryEnum) return "QmuNfilesPerDirectory" end
+	if(enum==QmuStatisticsMethodEnum) return "QmuStatisticsMethod" end
+	if(enum==QmuMethodsEnum) return "QmuMethods" end
+	if(enum==RestartFileNameEnum) return "RestartFileName" end
+	if(enum==ResultsEnum) return "Results" end
+	if(enum==RootPathEnum) return "RootPath" end
+	if(enum==ModelnameEnum) return "Modelname" end
+	if(enum==SamplingAlphaEnum) return "SamplingAlpha" end
+	if(enum==SamplingPhiEnum) return "SamplingPhi" end
+	if(enum==SamplingNumRequestedOutputsEnum) return "SamplingNumRequestedOutputs" end
+	if(enum==SamplingRequestedOutputsEnum) return "SamplingRequestedOutputs" end
+	if(enum==SamplingRobinEnum) return "SamplingRobin" end
+	if(enum==SamplingSeedEnum) return "SamplingSeed" end
+	if(enum==SamplingTauEnum) return "SamplingTau" end
+	if(enum==SaveResultsEnum) return "SaveResults" end
+	if(enum==SolidearthPartitionIceEnum) return "SolidearthPartitionIce" end
+	if(enum==SolidearthPartitionHydroEnum) return "SolidearthPartitionHydro" end
+	if(enum==SolidearthPartitionOceanEnum) return "SolidearthPartitionOcean" end
+	if(enum==SolidearthNpartIceEnum) return "SolidearthNpartIce" end
+	if(enum==SolidearthNpartOceanEnum) return "SolidearthNpartOcean" end
+	if(enum==SolidearthNpartHydroEnum) return "SolidearthNpartHydro" end
+	if(enum==SolidearthPlanetRadiusEnum) return "SolidearthPlanetRadius" end
+	if(enum==SolidearthPlanetAreaEnum) return "SolidearthPlanetArea" end
+	if(enum==SolidearthSettingsAbstolEnum) return "SolidearthSettingsAbstol" end
+	if(enum==SolidearthSettingsCrossSectionShapeEnum) return "SolidearthSettingsCrossSectionShape" end
+	if(enum==RotationalAngularVelocityEnum) return "RotationalAngularVelocity" end
+	if(enum==SolidearthSettingsElasticEnum) return "SolidearthSettingsElastic" end
+	if(enum==SolidearthSettingsViscousEnum) return "SolidearthSettingsViscous" end
+	if(enum==SealevelchangeGeometryDoneEnum) return "SealevelchangeGeometryDone" end
+	if(enum==SealevelchangeViscousNumStepsEnum) return "SealevelchangeViscousNumSteps" end
+	if(enum==SealevelchangeViscousTimesEnum) return "SealevelchangeViscousTimes" end
+	if(enum==SealevelchangeViscousIndexEnum) return "SealevelchangeViscousIndex" end
+	if(enum==RotationalEquatorialMoiEnum) return "RotationalEquatorialMoi" end
+	if(enum==TidalLoveHEnum) return "TidalLoveH" end
+	if(enum==TidalLoveKEnum) return "TidalLoveK" end
+	if(enum==TidalLoveLEnum) return "TidalLoveL" end
+	if(enum==TidalLoveK2SecularEnum) return "TidalLoveK2Secular" end
+	if(enum==LoadLoveHEnum) return "LoadLoveH" end
+	if(enum==LoadLoveKEnum) return "LoadLoveK" end
+	if(enum==LoadLoveLEnum) return "LoadLoveL" end
+	if(enum==LoveTimeFreqEnum) return "LoveTimeFreq" end
+	if(enum==LoveIsTimeEnum) return "LoveIsTime" end
+	if(enum==SealevelchangeGSelfAttractionEnum) return "SealevelchangeGSelfAttraction" end
+	if(enum==SealevelchangeGViscoElasticEnum) return "SealevelchangeGViscoElastic" end
+	if(enum==SolidearthSettingsSealevelLoadingEnum) return "SolidearthSettingsSealevelLoading" end
+	if(enum==SolidearthSettingsGRDEnum) return "SolidearthSettingsGRD" end
+	if(enum==SolidearthSettingsRunFrequencyEnum) return "SolidearthSettingsRunFrequency" end
+	if(enum==SolidearthSettingsTimeAccEnum) return "SolidearthSettingsTimeAcc" end
+	if(enum==SealevelchangeHViscoElasticEnum) return "SealevelchangeHViscoElastic" end
+	if(enum==SolidearthSettingsHorizEnum) return "SolidearthSettingsHoriz" end
+	if(enum==SolidearthSettingsMaxiterEnum) return "SolidearthSettingsMaxiter" end
+	if(enum==SolidearthSettingsGrdOceanEnum) return "SolidearthSettingsGrdOcean" end
+	if(enum==SolidearthSettingsOceanAreaScalingEnum) return "SolidearthSettingsOceanAreaScaling" end
+	if(enum==StochasticForcingCovarianceEnum) return "StochasticForcingCovariance" end
+	if(enum==StochasticForcingDefaultDimensionEnum) return "StochasticForcingDefaultDimension" end
+	if(enum==StochasticForcingDimensionsEnum) return "StochasticForcingDimensions" end
+	if(enum==StochasticForcingFieldsEnum) return "StochasticForcingFields" end
+	if(enum==StochasticForcingIsEffectivePressureEnum) return "StochasticForcingIsEffectivePressure" end
+	if(enum==StochasticForcingIsStochasticForcingEnum) return "StochasticForcingIsStochasticForcing" end
+	if(enum==StochasticForcingIsWaterPressureEnum) return "StochasticForcingIsWaterPressure" end
+	if(enum==StochasticForcingNumFieldsEnum) return "StochasticForcingNumFields" end
+	if(enum==StochasticForcingRandomflagEnum) return "StochasticForcingRandomflag" end
+	if(enum==RotationalPolarMoiEnum) return "RotationalPolarMoi" end
+	if(enum==SolidearthSettingsReltolEnum) return "SolidearthSettingsReltol" end
+	if(enum==SealevelchangeRequestedOutputsEnum) return "SealevelchangeRequestedOutputs" end
+	if(enum==SolidearthSettingsSelfAttractionEnum) return "SolidearthSettingsSelfAttraction" end
+	if(enum==SolidearthSettingsRotationEnum) return "SolidearthSettingsRotation" end
+	if(enum==SolidearthSettingsMaxSHCoeffEnum) return "SolidearthSettingsMaxSHCoeff" end
+	if(enum==SealevelchangeRunCountEnum) return "SealevelchangeRunCount" end
+	if(enum==SealevelchangeTransitionsEnum) return "SealevelchangeTransitions" end
+	if(enum==SealevelchangeUViscoElasticEnum) return "SealevelchangeUViscoElastic" end
+	if(enum==SettingsIoGatherEnum) return "SettingsIoGather" end
+	if(enum==SettingsNumResultsOnNodesEnum) return "SettingsNumResultsOnNodes" end
+	if(enum==SettingsOutputFrequencyEnum) return "SettingsOutputFrequency" end
+	if(enum==SettingsCheckpointFrequencyEnum) return "SettingsCheckpointFrequency" end
+	if(enum==SettingsResultsOnNodesEnum) return "SettingsResultsOnNodes" end
+	if(enum==SettingsSbCouplingFrequencyEnum) return "SettingsSbCouplingFrequency" end
+	if(enum==SettingsSolverResidueThresholdEnum) return "SettingsSolverResidueThreshold" end
+	if(enum==SettingsWaitonlockEnum) return "SettingsWaitonlock" end
+	if(enum==SmbAIceEnum) return "SmbAIce" end
+	if(enum==SmbAIdxEnum) return "SmbAIdx" end
+	if(enum==SmbASnowEnum) return "SmbASnow" end
+	if(enum==SmbAccualtiEnum) return "SmbAccualti" end
+	if(enum==SmbAccugradEnum) return "SmbAccugrad" end
+	if(enum==SmbAccurefEnum) return "SmbAccuref" end
+	if(enum==SmbAdThreshEnum) return "SmbAdThresh" end
+	if(enum==SmbAutoregressionInitialTimeEnum) return "SmbAutoregressionInitialTime" end
+	if(enum==SmbAutoregressionTimestepEnum) return "SmbAutoregressionTimestep" end
+	if(enum==SmbAutoregressiveOrderEnum) return "SmbAutoregressiveOrder" end
+	if(enum==SmbAveragingEnum) return "SmbAveraging" end
+	if(enum==SmbBeta0Enum) return "SmbBeta0" end
+	if(enum==SmbBeta1Enum) return "SmbBeta1" end
+	if(enum==SmbDesfacEnum) return "SmbDesfac" end
+	if(enum==SmbDpermilEnum) return "SmbDpermil" end
+	if(enum==SmbDsnowIdxEnum) return "SmbDsnowIdx" end
+	if(enum==SmbCldFracEnum) return "SmbCldFrac" end
+	if(enum==SmbDelta18oEnum) return "SmbDelta18o" end
+	if(enum==SmbDelta18oSurfaceEnum) return "SmbDelta18oSurface" end
+	if(enum==SmbDenIdxEnum) return "SmbDenIdx" end
+	if(enum==SmbDtEnum) return "SmbDt" end
+	if(enum==SmbEnum) return "Smb" end
+	if(enum==SmbEIdxEnum) return "SmbEIdx" end
+	if(enum==SmbFEnum) return "SmbF" end
+	if(enum==SmbInitDensityScalingEnum) return "SmbInitDensityScaling" end
+	if(enum==SmbIsaccumulationEnum) return "SmbIsaccumulation" end
+	if(enum==SmbIsalbedoEnum) return "SmbIsalbedo" end
+	if(enum==SmbIsconstrainsurfaceTEnum) return "SmbIsconstrainsurfaceT" end
+	if(enum==SmbIsd18opdEnum) return "SmbIsd18opd" end
+	if(enum==SmbIsdelta18oEnum) return "SmbIsdelta18o" end
+	if(enum==SmbIsdensificationEnum) return "SmbIsdensification" end
+	if(enum==SmbIsdeltaLWupEnum) return "SmbIsdeltaLWup" end
+	if(enum==SmbIsfirnwarmingEnum) return "SmbIsfirnwarming" end
+	if(enum==SmbIsgraingrowthEnum) return "SmbIsgraingrowth" end
+	if(enum==SmbIsmeltEnum) return "SmbIsmelt" end
+	if(enum==SmbIsmungsmEnum) return "SmbIsmungsm" end
+	if(enum==SmbIsprecipscaledEnum) return "SmbIsprecipscaled" end
+	if(enum==SmbIssetpddfacEnum) return "SmbIssetpddfac" end
+	if(enum==SmbIsshortwaveEnum) return "SmbIsshortwave" end
+	if(enum==SmbIstemperaturescaledEnum) return "SmbIstemperaturescaled" end
+	if(enum==SmbIsthermalEnum) return "SmbIsthermal" end
+	if(enum==SmbIsturbulentfluxEnum) return "SmbIsturbulentflux" end
+	if(enum==SmbKEnum) return "SmbK" end
+	if(enum==SmbNumBasinsEnum) return "SmbNumBasins" end
+	if(enum==SmbNumRequestedOutputsEnum) return "SmbNumRequestedOutputs" end
+	if(enum==SmbPfacEnum) return "SmbPfac" end
+	if(enum==SmbPhiEnum) return "SmbPhi" end
+	if(enum==SmbRdlEnum) return "SmbRdl" end
+	if(enum==SmbRequestedOutputsEnum) return "SmbRequestedOutputs" end
+	if(enum==SmbRlapsEnum) return "SmbRlaps" end
+	if(enum==SmbRlapslgmEnum) return "SmbRlapslgm" end
+	if(enum==SmbRunoffaltiEnum) return "SmbRunoffalti" end
+	if(enum==SmbRunoffgradEnum) return "SmbRunoffgrad" end
+	if(enum==SmbRunoffrefEnum) return "SmbRunoffref" end
+	if(enum==SmbSealevEnum) return "SmbSealev" end
+	if(enum==SmbStepsPerStepEnum) return "SmbStepsPerStep" end
+	if(enum==SmbSwIdxEnum) return "SmbSwIdx" end
+	if(enum==SmbT0dryEnum) return "SmbT0dry" end
+	if(enum==SmbT0wetEnum) return "SmbT0wet" end
+	if(enum==SmbTeThreshEnum) return "SmbTeThresh" end
+	if(enum==SmbTdiffEnum) return "SmbTdiff" end
+	if(enum==SmbThermoDeltaTScalingEnum) return "SmbThermoDeltaTScaling" end
+	if(enum==SmbTemperaturesReconstructedYearsEnum) return "SmbTemperaturesReconstructedYears" end
+	if(enum==SmbPrecipitationsReconstructedYearsEnum) return "SmbPrecipitationsReconstructedYears" end
+	if(enum==SmoothThicknessMultiplierEnum) return "SmoothThicknessMultiplier" end
+	if(enum==SolutionTypeEnum) return "SolutionType" end
+	if(enum==SteadystateMaxiterEnum) return "SteadystateMaxiter" end
+	if(enum==SteadystateNumRequestedOutputsEnum) return "SteadystateNumRequestedOutputs" end
+	if(enum==SteadystateReltolEnum) return "SteadystateReltol" end
+	if(enum==SteadystateRequestedOutputsEnum) return "SteadystateRequestedOutputs" end
+	if(enum==StepEnum) return "Step" end
+	if(enum==StepsEnum) return "Steps" end
+	if(enum==StressbalanceAbstolEnum) return "StressbalanceAbstol" end
+	if(enum==StressbalanceFSreconditioningEnum) return "StressbalanceFSreconditioning" end
+	if(enum==StressbalanceIsnewtonEnum) return "StressbalanceIsnewton" end
+	if(enum==StressbalanceMaxiterEnum) return "StressbalanceMaxiter" end
+	if(enum==StressbalanceNumRequestedOutputsEnum) return "StressbalanceNumRequestedOutputs" end
+	if(enum==StressbalancePenaltyFactorEnum) return "StressbalancePenaltyFactor" end
+	if(enum==StressbalanceReltolEnum) return "StressbalanceReltol" end
+	if(enum==StressbalanceRequestedOutputsEnum) return "StressbalanceRequestedOutputs" end
+	if(enum==StressbalanceRestolEnum) return "StressbalanceRestol" end
+	if(enum==StressbalanceRiftPenaltyThresholdEnum) return "StressbalanceRiftPenaltyThreshold" end
+	if(enum==StressbalanceShelfDampeningEnum) return "StressbalanceShelfDampening" end
+	if(enum==ThermalIsdrainicecolumnEnum) return "ThermalIsdrainicecolumn" end
+	if(enum==ThermalIsdynamicbasalspcEnum) return "ThermalIsdynamicbasalspc" end
+	if(enum==ThermalIsenthalpyEnum) return "ThermalIsenthalpy" end
+	if(enum==ThermalMaxiterEnum) return "ThermalMaxiter" end
+	if(enum==ThermalNumRequestedOutputsEnum) return "ThermalNumRequestedOutputs" end
+	if(enum==ThermalPenaltyFactorEnum) return "ThermalPenaltyFactor" end
+	if(enum==ThermalPenaltyLockEnum) return "ThermalPenaltyLock" end
+	if(enum==ThermalPenaltyThresholdEnum) return "ThermalPenaltyThreshold" end
+	if(enum==ThermalReltolEnum) return "ThermalReltol" end
+	if(enum==ThermalRequestedOutputsEnum) return "ThermalRequestedOutputs" end
+	if(enum==ThermalStabilizationEnum) return "ThermalStabilization" end
+	if(enum==ThermalWatercolumnUpperlimitEnum) return "ThermalWatercolumnUpperlimit" end
+	if(enum==TimeEnum) return "Time" end
+	if(enum==TimesteppingCflCoefficientEnum) return "TimesteppingCflCoefficient" end
+	if(enum==TimesteppingCouplingTimeEnum) return "TimesteppingCouplingTime" end
+	if(enum==TimesteppingFinalTimeEnum) return "TimesteppingFinalTime" end
+	if(enum==TimesteppingInterpForcingEnum) return "TimesteppingInterpForcing" end
+	if(enum==TimesteppingCycleForcingEnum) return "TimesteppingCycleForcing" end
+	if(enum==TimesteppingStartTimeEnum) return "TimesteppingStartTime" end
+	if(enum==TimesteppingTimeStepEnum) return "TimesteppingTimeStep" end
+	if(enum==TimesteppingTimeStepMaxEnum) return "TimesteppingTimeStepMax" end
+	if(enum==TimesteppingTimeStepMinEnum) return "TimesteppingTimeStepMin" end
+	if(enum==TimesteppingTypeEnum) return "TimesteppingType" end
+	if(enum==ToMITgcmCommEnum) return "ToMITgcmComm" end
+	if(enum==ToolkitsFileNameEnum) return "ToolkitsFileName" end
+	if(enum==ToolkitsOptionsAnalysesEnum) return "ToolkitsOptionsAnalyses" end
+	if(enum==ToolkitsOptionsStringsEnum) return "ToolkitsOptionsStrings" end
+	if(enum==ToolkitsTypesEnum) return "ToolkitsTypes" end
+	if(enum==TransientAmrFrequencyEnum) return "TransientAmrFrequency" end
+	if(enum==TransientIsdamageevolutionEnum) return "TransientIsdamageevolution" end
+	if(enum==TransientIsesaEnum) return "TransientIsesa" end
+	if(enum==TransientIsgiaEnum) return "TransientIsgia" end
+	if(enum==TransientIsgroundinglineEnum) return "TransientIsgroundingline" end
+	if(enum==TransientIshydrologyEnum) return "TransientIshydrology" end
+	if(enum==TransientIsmasstransportEnum) return "TransientIsmasstransport" end
+	if(enum==TransientIsoceantransportEnum) return "TransientIsoceantransport" end
+	if(enum==TransientIsmovingfrontEnum) return "TransientIsmovingfront" end
+	if(enum==TransientIsoceancouplingEnum) return "TransientIsoceancoupling" end
+	if(enum==TransientIssamplingEnum) return "TransientIssampling" end
+	if(enum==TransientIsslcEnum) return "TransientIsslc" end
+	if(enum==TransientIssmbEnum) return "TransientIssmb" end
+	if(enum==TransientIsstressbalanceEnum) return "TransientIsstressbalance" end
+	if(enum==TransientIsthermalEnum) return "TransientIsthermal" end
+	if(enum==TransientNumRequestedOutputsEnum) return "TransientNumRequestedOutputs" end
+	if(enum==TransientRequestedOutputsEnum) return "TransientRequestedOutputs" end
+	if(enum==VelocityEnum) return "Velocity" end
+	if(enum==XxeEnum) return "Xxe" end
+	if(enum==YyeEnum) return "Yye" end
+	if(enum==ZzeEnum) return "Zze" end
+	if(enum==AreaeEnum) return "Areae" end
+	if(enum==WorldCommEnum) return "WorldComm" end
+	if(enum==ParametersENDEnum) return "ParametersEND" end
+	if(enum==InputsSTARTEnum) return "InputsSTART" end
+	if(enum==AccumulatedDeltaBottomPressureEnum) return "AccumulatedDeltaBottomPressure" end
+	if(enum==AccumulatedDeltaIceThicknessEnum) return "AccumulatedDeltaIceThickness" end
+	if(enum==AccumulatedDeltaTwsEnum) return "AccumulatedDeltaTws" end
+	if(enum==AdjointEnum) return "Adjoint" end
+	if(enum==AdjointpEnum) return "Adjointp" end
+	if(enum==AdjointxEnum) return "Adjointx" end
+	if(enum==AdjointxBaseEnum) return "AdjointxBase" end
+	if(enum==AdjointxShearEnum) return "AdjointxShear" end
+	if(enum==AdjointyEnum) return "Adjointy" end
+	if(enum==AdjointyBaseEnum) return "AdjointyBase" end
+	if(enum==AdjointyShearEnum) return "AdjointyShear" end
+	if(enum==AdjointzEnum) return "Adjointz" end
+	if(enum==AirEnum) return "Air" end
+	if(enum==ApproximationEnum) return "Approximation" end
+	if(enum==BalancethicknessMisfitEnum) return "BalancethicknessMisfit" end
+	if(enum==BalancethicknessOmega0Enum) return "BalancethicknessOmega0" end
+	if(enum==BalancethicknessOmegaEnum) return "BalancethicknessOmega" end
+	if(enum==BalancethicknessSpcthicknessEnum) return "BalancethicknessSpcthickness" end
+	if(enum==BalancethicknessThickeningRateEnum) return "BalancethicknessThickeningRate" end
+	if(enum==BasalCrevasseEnum) return "BasalCrevasse" end
+	if(enum==BasalforcingsFloatingiceMeltingRateEnum) return "BasalforcingsFloatingiceMeltingRate" end
+	if(enum==BasalforcingsGeothermalfluxEnum) return "BasalforcingsGeothermalflux" end
+	if(enum==BasalforcingsGroundediceMeltingRateEnum) return "BasalforcingsGroundediceMeltingRate" end
+	if(enum==BasalforcingsPerturbationMeltingRateEnum) return "BasalforcingsPerturbationMeltingRate" end
+	if(enum==BasalforcingsIsmip6BasinIdEnum) return "BasalforcingsIsmip6BasinId" end
+	if(enum==BasalforcingsIsmip6TfEnum) return "BasalforcingsIsmip6Tf" end
+	if(enum==BasalforcingsIsmip6TfShelfEnum) return "BasalforcingsIsmip6TfShelf" end
+	if(enum==BasalforcingsIsmip6MeltAnomalyEnum) return "BasalforcingsIsmip6MeltAnomaly" end
+	if(enum==BasalforcingsMeltrateFactorEnum) return "BasalforcingsMeltrateFactor" end
+	if(enum==BasalforcingsOceanSalinityEnum) return "BasalforcingsOceanSalinity" end
+	if(enum==BasalforcingsOceanTempEnum) return "BasalforcingsOceanTemp" end
+	if(enum==BasalforcingsPicoBasinIdEnum) return "BasalforcingsPicoBasinId" end
+	if(enum==BasalforcingsPicoBoxIdEnum) return "BasalforcingsPicoBoxId" end
+	if(enum==BasalforcingsPicoOverturningCoeffEnum) return "BasalforcingsPicoOverturningCoeff" end
+	if(enum==BasalforcingsPicoSubShelfOceanOverturningEnum) return "BasalforcingsPicoSubShelfOceanOverturning" end
+	if(enum==BasalforcingsPicoSubShelfOceanSalinityEnum) return "BasalforcingsPicoSubShelfOceanSalinity" end
+	if(enum==BasalforcingsPicoSubShelfOceanTempEnum) return "BasalforcingsPicoSubShelfOceanTemp" end
+	if(enum==BasalStressxEnum) return "BasalStressx" end
+	if(enum==BasalStressyEnum) return "BasalStressy" end
+	if(enum==BasalStressEnum) return "BasalStress" end
+	if(enum==BaseEnum) return "Base" end
+	if(enum==BaseOldEnum) return "BaseOld" end
+	if(enum==BaseSlopeXEnum) return "BaseSlopeX" end
+	if(enum==BaseSlopeYEnum) return "BaseSlopeY" end
+	if(enum==BaselineBasalforcingsFloatingiceMeltingRateEnum) return "BaselineBasalforcingsFloatingiceMeltingRate" end
+	if(enum==BaselineCalvingCalvingrateEnum) return "BaselineCalvingCalvingrate" end
+	if(enum==BaselineFrictionEffectivePressureEnum) return "BaselineFrictionEffectivePressure" end
+	if(enum==BedEnum) return "Bed" end
+	if(enum==BedGRDEnum) return "BedGRD" end
+	if(enum==BedEastEnum) return "BedEast" end
+	if(enum==BedEastGRDEnum) return "BedEastGRD" end
+	if(enum==BedNorthEnum) return "BedNorth" end
+	if(enum==BedNorthGRDEnum) return "BedNorthGRD" end
+	if(enum==BedSlopeXEnum) return "BedSlopeX" end
+	if(enum==BedSlopeYEnum) return "BedSlopeY" end
+	if(enum==BottomPressureEnum) return "BottomPressure" end
+	if(enum==BottomPressureOldEnum) return "BottomPressureOld" end
+	if(enum==CalvingCalvingrateEnum) return "CalvingCalvingrate" end
+	if(enum==CalvingHabFractionEnum) return "CalvingHabFraction" end
+	if(enum==CalvingMeltingrateEnum) return "CalvingMeltingrate" end
+	if(enum==CalvingStressThresholdFloatingiceEnum) return "CalvingStressThresholdFloatingice" end
+	if(enum==CalvingStressThresholdGroundediceEnum) return "CalvingStressThresholdGroundedice" end
+	if(enum==CalvinglevermannCoeffEnum) return "CalvinglevermannCoeff" end
+	if(enum==CalvingratexAverageEnum) return "CalvingratexAverage" end
+	if(enum==CalvingratexEnum) return "Calvingratex" end
+	if(enum==CalvingrateyAverageEnum) return "CalvingrateyAverage" end
+	if(enum==CalvingrateyEnum) return "Calvingratey" end
+	if(enum==CalvingFluxLevelsetEnum) return "CalvingFluxLevelset" end
+	if(enum==CalvingMeltingFluxLevelsetEnum) return "CalvingMeltingFluxLevelset" end
+	if(enum==ConvergedEnum) return "Converged" end
+	if(enum==CrevasseDepthEnum) return "CrevasseDepth" end
+	if(enum==DamageDEnum) return "DamageD" end
+	if(enum==DamageDOldEnum) return "DamageDOld" end
+	if(enum==DamageDbarEnum) return "DamageDbar" end
+	if(enum==DamageDbarOldEnum) return "DamageDbarOld" end
+	if(enum==DamageFEnum) return "DamageF" end
+	if(enum==DegreeOfChannelizationEnum) return "DegreeOfChannelization" end
+	if(enum==DepthBelowSurfaceEnum) return "DepthBelowSurface" end
+	if(enum==DeltaIceThicknessEnum) return "DeltaIceThickness" end
+	if(enum==DeltaTwsEnum) return "DeltaTws" end
+	if(enum==DeltaBottomPressureEnum) return "DeltaBottomPressure" end
+	if(enum==DeltaDslEnum) return "DeltaDsl" end
+	if(enum==DslOldEnum) return "DslOld" end
+	if(enum==DslEnum) return "Dsl" end
+	if(enum==DeltaStrEnum) return "DeltaStr" end
+	if(enum==StrOldEnum) return "StrOld" end
+	if(enum==StrEnum) return "Str" end
+	if(enum==DeviatoricStresseffectiveEnum) return "DeviatoricStresseffective" end
+	if(enum==DeviatoricStressxxEnum) return "DeviatoricStressxx" end
+	if(enum==DeviatoricStressxyEnum) return "DeviatoricStressxy" end
+	if(enum==DeviatoricStressxzEnum) return "DeviatoricStressxz" end
+	if(enum==DeviatoricStressyyEnum) return "DeviatoricStressyy" end
+	if(enum==DeviatoricStressyzEnum) return "DeviatoricStressyz" end
+	if(enum==DeviatoricStresszzEnum) return "DeviatoricStresszz" end
+	if(enum==DeviatoricStress1Enum) return "DeviatoricStress1" end
+	if(enum==DeviatoricStress2Enum) return "DeviatoricStress2" end
+	if(enum==DistanceToCalvingfrontEnum) return "DistanceToCalvingfront" end
+	if(enum==DistanceToGroundinglineEnum) return "DistanceToGroundingline" end
+	if(enum==Domain2DhorizontalEnum) return "Domain2Dhorizontal" end
+	if(enum==Domain2DverticalEnum) return "Domain2Dvertical" end
+	if(enum==Domain3DEnum) return "Domain3D" end
+	if(enum==DragCoefficientAbsGradientEnum) return "DragCoefficientAbsGradient" end
+	if(enum==DrivingStressXEnum) return "DrivingStressX" end
+	if(enum==DrivingStressYEnum) return "DrivingStressY" end
+	if(enum==DummyEnum) return "Dummy" end
+	if(enum==EffectivePressureEnum) return "EffectivePressure" end
+	if(enum==EffectivePressureSubstepEnum) return "EffectivePressureSubstep" end
+	if(enum==EffectivePressureTransientEnum) return "EffectivePressureTransient" end
+	if(enum==EnthalpyEnum) return "Enthalpy" end
+	if(enum==EnthalpyPicardEnum) return "EnthalpyPicard" end
+	if(enum==EplHeadEnum) return "EplHead" end
+	if(enum==EplHeadOldEnum) return "EplHeadOld" end
+	if(enum==EplHeadSlopeXEnum) return "EplHeadSlopeX" end
+	if(enum==EplHeadSlopeYEnum) return "EplHeadSlopeY" end
+	if(enum==EplHeadSubstepEnum) return "EplHeadSubstep" end
+	if(enum==EplHeadTransientEnum) return "EplHeadTransient" end
+	if(enum==EsaEmotionEnum) return "EsaEmotion" end
+	if(enum==EsaNmotionEnum) return "EsaNmotion" end
+	if(enum==EsaRotationrateEnum) return "EsaRotationrate" end
+	if(enum==EsaStrainratexxEnum) return "EsaStrainratexx" end
+	if(enum==EsaStrainratexyEnum) return "EsaStrainratexy" end
+	if(enum==EsaStrainrateyyEnum) return "EsaStrainrateyy" end
+	if(enum==EsaUmotionEnum) return "EsaUmotion" end
+	if(enum==EsaXmotionEnum) return "EsaXmotion" end
+	if(enum==EsaYmotionEnum) return "EsaYmotion" end
+	if(enum==EtaDiffEnum) return "EtaDiff" end
+	if(enum==FlowequationBorderFSEnum) return "FlowequationBorderFS" end
+	if(enum==FrictionAsEnum) return "FrictionAs" end
+	if(enum==FrictionCEnum) return "FrictionC" end
+	if(enum==FrictionCmaxEnum) return "FrictionCmax" end
+	if(enum==FrictionCoefficientEnum) return "FrictionCoefficient" end
+	if(enum==FrictionCoefficientcoulombEnum) return "FrictionCoefficientcoulomb" end
+	if(enum==FrictionEffectivePressureEnum) return "FrictionEffectivePressure" end
+	if(enum==FrictionMEnum) return "FrictionM" end
+	if(enum==FrictionPEnum) return "FrictionP" end
+	if(enum==FrictionPressureAdjustedTemperatureEnum) return "FrictionPressureAdjustedTemperature" end
+	if(enum==FrictionQEnum) return "FrictionQ" end
+	if(enum==FrictionSedimentCompressibilityCoefficientEnum) return "FrictionSedimentCompressibilityCoefficient" end
+	if(enum==FrictionTillFrictionAngleEnum) return "FrictionTillFrictionAngle" end
+	if(enum==FrictionWaterLayerEnum) return "FrictionWaterLayer" end
+	if(enum==FrictionfEnum) return "Frictionf" end
+	if(enum==FrontalForcingsBasinIdEnum) return "FrontalForcingsBasinId" end
+	if(enum==FrontalForcingsSubglacialDischargeEnum) return "FrontalForcingsSubglacialDischarge" end
+	if(enum==FrontalForcingsThermalForcingEnum) return "FrontalForcingsThermalForcing" end
+	if(enum==GeometryHydrostaticRatioEnum) return "GeometryHydrostaticRatio" end
+	if(enum==NGiaEnum) return "NGia" end
+	if(enum==NGiaRateEnum) return "NGiaRate" end
+	if(enum==UGiaEnum) return "UGia" end
+	if(enum==UGiaRateEnum) return "UGiaRate" end
+	if(enum==GradientEnum) return "Gradient" end
+	if(enum==GroundinglineHeightEnum) return "GroundinglineHeight" end
+	if(enum==HydraulicPotentialEnum) return "HydraulicPotential" end
+	if(enum==HydraulicPotentialOldEnum) return "HydraulicPotentialOld" end
+	if(enum==HydrologyBasalFluxEnum) return "HydrologyBasalFlux" end
+	if(enum==HydrologyBumpHeightEnum) return "HydrologyBumpHeight" end
+	if(enum==HydrologyBumpSpacingEnum) return "HydrologyBumpSpacing" end
+	if(enum==HydrologydcBasalMoulinInputEnum) return "HydrologydcBasalMoulinInput" end
+	if(enum==HydrologydcEplThicknessEnum) return "HydrologydcEplThickness" end
+	if(enum==HydrologydcEplThicknessOldEnum) return "HydrologydcEplThicknessOld" end
+	if(enum==HydrologydcEplThicknessSubstepEnum) return "HydrologydcEplThicknessSubstep" end
+	if(enum==HydrologydcEplThicknessTransientEnum) return "HydrologydcEplThicknessTransient" end
+	if(enum==HydrologydcMaskEplactiveEltEnum) return "HydrologydcMaskEplactiveElt" end
+	if(enum==HydrologydcMaskEplactiveNodeEnum) return "HydrologydcMaskEplactiveNode" end
+	if(enum==HydrologydcMaskThawedEltEnum) return "HydrologydcMaskThawedElt" end
+	if(enum==HydrologydcMaskThawedNodeEnum) return "HydrologydcMaskThawedNode" end
+	if(enum==HydrologydcSedimentTransmitivityEnum) return "HydrologydcSedimentTransmitivity" end
+	if(enum==HydrologyDrainageRateEnum) return "HydrologyDrainageRate" end
+	if(enum==HydrologyEnglacialInputEnum) return "HydrologyEnglacialInput" end
+	if(enum==HydrologyGapHeightEnum) return "HydrologyGapHeight" end
+	if(enum==HydrologyGapHeightXEnum) return "HydrologyGapHeightX" end
+	if(enum==HydrologyGapHeightXXEnum) return "HydrologyGapHeightXX" end
+	if(enum==HydrologyGapHeightYEnum) return "HydrologyGapHeightY" end
+	if(enum==HydrologyGapHeightYYEnum) return "HydrologyGapHeightYY" end
+	if(enum==HydrologyHeadEnum) return "HydrologyHead" end
+	if(enum==HydrologyHeadOldEnum) return "HydrologyHeadOld" end
+	if(enum==HydrologyMoulinInputEnum) return "HydrologyMoulinInput" end
+	if(enum==HydrologyNeumannfluxEnum) return "HydrologyNeumannflux" end
+	if(enum==HydrologyReynoldsEnum) return "HydrologyReynolds" end
+	if(enum==HydrologySheetConductivityEnum) return "HydrologySheetConductivity" end
+	if(enum==HydrologySheetThicknessEnum) return "HydrologySheetThickness" end
+	if(enum==HydrologySheetThicknessOldEnum) return "HydrologySheetThicknessOld" end
+	if(enum==HydrologyTwsEnum) return "HydrologyTws" end
+	if(enum==HydrologyTwsSpcEnum) return "HydrologyTwsSpc" end
+	if(enum==HydrologyTwsAnalysisEnum) return "HydrologyTwsAnalysis" end
+	if(enum==HydrologyWatercolumnMaxEnum) return "HydrologyWatercolumnMax" end
+	if(enum==HydrologyWaterVxEnum) return "HydrologyWaterVx" end
+	if(enum==HydrologyWaterVyEnum) return "HydrologyWaterVy" end
+	if(enum==IceEnum) return "Ice" end
+	if(enum==IceMaskNodeActivationEnum) return "IceMaskNodeActivation" end
+	if(enum==InputEnum) return "Input" end
+	if(enum==InversionCostFunctionsCoefficientsEnum) return "InversionCostFunctionsCoefficients" end
+	if(enum==InversionSurfaceObsEnum) return "InversionSurfaceObs" end
+	if(enum==InversionThicknessObsEnum) return "InversionThicknessObs" end
+	if(enum==InversionVelObsEnum) return "InversionVelObs" end
+	if(enum==InversionVxObsEnum) return "InversionVxObs" end
+	if(enum==InversionVyObsEnum) return "InversionVyObs" end
+	if(enum==LevelsetfunctionSlopeXEnum) return "LevelsetfunctionSlopeX" end
+	if(enum==LevelsetfunctionSlopeYEnum) return "LevelsetfunctionSlopeY" end
+	if(enum==LevelsetObservationEnum) return "LevelsetObservation" end
+	if(enum==LoadingforceXEnum) return "LoadingforceX" end
+	if(enum==LoadingforceYEnum) return "LoadingforceY" end
+	if(enum==LoadingforceZEnum) return "LoadingforceZ" end
+	if(enum==MaskOceanLevelsetEnum) return "MaskOceanLevelset" end
+	if(enum==MaskIceLevelsetEnum) return "MaskIceLevelset" end
+	if(enum==MaskIceRefLevelsetEnum) return "MaskIceRefLevelset" end
+	if(enum==MasstransportSpcthicknessEnum) return "MasstransportSpcthickness" end
+	if(enum==MaterialsRheologyBEnum) return "MaterialsRheologyB" end
+	if(enum==MaterialsRheologyBbarEnum) return "MaterialsRheologyBbar" end
+	if(enum==MaterialsRheologyEEnum) return "MaterialsRheologyE" end
+	if(enum==MaterialsRheologyEbarEnum) return "MaterialsRheologyEbar" end
+	if(enum==MaterialsRheologyEcEnum) return "MaterialsRheologyEc" end
+	if(enum==MaterialsRheologyEcbarEnum) return "MaterialsRheologyEcbar" end
+	if(enum==MaterialsRheologyEsEnum) return "MaterialsRheologyEs" end
+	if(enum==MaterialsRheologyEsbarEnum) return "MaterialsRheologyEsbar" end
+	if(enum==MaterialsRheologyNEnum) return "MaterialsRheologyN" end
+	if(enum==MeshScaleFactorEnum) return "MeshScaleFactor" end
+	if(enum==MeshVertexonbaseEnum) return "MeshVertexonbase" end
+	if(enum==MeshVertexonboundaryEnum) return "MeshVertexonboundary" end
+	if(enum==MeshVertexonsurfaceEnum) return "MeshVertexonsurface" end
+	if(enum==MisfitEnum) return "Misfit" end
+	if(enum==MovingFrontalVxEnum) return "MovingFrontalVx" end
+	if(enum==MovingFrontalVyEnum) return "MovingFrontalVy" end
+	if(enum==NeumannfluxEnum) return "Neumannflux" end
+	if(enum==NewDamageEnum) return "NewDamage" end
+	if(enum==NodeEnum) return "Node" end
+	if(enum==OmegaAbsGradientEnum) return "OmegaAbsGradient" end
+	if(enum==OceantransportSpcbottompressureEnum) return "OceantransportSpcbottompressure" end
+	if(enum==OceantransportSpcstrEnum) return "OceantransportSpcstr" end
+	if(enum==OceantransportSpcdslEnum) return "OceantransportSpcdsl" end
+	if(enum==P0Enum) return "P0" end
+	if(enum==P1Enum) return "P1" end
+	if(enum==PartitioningEnum) return "Partitioning" end
+	if(enum==PressureEnum) return "Pressure" end
+	if(enum==RadarEnum) return "Radar" end
+	if(enum==RadarAttenuationMacGregorEnum) return "RadarAttenuationMacGregor" end
+	if(enum==RadarAttenuationWolffEnum) return "RadarAttenuationWolff" end
+	if(enum==RadarIcePeriodEnum) return "RadarIcePeriod" end
+	if(enum==RadarPowerMacGregorEnum) return "RadarPowerMacGregor" end
+	if(enum==RadarPowerWolffEnum) return "RadarPowerWolff" end
+	if(enum==RheologyBAbsGradientEnum) return "RheologyBAbsGradient" end
+	if(enum==RheologyBInitialguessEnum) return "RheologyBInitialguess" end
+	if(enum==RheologyBInitialguessMisfitEnum) return "RheologyBInitialguessMisfit" end
+	if(enum==RheologyBbarAbsGradientEnum) return "RheologyBbarAbsGradient" end
+	if(enum==SampleEnum) return "Sample" end
+	if(enum==SamplingBetaEnum) return "SamplingBeta" end
+	if(enum==SamplingKappaEnum) return "SamplingKappa" end
+	if(enum==SealevelEnum) return "Sealevel" end
+	if(enum==SealevelGRDEnum) return "SealevelGRD" end
+	if(enum==SealevelBarystaticMaskEnum) return "SealevelBarystaticMask" end
+	if(enum==SealevelBarystaticIceMaskEnum) return "SealevelBarystaticIceMask" end
+	if(enum==SealevelBarystaticIceWeightsEnum) return "SealevelBarystaticIceWeights" end
+	if(enum==SealevelBarystaticIceAreaEnum) return "SealevelBarystaticIceArea" end
+	if(enum==SealevelBarystaticIceLatbarEnum) return "SealevelBarystaticIceLatbar" end
+	if(enum==SealevelBarystaticIceLongbarEnum) return "SealevelBarystaticIceLongbar" end
+	if(enum==SealevelBarystaticIceLoadEnum) return "SealevelBarystaticIceLoad" end
+	if(enum==SealevelBarystaticHydroMaskEnum) return "SealevelBarystaticHydroMask" end
+	if(enum==SealevelBarystaticHydroWeightsEnum) return "SealevelBarystaticHydroWeights" end
+	if(enum==SealevelBarystaticHydroAreaEnum) return "SealevelBarystaticHydroArea" end
+	if(enum==SealevelBarystaticHydroLatbarEnum) return "SealevelBarystaticHydroLatbar" end
+	if(enum==SealevelBarystaticHydroLongbarEnum) return "SealevelBarystaticHydroLongbar" end
+	if(enum==SealevelBarystaticHydroLoadEnum) return "SealevelBarystaticHydroLoad" end
+	if(enum==SealevelBarystaticBpMaskEnum) return "SealevelBarystaticBpMask" end
+	if(enum==SealevelBarystaticBpWeightsEnum) return "SealevelBarystaticBpWeights" end
+	if(enum==SealevelBarystaticBpAreaEnum) return "SealevelBarystaticBpArea" end
+	if(enum==SealevelBarystaticBpLoadEnum) return "SealevelBarystaticBpLoad" end
+	if(enum==SealevelBarystaticOceanMaskEnum) return "SealevelBarystaticOceanMask" end
+	if(enum==SealevelBarystaticOceanWeightsEnum) return "SealevelBarystaticOceanWeights" end
+	if(enum==SealevelBarystaticOceanAreaEnum) return "SealevelBarystaticOceanArea" end
+	if(enum==SealevelBarystaticOceanLatbarEnum) return "SealevelBarystaticOceanLatbar" end
+	if(enum==SealevelBarystaticOceanLongbarEnum) return "SealevelBarystaticOceanLongbar" end
+	if(enum==SealevelBarystaticOceanLoadEnum) return "SealevelBarystaticOceanLoad" end
+	if(enum==SealevelNEsaEnum) return "SealevelNEsa" end
+	if(enum==SealevelNEsaRateEnum) return "SealevelNEsaRate" end
+	if(enum==SealevelRSLEnum) return "SealevelRSL" end
+	if(enum==BslcEnum) return "Bslc" end
+	if(enum==BslcIceEnum) return "BslcIce" end
+	if(enum==BslcHydroEnum) return "BslcHydro" end
+	if(enum==BslcOceanEnum) return "BslcOcean" end
+	if(enum==BslcRateEnum) return "BslcRate" end
+	if(enum==GmtslcEnum) return "Gmtslc" end
+	if(enum==SealevelGrotm1Enum) return "SealevelGrotm1" end
+	if(enum==SealevelGrotm2Enum) return "SealevelGrotm2" end
+	if(enum==SealevelGrotm3Enum) return "SealevelGrotm3" end
+	if(enum==SealevelGUrotm1Enum) return "SealevelGUrotm1" end
+	if(enum==SealevelGUrotm2Enum) return "SealevelGUrotm2" end
+	if(enum==SealevelGUrotm3Enum) return "SealevelGUrotm3" end
+	if(enum==SealevelGNrotm1Enum) return "SealevelGNrotm1" end
+	if(enum==SealevelGNrotm2Enum) return "SealevelGNrotm2" end
+	if(enum==SealevelGNrotm3Enum) return "SealevelGNrotm3" end
+	if(enum==SealevelGErotm1Enum) return "SealevelGErotm1" end
+	if(enum==SealevelGErotm2Enum) return "SealevelGErotm2" end
+	if(enum==SealevelGErotm3Enum) return "SealevelGErotm3" end
+	if(enum==SealevelRSLBarystaticEnum) return "SealevelRSLBarystatic" end
+	if(enum==SealevelRSLRateEnum) return "SealevelRSLRate" end
+	if(enum==SealevelUGrdEnum) return "SealevelUGrd" end
+	if(enum==SealevelNGrdEnum) return "SealevelNGrd" end
+	if(enum==SealevelUEastEsaEnum) return "SealevelUEastEsa" end
+	if(enum==SealevelUNorthEsaEnum) return "SealevelUNorthEsa" end
+	if(enum==SealevelchangeIndicesEnum) return "SealevelchangeIndices" end
+	if(enum==SealevelchangeGEnum) return "SealevelchangeG" end
+	if(enum==SealevelchangeGUEnum) return "SealevelchangeGU" end
+	if(enum==SealevelchangeGEEnum) return "SealevelchangeGE" end
+	if(enum==SealevelchangeGNEnum) return "SealevelchangeGN" end
+	if(enum==SealevelchangeGsubelOceanEnum) return "SealevelchangeGsubelOcean" end
+	if(enum==SealevelchangeGUsubelOceanEnum) return "SealevelchangeGUsubelOcean" end
+	if(enum==SealevelchangeGEsubelOceanEnum) return "SealevelchangeGEsubelOcean" end
+	if(enum==SealevelchangeGNsubelOceanEnum) return "SealevelchangeGNsubelOcean" end
+	if(enum==SealevelchangeGsubelIceEnum) return "SealevelchangeGsubelIce" end
+	if(enum==SealevelchangeGUsubelIceEnum) return "SealevelchangeGUsubelIce" end
+	if(enum==SealevelchangeGEsubelIceEnum) return "SealevelchangeGEsubelIce" end
+	if(enum==SealevelchangeGNsubelIceEnum) return "SealevelchangeGNsubelIce" end
+	if(enum==SealevelchangeGsubelHydroEnum) return "SealevelchangeGsubelHydro" end
+	if(enum==SealevelchangeGUsubelHydroEnum) return "SealevelchangeGUsubelHydro" end
+	if(enum==SealevelchangeGEsubelHydroEnum) return "SealevelchangeGEsubelHydro" end
+	if(enum==SealevelchangeGNsubelHydroEnum) return "SealevelchangeGNsubelHydro" end
+	if(enum==SealevelchangeViscousRSLEnum) return "SealevelchangeViscousRSL" end
+	if(enum==SealevelchangeViscousUEnum) return "SealevelchangeViscousU" end
+	if(enum==SealevelchangeViscousNEnum) return "SealevelchangeViscousN" end
+	if(enum==SealevelchangeViscousEEnum) return "SealevelchangeViscousE" end
+	if(enum==SedimentHeadEnum) return "SedimentHead" end
+	if(enum==SedimentHeadOldEnum) return "SedimentHeadOld" end
+	if(enum==SedimentHeadSubstepEnum) return "SedimentHeadSubstep" end
+	if(enum==SedimentHeadTransientEnum) return "SedimentHeadTransient" end
+	if(enum==SedimentHeadResidualEnum) return "SedimentHeadResidual" end
+	if(enum==SedimentHeadStackedEnum) return "SedimentHeadStacked" end
+	if(enum==SigmaNNEnum) return "SigmaNN" end
+	if(enum==SigmaVMEnum) return "SigmaVM" end
+	if(enum==SmbAccumulatedECEnum) return "SmbAccumulatedEC" end
+	if(enum==SmbAccumulatedMassBalanceEnum) return "SmbAccumulatedMassBalance" end
+	if(enum==SmbAccumulatedMeltEnum) return "SmbAccumulatedMelt" end
+	if(enum==SmbAccumulatedPrecipitationEnum) return "SmbAccumulatedPrecipitation" end
+	if(enum==SmbAccumulatedRainEnum) return "SmbAccumulatedRain" end
+	if(enum==SmbAccumulatedRefreezeEnum) return "SmbAccumulatedRefreeze" end
+	if(enum==SmbAccumulatedRunoffEnum) return "SmbAccumulatedRunoff" end
+	if(enum==SmbAEnum) return "SmbA" end
+	if(enum==SmbAdiffEnum) return "SmbAdiff" end
+	if(enum==SmbAValueEnum) return "SmbAValue" end
+	if(enum==SmbAccumulationEnum) return "SmbAccumulation" end
+	if(enum==SmbAdiffiniEnum) return "SmbAdiffini" end
+	if(enum==SmbAiniEnum) return "SmbAini" end
+	if(enum==SmbAutoregressionNoiseEnum) return "SmbAutoregressionNoise" end
+	if(enum==SmbBasinsIdEnum) return "SmbBasinsId" end
+	if(enum==SmbBMaxEnum) return "SmbBMax" end
+	if(enum==SmbBMinEnum) return "SmbBMin" end
+	if(enum==SmbBNegEnum) return "SmbBNeg" end
+	if(enum==SmbBPosEnum) return "SmbBPos" end
+	if(enum==SmbCEnum) return "SmbC" end
+	if(enum==SmbCcsnowValueEnum) return "SmbCcsnowValue" end
+	if(enum==SmbCciceValueEnum) return "SmbCciceValue" end
+	if(enum==SmbCotValueEnum) return "SmbCotValue" end
+	if(enum==SmbDEnum) return "SmbD" end
+	if(enum==SmbDailyairdensityEnum) return "SmbDailyairdensity" end
+	if(enum==SmbDailyairhumidityEnum) return "SmbDailyairhumidity" end
+	if(enum==SmbDailydlradiationEnum) return "SmbDailydlradiation" end
+	if(enum==SmbDailydsradiationEnum) return "SmbDailydsradiation" end
+	if(enum==SmbDailypressureEnum) return "SmbDailypressure" end
+	if(enum==SmbDailyrainfallEnum) return "SmbDailyrainfall" end
+	if(enum==SmbDailysnowfallEnum) return "SmbDailysnowfall" end
+	if(enum==SmbDailytemperatureEnum) return "SmbDailytemperature" end
+	if(enum==SmbDailywindspeedEnum) return "SmbDailywindspeed" end
+	if(enum==SmbDiniEnum) return "SmbDini" end
+	if(enum==SmbDlwrfEnum) return "SmbDlwrf" end
+	if(enum==SmbDulwrfValueEnum) return "SmbDulwrfValue" end
+	if(enum==SmbDswrfEnum) return "SmbDswrf" end
+	if(enum==SmbDswdiffrfEnum) return "SmbDswdiffrf" end
+	if(enum==SmbDzAddEnum) return "SmbDzAdd" end
+	if(enum==SmbDzEnum) return "SmbDz" end
+	if(enum==SmbDzMinEnum) return "SmbDzMin" end
+	if(enum==SmbDzTopEnum) return "SmbDzTop" end
+	if(enum==SmbDziniEnum) return "SmbDzini" end
+	if(enum==SmbEAirEnum) return "SmbEAir" end
+	if(enum==SmbECEnum) return "SmbEC" end
+	if(enum==SmbECDtEnum) return "SmbECDt" end
+	if(enum==SmbECiniEnum) return "SmbECini" end
+	if(enum==SmbElaEnum) return "SmbEla" end
+	if(enum==SmbEvaporationEnum) return "SmbEvaporation" end
+	if(enum==SmbFACEnum) return "SmbFAC" end
+	if(enum==SmbGdnEnum) return "SmbGdn" end
+	if(enum==SmbGdniniEnum) return "SmbGdnini" end
+	if(enum==SmbGspEnum) return "SmbGsp" end
+	if(enum==SmbGspiniEnum) return "SmbGspini" end
+	if(enum==SmbHrefEnum) return "SmbHref" end
+	if(enum==SmbIsInitializedEnum) return "SmbIsInitialized" end
+	if(enum==SmbMAddEnum) return "SmbMAdd" end
+	if(enum==SmbMassBalanceEnum) return "SmbMassBalance" end
+	if(enum==SmbMassBalanceSubstepEnum) return "SmbMassBalanceSubstep" end
+	if(enum==SmbMassBalanceTransientEnum) return "SmbMassBalanceTransient" end
+	if(enum==SmbMeanLHFEnum) return "SmbMeanLHF" end
+	if(enum==SmbMeanSHFEnum) return "SmbMeanSHF" end
+	if(enum==SmbMeanULWEnum) return "SmbMeanULW" end
+	if(enum==SmbMeltEnum) return "SmbMelt" end
+	if(enum==SmbMonthlytemperaturesEnum) return "SmbMonthlytemperatures" end
+	if(enum==SmbMSurfEnum) return "SmbMSurf" end
+	if(enum==SmbNetLWEnum) return "SmbNetLW" end
+	if(enum==SmbNetSWEnum) return "SmbNetSW" end
+	if(enum==SmbPAirEnum) return "SmbPAir" end
+	if(enum==SmbPEnum) return "SmbP" end
+	if(enum==SmbPddfacIceEnum) return "SmbPddfacIce" end
+	if(enum==SmbPddfacSnowEnum) return "SmbPddfacSnow" end
+	if(enum==SmbPrecipitationEnum) return "SmbPrecipitation" end
+	if(enum==SmbPrecipitationsAnomalyEnum) return "SmbPrecipitationsAnomaly" end
+	if(enum==SmbPrecipitationsLgmEnum) return "SmbPrecipitationsLgm" end
+	if(enum==SmbPrecipitationsPresentdayEnum) return "SmbPrecipitationsPresentday" end
+	if(enum==SmbPrecipitationsReconstructedEnum) return "SmbPrecipitationsReconstructed" end
+	if(enum==SmbRainEnum) return "SmbRain" end
+	if(enum==SmbReEnum) return "SmbRe" end
+	if(enum==SmbRefreezeEnum) return "SmbRefreeze" end
+	if(enum==SmbReiniEnum) return "SmbReini" end
+	if(enum==SmbRunoffEnum) return "SmbRunoff" end
+	if(enum==SmbRunoffSubstepEnum) return "SmbRunoffSubstep" end
+	if(enum==SmbRunoffTransientEnum) return "SmbRunoffTransient" end
+	if(enum==SmbS0gcmEnum) return "SmbS0gcm" end
+	if(enum==SmbS0pEnum) return "SmbS0p" end
+	if(enum==SmbS0tEnum) return "SmbS0t" end
+	if(enum==SmbSizeiniEnum) return "SmbSizeini" end
+	if(enum==SmbSmbCorrEnum) return "SmbSmbCorr" end
+	if(enum==SmbSmbrefEnum) return "SmbSmbref" end
+	if(enum==SmbSzaValueEnum) return "SmbSzaValue" end
+	if(enum==SmbTEnum) return "SmbT" end
+	if(enum==SmbTaEnum) return "SmbTa" end
+	if(enum==SmbTeValueEnum) return "SmbTeValue" end
+	if(enum==SmbTemperaturesAnomalyEnum) return "SmbTemperaturesAnomaly" end
+	if(enum==SmbTemperaturesLgmEnum) return "SmbTemperaturesLgm" end
+	if(enum==SmbTemperaturesPresentdayEnum) return "SmbTemperaturesPresentday" end
+	if(enum==SmbTemperaturesReconstructedEnum) return "SmbTemperaturesReconstructed" end
+	if(enum==SmbTiniEnum) return "SmbTini" end
+	if(enum==SmbTmeanEnum) return "SmbTmean" end
+	if(enum==SmbTzEnum) return "SmbTz" end
+	if(enum==SmbValuesAutoregressionEnum) return "SmbValuesAutoregression" end
+	if(enum==SmbVEnum) return "SmbV" end
+	if(enum==SmbVmeanEnum) return "SmbVmean" end
+	if(enum==SmbVzEnum) return "SmbVz" end
+	if(enum==SmbWEnum) return "SmbW" end
+	if(enum==SmbWAddEnum) return "SmbWAdd" end
+	if(enum==SmbWiniEnum) return "SmbWini" end
+	if(enum==SmbZMaxEnum) return "SmbZMax" end
+	if(enum==SmbZMinEnum) return "SmbZMin" end
+	if(enum==SmbZTopEnum) return "SmbZTop" end
+	if(enum==SmbZYEnum) return "SmbZY" end
+	if(enum==SolidearthExternalDisplacementEastRateEnum) return "SolidearthExternalDisplacementEastRate" end
+	if(enum==SolidearthExternalDisplacementNorthRateEnum) return "SolidearthExternalDisplacementNorthRate" end
+	if(enum==SolidearthExternalDisplacementUpRateEnum) return "SolidearthExternalDisplacementUpRate" end
+	if(enum==SolidearthExternalGeoidRateEnum) return "SolidearthExternalGeoidRate" end
+	if(enum==StochasticForcingDefaultIdEnum) return "StochasticForcingDefaultId" end
+	if(enum==StrainRateeffectiveEnum) return "StrainRateeffective" end
+	if(enum==StrainRateparallelEnum) return "StrainRateparallel" end
+	if(enum==StrainRateperpendicularEnum) return "StrainRateperpendicular" end
+	if(enum==StrainRatexxEnum) return "StrainRatexx" end
+	if(enum==StrainRatexyEnum) return "StrainRatexy" end
+	if(enum==StrainRatexzEnum) return "StrainRatexz" end
+	if(enum==StrainRateyyEnum) return "StrainRateyy" end
+	if(enum==StrainRateyzEnum) return "StrainRateyz" end
+	if(enum==StrainRatezzEnum) return "StrainRatezz" end
+	if(enum==StressMaxPrincipalEnum) return "StressMaxPrincipal" end
+	if(enum==StressTensorxxEnum) return "StressTensorxx" end
+	if(enum==StressTensorxyEnum) return "StressTensorxy" end
+	if(enum==StressTensorxzEnum) return "StressTensorxz" end
+	if(enum==StressTensoryyEnum) return "StressTensoryy" end
+	if(enum==StressTensoryzEnum) return "StressTensoryz" end
+	if(enum==StressTensorzzEnum) return "StressTensorzz" end
+	if(enum==SurfaceAbsMisfitEnum) return "SurfaceAbsMisfit" end
+	if(enum==SurfaceAbsVelMisfitEnum) return "SurfaceAbsVelMisfit" end
+	if(enum==AreaEnum) return "Area" end
+	if(enum==SealevelAreaEnum) return "SealevelArea" end
+	if(enum==SurfaceAreaEnum) return "SurfaceArea" end
+	if(enum==SurfaceAverageVelMisfitEnum) return "SurfaceAverageVelMisfit" end
+	if(enum==SurfaceCrevasseEnum) return "SurfaceCrevasse" end
+	if(enum==SurfaceEnum) return "Surface" end
+	if(enum==SurfaceOldEnum) return "SurfaceOld" end
+	if(enum==SurfaceLogVelMisfitEnum) return "SurfaceLogVelMisfit" end
+	if(enum==SurfaceLogVxVyMisfitEnum) return "SurfaceLogVxVyMisfit" end
+	if(enum==SurfaceObservationEnum) return "SurfaceObservation" end
+	if(enum==SurfaceRelVelMisfitEnum) return "SurfaceRelVelMisfit" end
+	if(enum==SurfaceSlopeXEnum) return "SurfaceSlopeX" end
+	if(enum==SurfaceSlopeYEnum) return "SurfaceSlopeY" end
+	if(enum==TemperatureEnum) return "Temperature" end
+	if(enum==TemperaturePDDEnum) return "TemperaturePDD" end
+	if(enum==TemperaturePicardEnum) return "TemperaturePicard" end
+	if(enum==TemperatureSEMICEnum) return "TemperatureSEMIC" end
+	if(enum==ThermalforcingAutoregressionNoiseEnum) return "ThermalforcingAutoregressionNoise" end
+	if(enum==ThermalforcingValuesAutoregressionEnum) return "ThermalforcingValuesAutoregression" end
+	if(enum==ThermalSpctemperatureEnum) return "ThermalSpctemperature" end
+	if(enum==ThicknessAbsGradientEnum) return "ThicknessAbsGradient" end
+	if(enum==ThicknessAbsMisfitEnum) return "ThicknessAbsMisfit" end
+	if(enum==ThicknessAcrossGradientEnum) return "ThicknessAcrossGradient" end
+	if(enum==ThicknessAlongGradientEnum) return "ThicknessAlongGradient" end
+	if(enum==ThicknessEnum) return "Thickness" end
+	if(enum==ThicknessOldEnum) return "ThicknessOld" end
+	if(enum==ThicknessPositiveEnum) return "ThicknessPositive" end
+	if(enum==ThicknessResidualEnum) return "ThicknessResidual" end
+	if(enum==TransientAccumulatedDeltaIceThicknessEnum) return "TransientAccumulatedDeltaIceThickness" end
+	if(enum==VelEnum) return "Vel" end
+	if(enum==VxAverageEnum) return "VxAverage" end
+	if(enum==VxBaseEnum) return "VxBase" end
+	if(enum==VxEnum) return "Vx" end
+	if(enum==VxMeshEnum) return "VxMesh" end
+	if(enum==VxObsEnum) return "VxObs" end
+	if(enum==VxShearEnum) return "VxShear" end
+	if(enum==VxSurfaceEnum) return "VxSurface" end
+	if(enum==VyAverageEnum) return "VyAverage" end
+	if(enum==VyBaseEnum) return "VyBase" end
+	if(enum==VyEnum) return "Vy" end
+	if(enum==VyMeshEnum) return "VyMesh" end
+	if(enum==VyObsEnum) return "VyObs" end
+	if(enum==VyShearEnum) return "VyShear" end
+	if(enum==VySurfaceEnum) return "VySurface" end
+	if(enum==VzEnum) return "Vz" end
+	if(enum==VzFSEnum) return "VzFS" end
+	if(enum==VzHOEnum) return "VzHO" end
+	if(enum==VzMeshEnum) return "VzMesh" end
+	if(enum==VzSSAEnum) return "VzSSA" end
+	if(enum==WaterColumnOldEnum) return "WaterColumnOld" end
+	if(enum==WatercolumnEnum) return "Watercolumn" end
+	if(enum==WaterfractionDrainageEnum) return "WaterfractionDrainage" end
+	if(enum==WaterfractionDrainageIntegratedEnum) return "WaterfractionDrainageIntegrated" end
+	if(enum==WaterfractionEnum) return "Waterfraction" end
+	if(enum==WaterheightEnum) return "Waterheight" end
+	if(enum==FrictionWaterPressureEnum) return "FrictionWaterPressure" end
+	if(enum==FrictionWaterPressureNoiseEnum) return "FrictionWaterPressureNoise" end
+	if(enum==WeightsLevelsetObservationEnum) return "WeightsLevelsetObservation" end
+	if(enum==WeightsSurfaceObservationEnum) return "WeightsSurfaceObservation" end
+	if(enum==OldAccumulatedDeltaBottomPressureEnum) return "OldAccumulatedDeltaBottomPressure" end
+	if(enum==OldAccumulatedDeltaIceThicknessEnum) return "OldAccumulatedDeltaIceThickness" end
+	if(enum==OldAccumulatedDeltaTwsEnum) return "OldAccumulatedDeltaTws" end
+	if(enum==Outputdefinition1Enum) return "Outputdefinition1" end
+	if(enum==Outputdefinition10Enum) return "Outputdefinition10" end
+	if(enum==Outputdefinition11Enum) return "Outputdefinition11" end
+	if(enum==Outputdefinition12Enum) return "Outputdefinition12" end
+	if(enum==Outputdefinition13Enum) return "Outputdefinition13" end
+	if(enum==Outputdefinition14Enum) return "Outputdefinition14" end
+	if(enum==Outputdefinition15Enum) return "Outputdefinition15" end
+	if(enum==Outputdefinition16Enum) return "Outputdefinition16" end
+	if(enum==Outputdefinition17Enum) return "Outputdefinition17" end
+	if(enum==Outputdefinition18Enum) return "Outputdefinition18" end
+	if(enum==Outputdefinition19Enum) return "Outputdefinition19" end
+	if(enum==Outputdefinition20Enum) return "Outputdefinition20" end
+	if(enum==Outputdefinition21Enum) return "Outputdefinition21" end
+	if(enum==Outputdefinition22Enum) return "Outputdefinition22" end
+	if(enum==Outputdefinition23Enum) return "Outputdefinition23" end
+	if(enum==Outputdefinition24Enum) return "Outputdefinition24" end
+	if(enum==Outputdefinition25Enum) return "Outputdefinition25" end
+	if(enum==Outputdefinition26Enum) return "Outputdefinition26" end
+	if(enum==Outputdefinition27Enum) return "Outputdefinition27" end
+	if(enum==Outputdefinition28Enum) return "Outputdefinition28" end
+	if(enum==Outputdefinition29Enum) return "Outputdefinition29" end
+	if(enum==Outputdefinition2Enum) return "Outputdefinition2" end
+	if(enum==Outputdefinition30Enum) return "Outputdefinition30" end
+	if(enum==Outputdefinition31Enum) return "Outputdefinition31" end
+	if(enum==Outputdefinition32Enum) return "Outputdefinition32" end
+	if(enum==Outputdefinition33Enum) return "Outputdefinition33" end
+	if(enum==Outputdefinition34Enum) return "Outputdefinition34" end
+	if(enum==Outputdefinition35Enum) return "Outputdefinition35" end
+	if(enum==Outputdefinition36Enum) return "Outputdefinition36" end
+	if(enum==Outputdefinition37Enum) return "Outputdefinition37" end
+	if(enum==Outputdefinition38Enum) return "Outputdefinition38" end
+	if(enum==Outputdefinition39Enum) return "Outputdefinition39" end
+	if(enum==Outputdefinition3Enum) return "Outputdefinition3" end
+	if(enum==Outputdefinition40Enum) return "Outputdefinition40" end
+	if(enum==Outputdefinition41Enum) return "Outputdefinition41" end
+	if(enum==Outputdefinition42Enum) return "Outputdefinition42" end
+	if(enum==Outputdefinition43Enum) return "Outputdefinition43" end
+	if(enum==Outputdefinition44Enum) return "Outputdefinition44" end
+	if(enum==Outputdefinition45Enum) return "Outputdefinition45" end
+	if(enum==Outputdefinition46Enum) return "Outputdefinition46" end
+	if(enum==Outputdefinition47Enum) return "Outputdefinition47" end
+	if(enum==Outputdefinition48Enum) return "Outputdefinition48" end
+	if(enum==Outputdefinition49Enum) return "Outputdefinition49" end
+	if(enum==Outputdefinition4Enum) return "Outputdefinition4" end
+	if(enum==Outputdefinition50Enum) return "Outputdefinition50" end
+	if(enum==Outputdefinition51Enum) return "Outputdefinition51" end
+	if(enum==Outputdefinition52Enum) return "Outputdefinition52" end
+	if(enum==Outputdefinition53Enum) return "Outputdefinition53" end
+	if(enum==Outputdefinition54Enum) return "Outputdefinition54" end
+	if(enum==Outputdefinition55Enum) return "Outputdefinition55" end
+	if(enum==Outputdefinition56Enum) return "Outputdefinition56" end
+	if(enum==Outputdefinition57Enum) return "Outputdefinition57" end
+	if(enum==Outputdefinition58Enum) return "Outputdefinition58" end
+	if(enum==Outputdefinition59Enum) return "Outputdefinition59" end
+	if(enum==Outputdefinition5Enum) return "Outputdefinition5" end
+	if(enum==Outputdefinition60Enum) return "Outputdefinition60" end
+	if(enum==Outputdefinition61Enum) return "Outputdefinition61" end
+	if(enum==Outputdefinition62Enum) return "Outputdefinition62" end
+	if(enum==Outputdefinition63Enum) return "Outputdefinition63" end
+	if(enum==Outputdefinition64Enum) return "Outputdefinition64" end
+	if(enum==Outputdefinition65Enum) return "Outputdefinition65" end
+	if(enum==Outputdefinition66Enum) return "Outputdefinition66" end
+	if(enum==Outputdefinition67Enum) return "Outputdefinition67" end
+	if(enum==Outputdefinition68Enum) return "Outputdefinition68" end
+	if(enum==Outputdefinition69Enum) return "Outputdefinition69" end
+	if(enum==Outputdefinition6Enum) return "Outputdefinition6" end
+	if(enum==Outputdefinition70Enum) return "Outputdefinition70" end
+	if(enum==Outputdefinition71Enum) return "Outputdefinition71" end
+	if(enum==Outputdefinition72Enum) return "Outputdefinition72" end
+	if(enum==Outputdefinition73Enum) return "Outputdefinition73" end
+	if(enum==Outputdefinition74Enum) return "Outputdefinition74" end
+	if(enum==Outputdefinition75Enum) return "Outputdefinition75" end
+	if(enum==Outputdefinition76Enum) return "Outputdefinition76" end
+	if(enum==Outputdefinition77Enum) return "Outputdefinition77" end
+	if(enum==Outputdefinition78Enum) return "Outputdefinition78" end
+	if(enum==Outputdefinition79Enum) return "Outputdefinition79" end
+	if(enum==Outputdefinition7Enum) return "Outputdefinition7" end
+	if(enum==Outputdefinition80Enum) return "Outputdefinition80" end
+	if(enum==Outputdefinition81Enum) return "Outputdefinition81" end
+	if(enum==Outputdefinition82Enum) return "Outputdefinition82" end
+	if(enum==Outputdefinition83Enum) return "Outputdefinition83" end
+	if(enum==Outputdefinition84Enum) return "Outputdefinition84" end
+	if(enum==Outputdefinition85Enum) return "Outputdefinition85" end
+	if(enum==Outputdefinition86Enum) return "Outputdefinition86" end
+	if(enum==Outputdefinition87Enum) return "Outputdefinition87" end
+	if(enum==Outputdefinition88Enum) return "Outputdefinition88" end
+	if(enum==Outputdefinition89Enum) return "Outputdefinition89" end
+	if(enum==Outputdefinition8Enum) return "Outputdefinition8" end
+	if(enum==Outputdefinition90Enum) return "Outputdefinition90" end
+	if(enum==Outputdefinition91Enum) return "Outputdefinition91" end
+	if(enum==Outputdefinition92Enum) return "Outputdefinition92" end
+	if(enum==Outputdefinition93Enum) return "Outputdefinition93" end
+	if(enum==Outputdefinition94Enum) return "Outputdefinition94" end
+	if(enum==Outputdefinition95Enum) return "Outputdefinition95" end
+	if(enum==Outputdefinition96Enum) return "Outputdefinition96" end
+	if(enum==Outputdefinition97Enum) return "Outputdefinition97" end
+	if(enum==Outputdefinition98Enum) return "Outputdefinition98" end
+	if(enum==Outputdefinition99Enum) return "Outputdefinition99" end
+	if(enum==Outputdefinition9Enum) return "Outputdefinition9" end
+	if(enum==Outputdefinition100Enum) return "Outputdefinition100" end
+	if(enum==InputsENDEnum) return "InputsEND" end
+	if(enum==AbsoluteEnum) return "Absolute" end
+	if(enum==AdaptiveTimesteppingEnum) return "AdaptiveTimestepping" end
+	if(enum==AdjointBalancethickness2AnalysisEnum) return "AdjointBalancethickness2Analysis" end
+	if(enum==AdjointBalancethicknessAnalysisEnum) return "AdjointBalancethicknessAnalysis" end
+	if(enum==AdjointHorizAnalysisEnum) return "AdjointHorizAnalysis" end
+	if(enum==AggressiveMigrationEnum) return "AggressiveMigration" end
+	if(enum==AmrBamgEnum) return "AmrBamg" end
+	if(enum==AmrNeopzEnum) return "AmrNeopz" end
+	if(enum==AndroidFrictionCoefficientEnum) return "AndroidFrictionCoefficient" end
+	if(enum==ArrheniusEnum) return "Arrhenius" end
+	if(enum==AutodiffJacobianEnum) return "AutodiffJacobian" end
+	if(enum==Balancethickness2AnalysisEnum) return "Balancethickness2Analysis" end
+	if(enum==Balancethickness2SolutionEnum) return "Balancethickness2Solution" end
+	if(enum==BalancethicknessAnalysisEnum) return "BalancethicknessAnalysis" end
+	if(enum==BalancethicknessApparentMassbalanceEnum) return "BalancethicknessApparentMassbalance" end
+	if(enum==BalancethicknessSoftAnalysisEnum) return "BalancethicknessSoftAnalysis" end
+	if(enum==BalancethicknessSoftSolutionEnum) return "BalancethicknessSoftSolution" end
+	if(enum==BalancethicknessSolutionEnum) return "BalancethicknessSolution" end
+	if(enum==BalancevelocityAnalysisEnum) return "BalancevelocityAnalysis" end
+	if(enum==BalancevelocitySolutionEnum) return "BalancevelocitySolution" end
+	if(enum==BasalforcingsIsmip6Enum) return "BasalforcingsIsmip6" end
+	if(enum==BasalforcingsPicoEnum) return "BasalforcingsPico" end
+	if(enum==BeckmannGoosseFloatingMeltRateEnum) return "BeckmannGoosseFloatingMeltRate" end
+	if(enum==BedSlopeSolutionEnum) return "BedSlopeSolution" end
+	if(enum==BoolExternalResultEnum) return "BoolExternalResult" end
+	if(enum==BoolInputEnum) return "BoolInput" end
+	if(enum==IntInputEnum) return "IntInput" end
+	if(enum==DoubleInputEnum) return "DoubleInput" end
+	if(enum==BoolParamEnum) return "BoolParam" end
+	if(enum==BoundaryEnum) return "Boundary" end
+	if(enum==BuddJackaEnum) return "BuddJacka" end
+	if(enum==CalvingDev2Enum) return "CalvingDev2" end
+	if(enum==CalvingHabEnum) return "CalvingHab" end
+	if(enum==CalvingLevermannEnum) return "CalvingLevermann" end
+	if(enum==CalvingVonmisesEnum) return "CalvingVonmises" end
+	if(enum==CfdragcoeffabsgradEnum) return "Cfdragcoeffabsgrad" end
+	if(enum==CfsurfacelogvelEnum) return "Cfsurfacelogvel" end
+	if(enum==CfsurfacesquareEnum) return "Cfsurfacesquare" end
+	if(enum==CflevelsetmisfitEnum) return "Cflevelsetmisfit" end
+	if(enum==ChannelEnum) return "Channel" end
+	if(enum==ChannelAreaEnum) return "ChannelArea" end
+	if(enum==ChannelAreaOldEnum) return "ChannelAreaOld" end
+	if(enum==ChannelDischargeEnum) return "ChannelDischarge" end
+	if(enum==ClosedEnum) return "Closed" end
+	if(enum==ColinearEnum) return "Colinear" end
+	if(enum==ConstraintsEnum) return "Constraints" end
+	if(enum==ContactEnum) return "Contact" end
+	if(enum==ContourEnum) return "Contour" end
+	if(enum==ContoursEnum) return "Contours" end
+	if(enum==ControlInputEnum) return "ControlInput" end
+	if(enum==ControlInputGradEnum) return "ControlInputGrad" end
+	if(enum==ControlInputMaxsEnum) return "ControlInputMaxs" end
+	if(enum==ControlInputMinsEnum) return "ControlInputMins" end
+	if(enum==ControlInputValuesEnum) return "ControlInputValues" end
+	if(enum==CrouzeixRaviartEnum) return "CrouzeixRaviart" end
+	if(enum==CuffeyEnum) return "Cuffey" end
+	if(enum==CuffeyTemperateEnum) return "CuffeyTemperate" end
+	if(enum==DamageEvolutionAnalysisEnum) return "DamageEvolutionAnalysis" end
+	if(enum==DamageEvolutionSolutionEnum) return "DamageEvolutionSolution" end
+	if(enum==DataSetEnum) return "DataSet" end
+	if(enum==DataSetParamEnum) return "DataSetParam" end
+	if(enum==DatasetInputEnum) return "DatasetInput" end
+	if(enum==DefaultAnalysisEnum) return "DefaultAnalysis" end
+	if(enum==DefaultCalvingEnum) return "DefaultCalving" end
+	if(enum==DenseEnum) return "Dense" end
+	if(enum==DependentObjectEnum) return "DependentObject" end
+	if(enum==DepthAverageAnalysisEnum) return "DepthAverageAnalysis" end
+	if(enum==DeviatoricStressErrorEstimatorEnum) return "DeviatoricStressErrorEstimator" end
+	if(enum==DivergenceEnum) return "Divergence" end
+	if(enum==Domain3DsurfaceEnum) return "Domain3Dsurface" end
+	if(enum==DoubleArrayInputEnum) return "DoubleArrayInput" end
+	if(enum==ArrayInputEnum) return "ArrayInput" end
+	if(enum==DoubleExternalResultEnum) return "DoubleExternalResult" end
+	if(enum==DoubleMatArrayParamEnum) return "DoubleMatArrayParam" end
+	if(enum==DoubleMatExternalResultEnum) return "DoubleMatExternalResult" end
+	if(enum==DoubleMatParamEnum) return "DoubleMatParam" end
+	if(enum==DoubleParamEnum) return "DoubleParam" end
+	if(enum==DoubleVecParamEnum) return "DoubleVecParam" end
+	if(enum==ElementEnum) return "Element" end
+	if(enum==ElementHookEnum) return "ElementHook" end
+	if(enum==ElementSIdEnum) return "ElementSId" end
+	if(enum==EnthalpyAnalysisEnum) return "EnthalpyAnalysis" end
+	if(enum==EsaAnalysisEnum) return "EsaAnalysis" end
+	if(enum==EsaSolutionEnum) return "EsaSolution" end
+	if(enum==EsaTransitionsEnum) return "EsaTransitions" end
+	if(enum==ExternalResultEnum) return "ExternalResult" end
+	if(enum==ExtrapolationAnalysisEnum) return "ExtrapolationAnalysis" end
+	if(enum==ExtrudeFromBaseAnalysisEnum) return "ExtrudeFromBaseAnalysis" end
+	if(enum==ExtrudeFromTopAnalysisEnum) return "ExtrudeFromTopAnalysis" end
+	if(enum==FSApproximationEnum) return "FSApproximation" end
+	if(enum==FSSolverEnum) return "FSSolver" end
+	if(enum==FSpressureEnum) return "FSpressure" end
+	if(enum==FSvelocityEnum) return "FSvelocity" end
+	if(enum==FemModelEnum) return "FemModel" end
+	if(enum==FileParamEnum) return "FileParam" end
+	if(enum==FixedTimesteppingEnum) return "FixedTimestepping" end
+	if(enum==FloatingAreaEnum) return "FloatingArea" end
+	if(enum==FloatingAreaScaledEnum) return "FloatingAreaScaled" end
+	if(enum==FloatingMeltRateEnum) return "FloatingMeltRate" end
+	if(enum==FreeEnum) return "Free" end
+	if(enum==FreeSurfaceBaseAnalysisEnum) return "FreeSurfaceBaseAnalysis" end
+	if(enum==FreeSurfaceTopAnalysisEnum) return "FreeSurfaceTopAnalysis" end
+	if(enum==FrontalForcingsDefaultEnum) return "FrontalForcingsDefault" end
+	if(enum==FrontalForcingsRignotEnum) return "FrontalForcingsRignot" end
+	if(enum==FrontalForcingsRignotAutoregressionEnum) return "FrontalForcingsRignotAutoregression" end
+	if(enum==FsetEnum) return "Fset" end
+	if(enum==FullMeltOnPartiallyFloatingEnum) return "FullMeltOnPartiallyFloating" end
+	if(enum==GLheightadvectionAnalysisEnum) return "GLheightadvectionAnalysis" end
+	if(enum==GaussPentaEnum) return "GaussPenta" end
+	if(enum==GaussSegEnum) return "GaussSeg" end
+	if(enum==GaussTetraEnum) return "GaussTetra" end
+	if(enum==GaussTriaEnum) return "GaussTria" end
+	if(enum==GenericOptionEnum) return "GenericOption" end
+	if(enum==GenericParamEnum) return "GenericParam" end
+	if(enum==GenericExternalResultEnum) return "GenericExternalResult" end
+	if(enum==Gradient1Enum) return "Gradient1" end
+	if(enum==Gradient2Enum) return "Gradient2" end
+	if(enum==Gradient3Enum) return "Gradient3" end
+	if(enum==Gradient4Enum) return "Gradient4" end
+	if(enum==GroundedAreaEnum) return "GroundedArea" end
+	if(enum==GroundedAreaScaledEnum) return "GroundedAreaScaled" end
+	if(enum==GroundingOnlyEnum) return "GroundingOnly" end
+	if(enum==GroundinglineMassFluxEnum) return "GroundinglineMassFlux" end
+	if(enum==GsetEnum) return "Gset" end
+	if(enum==GslEnum) return "Gsl" end
+	if(enum==HOApproximationEnum) return "HOApproximation" end
+	if(enum==HOFSApproximationEnum) return "HOFSApproximation" end
+	if(enum==HookEnum) return "Hook" end
+	if(enum==HydrologyDCEfficientAnalysisEnum) return "HydrologyDCEfficientAnalysis" end
+	if(enum==HydrologyDCInefficientAnalysisEnum) return "HydrologyDCInefficientAnalysis" end
+	if(enum==HydrologyGlaDSAnalysisEnum) return "HydrologyGlaDSAnalysis" end
+	if(enum==HydrologyGlaDSEnum) return "HydrologyGlaDS" end
+	if(enum==HydrologyPismAnalysisEnum) return "HydrologyPismAnalysis" end
+	if(enum==HydrologyShaktiAnalysisEnum) return "HydrologyShaktiAnalysis" end
+	if(enum==HydrologyShreveAnalysisEnum) return "HydrologyShreveAnalysis" end
+	if(enum==HydrologySolutionEnum) return "HydrologySolution" end
+	if(enum==HydrologydcEnum) return "Hydrologydc" end
+	if(enum==HydrologypismEnum) return "Hydrologypism" end
+	if(enum==HydrologyshaktiEnum) return "Hydrologyshakti" end
+	if(enum==HydrologyshreveEnum) return "Hydrologyshreve" end
+	if(enum==IceMassEnum) return "IceMass" end
+	if(enum==IceMassScaledEnum) return "IceMassScaled" end
+	if(enum==IceVolumeAboveFloatationEnum) return "IceVolumeAboveFloatation" end
+	if(enum==IceVolumeAboveFloatationScaledEnum) return "IceVolumeAboveFloatationScaled" end
+	if(enum==IceVolumeEnum) return "IceVolume" end
+	if(enum==IceVolumeScaledEnum) return "IceVolumeScaled" end
+	if(enum==IcefrontMassFluxEnum) return "IcefrontMassFlux" end
+	if(enum==IcefrontMassFluxLevelsetEnum) return "IcefrontMassFluxLevelset" end
+	if(enum==IncrementalEnum) return "Incremental" end
+	if(enum==IndexedEnum) return "Indexed" end
+	if(enum==IntExternalResultEnum) return "IntExternalResult" end
+	if(enum==ElementInputEnum) return "ElementInput" end
+	if(enum==IntMatExternalResultEnum) return "IntMatExternalResult" end
+	if(enum==IntMatParamEnum) return "IntMatParam" end
+	if(enum==IntParamEnum) return "IntParam" end
+	if(enum==IntVecParamEnum) return "IntVecParam" end
+	if(enum==InputsEnum) return "Inputs" end
+	if(enum==InternalEnum) return "Internal" end
+	if(enum==IntersectEnum) return "Intersect" end
+	if(enum==InversionVzObsEnum) return "InversionVzObs" end
+	if(enum==JEnum) return "J" end
+	if(enum==L1L2ApproximationEnum) return "L1L2Approximation" end
+	if(enum==MLHOApproximationEnum) return "MLHOApproximation" end
+	if(enum==L2ProjectionBaseAnalysisEnum) return "L2ProjectionBaseAnalysis" end
+	if(enum==L2ProjectionEPLAnalysisEnum) return "L2ProjectionEPLAnalysis" end
+	if(enum==LACrouzeixRaviartEnum) return "LACrouzeixRaviart" end
+	if(enum==LATaylorHoodEnum) return "LATaylorHood" end
+	if(enum==LambdaSEnum) return "LambdaS" end
+	if(enum==LevelsetAnalysisEnum) return "LevelsetAnalysis" end
+	if(enum==LevelsetfunctionPicardEnum) return "LevelsetfunctionPicard" end
+	if(enum==LinearFloatingMeltRateEnum) return "LinearFloatingMeltRate" end
+	if(enum==LliboutryDuvalEnum) return "LliboutryDuval" end
+	if(enum==LoadsEnum) return "Loads" end
+	if(enum==LoveAnalysisEnum) return "LoveAnalysis" end
+	if(enum==LoveHiEnum) return "LoveHi" end
+	if(enum==LoveHrEnum) return "LoveHr" end
+	if(enum==LoveKernelsImagEnum) return "LoveKernelsImag" end
+	if(enum==LoveKernelsRealEnum) return "LoveKernelsReal" end
+	if(enum==LoveKiEnum) return "LoveKi" end
+	if(enum==LoveKrEnum) return "LoveKr" end
+	if(enum==LoveLiEnum) return "LoveLi" end
+	if(enum==LoveLrEnum) return "LoveLr" end
+	if(enum==LoveSolutionEnum) return "LoveSolution" end
+	if(enum==MINIEnum) return "MINI" end
+	if(enum==MINIcondensedEnum) return "MINIcondensed" end
+	if(enum==MantlePlumeGeothermalFluxEnum) return "MantlePlumeGeothermalFlux" end
+	if(enum==MassFluxEnum) return "MassFlux" end
+	if(enum==MassconEnum) return "Masscon" end
+	if(enum==MassconaxpbyEnum) return "Massconaxpby" end
+	if(enum==MassfluxatgateEnum) return "Massfluxatgate" end
+	if(enum==MasstransportAnalysisEnum) return "MasstransportAnalysis" end
+	if(enum==MasstransportSolutionEnum) return "MasstransportSolution" end
+	if(enum==MatdamageiceEnum) return "Matdamageice" end
+	if(enum==MatenhancediceEnum) return "Matenhancedice" end
+	if(enum==MaterialsEnum) return "Materials" end
+	if(enum==MatestarEnum) return "Matestar" end
+	if(enum==MaticeEnum) return "Matice" end
+	if(enum==MatlithoEnum) return "Matlitho" end
+	if(enum==MathydroEnum) return "Mathydro" end
+	if(enum==MatrixParamEnum) return "MatrixParam" end
+	if(enum==MaxAbsVxEnum) return "MaxAbsVx" end
+	if(enum==MaxAbsVyEnum) return "MaxAbsVy" end
+	if(enum==MaxAbsVzEnum) return "MaxAbsVz" end
+	if(enum==MaxDivergenceEnum) return "MaxDivergence" end
+	if(enum==MaxVelEnum) return "MaxVel" end
+	if(enum==MaxVxEnum) return "MaxVx" end
+	if(enum==MaxVyEnum) return "MaxVy" end
+	if(enum==MaxVzEnum) return "MaxVz" end
+	if(enum==MelangeEnum) return "Melange" end
+	if(enum==MeltingAnalysisEnum) return "MeltingAnalysis" end
+	if(enum==MeshElementsEnum) return "MeshElements" end
+	if(enum==MeshXEnum) return "MeshX" end
+	if(enum==MeshYEnum) return "MeshY" end
+	if(enum==MinVelEnum) return "MinVel" end
+	if(enum==MinVxEnum) return "MinVx" end
+	if(enum==MinVyEnum) return "MinVy" end
+	if(enum==MinVzEnum) return "MinVz" end
+	if(enum==MismipFloatingMeltRateEnum) return "MismipFloatingMeltRate" end
+	if(enum==MoulinEnum) return "Moulin" end
+	if(enum==MpiDenseEnum) return "MpiDense" end
+	if(enum==MpiEnum) return "Mpi" end
+	if(enum==MpiSparseEnum) return "MpiSparse" end
+	if(enum==MumpsEnum) return "Mumps" end
+	if(enum==NoFrictionOnPartiallyFloatingEnum) return "NoFrictionOnPartiallyFloating" end
+	if(enum==NoMeltOnPartiallyFloatingEnum) return "NoMeltOnPartiallyFloating" end
+	if(enum==NodalEnum) return "Nodal" end
+	if(enum==NodalvalueEnum) return "Nodalvalue" end
+	if(enum==NodeSIdEnum) return "NodeSId" end
+	if(enum==NoneApproximationEnum) return "NoneApproximation" end
+	if(enum==NoneEnum) return "None" end
+	if(enum==NumberedcostfunctionEnum) return "Numberedcostfunction" end
+	if(enum==NyeCO2Enum) return "NyeCO2" end
+	if(enum==NyeH2OEnum) return "NyeH2O" end
+	if(enum==NumericalfluxEnum) return "Numericalflux" end
+	if(enum==OceantransportAnalysisEnum) return "OceantransportAnalysis" end
+	if(enum==OceantransportSolutionEnum) return "OceantransportSolution" end
+	if(enum==OldGradientEnum) return "OldGradient" end
+	if(enum==OneLayerP4zEnum) return "OneLayerP4z" end
+	if(enum==OpenEnum) return "Open" end
+	if(enum==OptionEnum) return "Option" end
+	if(enum==ParamEnum) return "Param" end
+	if(enum==ParametersEnum) return "Parameters" end
+	if(enum==P0ArrayEnum) return "P0Array" end
+	if(enum==P0DGEnum) return "P0DG" end
+	if(enum==P1DGEnum) return "P1DG" end
+	if(enum==P1P1Enum) return "P1P1" end
+	if(enum==P1P1GLSEnum) return "P1P1GLS" end
+	if(enum==P1bubbleEnum) return "P1bubble" end
+	if(enum==P1bubblecondensedEnum) return "P1bubblecondensed" end
+	if(enum==P1xP2Enum) return "P1xP2" end
+	if(enum==P1xP3Enum) return "P1xP3" end
+	if(enum==P1xP4Enum) return "P1xP4" end
+	if(enum==P2Enum) return "P2" end
+	if(enum==P2bubbleEnum) return "P2bubble" end
+	if(enum==P2bubblecondensedEnum) return "P2bubblecondensed" end
+	if(enum==P2xP1Enum) return "P2xP1" end
+	if(enum==P2xP4Enum) return "P2xP4" end
+	if(enum==PatersonEnum) return "Paterson" end
+	if(enum==PengridEnum) return "Pengrid" end
+	if(enum==PenpairEnum) return "Penpair" end
+	if(enum==PentaEnum) return "Penta" end
+	if(enum==PentaInputEnum) return "PentaInput" end
+	if(enum==ProfilerEnum) return "Profiler" end
+	if(enum==ProfilingCurrentFlopsEnum) return "ProfilingCurrentFlops" end
+	if(enum==ProfilingCurrentMemEnum) return "ProfilingCurrentMem" end
+	if(enum==ProfilingSolutionTimeEnum) return "ProfilingSolutionTime" end
+	if(enum==RegionaloutputEnum) return "Regionaloutput" end
+	if(enum==RegularEnum) return "Regular" end
+	if(enum==RecoveryAnalysisEnum) return "RecoveryAnalysis" end
+	if(enum==RiftfrontEnum) return "Riftfront" end
+	if(enum==SamplingAnalysisEnum) return "SamplingAnalysis" end
+	if(enum==SamplingSolutionEnum) return "SamplingSolution" end
+	if(enum==SIAApproximationEnum) return "SIAApproximation" end
+	if(enum==SMBautoregressionEnum) return "SMBautoregression" end
+	if(enum==SMBcomponentsEnum) return "SMBcomponents" end
+	if(enum==SMBd18opddEnum) return "SMBd18opdd" end
+	if(enum==SMBforcingEnum) return "SMBforcing" end
+	if(enum==SMBgcmEnum) return "SMBgcm" end
+	if(enum==SMBgembEnum) return "SMBgemb" end
+	if(enum==SMBgradientsEnum) return "SMBgradients" end
+	if(enum==SMBgradientscomponentsEnum) return "SMBgradientscomponents" end
+	if(enum==SMBgradientselaEnum) return "SMBgradientsela" end
+	if(enum==SMBhenningEnum) return "SMBhenning" end
+	if(enum==SMBmeltcomponentsEnum) return "SMBmeltcomponents" end
+	if(enum==SMBpddEnum) return "SMBpdd" end
+	if(enum==SMBpddSicopolisEnum) return "SMBpddSicopolis" end
+	if(enum==SMBsemicEnum) return "SMBsemic" end
+	if(enum==SSAApproximationEnum) return "SSAApproximation" end
+	if(enum==SSAFSApproximationEnum) return "SSAFSApproximation" end
+	if(enum==SSAHOApproximationEnum) return "SSAHOApproximation" end
+	if(enum==ScaledEnum) return "Scaled" end
+	if(enum==SealevelAbsoluteEnum) return "SealevelAbsolute" end
+	if(enum==SealevelEmotionEnum) return "SealevelEmotion" end
+	if(enum==SealevelInertiaTensorXZEnum) return "SealevelInertiaTensorXZ" end
+	if(enum==SealevelInertiaTensorYZEnum) return "SealevelInertiaTensorYZ" end
+	if(enum==SealevelInertiaTensorZZEnum) return "SealevelInertiaTensorZZ" end
+	if(enum==SealevelchangePolarMotionEnum) return "SealevelchangePolarMotion" end
+	if(enum==SealevelNmotionEnum) return "SealevelNmotion" end
+	if(enum==SealevelUmotionEnum) return "SealevelUmotion" end
+	if(enum==SealevelchangeAnalysisEnum) return "SealevelchangeAnalysis" end
+	if(enum==SegEnum) return "Seg" end
+	if(enum==SegInputEnum) return "SegInput" end
+	if(enum==SegmentEnum) return "Segment" end
+	if(enum==SegmentRiftfrontEnum) return "SegmentRiftfront" end
+	if(enum==SeparateEnum) return "Separate" end
+	if(enum==SeqEnum) return "Seq" end
+	if(enum==SmbAnalysisEnum) return "SmbAnalysis" end
+	if(enum==SmbSolutionEnum) return "SmbSolution" end
+	if(enum==SmoothAnalysisEnum) return "SmoothAnalysis" end
+	if(enum==SoftMigrationEnum) return "SoftMigration" end
+	if(enum==SpatialLinearFloatingMeltRateEnum) return "SpatialLinearFloatingMeltRate" end
+	if(enum==SpcDynamicEnum) return "SpcDynamic" end
+	if(enum==SpcStaticEnum) return "SpcStatic" end
+	if(enum==SpcTransientEnum) return "SpcTransient" end
+	if(enum==SsetEnum) return "Sset" end
+	if(enum==StatisticsSolutionEnum) return "StatisticsSolution" end
+	if(enum==SteadystateSolutionEnum) return "SteadystateSolution" end
+	if(enum==StressIntensityFactorEnum) return "StressIntensityFactor" end
+	if(enum==StressbalanceAnalysisEnum) return "StressbalanceAnalysis" end
+	if(enum==StressbalanceConvergenceNumStepsEnum) return "StressbalanceConvergenceNumSteps" end
+	if(enum==StressbalanceSIAAnalysisEnum) return "StressbalanceSIAAnalysis" end
+	if(enum==StressbalanceSolutionEnum) return "StressbalanceSolution" end
+	if(enum==StressbalanceVerticalAnalysisEnum) return "StressbalanceVerticalAnalysis" end
+	if(enum==StringArrayParamEnum) return "StringArrayParam" end
+	if(enum==StringExternalResultEnum) return "StringExternalResult" end
+	if(enum==StringParamEnum) return "StringParam" end
+	if(enum==SubelementFriction1Enum) return "SubelementFriction1" end
+	if(enum==SubelementFriction2Enum) return "SubelementFriction2" end
+	if(enum==SubelementMelt1Enum) return "SubelementMelt1" end
+	if(enum==SubelementMelt2Enum) return "SubelementMelt2" end
+	if(enum==SubelementMigrationEnum) return "SubelementMigration" end
+	if(enum==SurfaceSlopeSolutionEnum) return "SurfaceSlopeSolution" end
+	if(enum==TaylorHoodEnum) return "TaylorHood" end
+	if(enum==TetraEnum) return "Tetra" end
+	if(enum==TetraInputEnum) return "TetraInput" end
+	if(enum==ThermalAnalysisEnum) return "ThermalAnalysis" end
+	if(enum==ThermalSolutionEnum) return "ThermalSolution" end
+	if(enum==ThicknessErrorEstimatorEnum) return "ThicknessErrorEstimator" end
+	if(enum==TotalCalvingFluxLevelsetEnum) return "TotalCalvingFluxLevelset" end
+	if(enum==TotalCalvingMeltingFluxLevelsetEnum) return "TotalCalvingMeltingFluxLevelset" end
+	if(enum==TotalFloatingBmbEnum) return "TotalFloatingBmb" end
+	if(enum==TotalFloatingBmbScaledEnum) return "TotalFloatingBmbScaled" end
+	if(enum==TotalGroundedBmbEnum) return "TotalGroundedBmb" end
+	if(enum==TotalGroundedBmbScaledEnum) return "TotalGroundedBmbScaled" end
+	if(enum==TotalSmbEnum) return "TotalSmb" end
+	if(enum==TotalSmbScaledEnum) return "TotalSmbScaled" end
+	if(enum==TransientArrayParamEnum) return "TransientArrayParam" end
+	if(enum==TransientInputEnum) return "TransientInput" end
+	if(enum==TransientParamEnum) return "TransientParam" end
+	if(enum==TransientSolutionEnum) return "TransientSolution" end
+	if(enum==TriaEnum) return "Tria" end
+	if(enum==TriaInputEnum) return "TriaInput" end
+	if(enum==UzawaPressureAnalysisEnum) return "UzawaPressureAnalysis" end
+	if(enum==VectorParamEnum) return "VectorParam" end
+	if(enum==VertexEnum) return "Vertex" end
+	if(enum==VertexLIdEnum) return "VertexLId" end
+	if(enum==VertexPIdEnum) return "VertexPId" end
+	if(enum==VertexSIdEnum) return "VertexSId" end
+	if(enum==VerticesEnum) return "Vertices" end
+	if(enum==ViscousHeatingEnum) return "ViscousHeating" end
+	if(enum==WaterEnum) return "Water" end
+	if(enum==XTaylorHoodEnum) return "XTaylorHood" end
+	if(enum==XYEnum) return "XY" end
+	if(enum==XYZEnum) return "XYZ" end
+	if(enum==BalancethicknessD0Enum) return "BalancethicknessD0" end
+	if(enum==BalancethicknessDiffusionCoefficientEnum) return "BalancethicknessDiffusionCoefficient" end
+	if(enum==BilinearInterpEnum) return "BilinearInterp" end
+	if(enum==CalvingdevCoeffEnum) return "CalvingdevCoeff" end
+	if(enum==DeviatoricStressEnum) return "DeviatoricStress" end
+	if(enum==EtaAbsGradientEnum) return "EtaAbsGradient" end
+	if(enum==MeshZEnum) return "MeshZ" end
+	if(enum==NearestInterpEnum) return "NearestInterp" end
+	if(enum==OutputdefinitionListEnum) return "OutputdefinitionList" end
+	if(enum==SealevelObsEnum) return "SealevelObs" end
+	if(enum==SealevelWeightsEnum) return "SealevelWeights" end
+	if(enum==StrainRateEnum) return "StrainRate" end
+	if(enum==StressTensorEnum) return "StressTensor" end
+	if(enum==StressbalanceViscosityOvershootEnum) return "StressbalanceViscosityOvershoot" end
+	if(enum==SubelementMigration4Enum) return "SubelementMigration4" end
+	if(enum==TimesteppingTimeAdaptEnum) return "TimesteppingTimeAdapt" end
+	if(enum==TriangleInterpEnum) return "TriangleInterp" end
+	if(enum==MaximumNumberOfDefinitionsEnum) return "MaximumNumberOfDefinitions" end
 end
-
-function EnumToString(enum::Int64)
-	return EnumToString(IssmEnum(enum))
-end
-
-function StringToEnum(string::String)
-
-	#Make dictionnary from enums
-	inst = instances(IssmEnum)
-	syms = Symbol.(inst)
-	enumdic = Dict(zip(syms, inst))
-
-	return enumdic[Symbol(string)]
-end
-
-function StringToEnumInt(string::String)
-	return Integer(StringToEnum(string))
-end
Index: /issm/trunk-jpl/src/jl/core/modules.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/modules.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/core/modules.jl	(revision 26727)
@@ -1,3 +1,3 @@
-#Model Processor
+#Model Processor and Core I/O
 function FetchDataToInput(md::model,inputs::Inputs,elements::Vector{Tria},data::Vector{Float64},enum::IssmEnum) #{{{
 	for i in 1:length(elements)
@@ -94,5 +94,10 @@
 function OutputResultsx(femmodel::FemModel, md::model)# {{{
 
-	md.results = Dict("Stressbalance"=> femmodel.results)
+	output = Dict()
+	for i in length(femmodel.results)
+		result = femmodel.results[i]
+		output[EnumToString(result.enum)] = result.value
+	end
+	md.results["Stressbalance"] = output
 
 end# }}}
@@ -250,5 +255,5 @@
 			#Create Result
 			input  = GetInput(femmodel.inputs,outputlist[i])
-			result = Result(step, time, copy(input.values))
+			result = Result(outputlist[i], step, time, copy(input.values))
 
 			#Add to femmodel.results dataset
Index: /issm/trunk-jpl/src/jl/core/results.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/results.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/core/results.jl	(revision 26727)
@@ -1,3 +1,4 @@
 mutable struct Result #{{{
+	enum::IssmEnum
 	step::Int64
 	time::Float64
Index: /issm/trunk-jpl/src/jl/tests/test.jl
===================================================================
--- /issm/trunk-jpl/src/jl/tests/test.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/tests/test.jl	(revision 26727)
@@ -6,8 +6,8 @@
 #Load model from MATLAB file
 file = matopen("./Pig.mat")
-mat = read(file, "md")
+mat  = read(file, "md")
 close(file)
-md=model(mat)
+md = model(mat)
 
 #Solve stress balance
-md=solve(md, "Stressbalance")
+md = solve(md, "Stressbalance")
Index: /issm/trunk-jpl/src/jl/usr/classes.jl
===================================================================
--- /issm/trunk-jpl/src/jl/usr/classes.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/usr/classes.jl	(revision 26727)
@@ -129,9 +129,9 @@
 	stressbalance::Stressbalance
 	constants::Constants
-	results
+	results::Dict
 	friction::AbstractFriction
 end
 function model() #{{{
-	return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization(),Stressbalance(), Constants(), [], BuddFriction())
+	return model( Mesh2dTriangle(), Geometry(), Mask(), Materials(), Initialization(),Stressbalance(), Constants(), Dict(), BuddFriction())
 end#}}}
 function model(matmd::Dict) #{{{
Index: /issm/trunk-jpl/src/jl/usr/plotmodel.jl
===================================================================
--- /issm/trunk-jpl/src/jl/usr/plotmodel.jl	(revision 26726)
+++ /issm/trunk-jpl/src/jl/usr/plotmodel.jl	(revision 26727)
@@ -3,10 +3,8 @@
 using .ISSM
 
-function plotmodel(md::model,data::Vector)
+function plotmodel( md::model, data::Vector, showvertices::Bool=false, showfacets::Bool=true)
 
 	vertexcolor  = :black
 	facetcolor   = :blue
-	showvertices = true
-	showfacets   = true
 
 	if data isa AbstractVector
@@ -38,4 +36,8 @@
 	end
 
+	if showfacets
+		Makie.wireframe!(ax, h[1][], color=facetcolor)
+	end
+
 	if showvertices
 		Makie.scatter!( [md.mesh.x md.mesh.y], markersize = 4, color = vertexcolor)
@@ -44,2 +46,23 @@
 	return fig
 end
+
+function plotmodel(md::model,data::BitVector) #{{{
+
+	println("Converting BitVector to Vector")
+	data2 = Vector{Float64}(undef,size(data))
+	for i in 1:length(data)
+		data2[i] = Float64(data[i])
+	end
+
+	plotmodel(md,data2)
+
+end#}}}
+function plotmodel(md::model,data::String) #{{{
+
+	if(data=="mesh")
+		poly([md.mesh.x md.mesh.y], md.mesh.elements, strokewidth=1, shading=false)
+	else
+		error(data, " plot not supported yet")
+	end
+
+end#}}}
