Index: /issm/trunk/src/m/classes/public/BasinConstrain.m
===================================================================
--- /issm/trunk/src/m/classes/public/BasinConstrain.m	(revision 1240)
+++ /issm/trunk/src/m/classes/public/BasinConstrain.m	(revision 1241)
@@ -27,5 +27,5 @@
 		%make sure that we actually don't want the elements outside the domain outline!
 		if strcmpi(domain(1),'~'),
-			domain=domain(2:length(domain));
+			domain=domain(2:end);
 			invert=1;
 		else
@@ -33,5 +33,5 @@
 		end
 		%ok, flag elements and nodes
-		[gridondomain elementondomain]=ContourToMesh(md.elements,md.x,md.y,expread(domain,1),'element and node',2);
+		[gridondomain elementondomain]=ContourToMesh(md.elements(:,1:3),md.x,md.y,expread(domain,1),'element and node',2);
 	end
 	if invert,
Index: /issm/trunk/src/m/classes/public/extrude.m
===================================================================
--- /issm/trunk/src/m/classes/public/extrude.m	(revision 1240)
+++ /issm/trunk/src/m/classes/public/extrude.m	(revision 1241)
@@ -18,10 +18,10 @@
 %some checks on list of arguments
 if ((nargin~=3) | (nargout~=1)),
-	extrudeusage();
+	help extrude;
 	error('extrude error message');
 end
 
 if md.counter<3,
-	extrudeusage();
+	help extrude;
 	error('only fully parameterized 2d models can be extruded');
 end
@@ -32,10 +32,10 @@
 
 if numlayers<2,
-	extrudeusage();
+	help extrude;
 	error('number of layers should be at least 2');
 end
 
 if extrusionexponent<0,
-	extrudeusage();
+	help extrude;
 	error('extrusionexponent must be >0');
 end
@@ -177,4 +177,6 @@
 md.elementonicesheet=project3d(md,md.elementonicesheet,'element');
 md.gridonicesheet=project3d(md,md.gridonicesheet,'node');
+md.elementonwater=project3d(md,md.elementonwater,'element');
+md.gridonwater=project3d(md,md.gridonwater,'node');
 
 %special for thermal modeling:
@@ -191,18 +193,7 @@
 %increase connectivity if less than 25:
 if md.connectivity<25,
-	md.connectivity=25;
+	md.connectivity=48;
 end
 
 %augment counter  keeping track of what has been done to this model
 md.counter=4;
-
-end
-
-function extrudeusage(),
-disp('INPUT function md=extrude(md,numlayers,extrusionexponent) ');
-disp('     vertically extrude a 2d mesh and create corresponding 3d mesh,  ');
-disp('     the vertical distribution follows a polynomial law:');
-disp('          extrusionexponent>1  refinement at the base');
-disp('        0<extrusionexponent<1  refinement at the surface');
-disp('          extrusionexponent=1  linear extrusion');
-end
Index: /issm/trunk/src/m/classes/public/modelextract.m
===================================================================
--- /issm/trunk/src/m/classes/public/modelextract.m	(revision 1240)
+++ /issm/trunk/src/m/classes/public/modelextract.m	(revision 1241)
@@ -21,7 +21,12 @@
 %some checks on list of arguments
 if ((nargin~=2) | (nargout~=1)),
-	error('modelextract error message');
-end
-package='Ice';
+	help modelextract
+	error('modelextract error message: bad usage');
+end
+if strcmpi(md.type,'3d'),
+	error('modelextract error message: only 2d model supported yet. Use BasinConstrain instead');
+end
+
+
 
 %first
