Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5224)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5225)
@@ -43,4 +43,5 @@
 	AdjointHorizAnalysisEnum,
 	AdjointStokesAnalysisEnum,
+	AdjointBalancedthicknessAnalysisEnum,
 	ControlAnalysisEnum,
 	GradientAnalysisEnum,
Index: /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5224)
+++ /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5225)
@@ -43,4 +43,5 @@
 		case AdjointHorizAnalysisEnum : return "AdjointHorizAnalysis";
 		case AdjointStokesAnalysisEnum : return "AdjointStokesAnalysis";
+		case AdjointBalancedthicknessAnalysisEnum : return "AdjointBalancedthicknessAnalysis";
 		case ControlAnalysisEnum : return "ControlAnalysis";
 		case GradientAnalysisEnum : return "GradientAnalysis";
Index: /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5224)
+++ /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5225)
@@ -41,4 +41,5 @@
 	else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
 	else if (strcmp(name,"AdjointStokesAnalysis")==0) return AdjointStokesAnalysisEnum;
+	else if (strcmp(name,"AdjointBalancedthicknessAnalysis")==0) return AdjointBalancedthicknessAnalysisEnum;
 	else if (strcmp(name,"ControlAnalysis")==0) return ControlAnalysisEnum;
 	else if (strcmp(name,"GradientAnalysis")==0) return GradientAnalysisEnum;
