Index: /issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 27322)
+++ /issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp	(revision 27323)
@@ -218,4 +218,7 @@
 			iomodel->FetchDataToInput(inputs,elements,"md.smb.dailytemperature",SmbDailytemperatureEnum);
 			break;
+		case SMBdebrisMLEnum:
+			iomodel->FetchDataToInput(inputs,elements,"md.initialization.debris",DebrisThicknessEnum);
+			break;
 		default:
 			_error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 27322)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 27323)
@@ -168,5 +168,4 @@
 	DebrisPackingFractionEnum,
 	DebugProfilingEnum,
-	DebrisThicknessEnum,
 	DomainDimensionEnum,
 	DomainTypeEnum,
@@ -720,4 +719,5 @@
 	DamageDbarOldEnum,
 	DamageFEnum,
+	DebrisThicknessEnum,
 	DegreeOfChannelizationEnum,
 	DepthBelowSurfaceEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 27322)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 27323)
@@ -176,5 +176,4 @@
 		case DebrisPackingFractionEnum : return "DebrisPackingFraction";
 		case DebugProfilingEnum : return "DebugProfiling";
-		case DebrisThicknessEnum : return "DebrisThickness";
 		case DomainDimensionEnum : return "DomainDimension";
 		case DomainTypeEnum : return "DomainType";
@@ -726,4 +725,5 @@
 		case DamageDbarOldEnum : return "DamageDbarOld";
 		case DamageFEnum : return "DamageF";
+		case DebrisThicknessEnum : return "DebrisThickness";
 		case DegreeOfChannelizationEnum : return "DegreeOfChannelization";
 		case DepthBelowSurfaceEnum : return "DepthBelowSurface";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 27322)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 27323)
@@ -179,5 +179,4 @@
 	      else if (strcmp(name,"DebrisPackingFraction")==0) return DebrisPackingFractionEnum;
 	      else if (strcmp(name,"DebugProfiling")==0) return DebugProfilingEnum;
-	      else if (strcmp(name,"DebrisThickness")==0) return DebrisThicknessEnum;
 	      else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum;
 	      else if (strcmp(name,"DomainType")==0) return DomainTypeEnum;
@@ -260,9 +259,9 @@
 	      else if (strcmp(name,"HydrologydcEplflipLock")==0) return HydrologydcEplflipLockEnum;
 	      else if (strcmp(name,"HydrologydcIsefficientlayer")==0) return HydrologydcIsefficientlayerEnum;
+	      else if (strcmp(name,"HydrologydcLeakageFactor")==0) return HydrologydcLeakageFactorEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"HydrologydcLeakageFactor")==0) return HydrologydcLeakageFactorEnum;
-	      else if (strcmp(name,"HydrologydcMaxIter")==0) return HydrologydcMaxIterEnum;
+	      if (strcmp(name,"HydrologydcMaxIter")==0) return HydrologydcMaxIterEnum;
 	      else if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum;
 	      else if (strcmp(name,"HydrologydcPenaltyLock")==0) return HydrologydcPenaltyLockEnum;
@@ -383,9 +382,9 @@
 	      else if (strcmp(name,"OceanGridY")==0) return OceanGridYEnum;
 	      else if (strcmp(name,"OutputBufferPointer")==0) return OutputBufferPointerEnum;
+	      else if (strcmp(name,"OutputBufferSizePointer")==0) return OutputBufferSizePointerEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"OutputBufferSizePointer")==0) return OutputBufferSizePointerEnum;
-	      else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum;
+	      if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum;
 	      else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum;
 	      else if (strcmp(name,"Outputdefinition")==0) return OutputdefinitionEnum;
@@ -506,9 +505,9 @@
 	      else if (strcmp(name,"SmbAccugrad")==0) return SmbAccugradEnum;
 	      else if (strcmp(name,"SmbAccuref")==0) return SmbAccurefEnum;
+	      else if (strcmp(name,"SmbAdThresh")==0) return SmbAdThreshEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"SmbAdThresh")==0) return SmbAdThreshEnum;
-	      else if (strcmp(name,"SmbARMATimestep")==0) return SmbARMATimestepEnum;
+	      if (strcmp(name,"SmbARMATimestep")==0) return SmbARMATimestepEnum;
 	      else if (strcmp(name,"SmbARMAarOrder")==0) return SmbARMAarOrderEnum;
 	      else if (strcmp(name,"SmbARMAmaOrder")==0) return SmbARMAmaOrderEnum;
