Index: /issm/trunk-jpl/src/m/classes/geometry.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/geometry.m	(revision 17590)
@@ -8,7 +8,27 @@
 		surface           = NaN;
 		thickness         = NaN;
+		base              = NaN;
 		bed               = NaN;
-		bathymetry        = NaN;
 		hydrostatic_ratio = NaN;
+	end
+	methods (Static)
+		function obj = loadobj(obj) % {{{
+			% This function is directly called by matlab when a model object is
+			% loaded. Update old properties here
+
+			%2014 March 26th
+			if isstruct(obj),
+				disp('WARNING: updating geometry');
+				disp('         md.geometry.bed        is now md.geometry.base');
+				disp('         md.geometry.bathymetry is now md.geometry.bed');
+				obj2=obj;
+				obj=geometry();
+				obj.surface    = obj2.surface;
+				obj.thickness  = obj2.thickness;
+				obj.base       = obj2.bed;
+				obj.bed        = obj2.bathymetry;
+			end
+
+		end% }}}
 	end
 	methods
@@ -30,11 +50,11 @@
 			else
 				md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
-				md = checkfield(md,'fieldname','geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0);
-				if any((obj.thickness-obj.surface+obj.bed)>10^-9),
-					md = checkmessage(md,['equality thickness=surface-bed violated']);
+				if any((obj.thickness-obj.surface+obj.base)>10^-9),
+					md = checkmessage(md,['equality thickness=surface-base violated']);
 				end 
 				if solution==TransientSolutionEnum() & md.transient.isgroundingline,
-					md = checkfield(md,'fieldname','geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices 1]);
+					md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices 1]);
 				end
 			end
@@ -43,9 +63,8 @@
 			disp(sprintf('   geometry parameters:'));
 
-			fielddisplay(obj,'surface','surface elevation [m]');
+			fielddisplay(obj,'surface','ice upper surface elevation [m]');
 			fielddisplay(obj,'thickness','ice thickness [m]');
+			fielddisplay(obj,'base','ice base elevation [m]');
 			fielddisplay(obj,'bed','bed elevation [m]');
-			fielddisplay(obj,'bathymetry','bathymetry elevation [m]');
-			fielddisplay(obj,'hydrostatic_ratio','coefficient for ice shelves'' thickness correction: hydrostatic_ratio H_obs+ (1-hydrostatic_ratio) H_hydro');
 
 		end % }}}
@@ -53,6 +72,6 @@
 			WriteData(fid,'data',obj.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum());
 			WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1);
-			WriteData(fid,'data',obj.bed,'format','DoubleMat','mattype',1,'enum',BaseEnum());
-			WriteData(fid,'data',obj.bathymetry,'format','DoubleMat','mattype',1,'enum',BedEnum());
+			WriteData(fid,'data',obj.base,'format','DoubleMat','mattype',1,'enum',BaseEnum());
+			WriteData(fid,'data',obj.bed,'format','DoubleMat','mattype',1,'enum',BedEnum());
 			WriteData(fid,'object',obj,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1);
 		end % }}}
Index: /issm/trunk-jpl/src/m/classes/geometry.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/geometry.py	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/geometry.py	(revision 17590)
@@ -15,6 +15,6 @@
 		self.surface           = float('NaN')
 		self.thickness         = float('NaN')
-		self.bed               = float('NaN')
-		self.bathymetry        = float('NaN')
+		self.base               = float('NaN')
+		self.bed        = float('NaN')
 		self.hydrostatic_ratio = float('NaN')
 
@@ -26,9 +26,8 @@
 
 		string="   geometry parameters:"
-		string="%s\n%s"%(string,fielddisplay(self,'surface','surface elevation [m]'))
+		string="%s\n%s"%(string,fielddisplay(self,'surface','ice upper surface elevation [m]'))
 		string="%s\n%s"%(string,fielddisplay(self,'thickness','ice thickness [m]'))
+		string="%s\n%s"%(string,fielddisplay(self,'base','ice base elevation [m]'))
 		string="%s\n%s"%(string,fielddisplay(self,'bed','bed elevation [m]'))
-		string="%s\n%s"%(string,fielddisplay(self,'bathymetry','bathymetry elevation [m]'))
-		string="%s\n%s"%(string,fielddisplay(self,'hydrostatic_ratio','coefficient for ice shelves'' thickness correction: hydrostatic_ratio H_obs+ (1-hydrostatic_ratio) H_hydro'))
 		return string
 		#}}}
@@ -39,10 +38,10 @@
 
 		md = checkfield(md,'fieldname','geometry.surface'  ,'NaN',1,'size',[md.mesh.numberofvertices])
-		md = checkfield(md,'fieldname','geometry.bed'      ,'NaN',1,'size',[md.mesh.numberofvertices])
+		md = checkfield(md,'fieldname','geometry.base'      ,'NaN',1,'size',[md.mesh.numberofvertices])
 		md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1)
-		if any((self.thickness-self.surface+self.bed)>10**-9):
-			md.checkmessage("equality thickness=surface-bed violated")
+		if any((self.thickness-self.surface+self.base)>10**-9):
+			md.checkmessage("equality thickness=surface-base violated")
 		if solution==TransientSolutionEnum() and md.transient.isgroundingline:
-			md = checkfield(md,'fieldname','geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices])
+			md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices])
 
 		return md
@@ -51,6 +50,6 @@
 		WriteData(fid,'data',self.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum())
 		WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1)
-		WriteData(fid,'data',self.bed,'format','DoubleMat','mattype',1,'enum',BaseEnum())
-		WriteData(fid,'data',self.bathymetry,'format','DoubleMat','mattype',1,'enum',BedEnum())
+		WriteData(fid,'data',self.base,'format','DoubleMat','mattype',1,'enum',BaseEnum())
+		WriteData(fid,'data',self.bed,'format','DoubleMat','mattype',1,'enum',BedEnum())
 		WriteData(fid,'object',self,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1)
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/groundingline.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/groundingline.m	(revision 17590)
@@ -32,12 +32,12 @@
 
 			if ~strcmp(obj.migration,'None'),
-				if isnan(md.geometry.bathymetry),
+				if isnan(md.geometry.bed),
 					md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']);
 				end
 				pos=find(md.mask.groundedice_levelset>0.);
-				if any(abs(md.geometry.bed(pos)-md.geometry.bathymetry(pos))>10^-10),
+				if any(abs(md.geometry.base(pos)-md.geometry.bed(pos))>10^-10),
 					md = checkmessage(md,['bathymetry not equal to bed on grounded ice!']);
 				end
