Index: /issm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh	(revision 3784)
+++ /issm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh	(revision 3785)
@@ -38,4 +38,20 @@
 %   Usage:
 %      enum=StringAsEnum(name)
+
+END
+#}}}
+#Build header of AnalysisTypeFromEnum.m{{{
+cat <<END > AnalysisTypeFromEnum.m
+function string=AnalysisTypeFromEnum(enum)
+%ANALYSISASENUM - get analysis type from Enum
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      string=AnalysisTypeFromEnum(enum)
+
+switch enum,
 
 END
@@ -86,4 +102,12 @@
 END
 #}}}
+#Add case to AnalysisTypeFromEnum file{{{
+	if [ $(echo $NAMEENUM | grep "[Aa-Zz]AnalysisEnum") ]
+	then
+		cat <<END >> AnalysisTypeFromEnum.m
+	case $NAMEENUM(), string='$(echo $NAMEENUM | sed -e "s/AnalysisEnum//g" | awk {'print tolower($_)'})'; return
+END
+	  fi
+#}}}
 #Add case to EnumAsString.m {{{
 cat <<END >> EnumAsString.m
@@ -106,4 +130,11 @@
 done
 
+#Footer of AnalysisTypeFromEnum.m{{{
+cat <<END >> AnalysisTypeFromEnum.m
+	otherwise, error(['Enum ' num2str(enum)  ' not found']);
+
+end
+END
+#}}}
 #Add footer of of EnumAsString.m{{{1
 cat <<END >> EnumAsString.m
@@ -122,6 +153,7 @@
 
 #clean up{{{
-mv StringAsEnum.m $ISSM_DIR/src/m/enum/
-mv EnumAsString.m $ISSM_DIR/src/m/enum/
+mv StringAsEnum.m         $ISSM_DIR/src/m/enum/
+mv EnumAsString.m         $ISSM_DIR/src/m/enum/
+mv AnalysisTypeFromEnum.m $ISSM_DIR/src/m/enum/
 rm temp
 #}}}
Index: /issm/trunk/src/m/enum/AnalysisTypeFromEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AnalysisTypeFromEnum.m	(revision 3785)
+++ /issm/trunk/src/m/enum/AnalysisTypeFromEnum.m	(revision 3785)
@@ -0,0 +1,43 @@
+function string=AnalysisTypeFromEnum(enum)
+%ANALYSISASENUM - get analysis type from Enum
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      string=AnalysisTypeFromEnum(enum)
+
+switch enum,
+
+	case DiagnosticAnalysisEnum(), string='diagnostic'; return
+	case HorizAnalysisEnum(), string='horiz'; return
+	case HutterAnalysisEnum(), string='hutter'; return
+	case StokesAnalysisEnum(), string='stokes'; return
+	case VertAnalysisEnum(), string='vert'; return
+	case AdjointAnalysisEnum(), string='adjoint'; return
+	case ControlAnalysisEnum(), string='control'; return
+	case GradientAnalysisEnum(), string='gradient'; return
+	case InverseAnalysisEnum(), string='inverse'; return
+	case ThermalAnalysisEnum(), string='thermal'; return
+	case TransientAnalysisEnum(), string='transient'; return
+	case SteadyAnalysisEnum(), string='steady'; return
+	case SurfaceAnalysisEnum(), string='surface'; return
+	case SlopecomputeAnalysisEnum(), string='slopecompute'; return
+	case BedXAnalysisEnum(), string='bedx'; return
+	case BedYAnalysisEnum(), string='bedy'; return
+	case BedAnalysisEnum(), string='bed'; return
+	case SurfaceXAnalysisEnum(), string='surfacex'; return
+	case SurfaceYAnalysisEnum(), string='surfacey'; return
+	case BalancedthicknessAnalysisEnum(), string='balancedthickness'; return
+	case BalancedvelocitiesAnalysisEnum(), string='balancedvelocities'; return
+	case PrognosticAnalysisEnum(), string='prognostic'; return
+	case MeltingAnalysisEnum(), string='melting'; return
+	case Mesh2gridAnalysisEnum(), string='mesh2grid'; return
+	case ParametersAnalysisEnum(), string='parameters'; return
+	case SteadystateAnalysisEnum(), string='steadystate'; return
+	case NoneAnalysisEnum(), string='none'; return
+	case QmuAnalysisEnum(), string='qmu'; return
+	otherwise, error(['Enum ' num2str(enum)  ' not found']);
+
+end
