Skip to content

Commit 13e1e64

Browse files
committed
add array of rotation
1 parent 207de7c commit 13e1e64

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
],
2525
zip_safe=False,
2626
entry_points=dict(console_scripts=[
27-
'EddyUpdate = py_eddy_tracker.update.__init__:eddy_update',
27+
'MergeEddies = py_eddy_tracker.appli:merge_eddies',
2828
]),
2929
package_data={
3030
'py_eddy_tracker.featured_tracking': ['*.nc'],

src/py_eddy_tracker/appli.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
from py_eddy_tracker import EddyParser
3+
from py_eddy_tracker.observations.tracking import TrackEddiesObservations
4+
5+
6+
def merge_eddies():
7+
parser = EddyParser('Merge eddies')
8+
parser.add_argument('filename', nargs='+', help='all file to merge')
9+
parser.add_argument('out', help='output file')
10+
parser.add_argument('--add_rotation_variable', help='add rotation variables', action='store_true')
11+
parser.add_argument('--include_var', nargs='+', type=str, help='use only listed variable, remove_var will be ignored')
12+
args = parser.parse_args()
13+
14+
obs = TrackEddiesObservations.load_file(args.filename[0], raw_data=True, include_vars=args.include_var)
15+
obs = obs.add_rotation_type()
16+
for filename in args.filename[1:]:
17+
other = TrackEddiesObservations.load_file(filename, raw_data=True, include_vars=args.include_var)
18+
other = other.add_rotation_type()
19+
obs = obs.merge(other)
20+
obs.write_file(filename=args.out)
21+

src/py_eddy_tracker/observations/observation.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ def add_fields(self, fields):
238238
track_extra_variables=list(concatenate((self.track_extra_variables, fields))),
239239
track_array_variables=self.track_array_variables,
240240
array_variables=self.array_variables,
241+
only_variables=list(concatenate((self.obs.dtype.names, fields))),
241242
raw_data=self.raw_data
242243
)
243244
new.sign_type = self.sign_type
@@ -247,6 +248,11 @@ def add_fields(self, fields):
247248
new.obs[var] = self.obs[var]
248249
return new
249250

251+
def add_rotation_type(self):
252+
new = self.add_fields(('type_cyc',))
253+
new.observations['type_cyc'] = self.sign_type
254+
return new
255+
250256
@property
251257
def dtype(self):
252258
"""Return dtype to build numpy array
@@ -378,6 +384,7 @@ def new_like(eddies, new_size):
378384
track_extra_variables=eddies.track_extra_variables,
379385
track_array_variables=eddies.track_array_variables,
380386
array_variables=eddies.array_variables,
387+
only_variables=eddies.only_variables,
381388
)
382389

383390
def index(self, index):

0 commit comments

Comments
 (0)