-				if any(md.geometry.bathymetry - md.geometry.bed > 10^-9),
+				if any(md.geometry.bed - md.geometry.base > 10^-9),
 					md = checkmessage(md,['bathymetry superior to bed on floating ice!']);
 				end
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 17590)
@@ -45,10 +45,10 @@
 
 		if not m.strcmp(self.migration,'None'):
-			if numpy.any(numpy.isnan(md.geometry.bathymetry)):
+			if numpy.any(numpy.isnan(md.geometry.bed)):
 				md.checkmessage("requesting grounding line migration, but bathymetry is absent!")
 			pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0]
-			if any(numpy.abs(md.geometry.bed[pos]-md.geometry.bathymetry[pos])>10**-10):
+			if any(numpy.abs(md.geometry.base[pos]-md.geometry.bed[pos])>10**-10):
 				md.checkmessage("bathymetry not equal to bed on grounded ice!")
-			if any(md.geometry.bathymetry - md.geometry.bed > 10**-9):
+			if any(md.geometry.bed - md.geometry.base > 10**-9):
 				md.checkmessage("bathymetry superior to bed on floating ice!")
 
Index: /issm/trunk-jpl/src/m/classes/mesh3dprisms.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/mesh3dprisms.m	(revision 17590)
@@ -87,5 +87,5 @@
 			md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
 			md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
-			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.bed-10^-10,'message','''mesh.z'' lower than bedrock');
+			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock');
 			md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
 			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
Index: /issm/trunk-jpl/src/m/classes/mesh3dtetras.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dtetras.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/mesh3dtetras.m	(revision 17590)
@@ -83,5 +83,5 @@
 			md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]);
 			md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]);
-			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.bed-10^-10,'message','''mesh.z'' lower than bedrock');
+			md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock');
 			md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation');
 			md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 17590)
@@ -232,6 +232,6 @@
 			md.geometry.surface=project2d(md,md.geometry.surface,1);
 			md.geometry.thickness=project2d(md,md.geometry.thickness,1);
+			md.geometry.base=project2d(md,md.geometry.base,1);
 			md.geometry.bed=project2d(md,md.geometry.bed,1);
-			md.geometry.bathymetry=project2d(md,md.geometry.bathymetry,1);
 			md.mesh.vertexonboundary=project2d(md,md.mesh.vertexonboundary,1);
 			md.mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1);
@@ -637,5 +637,5 @@
 			z3d=[];  %the lower node is on the bed
 			thickness3d=md.geometry.thickness; %thickness and bed for these nodes
-			bed3d=md.geometry.bed;
+			bed3d=md.geometry.base;
 
 			%Create the new layers
@@ -656,18 +656,18 @@
 
 			%Keep a trace of lower and upper nodes
-			mesh.lowervertex=NaN*ones(number_nodes3d,1);
-			mesh.uppervertex=NaN*ones(number_nodes3d,1);
-			mesh.lowervertex(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices;
-			mesh.uppervertex(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d;
-			md.mesh.lowervertex=mesh.lowervertex;
-			md.mesh.uppervertex=mesh.uppervertex;
+			lowervertex=NaN*ones(number_nodes3d,1);
+			uppervertex=NaN*ones(number_nodes3d,1);
+			lowervertex(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices;
+			uppervertex(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d;
+			md.mesh.lowervertex=lowervertex;
+			md.mesh.uppervertex=uppervertex;
 
 			%same for lower and upper elements
-			mesh.lowerelements=NaN*ones(number_el3d,1);
-			mesh.upperelements=NaN*ones(number_el3d,1);
-			mesh.lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements;
-			mesh.upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements;
-			md.mesh.lowerelements=mesh.lowerelements;
-			md.mesh.upperelements=mesh.upperelements;
+			lowerelements=NaN*ones(number_el3d,1);
+			upperelements=NaN*ones(number_el3d,1);
+			lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements;
+			upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements;
+			md.mesh.lowerelements=lowerelements;
+			md.mesh.upperelements=upperelements;
 
 			%Save old mesh 
@@ -793,6 +793,6 @@
 			md.gia.lithosphere_thickness=project3d(md,'vector',md.gia.lithosphere_thickness,'type','node');
 			md.geometry.hydrostatic_ratio=project3d(md,'vector',md.geometry.hydrostatic_ratio,'type','node');
+			md.geometry.base=project3d(md,'vector',md.geometry.base,'type','node');
 			md.geometry.bed=project3d(md,'vector',md.geometry.bed,'type','node');
-			md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node');
 			md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node');
 			md.mask.groundedice_levelset=project3d(md,'vector',md.mask.groundedice_levelset,'type','node');
@@ -925,7 +925,7 @@
 			if isfield(structmd,'watercolumn'), md.initialization.watercolumn=structmd.watercolumn; end
 			if isfield(structmd,'surface'), md.geometry.surface=structmd.surface; end
-			if isfield(structmd,'bed'), md.geometry.bed=structmd.bed; end
+			if isfield(structmd,'bed'), md.geometry.base=structmd.bed; end
 			if isfield(structmd,'thickness'), md.geometry.thickness=structmd.thickness; end
-			if isfield(structmd,'bathymetry'), md.geometry.bathymetry=structmd.bathymetry; end
+			if isfield(structmd,'bathymetry'), md.geometry.bed=structmd.bathymetry; end
 			if isfield(structmd,'thickness_coeff'), md.geometry.hydrostatic_ratio=structmd.thickness_coeff; end
 			if isfield(structmd,'connectivity'), md.mesh.average_vertex_connectivity=structmd.connectivity; end
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 17589)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 17590)
@@ -528,5 +528,5 @@
 		z3d=numpy.empty((0))    #the lower node is on the bed
 		thickness3d=md.geometry.thickness    #thickness and bed for these nodes
-		bed3d=md.geometry.bed
+		bed3d=md.geometry.base
 
 		#Create the new layers
@@ -545,18 +545,18 @@
 
 		#Keep a trace of lower and upper nodes
-		mesh.lowervertex=-1*numpy.ones(number_nodes3d,int)
-		mesh.uppervertex=-1*numpy.ones(number_nodes3d,int)
-		mesh.lowervertex[md.mesh.numberofvertices:]=numpy.arange(1,(numlayers-1)*md.mesh.numberofvertices+1)
-		mesh.uppervertex[:(numlayers-1)*md.mesh.numberofvertices]=numpy.arange(md.mesh.numberofvertices+1,number_nodes3d+1)
-		md.mesh.lowervertex=mesh.lowervertex
-		md.mesh.uppervertex=mesh.uppervertex
+		lowervertex=-1*numpy.ones(number_nodes3d,int)
+		uppervertex=-1*numpy.ones(number_nodes3d,int)
+		lowervertex[md.mesh.numberofvertices:]=numpy.arange(1,(numlayers-1)*md.mesh.numberofvertices+1)
+		uppervertex[:(numlayers-1)*md.mesh.numberofvertices]=numpy.arange(md.mesh.numberofvertices+1,number_nodes3d+1)
+		md.mesh.lowervertex=lowervertex
+		md.mesh.uppervertex=uppervertex
 
 		#same for lower and upper elements
-		mesh.lowerelements=-1*numpy.ones(number_el3d,int)
-		mesh.upperelements=-1*numpy.ones(number_el3d,int)
-		mesh.lowerelements[md.mesh.numberofelements:]=numpy.arange(1,(numlayers-2)*md.mesh.numberofelements+1)
-		mesh.upperelements[:(numlayers-2)*md.mesh.numberofelements]=numpy.arange(md.mesh.numberofelements+1,(numlayers-1)*md.mesh.numberofelements+1)
-		md.mesh.lowerelements=mesh.lowerelements
-		md.mesh.upperelements=mesh.upperelements
+		lowerelements=-1*numpy.ones(number_el3d,int)
+		upperelements=-1*numpy.ones(number_el3d,int)
+		lowerelements[md.mesh.numberofelements:]=numpy.arange(1,(numlayers-2)*md.mesh.numberofelements+1)
+		upperelements[:(numlayers-2)*md.mesh.numberofelements]=numpy.arange(md.mesh.numberofelements+1,(numlayers-1)*md.mesh.numberofelements+1)
+		md.mesh.lowerelements=lowerelements
+		md.mesh.upperelements=upperelements
 
 		#Save old mesh 
@@ -674,6 +674,6 @@
 		md.gia.lithosphere_thickness=project3d(md,'vector',md.gia.lithosphere_thickness,'type','node')
 		md.geometry.hydrostatic_ratio=project3d(md,'vector',md.geometry.hydrostatic_ratio,'type','node')
+		md.geometry.base=project3d(md,'vector',md.geometry.base,'type','node')
 		md.geometry.bed=project3d(md,'vector',md.geometry.bed,'type','node')
-		md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node')
 		md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node')
 		md.mask.ice_levelset=project3d(md,'vector',md.mask.ice_levelset,'type','node')
Index: /issm/trunk-jpl/src/m/contrib/hydrology/effectivepressure.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/hydrology/effectivepressure.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/contrib/hydrology/effectivepressure.m	(revision 17590)
@@ -8,5 +8,5 @@
 %      Neff=effectivepressure(md)
 
-Neff=md.materials.rho_ice*md.constants.g*md.geometry.thickness+md.materials.rho_ice*md.constants.g*md.geometry.bed;
+Neff=md.materials.rho_ice*md.constants.g*md.geometry.thickness+md.materials.rho_ice*md.constants.g*md.geometry.base;
 pos=find(Neff<0);
 Neff(pos)=0;
Index: /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m
===================================================================
--- /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m	(revision 17590)
@@ -75,3 +75,3 @@
 md.geometry.thickness=thickness;
 md.geometry.hydrostatic_ratio=hydrostatic_ratio;
-md.geometry.bed=md.geometry.surface-md.geometry.thickness;
+md.geometry.base=md.geometry.surface-md.geometry.thickness;
Index: /issm/trunk-jpl/src/m/interp/ProfileValues.m
===================================================================
--- /issm/trunk-jpl/src/m/interp/ProfileValues.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/interp/ProfileValues.m	(revision 17590)
@@ -11,5 +11,5 @@
 %Get bed and surface for each 2d point, offset to make sure that it is inside the glacier system
 offset=10^-3;
-bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.bed,1),xprof,yprof)+offset;
+bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.base,1),xprof,yprof)+offset;
 surface=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.surface,1),xprof,yprof)-offset;
 
