Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 24900)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 24901)
@@ -51,5 +51,5 @@
             index = args[1]
             self.ocean_levelset[index] = -ocean
-        else:
+        elif nargin == 1:
             ocean = args[0]
             self.ocean_levelset = -ocean
@@ -64,5 +64,5 @@
             index = args[1]
             self.ice_levelset[index] = -ice
-        else:
+        elif nargin == 1:
             ice = *args[0]
             self.ocean_levelset = -ocean
Index: /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.m
===================================================================
--- /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.m	(revision 24900)
+++ /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.m	(revision 24901)
@@ -1,9 +1,7 @@
-function indices=flaglatlongradius(lat,long,lat0,long0,radius)
+function indices=flaglatlongradius(lat,long,lat0,long0,radius) % {{{
 %FLAGLATLONGRADIUS - given a vector of lat,long, and a circle of radius degrees around lat0,long0, 
 %                    return the indices into lat,long that are within this circle. 
-%                    lat and long should be between -90 and 90, and -180 and +180 respectively. 
+%                    lat and long should be between -90 and 90, and -180 and +180 respectively.
 
-	distance=sqrt( (lat-lat0).^2+ (long-long0).^2);
-	
 	%three cases, depending on whether our circle goes past the -180 +180 longitude line: 
 	if (long0-radius)<=-180,
@@ -15,2 +13,3 @@
 	distance=sqrt( (lat-lat0).^2+ (long-long0).^2);
 	indices=find(distance<=radius);
+% }}}
Index: /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.py
===================================================================
--- /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.py	(revision 24901)
+++ /issm/trunk-jpl/src/m/coordsystems/flaglatlongradius.py	(revision 24901)
@@ -0,0 +1,33 @@
+import math
+
+import numpy as np
+
+
+def flaglatlogradius(lat, long, lat0, long0, radius): # {{{
+    '''
+    FLAGLATLONGRADIUS - given a vector of lat, long, and a circle of radius 
+                        degrees around lat0, long0, return the indices into 
+                        lat, long that are within this circle.
+                        lat and long should be between -90 and 90, and -180 and 
+                        +180 respectively.
+    '''
+
+    #three cases, depending on whether our circle goes past the -180 +180 longitude line:
+    if (long0 - radius) <= -180:
+        for i in range(len(long)):
+            if long[i] > 0:
+                long[i] = long[i] - 360
+    elif (long0 + radius) >= 180:
+        for i in range(len(long)):
+            if long[i] < 0:
+                long[i] = long[i] + 360
+    else:
+        pass
+
+    distance = []
+    for i in range(len(long)):
+        distance[i] = math.sqrt(pow((lat[i] - lat0[i]), 2) + pow((long[i] - long0[i]), 2))
+    indices = (distance <= radius).np.nonzero() 
+
+    return indices
+# }}}
