@@ -5,7 +5,7 @@ Subset eddy Dataset
55"""
66from py_eddy_tracker import EddyParser
77from py_eddy_tracker .observations .tracking import TrackEddiesObservations
8- from os . path import basename , dirname
8+ import logging
99
1010
1111def id_parser ():
@@ -14,6 +14,8 @@ def id_parser():
1414 parser .add_argument ('filename_out' )
1515 parser .add_argument ('-p' , '--period' , nargs = 2 , type = int ,
1616 help = 'Start day and end day, if it s negative value we will add to day min and add to day max, if 0 it s not use' )
17+ parser .add_argument ('-l' , '--length' , nargs = 2 , type = int ,
18+ help = 'Minimal and maximal quantity of observation for one track, ones bounds could be negative, it will be not use' )
1719 parser .add_argument ('-f' , '--full_path' , action = 'store_true' ,
1820 help = 'Extract path, if one obs or more are selected' )
1921 parser .add_argument ('-d' , '--remove_incomplete' , action = 'store_true' ,
@@ -34,12 +36,20 @@ if __name__ == '__main__':
3436 # Original dataset
3537 dataset = TrackEddiesObservations .load_from_netcdf (args .filename , raw_data = False if args .no_raw_mode else True )
3638
39+ # Select with id
3740 if args .ids is not None :
3841 dataset = dataset .extract_ids (args .ids )
42+
43+ # Select with length
44+ if args .length is not None :
45+ dataset = dataset .extract_with_length (args .length )
46+
47+ # Select with a start date and end date
3948 if args .period is not None :
4049 dataset = dataset .extract_with_period (args .period , full_path = args .full_path ,
4150 remove_incomplete = args .remove_incomplete )
4251
52+ # Select track which go through an area
4353 if args .area is not None :
4454 area = dict (llcrnrlon = args .area [0 ],
4555 llcrnrlat = args .area [1 ],
@@ -49,5 +59,8 @@ if __name__ == '__main__':
4959 dataset = dataset .extract_with_area (area , full_path = args .full_path ,
5060 remove_incomplete = args .remove_incomplete )
5161
52- if len (dataset ) != 0 :
62+ # if no data, no output will be written
63+ if len (dataset ) == 0 :
64+ logging .warning ("No data are selected, out file couldn't be create" )
65+ else :
5366 dataset .write_netcdf (filename = args .filename_out )
0 commit comments