Index: /issm/trunk-jpl/src/m/interp/SectionValues.m
===================================================================
--- /issm/trunk-jpl/src/m/interp/SectionValues.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/interp/SectionValues.m	(revision 17590)
@@ -94,5 +94,5 @@
 	%Get bed and surface for each 2d point, offset to make sure that it is inside the glacier system
 	offset=10^-3;
-	bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.bed,1),X,Y)+offset;
+	bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.base,1),X,Y)+offset;
 	surface=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.surface,1),X,Y)-offset;
 
Index: /issm/trunk-jpl/src/m/mech/basalstress.m
===================================================================
--- /issm/trunk-jpl/src/m/mech/basalstress.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/mech/basalstress.m	(revision 17590)
@@ -17,5 +17,5 @@
 
 %compute basal drag
-bx=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
-by=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
-b=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
+bx=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*ubx.^s;
+by=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*uby.^s;
+b=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*ub.^s;
Index: /issm/trunk-jpl/src/m/plot/plot_basaldrag.m
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_basaldrag.m	(revision 17589)
+++ /issm/trunk-jpl/src/m/plot/plot_basaldrag.m	(revision 17590)
@@ -30,5 +30,5 @@
 
 %compute basal drag
-drag=(max(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
+drag=(max(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
 
 %Figure out if this is a Section plot
Index: /issm/trunk-jpl/test/NightlyRun/test217.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test217.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test217.m	(revision 17590)
@@ -22,6 +22,6 @@
 h=1000;
 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity and pressure
Index: /issm/trunk-jpl/test/NightlyRun/test217.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test217.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test217.py	(revision 17590)
@@ -34,6 +34,6 @@
 h=1000.
 md.geometry.thickness=h*ones((md.mesh.numberofvertices,1))
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 # Initial velocity and pressure
Index: /issm/trunk-jpl/test/NightlyRun/test218.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test218.m	(revision 17590)
@@ -19,6 +19,6 @@
 h=1000;
 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity and pressure
Index: /issm/trunk-jpl/test/NightlyRun/test223.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test223.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test223.m	(revision 17590)
@@ -3,5 +3,5 @@
 md=parameterize(md,'../Par/SquareShelf.par');
 md=setflowequation(md,'SSA','all');
-md.geometry.bed=md.geometry.bed+50.; md.geometry.surface=md.geometry.surface+50.;
+md.geometry.base=md.geometry.base+50.; md.geometry.surface=md.geometry.surface+50.;
 md.cluster=generic('name',oshostname(),'np',1);
 md.masstransport.hydrostatic_adjustment='Incremental';
Index: /issm/trunk-jpl/test/NightlyRun/test223.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test223.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test223.py	(revision 17590)
@@ -12,5 +12,5 @@
 md=parameterize(md,'../Par/SquareShelf.py')
 md=setflowequation(md,'SSA','all')
-md.geometry.bed=md.geometry.bed+50.
+md.geometry.base=md.geometry.base+50.
 md.geometry.surface=md.geometry.surface+50.
 md.cluster=generic('name',oshostname(),'np',1)
Index: /issm/trunk-jpl/test/NightlyRun/test225.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test225.m	(revision 17590)
@@ -2,5 +2,5 @@
 md=setmask(md,'all','');
 md=parameterize(md,'../Par/SquareShelf.par');
-md.geometry.bed=md.geometry.bed+50.; md.geometry.surface=md.geometry.surface+50.;
+md.geometry.base=md.geometry.base+50.; md.geometry.surface=md.geometry.surface+50.;
 md=extrude(md,3,1.);
 md=setflowequation(md,'HO','all');
Index: /issm/trunk-jpl/test/NightlyRun/test225.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test225.py	(revision 17590)
@@ -11,5 +11,5 @@
 md=setmask(md,'all','')
 md=parameterize(md,'../Par/SquareShelf.py')
-md.geometry.bed=md.geometry.bed+50.
+md.geometry.base=md.geometry.base+50.
 md.geometry.surface=md.geometry.surface+50.
 md.extrude(3,1.)
Index: /issm/trunk-jpl/test/NightlyRun/test3015.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3015.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test3015.m	(revision 17590)
@@ -38,6 +38,6 @@
 md.autodiff.isautodiff=false;
 md.geometry.thickness(index)=h0;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
@@ -49,6 +49,6 @@
 md.autodiff.isautodiff=false;
 md.geometry.thickness(index)=h2;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
@@ -63,6 +63,6 @@
 md.autodiff.isautodiff=true;
 md.geometry.thickness(index)=h1;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
Index: /issm/trunk-jpl/test/NightlyRun/test3015.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3015.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test3015.py	(revision 17590)
@@ -52,6 +52,6 @@
 md.autodiff.isautodiff=False
 md.geometry.thickness[index]=h0
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
@@ -63,6 +63,6 @@
 md.autodiff.isautodiff=False
 md.geometry.thickness[index]=h2
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
@@ -77,6 +77,6 @@
 md.autodiff.isautodiff=True
 md.geometry.thickness[index]=h1
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
Index: /issm/trunk-jpl/test/NightlyRun/test3020.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3020.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test3020.m	(revision 17590)
@@ -40,6 +40,6 @@
 md.autodiff.isautodiff=false;
 md.geometry.thickness(index)=h0;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
@@ -52,6 +52,6 @@
 md.autodiff.isautodiff=false;
 md.geometry.thickness(index)=h2;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
@@ -68,6 +68,6 @@
 md.autodiff.isautodiff=true;
 md.geometry.thickness(index)=h1;
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=SetIceShelfBC(md);
 
Index: /issm/trunk-jpl/test/NightlyRun/test3020.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test3020.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test3020.py	(revision 17590)
@@ -54,6 +54,6 @@
 md.autodiff.isautodiff=False
 md.geometry.thickness[index]=h0
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
@@ -66,6 +66,6 @@
 md.autodiff.isautodiff=False
 md.geometry.thickness[index]=h2
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
@@ -82,6 +82,6 @@
 md.autodiff.isautodiff=True
 md.geometry.thickness[index]=h1
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=SetIceShelfBC(md)
 
Index: /issm/trunk-jpl/test/NightlyRun/test423.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test423.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test423.m	(revision 17590)
@@ -34,5 +34,5 @@
 vel_soft=(md.results.TransientSolution.Vel);
 
-md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.bathymetry;
+md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.base;
 md.groundingline.migration='SubelementMigration';
 md=solve(md,TransientSolutionEnum());
Index: /issm/trunk-jpl/test/NightlyRun/test423.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test423.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test423.py	(revision 17590)
@@ -45,5 +45,5 @@
 vel_soft=md.results.TransientSolution[0].Vel
 
-md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.bathymetry
+md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.base
 md.groundingline.migration='SubelementMigration'
 md=solve(md,TransientSolutionEnum())
Index: /issm/trunk-jpl/test/NightlyRun/test424.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test424.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test424.m	(revision 17590)
@@ -5,8 +5,8 @@
 md.initialization.vx(:)=0.;
 md.initialization.vy(:)=0.;
-md.geometry.bed=-700.-abs(md.mesh.y-500000.)/1000.;
-md.geometry.bathymetry=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
 md.geometry.thickness(:)=1000.;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md.surfaceforcings.mass_balance(:)=100.;
 md.transient.isstressbalance=0;
Index: /issm/trunk-jpl/test/NightlyRun/test424.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test424.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test424.py	(revision 17590)
@@ -15,8 +15,8 @@
 md.initialization.vx[:]=0.
 md.initialization.vy[:]=0.
-md.geometry.bed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
-md.geometry.bathymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
 md.geometry.thickness[:]=1000.
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md.surfaceforcings.mass_balance[:]=100.
 md.transient.isstressbalance=False
Index: /issm/trunk-jpl/test/NightlyRun/test425.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test425.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test425.m	(revision 17590)
@@ -5,8 +5,8 @@
 md.initialization.vx(:)=0.;
 md.initialization.vy(:)=0.;
-md.geometry.bed=-700.-abs(md.mesh.y-500000.)/1000.;
-md.geometry.bathymetry=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
 md.geometry.thickness(:)=1300.;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md.surfaceforcings.mass_balance(:)=-150.;
 md.transient.isstressbalance=0;
Index: /issm/trunk-jpl/test/NightlyRun/test425.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test425.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test425.py	(revision 17590)
@@ -15,8 +15,8 @@
 md.initialization.vx[:]=0.
 md.initialization.vy[:]=0.
-md.geometry.bed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
-md.geometry.bathymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
 md.geometry.thickness[:]=1300.
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md.surfaceforcings.mass_balance[:]=-150.
 md.transient.isstressbalance=False
Index: /issm/trunk-jpl/test/NightlyRun/test426.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test426.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test426.m	(revision 17590)
@@ -4,8 +4,8 @@
 md.initialization.vx(:)=0.;
 md.initialization.vy(:)=0.;
-md.geometry.bed=-700.-abs(md.mesh.y-500000.)/1000.;
-md.geometry.bathymetry=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
 md.geometry.thickness(:)=1000.;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md.surfaceforcings.mass_balance(:)=100.;
 md=extrude(md,3,1.);
Index: /issm/trunk-jpl/test/NightlyRun/test426.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test426.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test426.py	(revision 17590)
@@ -14,8 +14,8 @@
 md.initialization.vx[:]=0.
 md.initialization.vy[:]=0.
-md.geometry.bed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
-md.geometry.bathymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
 md.geometry.thickness[:]=1000.
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md.surfaceforcings.mass_balance[:]=100.
 md.extrude(3,1.);
Index: /issm/trunk-jpl/test/NightlyRun/test427.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test427.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test427.m	(revision 17590)
@@ -4,8 +4,8 @@
 md.initialization.vx(:)=0.;
 md.initialization.vy(:)=0.;
-md.geometry.bed=-700.-abs(md.mesh.y-500000.)/1000.;
-md.geometry.bathymetry=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
+md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.;
 md.geometry.thickness(:)=1300;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=setflowequation(md,'SSA','all');
 md=extrude(md,3,1.);
Index: /issm/trunk-jpl/test/NightlyRun/test427.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test427.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test427.py	(revision 17590)
@@ -14,8 +14,8 @@
 md.initialization.vx[:]=0.
 md.initialization.vy[:]=0.
-md.geometry.bed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
-md.geometry.bathymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
+md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.
 md.geometry.thickness[:]=1300
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md=setflowequation(md,'SSA','all')
 md.extrude(3,1.)
Index: /issm/trunk-jpl/test/NightlyRun/test435.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test435.m	(revision 17590)
@@ -5,10 +5,10 @@
 md.initialization.vy(:)=1.;
 md.geometry.thickness(:)=500-md.mesh.x/10000;
-md.geometry.bathymetry=-100-md.mesh.x/1000;
-md.geometry.bed=-md.geometry.thickness*md.materials.rho_ice/md.materials.rho_water;
-md.mask.groundedice_levelset=md.geometry.thickness+md.materials.rho_water/md.materials.rho_ice*md.geometry.bathymetry;
+md.geometry.base=-100-md.mesh.x/1000;
+md.geometry.base=-md.geometry.thickness*md.materials.rho_ice/md.materials.rho_water;
+md.mask.groundedice_levelset=md.geometry.thickness+md.materials.rho_water/md.materials.rho_ice*md.geometry.base;
 pos=find(md.mask.groundedice_levelset>=0);
-md.geometry.bed(pos)=md.geometry.bathymetry(pos);
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base(pos)=md.geometry.base(pos);
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=extrude(md,4,1.);
 md=setflowequation(md,'HO','all');
Index: /issm/trunk-jpl/test/NightlyRun/test511.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test511.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test511.m	(revision 17590)
@@ -4,6 +4,6 @@
 
 %impose hydrostatic equilibrium (required by Stokes)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 md=extrude(md,3,1.);
 md=setflowequation(md,'FS','all');
Index: /issm/trunk-jpl/test/NightlyRun/test511.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test511.py	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test511.py	(revision 17590)
@@ -14,6 +14,6 @@
 
 #impose hydrostatic equilibrium (required by Stokes)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 md.extrude(3,1.)
 md=setflowequation(md,'FS','all')
Index: /issm/trunk-jpl/test/NightlyRun/test701.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test701.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test701.m	(revision 17590)
@@ -7,6 +7,6 @@
 %Geometry
 md.geometry.surface   = interp1(x,b+h,md.mesh.x);
-md.geometry.bed       = interp1(x,b,md.mesh.x);
-md.geometry.thickness = md.geometry.surface-md.geometry.bed;
+md.geometry.base       = interp1(x,b,md.mesh.x);
+md.geometry.thickness = md.geometry.surface-md.geometry.base;
 
 %mask
Index: /issm/trunk-jpl/test/NightlyRun/test702.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test702.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test702.m	(revision 17590)
@@ -11,6 +11,6 @@
 %parameterize
 md.geometry.surface   = interp1(x,b+h,md.mesh.x);
-md.geometry.bed       = interp1(x,b,md.mesh.x);
-md.geometry.thickness = md.geometry.surface-md.geometry.bed;
+md.geometry.base       = interp1(x,b,md.mesh.x);
+md.geometry.thickness = md.geometry.surface-md.geometry.base;
 md.mask.ice_levelset = - ones(md.mesh.numberofvertices,1);
 md.mask.ice_levelset(find(vertexflags(md.mesh,2))) = 0;
Index: /issm/trunk-jpl/test/NightlyRun/test703.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 17589)
+++ /issm/trunk-jpl/test/NightlyRun/test703.m	(revision 17590)
@@ -11,6 +11,6 @@
 %parameterize
 md.geometry.surface   = interp1(x,b+h,md.mesh.x);
-md.geometry.bed       = interp1(x,b,md.mesh.x);
-md.geometry.thickness = md.geometry.surface-md.geometry.bed;
+md.geometry.base       = interp1(x,b,md.mesh.x);
+md.geometry.thickness = md.geometry.surface-md.geometry.base;
 md.mask.ice_levelset  = - ones(md.mesh.numberofvertices,1);
 md.mask.ice_levelset(find(vertexflags(md.mesh,2))) = 0;
Index: /issm/trunk-jpl/test/Par/79North.par
===================================================================
--- /issm/trunk-jpl/test/Par/79North.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/79North.par	(revision 17590)
@@ -13,5 +13,5 @@
 md.geometry.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y);
 md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y);
-md.geometry.bed=md.geometry.surface-md.geometry.thickness;
+md.geometry.base=md.geometry.surface-md.geometry.thickness;
 clear surface thickness vx vy x y index;
 
Index: /issm/trunk-jpl/test/Par/79North.py
===================================================================
--- /issm/trunk-jpl/test/Par/79North.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/79North.py	(revision 17590)
@@ -25,5 +25,5 @@
 [md.geometry.surface]   = InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y)
 [md.geometry.thickness] = InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y)