@@ -629,9 +628,9 @@
 	      else if (strcmp(name,"TransientIsdebris")==0) return TransientIsdebrisEnum;
 	      else if (strcmp(name,"TransientIsesa")==0) return TransientIsesaEnum;
+	      else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;
-	      else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum;
+	      if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum;
 	      else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum;
 	      else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum;
@@ -741,4 +740,5 @@
 	      else if (strcmp(name,"DamageDbarOld")==0) return DamageDbarOldEnum;
 	      else if (strcmp(name,"DamageF")==0) return DamageFEnum;
+	      else if (strcmp(name,"DebrisThickness")==0) return DebrisThicknessEnum;
 	      else if (strcmp(name,"DegreeOfChannelization")==0) return DegreeOfChannelizationEnum;
 	      else if (strcmp(name,"DepthBelowSurface")==0) return DepthBelowSurfaceEnum;
Index: /issm/trunk-jpl/src/m/classes/SMBdebrisML.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBdebrisML.m	(revision 27322)
+++ /issm/trunk-jpl/src/m/classes/SMBdebrisML.m	(revision 27323)
@@ -1,8 +1,8 @@
-%SMBdebriscover Class definition
+%SMBdebrisML Class definition
 %
 %   Usage:
-%      SMBdebriscover=SMBdebriscover();
+%      SMBdebrisML=SMBdebrisML();
 
-classdef SMBdebriscover
+classdef SMBdebrisML
 	properties (SetAccess=public)
 		steps_per_step=1;
@@ -16,5 +16,5 @@
 				case 1
 					inputstruct=varargin{1};
-					list1 = properties('SMBdebriscover');
+					list1 = properties('SMBdebrisML');
 						list2 = fieldnames(inputstruct);
 						for i=1:length(list1)
Index: /issm/trunk-jpl/src/m/classes/debris.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/debris.m	(revision 27322)
+++ /issm/trunk-jpl/src/m/classes/debris.m	(revision 27323)
@@ -117,6 +117,6 @@
 		function disp(self) % {{{
 			disp(sprintf('   Debris solution parameters:'));
-			fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]');
-			fielddisplay(self,'min_thickness','minimum ice thickness allowed [m]');
+			fielddisplay(self,'spcthickness','debris thickness constraints (NaN means no constraint) [m]');
+			fielddisplay(self,'min_thickness','minimum debris thickness allowed [m]');
 			fielddisplay(self,'packingfraction','fraction of debris covered in the ice');
 			fielddisplay(self,'stabilization','0: no stabilization, 1: artificial diffusion, 2: streamline upwinding, 3: streamline upwind Petrov-Galerkin (SUPG)');
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 27322)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 27323)
@@ -35,4 +35,5 @@
 		groundingline    = 0;
 		hydrology        = 0;
+		debris		 = 0;
 		masstransport    = 0;
 		thermal          = 0;
@@ -235,4 +236,5 @@
 			disp(sprintf('%19s: %-22s -- %s','groundingline'   ,['[1x1 ' class(self.groundingline) ']'],'parameters for groundingline solution'));
 			disp(sprintf('%19s: %-22s -- %s','hydrology'       ,['[1x1 ' class(self.hydrology) ']'],'parameters for hydrology solution'));
+			disp(sprintf('%19s: %-22s -- %s','debris' 	   ,['[1x1 ' class(self.debris) ']'],'parameters for debris solution'));
 			disp(sprintf('%19s: %-22s -- %s','masstransport'   ,['[1x1 ' class(self.masstransport) ']'],'parameters for masstransport solution'));
 			disp(sprintf('%19s: %-22s -- %s','thermal'         ,['[1x1 ' class(self.thermal) ']'],'parameters for thermal solution'));
@@ -282,4 +284,5 @@
 			md.stressbalance    = stressbalance();
 			md.hydrology        = hydrologyshreve();
+			md.debris	    = debris();
 			md.masstransport    = masstransport();
 			md.thermal          = thermal();
@@ -425,4 +428,7 @@
 				md.initialization.watercolumn=project2d(md,md.initialization.watercolumn,1);
 			end
+			if ~isnan(md.initialization.debris),
+				md.initialization.debris=project2d(md,md.initialization.debris,1);
+			end
 
 
@@ -1185,4 +1191,5 @@
 			md.frontalforcings=extrude(md.frontalforcings,md);
 			md.hydrology = extrude(md.hydrology,md);
+			md.debris = extrude(md.debris,md);
 			md.solidearth = extrude(md.solidearth,md);
 			md.dsl = extrude(md.dsl,md);
