Index: /issm/trunk-jpl/src/m/classes/constants.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/constants.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/constants.m	(revision 18503)
@@ -6,7 +6,8 @@
 classdef constants
 	properties (SetAccess=public) 
-		g                    = 0;
-		yts                  = 0;
-		referencetemperature = 0;
+		g                    = 0.;
+		omega                = 0.;
+		yts                  = 0.;
+		referencetemperature = 0.;
 	end
 	methods
@@ -31,4 +32,7 @@
 			obj.g=9.81;
 
+			%Earth's rotation speed 
+			obj.omega = 7.292*1e-5;
+
 			%converstion from year to seconds
 			obj.yts=365*24*3600;
@@ -40,5 +44,6 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 
-%			md = checkfield(md,'fieldname','constants.g','>',0,'size',[1 1]);
+			md = checkfield(md,'fieldname','constants.g','>=',0,'size',[1 1]); %We allow 0 for validation tests
+			md = checkfield(md,'fieldname','constants.omega','>=',0,'size',[1 1]);
 			md = checkfield(md,'fieldname','constants.yts','>',0,'size',[1 1]);
 			md = checkfield(md,'fieldname','constants.referencetemperature','size',[1 1]);
@@ -49,4 +54,5 @@
 
 			fielddisplay(obj,'g','gravitational acceleration [m/s^2]');
+			fielddisplay(obj,'omega','angular velocity of Earth [rad/s]');
 			fielddisplay(obj,'yts','number of seconds in a year [s/yr]');
 			fielddisplay(obj,'referencetemperature','reference temperature used in the enthalpy model [K]');
@@ -55,4 +61,5 @@
 		function marshall(obj,md,fid) % {{{
 			WriteData(fid,'object',obj,'fieldname','g','format','Double');
+			WriteData(fid,'object',obj,'fieldname','omega','format','Double');
 			WriteData(fid,'object',obj,'fieldname','yts','format','Double');
 			WriteData(fid,'object',obj,'fieldname','referencetemperature','format','Double');
Index: /issm/trunk-jpl/src/m/classes/matseaice.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/matseaice.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/matseaice.m	(revision 18503)
@@ -9,5 +9,4 @@
 		poisson                = 0.;
 		young_modulus          = 0.;
-		damage                 = NaN;
 		ridging_exponent       = 0.;
 		cohesion               = 0.;
@@ -15,4 +14,6 @@
 		compression_coef       = 0.;
 		traction_coef          = 0.;
+		time_relaxation_stress  = 0.;
+		time_relaxation_damage  = 0.;
 	end
 	methods
@@ -61,4 +62,12 @@
 			obj.traction_coef=5./6.;
 
+			%Time relaxation stress
+			%1e20 for the elastic case (perfect memory of the stress), equal to the timestep for the viscous case (no memory of the stress)
+			obj.time_relaxation_stress=1.e+20;
+
+			%Time relaxation damage
+			%1e20 for the brittle case (perfect memory of the damage), equal to the timestep for the plastic case (no memory of the damage)
+			obj.time_relaxation_damage=1.e+20;
+
 		end % }}}
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
@@ -66,5 +75,4 @@
 			md = checkfield(md,'fieldname','materials.poisson','NaN',1,'>',0,'<',.5,'numel',1);
 			md = checkfield(md,'fieldname','materials.young_modulus','NaN',1,'>',0,'numel',1);
