Index: /issm/trunk-jpl/src/m/contrib/larour/glacier_inventory.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/larour/glacier_inventory.m	(revision 24850)
+++ /issm/trunk-jpl/src/m/contrib/larour/glacier_inventory.m	(revision 24851)
@@ -32,4 +32,10 @@
 				self.shapefileroot=getfieldvalue(options,'shapefileroot');
 				self.region_names=getfieldvalue(options,'region_names');
+				regions_zone_shapefile=getfieldvalue(options,'regions_zone_shapefile','');
+
+				%region region zones first if available: 
+				if ~strcmpi(regions_zone_shapefile,''),
+					region_zones=shpread(regions_zone_shapefile);
+				end
 
 				%read the shape files and create the regions: 
@@ -40,4 +46,5 @@
 					disp(['reading region: '  self.regions(i).name]);
 					self.regions(i).id=i;
+					self.regions(i).zone=[region_zones(i).x,region_zones(i).y];
 					contours=shpread([self.shapefileroot '/' self.regions(i).name '.shp']);
 					
Index: /issm/trunk-jpl/src/m/contrib/larour/glaciermip.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/larour/glaciermip.m	(revision 24850)
+++ /issm/trunk-jpl/src/m/contrib/larour/glaciermip.m	(revision 24851)
@@ -84,4 +84,6 @@
 			sc=getfieldvalue(options,'scenario',1:length(self.scenario));
 			zerostonan=getfieldvalue(options,'zerostonan',0);
+			unit=getfieldvalue(options,'unit','Gt');
+			sumregion=getfieldvalue(options,'sumregion',0);
 
 			if self.version==1,
@@ -90,10 +92,28 @@
 
 			%serialize: 
-			masses=[];
-			for i=rg,
-				for j=cm,
-					for k=gm,
-						for l=sc,
-							masses=[masses; squeeze(self.mass(i,:,j,k,l))];
+			if sumregion,
+				for i=rg,
+					masses_regioni=[];
+					for j=cm,
+						for k=gm,
+							for l=sc,
+								masses_regioni=[masses_regioni; squeeze(self.mass(i,:,j,k,l))];
+							end
+						end
+					end
+					if i==1, 
+						masses=masses_regioni;
+					else
+						masses=masses+masses_regioni;
+					end
+				end
+			else
+				masses=[];
+				for i=rg,
+					for j=cm,
+						for k=gm,
+							for l=sc,
+								masses=[masses; squeeze(self.mass(i,:,j,k,l))];
+							end
 						end
 					end
@@ -103,4 +123,8 @@
 				masses(find(masses==0))=NaN;
 			end
+			if strcmpi(unit,'mmSLE'),
+				masses=masses/sletogt();
+			end
+
 
 		end % }}}
@@ -108,4 +132,6 @@
 		
 			options=pairoptions(varargin{:});
+
+			unit=getfieldvalue(options,'unit','Gt/yr');
 
 			%get mass first: 
@@ -121,4 +147,7 @@
 			end
 
+			if strcmpi(unit,'mmSLE/yr'),
+				massrates=massrates/sletogt();
+			end
 
 		end % }}}
@@ -149,4 +178,4 @@
 			end
 		end % }}}
-	end
+	end 
 end