-md.geometry.bed         = md.geometry.surface-md.geometry.thickness
+md.geometry.base         = md.geometry.surface-md.geometry.thickness
 
 #Materials
Index: /issm/trunk-jpl/test/Par/GiaBenchmarksAB.par
===================================================================
--- /issm/trunk-jpl/test/Par/GiaBenchmarksAB.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/GiaBenchmarksAB.par	(revision 17590)
@@ -11,6 +11,6 @@
 end
 md.geometry.thickness=md.geometry.thickness';
-md.geometry.bed=zeros(md.mesh.numberofvertices,1); 
-md.geometry.surface=md.geometry.thickness+md.geometry.bed; 
+md.geometry.base=zeros(md.mesh.numberofvertices,1); 
+md.geometry.surface=md.geometry.thickness+md.geometry.base; 
 
 %Ice density used for benchmarking, not 917 kg/m^3
Index: /issm/trunk-jpl/test/Par/GiaBenchmarksCD.par
===================================================================
--- /issm/trunk-jpl/test/Par/GiaBenchmarksCD.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/GiaBenchmarksCD.par	(revision 17590)
@@ -11,6 +11,6 @@
 end
 md.geometry.thickness=md.geometry.thickness';
-md.geometry.bed=zeros(md.mesh.numberofvertices,1); 
-md.geometry.surface=md.geometry.thickness+md.geometry.bed; 
+md.geometry.base=zeros(md.mesh.numberofvertices,1); 
+md.geometry.surface=md.geometry.thickness+md.geometry.base; 
 
 %Ice density used for benchmarking, not 917 kg/m^3