Index: /issm/trunk/src/c/EnumDefinitions/Synchronize.sh
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/Synchronize.sh	(revision 5225)
+++ /issm/trunk/src/c/EnumDefinitions/Synchronize.sh	(revision 5225)
@@ -0,0 +1,207 @@
+#!/bin/bash
+#Synchronize EnumToString.cpp and StringToEnum.cpp
+
+#first remove existing files
+rm EnumToString.cpp StringToEnum.cpp
+rm $ISSM_DIR/src/m/enum/*.m
+
+echo "Synchronizing EnumToString..."
+#Get all lines of EnumDefinitions2.h which hold Enum | remove all comas | add line number in the first column > put everything in file temp
+cat EnumDefinitions.h | grep -e "[0-9]Enum" -e "[Aa-Zz]Enum" | grep -v StringToEnum | sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp
+
+#Build header of EnumToString.cpp {{{1
+cat <<END > EnumToString.cpp
+/*
+* \file EnumToString.cpp:
+* \brief: output string associated with enum
+*
+*   WARNING: DO NOT MODIFY THIS FILE
+*            this file has been automatically generated by SynchronizeStrings.sh
+*            Please read README for more information
+*/
+
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "./EnumDefinitions.h"
+
+char* EnumToString(int en){
+
+	switch(en){
+
+END
+#}}}
+#Build header of StringToEnum.cpp {{{1
+cat <<END > StringToEnum.cpp
+/*
+* \file StringToEnum.cpp:
+* \brief: output enum associated with string
+*
+*   WARNING: DO NOT MODIFY THIS FILE
+*            this file has been automatically generated by SynchronizeStrings.sh
+*            Please read README for more information
+*/
+
+#include "../shared/shared.h"
+#include "../include/include.h"
+#include "./EnumDefinitions.h"
+
+int  StringToEnum(char* name){
+
+END
+#}}}
+#Build header of EnumToString.m {{{1
+cat <<END > EnumToString.m
+function string=EnumToString(enum)
+%ENUMASSTRING - output string associated with enum
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      string=EnumToString(enum)
+
+switch enum,
+
+END
+#}}}
+#Build header of StringToEnum.m {{{1
+cat <<END > StringToEnum.m
+function enum=StringToEnum(name)
+%STRINGASENUM - output enum associated with string
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      enum=StringToEnum(name)
+
+END
+#}}}
+
+#get number of lines in temp
+NUMBEROFLINES=$(wc -l temp | awk '{printf("%s",$1);}');
+
+# go through the lines of temp
+for (( i=1 ; i<=$NUMBEROFLINES ; i++ )); do
+
+	#Get name and enum of the line i
+	NAMEENUM=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}');
+	NAME=$(echo $NAMEENUM | sed -e "s/Enum//g")
+	ENUM=$i;
+	#offset Enum by one (Enum begins with 0 and not 1!)
+	let ENUM=$ENUM-1
+
+	#print info {{{
+	if [ $i -lt 10 ]
+	then
+		printf "\r                                                                      "
+		printf "\r  $i/$NUMBEROFLINES Adding "$NAME"..."
+	else
+		if [ $i -lt 100 ]
+		then
+			printf "\r                                                                      "
+			printf "\r $i/$NUMBEROFLINES Adding "$NAME"..."
+		else
+			printf "\r                                                                      "
+			printf "\r$i/$NUMBEROFLINES Adding "$NAME"..."
+		fi
+	fi
+	#}}}
+
+	#Add case to matlabenum file{{{
+	cat <<END > $ISSM_DIR"/src/m/enum/"$(echo $NAMEENUM".m")
+function macro=$(echo $NAMEENUM)()
+%$(echo $NAMEENUM | sed -e "s/[a-z]/\U&/g") - Enum of $(echo $NAME)
+%
+%   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:
+%      macro=$NAMEENUM()
+
+macro=$ENUM;
+END
+#}}}
+
+	#Add case to EnumToString.cpp {{{
+	cat <<END >> EnumToString.cpp
+		case $NAMEENUM : return "$NAME";
+END
+#}}}
+	#Add case to StringToEnum.cpp {{{
+	if [ $i -eq 1 ]
+	then
+		cat <<END >> StringToEnum.cpp
+	if (strcmp(name,"$NAME")==0) return $NAMEENUM;
+END
+	else
+		cat <<END >> StringToEnum.cpp
+	else if (strcmp(name,"$NAME")==0) return $NAMEENUM;
+END
+	fi
+#}}}
+
+#Add case to EnumToString.m {{{
+cat <<END >> EnumToString.m
+case $NAMEENUM(), string='$NAME'; return
+END
+#}}}
+	#Add case to StringToEnum.m {{{
+	if [ $i -eq 1 ]
+	then
+		cat <<END >> StringToEnum.m
+		if (strcmpi(name,'$NAME')), enum=$NAMEENUM(); return
+END
+		else
+			cat <<END >> StringToEnum.m
+			elseif (strcmpi(name,'$NAME')), enum=$NAMEENUM(); return
+END
+		fi
+		#}}}
+
+done
+
+#Add footer of of EnumToString.cpp{{{1
+cat <<END >> EnumToString.cpp
+		default : return "unknown";
+
+	}
+}
+END
+#}}}
+#Add footer of of StringToEnum.cpp{{{1
+cat <<END >> StringToEnum.cpp
+	else ISSMERROR("Enum %s not found",name);
+
+}
+END
+#}}}
+#Add footer of of EnumToString.m{{{1
+cat <<END >> EnumToString.m
+otherwise, error(['Enum ' num2str(enum)  ' not found']);
+
+end
+END
+#}}}
+#Add footer of of StringToEnum.m{{{1
+cat <<END >> StringToEnum.m
+else error(['Enum ' name  ' not found']);
+
+	end
+END
+#}}}
+
+#move files to new location {{{1
+mv StringToEnum.m         $ISSM_DIR/src/m/enum/
+mv EnumToString.m         $ISSM_DIR/src/m/enum/
+#}}}
+#clean up{{{
+rm temp
+#}}}
+#print info {{{
+printf "\r                                                                      "
+printf "\rdone!\n"
+#}}}
Index: sm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh	(revision 5224)
+++ 	(revision )
@@ -1,131 +1,0 @@
-#!/bin/bash
-#Synchronize Matlab and C Enums
-#Create a matlab file using the same Enum as in EnumDefinitions.cpp
-#and move the file to src/m/enum
-
-#first remove all existing enum
-rm $ISSM_DIR/src/m/enum/*.m
-
-echo "Synchronizing Matlab's Enums..."
-#Get all lines of EnumDefinitions2.h which hold Enum | remove all comas | add line number in the first column > put everything in file temp
-cat EnumDefinitions.h | grep -e "[0-9]Enum" -e "[Aa-Zz]Enum" | grep -v StringToEnum | sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp
-
-#Build header of EnumToString.m {{{1
-cat <<END > EnumToString.m
-function string=EnumToString(enum)
-%ENUMASSTRING - output string associated with enum
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
-%            Please read src/c/README for more information
-%
-%   Usage:
-%      string=EnumToString(enum)
-
-switch enum,
-
-END
-#}}}
-#Build header of StringToEnum.m {{{1
-cat <<END > StringToEnum.m
-function enum=StringToEnum(name)
-%STRINGASENUM - output enum associated with string
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
-%            Please read src/c/README for more information
-%
-%   Usage:
-%      enum=StringToEnum(name)
-
-END
-#}}}
-
-#get number of lines in temp
-NUMBEROFLINES=$(wc -l temp | awk '{printf("%s",$1);}');
-
-# go through the lines of temp
-for (( i=1 ; i<=$NUMBEROFLINES ; i++ )); do
-
-	#Get name and enum of the line i
-	NAMEENUM=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}');
-	NAME=$(echo $NAMEENUM | sed -e "s/Enum//g")
-	ENUM=$i;
-	#offset Enum by one (Enum begins with 0 and not 1!)
-	let ENUM=$ENUM-1
-
-	#print info {{{
-	if [ $i -lt 10 ]
-	then
-		printf "\r                                                                      "
-		printf "\r  $i/$NUMBEROFLINES writing file "$NAME".m..."
-	else
-		if [ $i -lt 100 ]
-		then
-			printf "\r                                                                      "
-			printf "\r $i/$NUMBEROFLINES writing file "$NAME".m..."
-		else
-			printf "\r                                                                      "
-			printf "\r$i/$NUMBEROFLINES writing file "$NAME".m..."
-		fi
-	fi
-	#}}}
-	#Add case to matlabenum file{{{
-	cat <<END > $ISSM_DIR"/src/m/enum/"$(echo $NAMEENUM".m")
-function macro=$(echo $NAMEENUM)()
-%$(echo $NAMEENUM | sed -e "s/[a-z]/\U&/g") - Enum of $(echo $NAME)
-%
-%   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:
-%      macro=$NAMEENUM()
-
-macro=$ENUM;
-END
-#}}}
-#Add case to EnumToString.m {{{
-cat <<END >> EnumToString.m
-	case $NAMEENUM(), string='$NAME'; return
-END
-#}}}
-	#Add case to StringToEnum.m {{{
-	if [ $i -eq 1 ]
-	then
-		cat <<END >> StringToEnum.m
-if (strcmpi(name,'$NAME')), enum=$NAMEENUM(); return
-END
-	else
-		cat <<END >> StringToEnum.m
-elseif (strcmpi(name,'$NAME')), enum=$NAMEENUM(); return
-END
-	fi
-#}}}
-
-done
-
-#Add footer of of EnumToString.m{{{1
-cat <<END >> EnumToString.m
-	otherwise, error(['Enum ' num2str(enum)  ' not found']);
-
-end
-END
-#}}}
-#Add footer of of StringToEnum.m{{{1
-cat <<END >> StringToEnum.m
-else error(['Enum ' name  ' not found']);
-
-end
-END
-#}}}
-
-#clean up{{{
-mv StringToEnum.m         $ISSM_DIR/src/m/enum/
-mv EnumToString.m         $ISSM_DIR/src/m/enum/
-rm temp
-#}}}
-#print info{{{
-printf "\r                                                                      "
-printf "\rdone!\n"
-#}}}
Index: sm/trunk/src/c/EnumDefinitions/SynchronizeStrings.sh
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/SynchronizeStrings.sh	(revision 5224)
+++ 	(revision )
@@ -1,123 +1,0 @@
-#!/bin/bash
-#Synchronize EnumToString.cpp and StringToEnum.cpp
-
-#first remove existing files
-rm EnumToString.cpp StringToEnum.cpp
-
-echo "Synchronizing EnumToString..."
-#Get all lines of EnumDefinitions2.h which hold Enum | remove all comas | add line number in the first column > put everything in file temp
-cat EnumDefinitions.h | grep -e "[0-9]Enum" -e "[Aa-Zz]Enum" | grep -v StringToEnum | sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp
-
-#Build header of EnumToString.cpp {{{1
-cat <<END > EnumToString.cpp
-/*
-* \file EnumToString.cpp:
-* \brief: output string associated with enum
-*
-*   WARNING: DO NOT MODIFY THIS FILE
-*            this file has been automatically generated by SynchronizeStrings.sh
-*            Please read README for more information
-*/
-
-#include "../shared/shared.h"
-#include "../include/include.h"
-#include "./EnumDefinitions.h"
-
-char* EnumToString(int en){
-
-	switch(en){
-
-END
-#}}}
-#Build header of StringToEnum.cpp {{{1
-cat <<END > StringToEnum.cpp
-/*
-* \file StringToEnum.cpp:
-* \brief: output enum associated with string
-*
-*   WARNING: DO NOT MODIFY THIS FILE
-*            this file has been automatically generated by SynchronizeStrings.sh
-*            Please read README for more information
-*/
-
-#include "../shared/shared.h"
-#include "../include/include.h"
-#include "./EnumDefinitions.h"
-
-int  StringToEnum(char* name){
-
-END
-#}}}
-
-#get number of lines in temp
-NUMBEROFLINES=$(wc -l temp | awk '{printf("%s",$1);}');
-
-# go through the lines of temp
-for (( i=1 ; i<=$NUMBEROFLINES ; i++ )); do
-
-	#Get name and enum of the line i
-	NAMEENUM=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}');
-	NAME=$(echo $NAMEENUM | sed -e "s/Enum//g")
-	ENUM=$i;
-	#offset Enum by one (Enum begins with 0 and not 1!)
-	let ENUM=$ENUM-1
-
-	#print info {{{
-	if [ $i -lt 10 ]
-	then
-		printf "\r                                                                      "
-		printf "\r  $i/$NUMBEROFLINES Adding "$NAME"..."
-	else
-		if [ $i -lt 100 ]
-		then
-			printf "\r                                                                      "
-			printf "\r $i/$NUMBEROFLINES Adding "$NAME"..."
-		else
-			printf "\r                                                                      "
-			printf "\r$i/$NUMBEROFLINES Adding "$NAME"..."
-		fi
-	fi
-	#}}}
-	#Add case to EnumToString.cpp {{{
-	cat <<END >> EnumToString.cpp
-		case $NAMEENUM : return "$NAME";
-END
-#}}}
-	#Add case to StringToEnum.cpp {{{
-	if [ $i -eq 1 ]
-	then
-		cat <<END >> StringToEnum.cpp
-	if (strcmp(name,"$NAME")==0) return $NAMEENUM;
-END
-	else
-		cat <<END >> StringToEnum.cpp
-	else if (strcmp(name,"$NAME")==0) return $NAMEENUM;
-END
-	fi
-#}}}
-
-done
-
-#Add footer of of EnumToString.cpp{{{1
-cat <<END >> EnumToString.cpp
-		default : return "unknown";
-
-	}
-}
-END
-#}}}
-#Add footer of of StringToEnum.cpp{{{1
-cat <<END >> StringToEnum.cpp
-	else ISSMERROR("Enum %s not found",name);
-
-}
-END
-#}}}
-
-#clean up{{{
-rm temp
-#}}}
-#print info {{{
-printf "\r                                                                      "
-printf "\rdone!\n"
-#}}}
