Index: /issm/trunk-jpl/src/m/classes/model/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model/model.m	(revision 14306)
+++ /issm/trunk-jpl/src/m/classes/model/model.m	(revision 14307)
@@ -212,4 +212,5 @@
 			md.mask.elementonwater=project2d(md,md.mask.elementonwater,1);
 			md.mask.vertexonwater=project2d(md,md.mask.vertexonwater,1);
+			md.mask.vertexonrock=project2d(md,md.mask.vertexonrock,1);
 
 			%lat long
@@ -755,4 +756,5 @@
 			md.mask.elementonwater=project3d(md,'vector',md.mask.elementonwater,'type','element');
 			md.mask.vertexonwater=project3d(md,'vector',md.mask.vertexonwater,'type','node');
+			md.mask.vertexonrock=project3d(md,'vector',md.mask.vertexonrock,'type','node');
 			if ~isnan(md.inversion.cost_functions_coefficients),md.inversion.cost_functions_coefficients=project3d(md,'vector',md.inversion.cost_functions_coefficients,'type','node');end;
 			if ~isnan(md.inversion.min_parameters),md.inversion.min_parameters=project3d(md,'vector',md.inversion.min_parameters,'type','node');end;
@@ -1131,4 +1133,20 @@
 			disp(sprintf('%19s: %-22s -- %s','miscellaneous'   ,['[1x1 ' class(obj.miscellaneous) ']'],'miscellaneous fields'));
 		end % }}}
+		function memory(obj) % {{{
+			
+		disp(sprintf('\nMemory imprint: '));
+
+		objects=fields(obj);
+		memory=0;
+		
+		for i=1:length(objects),
+			field=objects{i};
+			realobject=obj.(field);
+			s=whos('realobject'); 
+			memory=memory+s.bytes/1e6;
+			disp(sprintf('%19s: %g Mb',field,s.bytes/1e6));
+		end
+		disp(sprintf('Overall: %g Mb',memory));
+		end % }}}
 	end
  end
