Index: /issm/trunk/src/m/utils/Basins/basinzoom.m
===================================================================
--- /issm/trunk/src/m/utils/Basins/basinzoom.m	(revision 7244)
+++ /issm/trunk/src/m/utils/Basins/basinzoom.m	(revision 7245)
@@ -1,3 +1,3 @@
-function varargout=basinzoom(varargin)
+function varargout=basinzoom(options)
 %ANTZOOM - zoom on a basin in Antarctica or Greenland.
 %
@@ -6,22 +6,18 @@
 %
 %   Usage:
-%      varargout=basinzoom(region,unitmultiplier)
-
-%initialize options
-options=pairoptions(varargin{:});
+%      varargout=basinzoom(options)
 
 %recover some options, and set defaults
+
 unitmultiplier=getfieldvalue(options,'unit',NaN);
 basin=getfieldvalue(options,'basin');
-hemisphere=getfieldvalue(options,'hemisphere',+1);
-basindeltax=getfieldvalue(options,'basindeltax',300000); %100 km default
-basindeltay=getfieldvalue(options,'basindeltay',300000);
 
-if hemisphere==+1,
-	central_meridian=getfieldvalue(options,'central_meridian',45);
-	standard_parallel=getfieldvalue(options,'standard_parallel',70);
+if exist(options,'basindelta'),
+
+	basindeltax=getfieldvalue(options,'basindelta',300000); 
+	basindeltay=getfieldvalue(options,'basindelta',300000); 
 else
-	central_meridian=getfieldvalue(options,'central_meridian',0);
-	standard_parallel=getfieldvalue(options,'standard_parallel',71);
+	basindeltax=getfieldvalue(options,'basindeltax',300000); %100 km default
+	basindeltay=getfieldvalue(options,'basindeltay',300000);
 end
 
@@ -36,4 +32,5 @@
 		long=names{i,2};
 		lat=names{i,3};
+		hemisphere=names{i,4};
 		found=1;
 		break;
@@ -43,4 +40,12 @@
 if ~found,
 	error(['basinzoom error message: cannot find basin ' basin '. Use isbasin to determine a basin name.']);
+end
+
+if hemisphere==+1,
+	central_meridian=getfieldvalue(options,'central_meridian',45);
+	standard_parallel=getfieldvalue(options,'standard_parallel',70);
+else
+	central_meridian=getfieldvalue(options,'central_meridian',0);
+	standard_parallel=getfieldvalue(options,'standard_parallel',71);
 end
 
Index: /issm/trunk/src/m/utils/Basins/showbasins.m
===================================================================
--- /issm/trunk/src/m/utils/Basins/showbasins.m	(revision 7244)
+++ /issm/trunk/src/m/utils/Basins/showbasins.m	(revision 7245)
@@ -11,11 +11,28 @@
 %
 
-%initialize options
-options=pairoptions(varargin{:});
+%is varargin an options database already?
+if nargin==0,
+	options=pairoptions(varargin{:});
+elseif (isa(varargin{1},'plotoptions') | isa(varargin{1},'pairoptions')),
+	%do nothing to the varargin: 
+	options=varargin{1};
+else
+	%process varargin for options: 
+	options=pairoptions(varargin{:});
+end
+
 
 %recover some options, and set defaults
 unitmultiplier=getfieldvalue(options,'unit',1);
-hemisphere=getfieldvalue(options,'hemisphere',+1);
 fontsize=getfieldvalue(options,'fontsize',12);
+hemisphere=getfieldvalue(options,'hemisphere');
+
+if strcmpi(hemisphere,'s'),
+	hemisphere=-1;
+elseif strcmpi(hemisphere,'n'),
+	hemisphere=+1;
+else
+	error('showbasins error message: hemispehre should be either ''n'' or ''s''');
+	end
 
 if hemisphere==+1,
@@ -26,5 +43,4 @@
 	standard_parallel=getfieldvalue(options,'standard_parallel',71);
 end
-
 
 %Ok, find basin we are talking about: 
