@@ -404,23 +404,29 @@ def make_gridmask(self, with_pad=True, use_maskoceans=False):
404404        self .Mx , self .My  =  x , y 
405405        return  self 
406406
407+ 
407408    def  get_geostrophic_velocity (self , zeta ):
408409        ''' 
409410        Returns u and v geostrophic velocity at 
410411        surface from variables f, zeta, pm, pn... 
411412        Note: output at rho points 
412413        ''' 
413414        gof  =  self .gof ().view ()
414-         vmask  =  self .v2rho_2d (self .vmask ().view ()
415+         
416+         vmask  =  self .vmask ().view ()
415417        zeta1 , zeta2  =  zeta .data [1 :].view (), zeta .data [:- 1 ].view ()
416418        pn1 , pn2  =  self .pn ()[1 :].view (), self .pn ()[:- 1 ].view ()
417-         self .upad [:] =  ne .evaluate ('-gof * vmask * (zeta1 - zeta2) * 0.5 * (pn1 + pn2)' )
419+         self .upad [:] =  self .v2rho_2d (ne .evaluate ('vmask * (zeta1 - zeta2) * 0.5 * (pn1 + pn2)' ))
420+         self .upad  *=  - gof 
418421        #self.upad[:] = -self.gof() * self.v2rho_2d(self.vmask() * (zeta.data[1:] - zeta.data[:-1]) \ 
419422                                        #* 0.5 * (self.pn()[1:] + self.pn()[:-1])) 
420-         umask  =  self .u2rho_2d (self .umask ().view ()
423+         
424+         umask  =  self .umask ().view ()
421425        zeta1 , zeta2  =  zeta .data [:,1 :].view (), zeta .data [:,:- 1 ].view ()
422426        pm1 , pm2  =  self .pm ()[:,1 :].view (), self .pm ()[:,:- 1 ].view ()
423-         self .vpad [:] =   ne .evaluate ('gof * umask * (zeta1 - zeta2) * 0.5 * (pm1 + pm2)' )
427+         #self.vpad[:] = ne.evaluate('gof * (umask * (zeta1 - zeta2) * 0.5 * (pm1 + pm2))') 
428+         self .vpad [:] =  self .u2rho_2d (ne .evaluate ('umask * (zeta1 - zeta2) * 0.5 * (pm1 + pm2)' ))
429+         self .vpad  *=  gof 
424430        #self.vpad[:] =  self.gof() * self.u2rho_2d(self.umask() * (zeta.data[:, 1:] - zeta.data[:, :-1]) \ 
425431                                        #* 0.5 * (self.pm()[:, 1:] + self.pm()[:, :-1])) 
426432        return  self 
@@ -656,8 +662,8 @@ def pn(self): # Reciprocal of dy
656662
657663
658664    def  get_resolution (self ):
659-         return  np .mean ( np . sqrt (np .diff (self .lon ()[1 :], axis = 1 ) * 
660-                                 np .diff (self .lat ()[:,1 :], axis = 0 )))
665+         return  np .sqrt (np .diff (self .lon ()[1 :], axis = 1 ) * 
666+                        np .diff (self .lat ()[:,1 :], axis = 0 )). mean ( )
661667
662668
663669
@@ -731,12 +737,12 @@ def pcol_2dxy(self, x, y):
731737    #the_domain = 'MedSea' # not yet implemented 
732738
733739    # Specify use of new AVISO 2014 data 
734-     new_AVISO  =  False 
740+     new_AVISO  =  True 
735741
736742    # Specify subsampling new AVISO 2014 data; i.e. you may 
737743    # prefer to use every second day rather than every day 
738744    if  new_AVISO :
739-         new_AVISO_SUBSAMP  =  True 
745+         new_AVISO_SUBSAMP  =  False 
740746        if  new_AVISO_SUBSAMP :
741747            days_btwn_recs  =  3.  # put sampling rate (days) here 
742748        else :
@@ -780,7 +786,8 @@ def pcol_2dxy(self, x, y):
780786    # Set date range (YYYYMMDD) 
781787    #date_str, date_end = 19980107, 19991110 #  
782788    #date_str, date_end = 20081107, 20100110 #  
783-     date_str , date_end  =  19921014 , 20120718  #  
789+     #date_str, date_end = 19921014, 20120718 #  
790+     date_str , date_end  =  20020101 , 20021231  #  
784791
785792    # Choose type of diagnostic: either q-parameter ('Q') or sea level anomaly ('sla') 
786793    #diag_type = 'Q' #<<< not implemented in 1.2.0 
@@ -794,7 +801,8 @@ def pcol_2dxy(self, x, y):
794801    #savedir = '/marula/emason/aviso_eddy_tracking/new_AVISO_SUBSAMP-3days/' 
795802    #savedir = '/marula/emason/aviso_eddy_tracking/junk/' 
796803    #savedir = '/marula/emason/aviso_eddy_tracking/new_AVISO_test/BlackSea/' 
797-     savedir  =  '/marula/emason/aviso_eddy_tracking/Corridor_V3_Dec2014/' 
804+     #savedir = '/marula/emason/aviso_eddy_tracking/Corridor_V3_Dec2014/' 
805+     savedir  =  '/marula/emason/aviso_eddy_tracking/CLS_test_1_acd66ba338a9/' 
798806    #savedir = '/path/to/save/your/outputs/' 
799807
800808
@@ -809,7 +817,7 @@ def pcol_2dxy(self, x, y):
809817    jday_ref  =  2448623 
810818
811819    # Min and max permitted eddy radii [degrees] 
812-     radmin  =  0.4   # degrees (Chelton recommends ~50 km minimum) 
820+     radmin  =  0.35   # degrees (Chelton recommends ~50 km minimum) 
813821    radmax  =  4.461  # degrees 
814822
815823    if  'Q'  in  diag_type :
@@ -837,8 +845,8 @@ def pcol_2dxy(self, x, y):
837845
838846    # Set SLA contour spacing 
839847    elif  'sla'  in  diag_type :
840-         slaparameter  =  np .arange (- 100. , 101. , 1.0 ) # cm 
841-         # slaparameter = np.arange(-100., 100.25, 0.25) # cm
848+         # slaparameter = np.arange(-100., 101., 1.0) # cm
849+         slaparameter  =  np .arange (- 100. , 100.25 , 0.25 ) # cm 
842850
843851
844852
@@ -861,10 +869,10 @@ def pcol_2dxy(self, x, y):
861869    subdomain  =  True 
862870    if  the_domain  in  'Global' :
863871
864-         lonmin  =  - 40.      # Canary 
865-         lonmax  =  - 5.5 
866-         latmin  =  16. 
867-         latmax  =  36.5 
872+         # lonmin = -40.     # Canary
873+         # lonmax = -5.5
874+         # latmin = 16.
875+         # latmax = 36.5
868876
869877        #lonmin = -30.        # BENCS 
870878        #lonmax =  22. 
@@ -1177,6 +1185,7 @@ def pcol_2dxy(self, x, y):
11771185            if  isinstance (smoothing , str ):
11781186
11791187                if  'Gaussian'  in  smoothing :
1188+                     
11801189                    if  'first_record'  not  in locals ():
11811190                        print  '------ applying Gaussian high-pass filter' 
11821191                    # Set landpoints to zero 
@@ -1185,7 +1194,9 @@ def pcol_2dxy(self, x, y):
11851194                    # High pass filter, see 
11861195                    # http://stackoverflow.com/questions/6094957/high-pass-filter-for-image-processing-in-python-by-using-scipy-numpy 
11871196                    sla  -=  ndimage .gaussian_filter (sla , [mres , zres ])
1197+                 
11881198                elif  'Hanning'  in  smoothing :
1199+                     
11891200                    print  '------ applying %s passes of Hanning filter'  % smooth_fac 
11901201                    # Do smooth_fac passes of 2d Hanning filter 
11911202                    sla  =  func_hann2d_fast (sla , smooth_fac )
0 commit comments