//////////////// PS, would welcome criticism of my Arctic-donut approach to defining region (will also be bugged before 1986):
lon=(df.Lon.values.tolist())
lat=(df.Lat.values.tolist())
locations=[]
for lon_i,lat_i in zip(lon,lat):
if lat_i > 80:
location='Central Arctic Basin'
else:
if lon_i > -161 and lon_i < -125:
location= 'Beaufort'
elif lon_i > 148 and lon_i < 178:
location= 'ESS'
elif lon_i > 95 and lon_i < 148:
location= 'Laptev'
elif lon_i > 56 and lon_i < 95:
location= 'Kara'
elif lon_i > 16 and lon_i < 56:
location= 'Barents'
elif lon_i > -15 and lon_i < 16:
location= 'Greenland'
else:
location= 'Chukchi'
locations.append(location)
df['location']= locations
A couple of suggestions to align a bit closer to wipneus and nsidc. I think 80N is a good compromise.
if lon_i > -157 and lon_i < -125: ## utqiagvic as marker
location= 'Beaufort'
elif lon_i > 145.5 and lon_i < 178:
location= 'ESS'
elif lon_i > 97 and lon_i < 145.5: ##mid NSI
location= 'Laptev'
elif lon_i > 64 and lon_i < 97:
location= 'North Kara' ##not many buoys in Kara anyway?
elif lon_i > 16 and lon_i < 64:
location= 'Barents'
elif lon_i > -45 and lon_i < 16: ##coastal drift might be interesting
location= 'Greenland'
else: ## 157 to 178 though this will include bering, cutoff at 66.5N?
location= 'Chukchi' ##probably best to define chukchi or it may pick up CAA/baffin outliers