-			md = checkfield(md,'fieldname','materials.damage','NaN',1,'>=',0,'<',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','materials.ridging_exponent','NaN',1,'<',0,'numel',1);
 			md = checkfield(md,'fieldname','materials.cohesion','NaN',1,'>',0,'numel',1);
@@ -72,12 +80,11 @@
 			md = checkfield(md,'fieldname','materials.compression_coef','NaN',1,'>',1,'numel',1);
 			md = checkfield(md,'fieldname','materials.traction_coef','NaN',1,'>',0,'<',1,'numel',1);
+			md = checkfield(md,'fieldname','materials.time_relaxation_stress','NaN',1,'>',md.timestepping.time_step,'numel',1);
 		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   Sea Ice Material:'));
-
 			fielddisplay(obj,'rho_ice','ice density [kg/m^3]');
 			fielddisplay(obj,'poisson','poisson ratio for undamaged ice [no unit]');
 			fielddisplay(obj,'young_modulus','Young modulus for undamaged ice [Pa]');
-			fielddisplay(obj,'damage','damage, between 0 (no damage) and 1 (fully damaged)');
 			fielddisplay(obj,'ridging_exponent','Riging exponent (c, Hibler parameter) [no unit]');
 			fielddisplay(obj,'cohesion','cohesion (C) [Pa]');
@@ -85,4 +92,6 @@
 			fielddisplay(obj,'compression_coef','Ratio between cutoff compressive strength and the cohesion [no unit]');
 			fielddisplay(obj,'traction_coef','Ratio between cutoff tensile strength and Mohr-Coulomb tensile strength [no unit]');
+			fielddisplay(obj,'time_relaxation_stress','Relaxation time for stress (1e+20: elastic, dt: viscous) [s]');
+			fielddisplay(obj,'time_relaxation_damage','Relaxation time for damage (1e+20: brittle, dt: plastic) [s]');
 		end % }}}
 		function marshall(obj,md,fid) % {{{
@@ -91,5 +100,4 @@
 			WriteData(fid,'object',obj,'class','materials','fieldname','poisson','format','Double');
 			WriteData(fid,'object',obj,'class','materials','fieldname','young_modulus','format','Double');
-			WriteData(fid,'object',obj,'class','materials','fieldname','damage','format','DoubleMat','mattype',2);
 			WriteData(fid,'object',obj,'class','materials','fieldname','ridging_exponent','format','Double');
 			WriteData(fid,'object',obj,'class','materials','fieldname','cohesion','format','Double');
@@ -97,4 +105,6 @@
 			WriteData(fid,'object',obj,'class','materials','fieldname','compression_coef','format','Double');
 			WriteData(fid,'object',obj,'class','materials','fieldname','traction_coef','format','Double');
+			WriteData(fid,'object',obj,'class','materials','fieldname','time_relaxation_stress','format','Double');
+			WriteData(fid,'object',obj,'class','materials','fieldname','time_relaxation_damage','format','Double');
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 18503)
@@ -137,8 +137,14 @@
 					if strcmpi(varargin{1},'seaice'),
 						md=setdefaultparameters(md);
-						md.materials = matseaice();
+
+						%Specific subject for sea ice model
+						md.materials       = matseaice();
 						md.surfaceforcings = seaiceatm();
 						md.basalforcings   = seaiceocean();
 						md.initialization  = seaiceinitialization();
+
+						%Change some of the defauls
+						md.timestepping.in_years = false;
+						md.constants.g           = 9.80616; %Same as TOPAZ
 					else
 						error('model constructor not supported yet');
Index: /issm/trunk-jpl/src/m/classes/seaice.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/seaice.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/seaice.m	(revision 18503)
@@ -6,9 +6,10 @@
 classdef seaice
 	properties (SetAccess=public) 
-		thickness       = NaN;
-		concentration   = NaN;
-		spcvx           = NaN;
-		spcvy           = NaN;
-		coriolis_factor = NaN;
+		min_concentration = 0.;
+		min_thickness     = 0.;
+		max_thickness     = 0.;
+		spcvx             = NaN;
+		spcvy             = NaN;
+		coriolis_factor   = NaN;
 	end
 	methods
@@ -16,4 +17,5 @@
 			switch nargin
 				case 0
+					obj=setdefaultparameters(obj);
 					return;
 				otherwise
@@ -23,14 +25,28 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 			if solution~=SeaiceSolutionEnum(), return; end
-			md = checkfield(md,'fieldname','seaice.thickness','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0);
-			md = checkfield(md,'fieldname','seaice.concentration','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0);
+			md = checkfield(md,'fieldname','seaice.min_concentration','NaN',1,'>=',0,'numel',1);
+			md = checkfield(md,'fieldname','seaice.min_thickness','NaN',1,'>=',0,'numel',1);
+			md = checkfield(md,'fieldname','seaice.max_thickness','NaN',1,'>',0,'numel',1);
 			md = checkfield(md,'fieldname','seaice.spcvx','size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','seaice.spcvy','size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','seaice.coriolis_factor','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0);
 		end % }}}
+		function obj = setdefaultparameters(obj) % {{{
+
+			%Minimum ice concentration allowed in the simulation
+			obj.min_concentration=0.;
+
+			%Minimum ice thickness allowed in the simulation
+			obj.min_thickness=0.;
+
+			%Maxmimum ice thickness allowed in the simulation
+			obj.max_thickness=25.;
+
+		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   seaice parameters:'));
-			fielddisplay(obj,'thickness','sea ice thickness [m]');
-			fielddisplay(obj,'concentration','sea ice concentration (between 0 and 1)');
+			fielddisplay(obj,'min_concentration','minimum ice concentration allowed in the simulation [no unit]');
+			fielddisplay(obj,'min_thickness','minimum ice thickness allowed in the simulation [m]');
+			fielddisplay(obj,'max_thickness','maximum ice thickness allowed in the simulation [m]');
 			fielddisplay(obj,'spcvx','x-axis velocity constraint (NaN means no constraint) [m/s]');
 			fielddisplay(obj,'spcvy','y-axis velocity constraint (NaN means no constraint) [m/s]');
@@ -38,6 +54,7 @@
 		end % }}}
 		function marshall(obj,md,fid) % {{{
-			WriteData(fid,'object',obj,'fieldname','thickness','format','DoubleMat','mattype',2);
-			WriteData(fid,'object',obj,'fieldname','concentration','format','DoubleMat','mattype',2);
+			WriteData(fid,'object',obj,'fieldname','min_concentration','format','Double');
+			WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double');
+			WriteData(fid,'object',obj,'fieldname','max_thickness','format','Double');
 			WriteData(fid,'object',obj,'fieldname','spcvx','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',obj,'fieldname','spcvy','format','DoubleMat','mattype',1);
Index: /issm/trunk-jpl/src/m/classes/seaiceinitialization.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/seaiceinitialization.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/seaiceinitialization.m	(revision 18503)
@@ -6,8 +6,16 @@
 classdef seaiceinitialization
 	properties (SetAccess=public) 
-		vx          = NaN;
-		vy          = NaN;
-		vx_coriolis = NaN;
-		vy_coriolis = NaN;
+		thickness          = NaN;
+		concentration      = NaN;
+		vx                 = NaN;
+		vy                 = NaN;
+		vx_coriolis        = NaN;
+		vy_coriolis        = NaN;
+		sigma_predictor_xx = NaN;
+		sigma_predictor_yy = NaN;
+		sigma_predictor_xy = NaN;
+		damage             = NaN;
+		mesh_x             = NaN;
+		mesh_y             = NaN;
 	end
 	methods
@@ -21,21 +29,45 @@
 		end % }}}
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
+			md = checkfield(md,'fieldname','initialization.thickness','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0);
+			md = checkfield(md,'fieldname','initialization.concentration','size',[md.mesh.numberofelements 1],'NaN',1,'>=',0);
 			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','initialization.vx_coriolis','NaN',1,'size',[md.mesh.numberofvertices 1]);
 			md = checkfield(md,'fieldname','initialization.vy_coriolis','NaN',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','initialization.sigma_predictor_xx','NaN',1,'>=',0,'<',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','initialization.sigma_predictor_yy','NaN',1,'>=',0,'<',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','initialization.sigma_predictor_xy','NaN',1,'>=',0,'<',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','initialization.damage','NaN',1,'>=',0,'<',1,'size',[md.mesh.numberofelements 1]);
+			md = checkfield(md,'fieldname','initialization.mesh_x','NaN',1,'size',[md.mesh.numberofvertices 1]);
+			md = checkfield(md,'fieldname','initialization.mesh_y','NaN',1,'size',[md.mesh.numberofvertices 1]);
 		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   initial field values:'));
+			fielddisplay(obj,'thickness','sea ice thickness [m]');
+			fielddisplay(obj,'concentration','sea ice concentration (between 0 and 1)');
 			fielddisplay(obj,'vx','x component of the ice velocity [m/s]');
 			fielddisplay(obj,'vy','y component of the ice velocity [m/s]');
 			fielddisplay(obj,'vx_coriolis','x component of the ice velocity used to calculate coriolis forces [m/s]');
 			fielddisplay(obj,'vy_coriolis','y component of the ice velocity used to calculate coriolis forces [m/s]');
+			fielddisplay(obj,'sigma_predictor_xx','Predictor for the xx component of the Cauchy stress tensor [Pa]');
+			fielddisplay(obj,'sigma_predictor_yy','Predictor for the yy component of the Cauchy stress tensor [Pa]');
+			fielddisplay(obj,'sigma_predictor_xy','Predictor for the xy component of the Cauchy stress tensor [Pa]');
+			fielddisplay(obj,'damage','damage, between 0 (no damage) and 1 (fully damaged)');
+			fielddisplay(obj,'mesh_x','x position of each vertex of the mesh using a Lagrangian approach');
+			fielddisplay(obj,'mesh_y','y position of each vertex of the mesh using a Lagrangian approach');
 		end % }}}
 		function marshall(obj,md,fid) % {{{
+			WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',2,'enum',SeaiceThicknessEnum());
+			WriteData(fid,'data',obj.concentration,'format','DoubleMat','mattype',2,'enum',SeaiceConcentrationEnum());
 			WriteData(fid,'data',obj.vx,'format','DoubleMat','mattype',1,'enum',VxEnum);
 			WriteData(fid,'data',obj.vy,'format','DoubleMat','mattype',1,'enum',VyEnum);
-			WriteData(fid,'data',obj.vx_coriolis,'format','DoubleMat','mattype',1,'enum',VxStarEnum);
-			WriteData(fid,'data',obj.vy_coriolis,'format','DoubleMat','mattype',1,'enum',VyStarEnum);
+			WriteData(fid,'data',obj.vx_coriolis,'format','DoubleMat','mattype',1,'enum',VxStarEnum());
+			WriteData(fid,'data',obj.vy_coriolis,'format','DoubleMat','mattype',1,'enum',VyStarEnum());
+			WriteData(fid,'data',obj.sigma_predictor_xx,'format','DoubleMat','mattype',2,'enum',StressTensorPredictorxxEnum());
+			WriteData(fid,'data',obj.sigma_predictor_yy,'format','DoubleMat','mattype',2,'enum',StressTensorPredictoryyEnum());
+			WriteData(fid,'data',obj.sigma_predictor_xy,'format','DoubleMat','mattype',2,'enum',StressTensorPredictorxyEnum());
+			WriteData(fid,'data',obj.damage,'format','DoubleMat','mattype',2,'enum',DamageEnum());
+			WriteData(fid,'data',obj.mesh_x,'format','DoubleMat','mattype',1,'enum',MeshXEnum());
+			WriteData(fid,'data',obj.mesh_y,'format','DoubleMat','mattype',1,'enum',MeshYEnum());
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/seaiceocean.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/seaiceocean.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/seaiceocean.m	(revision 18503)
@@ -37,5 +37,5 @@
 
 			%Turning angle in degrees (McPhee 1998)
-			obj.ocean_turning_angle = 25.;
+			obj.ocean_turning_angle = deg2rad(25.);
 
 		end % }}}
