Skip to content

Commit 5fdc7e7

Browse files
committed
Change filename "py_eddy_tracker_amplitude.py" to
"py_eddy_tracker_property_classes.py"
1 parent 43660f4 commit 5fdc7e7

File tree

4 files changed

+159
-539
lines changed

4 files changed

+159
-539
lines changed

make_eddy_track_AVISO.py

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,15 @@
3232
"""
3333
import sys
3434
import glob as glob
35-
from py_eddy_tracker_classes import plt, np, dt, Dataset, ndimage, time, \
35+
from py_eddy_tracker_classes import plt, np, dt, Dataset, time, \
3636
datestr2datetime, gaussian_resolution, \
3737
get_cax, collection_loop, track_eddies, \
38-
anim_figure, interpolate
38+
anim_figure
3939
from py_eddy_tracker_amplitude import SwirlSpeed
4040
import make_eddy_tracker_list_obj as eddy_tracker
41+
import scipy.ndimage as ndimage
42+
import scipy.interpolate as interpolate
43+
import scipy.spatial as spatial
4144
from dateutil import parser
4245
from mpl_toolkits.basemap import Basemap
4346
import yaml
@@ -266,15 +269,15 @@ def get_AVISO_f_pm_pn(self):
266269
self._f = self._gof.copy()
267270
self._gof = self.GRAVITY / self._gof
268271

269-
lonu = self.half_interp(self.lonpad()[:,:-1], self.lonpad()[:,1:])
270-
latu = self.half_interp(self.latpad()[:,:-1], self.latpad()[:,1:])
272+
lonu = self.half_interp(self.lonpad()[:, :-1], self.lonpad()[:, 1:])
273+
latu = self.half_interp(self.latpad()[:, :-1], self.latpad()[:, 1:])
271274
lonv = self.half_interp(self.lonpad()[:-1], self.lonpad()[1:])
272275
latv = self.half_interp(self.latpad()[:-1], self.latpad()[1:])
273276

274277
# Get pm and pn
275278
pm = np.zeros_like(self.lonpad())
276-
pm[:,1:-1] = self.haversine_dist(lonu[:,:-1], latu[:,:-1],
277-
lonu[:,1:], latu[:,1:])
279+
pm[:,1:-1] = self.haversine_dist(lonu[:, :-1], latu[:, :-1],
280+
lonu[:, 1:], latu[:, 1:])
278281
pm[:,0] = pm[:,1]
279282
pm[:,-1] = pm[:,-2]
280283
self._dx = pm
@@ -356,7 +359,7 @@ def uvmask(self):
356359
Mp, Lp = self.mask.shape
357360
M = Mp - 1
358361
L = Lp - 1
359-
self._umask = self.mask[:,:L] * self.mask[:,1:Lp]
362+
self._umask = self.mask[:, :L] * self.mask[:, 1:Lp]
360363
self._vmask = self.mask[:M] * self.mask[1:Mp]
361364
return self
362365

@@ -379,28 +382,6 @@ def make_gridmask(self, with_pad=True, use_maskoceans=False):
379382
x, y = self.M(self.lonpad(), self.latpad())
380383
else:
381384
x, y = self.M(self.lon(), self.lat())
382-
#print '--- Computing Basemap mask'
383-
#self.mask = np.ones_like(x, dtype=bool)
384-
#if use_maskoceans:
385-
#print "------ using Basemap *maskoceans*: this is fast but may be"
386-
#print "------ marginally less accurate than Basemap's *is_land* method..."
387-
#from mpl_toolkits.basemap import maskoceans
388-
#if with_pad:
389-
#self.mask = maskoceans(self.lonpad(), self.latpad(), self.mask,
390-
#inlands=False, resolution='f', grid=1.25)
391-
#else:
392-
#self.mask = maskoceans(self.lon(), self.lat())
393-
#self.mask = self.mask.mask.astype(int)
394-
#else:
395-
#print "------ using Basemap *is_land*: this is slow for larger domains"
396-
#print "------ but can be speeded up once Basemap's *maskoceans* method is introduced"
397-
#print "------ (currently longitude wrapping behaviour is unclear...)"
398-
#it = np.nditer([x, y], flags=['multi_index'])
399-
#while not it.finished:
400-
#self.mask[it.multi_index] = self.M.is_land(x[it.multi_index],
401-
#y[it.multi_index])
402-
#it.iternext()
403-
#self.mask = np.atleast_2d(-self.mask).astype(int)
404385
self.Mx, self.My = x, y
405386
return self
406387

@@ -421,8 +402,8 @@ def set_geostrophic_velocity(self, zeta):
421402
self.upad *= -gof
422403

423404
umask = self.umask().view()
424-
zeta1, zeta2 = zeta.data[:,1:].view(), zeta.data[:,:-1].view()
425-
pm1, pm2 = self.pm()[:,1:].view(), self.pm()[:,:-1].view()
405+
zeta1, zeta2 = zeta.data[:, 1:].view(), zeta.data[:, :-1].view()
406+
pm1, pm2 = self.pm()[:, 1:].view(), self.pm()[:, :-1].view()
426407
self.vpad[:] = self.u2rho_2d(umask * (zeta1 - zeta2) *
427408
0.5 * (pm1 + pm2))
428409
self.vpad *= gof
@@ -490,7 +471,7 @@ def __init__(self, AVISO_FILE, LONMIN, LONMAX, LATMIN, LATMAX,
490471
self.fillval = self.read_nc_att(AVISO_FILE,
491472
'Grid_0001', '_FillValue')
492473

493-
if LONMIN < 0 and LONMAX <=0:
474+
if LONMIN < 0 and LONMAX <= 0:
494475
self._lon -= 360.
495476
self._lon, self._lat = np.meshgrid(self._lon, self._lat)
496477
self._angle = np.zeros_like(self._lon)
@@ -554,7 +535,7 @@ def get_AVISO_data(self, AVISO_FILE):
554535
def set_mask(self, sla):
555536
"""
556537
"""
557-
if sla.mask.size == 1:
538+
if sla.mask.size == 1: # all sea points
558539
self.mask = np.ones_like(sla.data)
559540
else:
560541
self.mask = sla.mask.astype(np.int) - 1
@@ -592,7 +573,7 @@ def fillmask(self, x, mask):
592573

593574
# Multiply the queried good points by the weight, selecting only the
594575
# nearest points. Divide by the number of nearest points to get average
595-
xfill = weight * x[igood[:, 0][iquery], igood[:,1][iquery]]
576+
xfill = weight * x[igood[:, 0][iquery], igood[:, 1][iquery]]
596577
xfill = (xfill / weight.sum(axis=1)[:, np.newaxis]).sum(axis=1)
597578

598579
# Place average of nearest good points, xfill, into bad point locations
@@ -606,7 +587,6 @@ def lon(self):
606587
# shouldn't need to happen with every call to self.lon()
607588
lon0 = self._lon[self.j0:self.j1, self.i1:]
608589
lon1 = self._lon[self.j0:self.j1, :self.i0]
609-
print 'fix this so called only once'
610590
return np.concatenate((lon0 - 360., lon1), axis=1)
611591
else:
612592
return self._lon[self.j0:self.j1, self.i0:self.i1]

0 commit comments

Comments
 (0)