Index: /issm/trunk-jpl/test/Par/ISMIPA.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPA.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPA.par	(revision 17590)
@@ -3,6 +3,6 @@
 disp('      creating thickness');
 md.geometry.surface=-md.mesh.x*tan(0.5*pi/180.);
-md.geometry.bed=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x));
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+md.geometry.base=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x));
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/ISMIPA.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPA.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPA.py	(revision 17590)
@@ -6,6 +6,6 @@
 print "      creating thickness"
 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.)
-md.geometry.bed=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/ISMIPB.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPB.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPB.par	(revision 17590)
@@ -3,6 +3,6 @@
 disp('      creating thickness');
 md.geometry.surface=-md.mesh.x*tan(0.5*pi/180.);
-md.geometry.bed=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x));
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+md.geometry.base=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x));
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/ISMIPB.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPB.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPB.py	(revision 17590)
@@ -6,6 +6,6 @@
 print "      creating thickness"
 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.)
-md.geometry.bed=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/ISMIPC.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPC.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPC.par	(revision 17590)
@@ -3,9 +3,9 @@
 disp('      creating thickness');
 md.geometry.surface=2000.-md.mesh.x*tan(0.1*pi/180.); %to have z>0
-md.geometry.bed=md.geometry.surface-1000.;
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+md.geometry.base=md.geometry.surface-1000.;
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 
 disp('      creating drag');