@@ -57,5 +57,5 @@
 			fielddisplay(obj,'ocean_lin_drag_coef','ocean linear drag coefficient [Pa/(m/s)]');
 			fielddisplay(obj,'ocean_quad_drag_coef','ocean quadratic drag coefficient [Pa/(m/s)^2]');
-			fielddisplay(obj,'ocean_turning_angle','ocean turning angle [degree]');
+			fielddisplay(obj,'ocean_turning_angle','ocean turning angle [rad]');
 			fielddisplay(obj,'ocean_ssh','ocean sea surface height [m]');
 			fielddisplay(obj,'ocean_vx','ocean speed x-component [m/s]');
Index: /issm/trunk-jpl/src/m/classes/timestepping.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 18502)
+++ /issm/trunk-jpl/src/m/classes/timestepping.m	(revision 18503)
@@ -12,4 +12,5 @@
 		cfl_coefficient = 0.;
 		interp_forcings = 1;
+		in_years        = 0;
 	end
 	methods
@@ -50,4 +51,7 @@
 			%should we interpolate forcings between timesteps?
 			obj.interp_forcings=1;
+
+			%In years by default
+			obj.in_years = 1;
 		end % }}}
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
@@ -66,19 +70,28 @@
 			disp(sprintf('   timestepping parameters:'));
 
