Index: /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpBedmachineGreenland.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpBedmachineGreenland.m	(revision 24746)
+++ /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpBedmachineGreenland.m	(revision 24747)
@@ -33,4 +33,5 @@
 	ncdate='2018-06-01';
 	ncdate='2019-04-18';
+	ncdate='2020-04-14';
 end
 
Index: /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpFromGeotiff.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpFromGeotiff.m	(revision 24746)
+++ /issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpFromGeotiff.m	(revision 24747)
@@ -33,6 +33,28 @@
 
 	%Read image
-	data=double(flipud(imread(geotiffname)));
+	if 1
+		assert(dx>0); assert(dy>0);
+		ydata = fliplr(ydata);
+
+		%Get pixels we are interested in
+		offset=2;
+		xmin=min(X(:)); xmax=max(X(:));
+		posx=find(xdata<=xmax);
+		id1x=max(1,find(xdata>=xmin,1)-offset);
+		id2x=min(numel(xdata),posx(end)+offset);
+
+		ymin=min(Y(:)); ymax=max(Y(:));
+		posy=find(ydata>=ymin);
+		id1y=max(1,find(ydata<=ymax,1)-offset);
+		id2y=min(numel(ydata),posy(end)+offset);
+
+		data  = double(imread(geotiffname,'PixelRegion',{[id1y,id2y],[id1x,id2x]}));
+		xdata=xdata(id1x:id2x);
+		ydata=ydata(id1y:id2y);
+	else
+		data=double(flipud(imread(geotiffname)));
+	end
 	data(find(abs(data)>10^30))=NaN;
+
 end
 