-%md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)));
+%md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)));
 md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x))));
 md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
Index: /issm/trunk-jpl/test/Par/ISMIPC.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPC.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPC.py	(revision 17590)
@@ -6,9 +6,9 @@
 print "      creating thickness"
 md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
-md.geometry.bed=md.geometry.surface-1000.
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+md.geometry.base=md.geometry.surface-1000.
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 
 print "      creating drag"
-#md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.bed)));
+#md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)));
 md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))))
 md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0.
Index: /issm/trunk-jpl/test/Par/ISMIPD.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPD.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPD.par	(revision 17590)
@@ -3,6 +3,6 @@
 disp('      creating thickness');
 md.geometry.surface=2000.-md.mesh.x*tan(0.1*pi/180.); %to have z>0
-md.geometry.bed=md.geometry.surface-1000.;
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+md.geometry.base=md.geometry.surface-1000.;
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/ISMIPD.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPD.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPD.py	(revision 17590)
@@ -6,6 +6,6 @@
 print "      creating thickness"
 md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.)    #to have z>0
-md.geometry.bed=md.geometry.surface-1000.
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+md.geometry.base=md.geometry.surface-1000.
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/ISMIPE.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPE.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPE.par	(revision 17590)
@@ -4,5 +4,5 @@
 data=transpose(ncread('../Data/ISMIPE.nc','data'));
 md.geometry.surface=zeros(md.mesh.numberofvertices,1);
-md.geometry.bed=zeros(md.mesh.numberofvertices,1);
+md.geometry.base=zeros(md.mesh.numberofvertices,1);
 for i=1:md.mesh.numberofvertices
 	y=md.mesh.y(i);
@@ -10,10 +10,10 @@
 	point2=min(point1+1,51);
 	coeff=(y-(point1-1.)*100.)/100.;
-	md.geometry.bed(i)=(1.-coeff)*data(point1,2)+coeff*data(point2,2);
+	md.geometry.base(i)=(1.-coeff)*data(point1,2)+coeff*data(point2,2);
 	md.geometry.surface(i)=(1.-coeff)*data(point1,3)+coeff*data(point2,3);
 end
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 md.geometry.thickness(find(~md.geometry.thickness))=0.01;
-md.geometry.bed=md.geometry.surface-md.geometry.thickness;
+md.geometry.base=md.geometry.surface-md.geometry.thickness;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/ISMIPE.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPE.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPE.py	(revision 17590)
@@ -10,5 +10,5 @@
 f.close()
 md.geometry.surface=numpy.zeros((md.mesh.numberofvertices,1))
-md.geometry.bed=numpy.zeros((md.mesh.numberofvertices,1))
+md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1))
 for i in xrange(0,md.mesh.numberofvertices):
 	y=md.mesh.y[i]
@@ -16,9 +16,9 @@
 	point2=numpy.minimum(point1+1,50)
 	coeff=(y-(point1-1.)*100.)/100.
-	md.geometry.bed[i]=(1.-coeff)*data[point1,1]+coeff*data[point2,1]
+	md.geometry.base[i]=(1.-coeff)*data[point1,1]+coeff*data[point2,1]
 	md.geometry.surface[i]=(1.-coeff)*data[point1,2]+coeff*data[point2,2]
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 md.geometry.thickness[numpy.nonzero(numpy.logical_not(md.geometry.thickness))]=0.01
-md.geometry.bed=md.geometry.surface-md.geometry.thickness
+md.geometry.base=md.geometry.surface-md.geometry.thickness
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/ISMIPF.par
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPF.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPF.par	(revision 17590)
@@ -4,7 +4,7 @@
 disp('      creating thickness');
 md.geometry.surface=-md.mesh.x*tan(3.*pi/180.);
-%md.geometry.bed=md.geometry.surface-1000.;
-md.geometry.bed=md.geometry.surface-1000.+100.*exp(-((md.mesh.x-max(md.mesh.x)/2.).^2+(md.mesh.y-max(md.mesh.y)/2.).^2)/(10000.^2));
-md.geometry.thickness=md.geometry.surface-md.geometry.bed;
+%md.geometry.base=md.geometry.surface-1000.;
+md.geometry.base=md.geometry.surface-1000.+100.*exp(-((md.mesh.x-max(md.mesh.x)/2.).^2+(md.mesh.y-max(md.mesh.y)/2.).^2)/(10000.^2));
+md.geometry.thickness=md.geometry.surface-md.geometry.base;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/ISMIPF.py
===================================================================
--- /issm/trunk-jpl/test/Par/ISMIPF.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ISMIPF.py	(revision 17590)
@@ -7,7 +7,7 @@
 print "      creating thickness"
 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(3.*numpy.pi/180.)