-			fielddisplay(obj,'start_time','simulation starting time [yr]');
-			fielddisplay(obj,'final_time','final time to stop the simulation [yr]');
-			fielddisplay(obj,'time_step','length of time steps [yr]');
+			if(obj.in_years)
+				unit = 'yr';
+			else
+				unit = 's';
+			end
+			fielddisplay(obj,'start_time',['simulation starting time [' unit ']']);
+			fielddisplay(obj,'final_time',['final time to stop the simulation [' unit ']']);
+			fielddisplay(obj,'time_step',['length of time steps [' unit ']']);
 			fielddisplay(obj,'time_adapt','use cfl condition to define time step ? (0 or 1) ');
 			fielddisplay(obj,'cfl_coefficient','coefficient applied to cfl condition');
 			fielddisplay(obj,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)');
+			fielddisplay(obj,'in_years','time unit, 1: years, 0: seconds');
 
 		end % }}}
 		function marshall(obj,md,fid) % {{{
 
-			yts=365.0*24.0*3600.0;
-
-			WriteData(fid,'object',obj,'fieldname','start_time','format','Double','scale',yts);
-			WriteData(fid,'object',obj,'fieldname','final_time','format','Double','scale',yts);
-			WriteData(fid,'object',obj,'fieldname','time_step','format','Double','scale',yts);
+			if obj.in_years,
+				scale = 365.0*24.0*3600.0;
+			else
+				scale = 1.;
+			end
+			WriteData(fid,'object',obj,'fieldname','start_time','format','Double','scale',scale);
+			WriteData(fid,'object',obj,'fieldname','final_time','format','Double','scale',scale);
+			WriteData(fid,'object',obj,'fieldname','time_step','format','Double','scale',scale);
 			WriteData(fid,'object',obj,'fieldname','time_adapt','format','Boolean');
 			WriteData(fid,'object',obj,'fieldname','cfl_coefficient','format','Double');
Index: /issm/trunk-jpl/src/m/enum/ConstantsOmegaEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/ConstantsOmegaEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/ConstantsOmegaEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=ConstantsOmegaEnum()
+%CONSTANTSOMEGAENUM - Enum of ConstantsOmega
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=ConstantsOmegaEnum()
+
+macro=StringToEnum('ConstantsOmega');
Index: /issm/trunk-jpl/src/m/enum/DamageEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/DamageEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/DamageEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=DamageEnum()
+%DAMAGEENUM - Enum of Damage
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=DamageEnum()
+
+macro=StringToEnum('Damage');
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 18502)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 18503)
@@ -50,4 +50,5 @@
 def BaseEnum(): return StringToEnum("Base")[0]
 def ConstantsGEnum(): return StringToEnum("ConstantsG")[0]
+def ConstantsOmegaEnum(): return StringToEnum("ConstantsOmega")[0]
 def ConstantsReferencetemperatureEnum(): return StringToEnum("ConstantsReferencetemperature")[0]
 def ConstantsYtsEnum(): return StringToEnum("ConstantsYts")[0]
@@ -198,4 +199,5 @@
 def DamageEvolutionNumRequestedOutputsEnum(): return StringToEnum("DamageEvolutionNumRequestedOutputs")[0]
 def DamageEvolutionRequestedOutputsEnum(): return StringToEnum("DamageEvolutionRequestedOutputs")[0]
+def DamageEnum(): return StringToEnum("Damage")[0]
 def NewDamageEnum(): return StringToEnum("NewDamage")[0]
 def MaterialsRhoIceEnum(): return StringToEnum("MaterialsRhoIce")[0]
@@ -700,4 +702,7 @@
 def SeaiceThicknessEnum(): return StringToEnum("SeaiceThickness")[0]
 def SeaiceConcentrationEnum(): return StringToEnum("SeaiceConcentration")[0]
+def SeaiceMinConcentrationEnum(): return StringToEnum("SeaiceMinConcentration")[0]
+def SeaiceMinThicknessEnum(): return StringToEnum("SeaiceMinThickness")[0]
+def SeaiceMaxThicknessEnum(): return StringToEnum("SeaiceMaxThickness")[0]
 def SeaiceSpcvxEnum(): return StringToEnum("SeaiceSpcvx")[0]
 def SeaiceSpcvyEnum(): return StringToEnum("SeaiceSpcvy")[0]
@@ -720,5 +725,6 @@
 def MaterialsPoissonEnum(): return StringToEnum("MaterialsPoisson")[0]
 def MaterialsYoungModulusEnum(): return StringToEnum("MaterialsYoungModulus")[0]
-def MaterialsDamageEnum(): return StringToEnum("MaterialsDamage")[0]
+def MaterialsTimeRelaxationStressEnum(): return StringToEnum("MaterialsTimeRelaxationStress")[0]
+def MaterialsTimeRelaxationDamageEnum(): return StringToEnum("MaterialsTimeRelaxationDamage")[0]
 def MaterialsRidgingExponentEnum(): return StringToEnum("MaterialsRidgingExponent")[0]
 def MaterialsCohesionEnum(): return StringToEnum("MaterialsCohesion")[0]
@@ -728,3 +734,6 @@
 def VxStarEnum(): return StringToEnum("VxStar")[0]
 def VyStarEnum(): return StringToEnum("VyStar")[0]
+def StressTensorPredictorxxEnum(): return StringToEnum("StressTensorPredictorxx")[0]
+def StressTensorPredictoryyEnum(): return StringToEnum("StressTensorPredictoryy")[0]
+def StressTensorPredictorxyEnum(): return StringToEnum("StressTensorPredictorxy")[0]
 def MaximumNumberOfDefinitionsEnum(): return StringToEnum("MaximumNumberOfDefinitions")[0]
Index: sm/trunk-jpl/src/m/enum/MaterialsDamageEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaterialsDamageEnum.m	(revision 18502)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaterialsDamageEnum()
-%MATERIALSDAMAGEENUM - Enum of MaterialsDamage
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-%            Please read src/c/shared/Enum/README for more information
-%
-%   Usage:
-%      macro=MaterialsDamageEnum()
-
-macro=StringToEnum('MaterialsDamage');
Index: /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationDamageEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationDamageEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationDamageEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=MaterialsTimeRelaxationDamageEnum()
+%MATERIALSTIMERELAXATIONDAMAGEENUM - Enum of MaterialsTimeRelaxationDamage
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=MaterialsTimeRelaxationDamageEnum()
+
+macro=StringToEnum('MaterialsTimeRelaxationDamage');
Index: /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationStressEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationStressEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/MaterialsTimeRelaxationStressEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=MaterialsTimeRelaxationStressEnum()
+%MATERIALSTIMERELAXATIONSTRESSENUM - Enum of MaterialsTimeRelaxationStress
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=MaterialsTimeRelaxationStressEnum()
+
+macro=StringToEnum('MaterialsTimeRelaxationStress');
Index: /issm/trunk-jpl/src/m/enum/SeaiceMaxThicknessEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SeaiceMaxThicknessEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/SeaiceMaxThicknessEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=SeaiceMaxThicknessEnum()
+%SEAICEMAXTHICKNESSENUM - Enum of SeaiceMaxThickness
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SeaiceMaxThicknessEnum()
+
+macro=StringToEnum('SeaiceMaxThickness');
Index: /issm/trunk-jpl/src/m/enum/SeaiceMinConcentrationEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SeaiceMinConcentrationEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/SeaiceMinConcentrationEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=SeaiceMinConcentrationEnum()
+%SEAICEMINCONCENTRATIONENUM - Enum of SeaiceMinConcentration
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SeaiceMinConcentrationEnum()
+
+macro=StringToEnum('SeaiceMinConcentration');
Index: /issm/trunk-jpl/src/m/enum/SeaiceMinThicknessEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SeaiceMinThicknessEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/SeaiceMinThicknessEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=SeaiceMinThicknessEnum()
+%SEAICEMINTHICKNESSENUM - Enum of SeaiceMinThickness
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SeaiceMinThicknessEnum()
+
+macro=StringToEnum('SeaiceMinThickness');
Index: /issm/trunk-jpl/src/m/enum/StressTensorPredictorxxEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/StressTensorPredictorxxEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/StressTensorPredictorxxEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=StressTensorPredictorxxEnum()
+%STRESSTENSORPREDICTORXXENUM - Enum of StressTensorPredictorxx
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=StressTensorPredictorxxEnum()
+
+macro=StringToEnum('StressTensorPredictorxx');
Index: /issm/trunk-jpl/src/m/enum/StressTensorPredictorxyEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/StressTensorPredictorxyEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/StressTensorPredictorxyEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=StressTensorPredictorxyEnum()
+%STRESSTENSORPREDICTORXYENUM - Enum of StressTensorPredictorxy
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=StressTensorPredictorxyEnum()
+
+macro=StringToEnum('StressTensorPredictorxy');
Index: /issm/trunk-jpl/src/m/enum/StressTensorPredictoryyEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/StressTensorPredictoryyEnum.m	(revision 18503)
+++ /issm/trunk-jpl/src/m/enum/StressTensorPredictoryyEnum.m	(revision 18503)
@@ -0,0 +1,11 @@
+function macro=StressTensorPredictoryyEnum()
+%STRESSTENSORPREDICTORYYENUM - Enum of StressTensorPredictoryy
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=StressTensorPredictoryyEnum()
+
+macro=StringToEnum('StressTensorPredictoryy');