-#md.geometry.bed=md.geometry.surface-1000.
-md.geometry.bed=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x.reshape(-1,1)-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y.reshape(-1,1)-numpy.max(md.mesh.y)/2.)**2)/(10000.**2))
-md.geometry.thickness=md.geometry.surface-md.geometry.bed
+#md.geometry.base=md.geometry.surface-1000.
+md.geometry.base=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x.reshape(-1,1)-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y.reshape(-1,1)-numpy.max(md.mesh.y)/2.)**2)/(10000.**2))
+md.geometry.thickness=md.geometry.surface-md.geometry.base
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/Pig.par
===================================================================
--- /issm/trunk-jpl/test/Par/Pig.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/Pig.par	(revision 17590)
@@ -13,5 +13,5 @@
 md.geometry.surface  =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y);
 md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y);
-md.geometry.bed=md.geometry.surface-md.geometry.thickness;
+md.geometry.base=md.geometry.surface-md.geometry.thickness;
 clear surface thickness vx_obs vy_obs x y index;
 md.initialization.vx=md.inversion.vx_obs;
Index: /issm/trunk-jpl/test/Par/Pig.py
===================================================================
--- /issm/trunk-jpl/test/Par/Pig.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/Pig.py	(revision 17590)
@@ -25,5 +25,5 @@
 [md.geometry.surface]  =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y)
 [md.geometry.thickness]=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y)
-md.geometry.bed=md.geometry.surface-md.geometry.thickness
+md.geometry.base=md.geometry.surface-md.geometry.thickness
 md.initialization.vx=md.inversion.vx_obs
 md.initialization.vy=md.inversion.vy_obs
Index: /issm/trunk-jpl/test/Par/RoundSheetEISMINT.par
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetEISMINT.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetEISMINT.par	(revision 17590)
@@ -2,6 +2,6 @@
 disp('      creating thickness');
 md.geometry.thickness=10.*ones(md.mesh.numberofvertices,1);
-md.geometry.bed=zeros(md.mesh.numberofvertices,1);
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=zeros(md.mesh.numberofvertices,1);
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/RoundSheetEISMINT.py
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetEISMINT.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetEISMINT.py	(revision 17590)
@@ -5,6 +5,6 @@
 print "      creating thickness"
 md.geometry.thickness=10.*numpy.ones((md.mesh.numberofvertices,1))
-md.geometry.bed=numpy.zeros((md.mesh.numberofvertices,1))
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1))
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/RoundSheetShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetShelf.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetShelf.par	(revision 17590)
@@ -11,24 +11,24 @@
 ymax=max(radius);
 md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
 
 pos=find(md.mask.groundedice_levelset>0.);
-md.geometry.bed(pos)=md.geometry.bed(pos)-300.*(radius(pos)-(rad-shelfextent))/(rad-shelfextent);
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base(pos)=md.geometry.base(pos)-300.*(radius(pos)-(rad-shelfextent))/(rad-shelfextent);
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 pos=find(radius<200000);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 pos=find(md.mesh.x<0.2*1.e6 & md.mesh.x>-0.2*1.e6 & md.mesh.y>0.);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 pos=find(md.mesh.x<0.1*1.e6 & md.mesh.x>-0.1*1.e6 & md.mesh.y<-0.5*1.e6 & md.mesh.y>-0.6*1.e6);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 %plug holes into the ice sheet, to test for grounding line migration. 
@@ -37,16 +37,16 @@
 pos=find(rad<200000.);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 pos=find(md.mesh.x<0.2*1.e6 & md.mesh.x>-0.2*1.e6 & md.mesh.y>0.);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 pos=find(md.mesh.x<0.1*1.e6 & md.mesh.x>-0.1*1.e6 & md.mesh.y<-0.5*1.e6 & md.mesh.y>-0.6*1.e6);
 md.geometry.thickness(pos)=100.;
-md.geometry.bed(pos)=-di*md.geometry.thickness(pos)-20.;
-md.geometry.surface(pos)=md.geometry.bed(pos)+md.geometry.thickness(pos);
+md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.;
+md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos);
 
 %Initial velocity 
@@ -98,6 +98,6 @@
 %bathymetry and grounding line migration:
 md.groundingline.migration='AgressiveMigration';
-md.geometry.bathymetry=md.geometry.bed;
-pos=find(md.mask.groundedice_levelset<0.); md.geometry.bathymetry(pos)=md.geometry.bed(pos)-900.;
+md.geometry.bed=md.geometry.base;
+pos=find(md.mask.groundedice_levelset<0.); md.geometry.bed(pos)=md.geometry.base(pos)-900.;
 
 %Deal with boundary conditions:
Index: /issm/trunk-jpl/test/Par/RoundSheetShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetShelf.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetShelf.py	(revision 17590)
@@ -18,24 +18,24 @@
 ymax=numpy.max(radius)
 md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
 
 pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0]
-md.geometry.bed[pos]=md.geometry.bed[pos]-300.*(radius[pos]-(rad-shelfextent))/(rad-shelfextent)
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base[pos]=md.geometry.base[pos]-300.*(radius[pos]-(rad-shelfextent))/(rad-shelfextent)
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 pos=numpy.nonzero(radius<200000.)
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.2*1.e6,md.mesh.x>-0.2*1.e6),md.mesh.y>0.))
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.1*1.e6,md.mesh.x>-0.1*1.e6),numpy.logical_and(md.mesh.y<-0.5*1.e6,md.mesh.y>-0.6*1.e6)))
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 #plug holes into the ice sheet, to test for grounding line migration. 
@@ -44,16 +44,16 @@
 pos=numpy.nonzero(rad<200000.)
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.2*1.e6,md.mesh.x>-0.2*1.e6),md.mesh.y>0.))
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.1*1.e6,md.mesh.x>-0.1*1.e6),numpy.logical_and(md.mesh.y<-0.5*1.e6,md.mesh.y>-0.6*1.e6)))
 md.geometry.thickness[pos]=100.
-md.geometry.bed[pos]=-di*md.geometry.thickness[pos]-20.
-md.geometry.surface[pos]=md.geometry.bed[pos]+md.geometry.thickness[pos]
+md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20.
+md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos]
 
 #Initial velocity 
@@ -106,7 +106,7 @@
 #bathymetry and grounding line migration:
 md.groundingline.migration='AgressiveMigration'
-md.geometry.bathymetry=copy.deepcopy(md.geometry.bed)
+md.geometry.base=copy.deepcopy(md.geometry.base)
 pos=numpy.nonzero(md.mask.groundedice_levelset<0.)[0]
-md.geometry.bathymetry[pos]=md.geometry.bed[pos]-900.
+md.geometry.base[pos]=md.geometry.base[pos]-900.
 
 #Deal with boundary conditions:
Index: /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par	(revision 17590)
@@ -6,6 +6,6 @@
 radius(find(radius>(1.-10^-9)*radiusmax))=radiusmax;    %eliminate roundoff issues in next statement
 md.geometry.thickness=hmin*ones(size(md.mesh.x,1),1)+hmax*(4.*((1./2.)^(4./3.)*ones(size(md.mesh.x,1),1)-((radius)./(2.*radiusmax)).^(4./3.))).^(3./8.);
-md.geometry.bed=0.*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=0.*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py
===================================================================
--- /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py	(revision 17590)
@@ -9,6 +9,6 @@
 radius[numpy.nonzero(radius>(1.-10**-9)*radiusmax)]=radiusmax    #eliminate roundoff issues in next statement
 md.geometry.thickness=hmin*numpy.ones((numpy.size(md.mesh.x),1))+hmax*(4.*((1./2.)**(4./3.)*numpy.ones((numpy.size(md.mesh.x),1))-((radius)/(2.*radiusmax))**(4./3.)))**(3./8.)
-md.geometry.bed=0.*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=0.*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/SquareEISMINT.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareEISMINT.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareEISMINT.par	(revision 17590)
@@ -5,6 +5,6 @@
 ymax=max(md.mesh.y);
 md.geometry.thickness=500.*ones(md.mesh.numberofvertices,1);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 disp('      creating drag');
Index: /issm/trunk-jpl/test/Par/SquareEISMINT.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareEISMINT.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareEISMINT.py	(revision 17590)
@@ -8,6 +8,6 @@
 ymax=numpy.max(md.mesh.y)
 md.geometry.thickness=500.*numpy.ones((md.mesh.numberofvertices,1))
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 print "      creating drag"
Index: /issm/trunk-jpl/test/Par/SquareSheetConstrained.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareSheetConstrained.par	(revision 17590)
@@ -9,6 +9,6 @@
 xmax=max(md.mesh.x);
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareSheetConstrained.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareSheetConstrained.py	(revision 17590)
@@ -18,6 +18,6 @@
 xmax=max(md.mesh.x)
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 #Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareSheetShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetShelf.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareSheetShelf.par	(revision 17590)
@@ -9,9 +9,9 @@
 xmax=max(md.mesh.x);
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
 bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin));
 pos=find(md.mesh.y<=ymax/2.);
-md.geometry.bed(pos)=bed_sheet;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base(pos)=bed_sheet;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareSheetShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetShelf.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareSheetShelf.py	(revision 17590)
@@ -18,9 +18,9 @@
 xmax=max(md.mesh.x)
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
 bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin))
 pos=numpy.nonzero(md.mesh.y<=ymax/2.)
-md.geometry.bed[pos]=bed_sheet
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base[pos]=bed_sheet
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 #Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelf.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelf.par	(revision 17590)
@@ -9,6 +9,6 @@
 xmax=max(md.mesh.x);
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity and pressure
Index: /issm/trunk-jpl/test/Par/SquareShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelf.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelf.py	(revision 17590)
@@ -17,6 +17,6 @@
 xmax=max(md.mesh.x)
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 #Initial velocity and pressure
Index: /issm/trunk-jpl/test/Par/SquareShelf2.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelf2.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelf2.par	(revision 17590)
@@ -9,6 +9,6 @@
 xmax=max(md.mesh.x);
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity and pressure
Index: /issm/trunk-jpl/test/Par/SquareShelf2.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelf2.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelf2.py	(revision 17590)
@@ -17,6 +17,6 @@
 xmax=max(md.mesh.x)
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 #Initial velocity and pressure
Index: /issm/trunk-jpl/test/Par/SquareShelfConstrained.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelfConstrained.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelfConstrained.par	(revision 17590)
@@ -9,6 +9,6 @@
 xmax=max(md.mesh.x);
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 %Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareShelfConstrained.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareShelfConstrained.py	(revision 17590)
@@ -17,6 +17,6 @@
 xmax=max(md.mesh.x)
 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin)
-md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
-md.geometry.surface=md.geometry.bed+md.geometry.thickness
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness
+md.geometry.surface=md.geometry.base+md.geometry.thickness
 
 #Initial velocity 
Index: /issm/trunk-jpl/test/Par/SquareThermal.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareThermal.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareThermal.par	(revision 17590)
@@ -6,6 +6,6 @@
 h=1000.;
 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1);
-md.geometry.bed=-1000.*ones(md.mesh.numberofvertices,1);
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-1000.*ones(md.mesh.numberofvertices,1);
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 disp('      creating velocities');
Index: /issm/trunk-jpl/test/Par/SquareThermal.py
===================================================================
--- /issm/trunk-jpl/test/Par/SquareThermal.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/SquareThermal.py	(revision 17590)
@@ -10,6 +10,6 @@
 h=1000.
 md.geometry.thickness=h*numpy.ones((md.mesh.numberofvertices,1))
-md.geometry.bed=-1000.*numpy.ones((md.mesh.numberofvertices,1))
-md.geometry.surface=md.geometry.bed+md.geometry.thickness;
+md.geometry.base=-1000.*numpy.ones((md.mesh.numberofvertices,1))
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
 
 print "      creating velocities"
Index: /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par
===================================================================
--- /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ValleyGlacierShelf.par	(revision 17590)
@@ -20,7 +20,7 @@
 slope = 0.9*(bmin-bmax)*(x-xmin)/(Lx*alpha) + 0.1*(bmin-bmax)*(y-ymin)/(Ly) + bmax;
 md.geometry.surface = (thk_center+bmax) + slope ;
-md.geometry.bed = bmax + slope + 4./Ly^2*(thk_center-thk_margin)*(y-ym).^2;
-md.geometry.thickness = md.geometry.surface - md.geometry.bed;
-md.geometry.bathymetry = md.geometry.bed;
+md.geometry.base = bmax + slope + 4./Ly^2*(thk_center-thk_margin)*(y-ym).^2;
+md.geometry.thickness = md.geometry.surface - md.geometry.base;
+md.geometry.bed = md.geometry.base;
 
 %Mask
Index: /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py
===================================================================
--- /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 17589)
+++ /issm/trunk-jpl/test/Par/ValleyGlacierShelf.py	(revision 17590)
@@ -27,7 +27,7 @@
 slope = 0.9*(bmin-bmax)*(x-xmin)/(Lx*alpha) + 0.1*(bmin-bmax)*(y-ymin)/(Ly) + bmax
 md.geometry.surface= (thk_center+bmax) + slope 
-md.geometry.bed=bmax + slope + 4./Ly**2*(thk_center-thk_margin)*(numpy.power(y-ym,2))
-md.geometry.thickness=md.geometry.surface - md.geometry.bed
-md.geometry.bathymetry = md.geometry.bed
+md.geometry.base=bmax + slope + 4./Ly**2*(thk_center-thk_margin)*(numpy.power(y-ym,2))
+md.geometry.thickness=md.geometry.surface - md.geometry.base
+md.geometry.base = md.geometry.base
 
 #Mask
