Skip to content

Commit f2ab857

Browse files
committed
Apply flake8
1 parent 02bc44d commit f2ab857

File tree

7 files changed

+433
-267
lines changed

7 files changed

+433
-267
lines changed

src/py_eddy_tracker/tracking.py

Lines changed: 252 additions & 162 deletions
Large diffs are not rendered by default.

src/scripts/EddyFinalTracking

Lines changed: 46 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,24 @@ def usage():
1717
"""Usage
1818
"""
1919
# Run using:
20-
parser = EddyParser(
21-
"Tool to use identification step to compute tracking")
22-
parser.add_argument('nc_file',
23-
help='File of correspondances to reload link '
24-
'without tracking computation')
25-
parser.add_argument('--path_out',
26-
default='./',
27-
help='Path, where to write file')
28-
29-
parser.add_argument('--eddies_long_model', default=None)
30-
parser.add_argument('--eddies_short_model', default=None)
31-
parser.add_argument('--eddies_untracked_model', default=None)
32-
33-
parser.add_argument('--nb_obs_min',
34-
type=int,
35-
default=28,
36-
help='Minimal length of tracks')
20+
parser = EddyParser("Tool to use identification step to compute tracking")
21+
parser.add_argument(
22+
"nc_file",
23+
help="File of correspondances to reload link " "without tracking computation",
24+
)
25+
parser.add_argument("--path_out", default="./", help="Path, where to write file")
26+
27+
parser.add_argument("--eddies_long_model", default=None)
28+
parser.add_argument("--eddies_short_model", default=None)
29+
parser.add_argument("--eddies_untracked_model", default=None)
30+
31+
parser.add_argument(
32+
"--nb_obs_min", type=int, default=28, help="Minimal length of tracks"
33+
)
3734
return parser.parse_args()
3835

3936

40-
if __name__ == '__main__':
37+
if __name__ == "__main__":
4138
CONFIG = usage()
4239

4340
# Create output directory
@@ -49,16 +46,26 @@ if __name__ == '__main__':
4946

5047
CORRESPONDANCES = Correspondances.load(CONFIG.nc_file)
5148

52-
logger.info('Start merging')
49+
logger.info("Start merging")
5350

5451
CORRESPONDANCES.prepare_merging()
5552

56-
logger.info('The longest tracks have %d observations', CORRESPONDANCES.nb_obs_by_tracks.max())
57-
logger.info('The mean length is %d observations before filtering', CORRESPONDANCES.nb_obs_by_tracks.mean())
53+
logger.info(
54+
"The longest tracks have %d observations",
55+
CORRESPONDANCES.nb_obs_by_tracks.max(),
56+
)
57+
logger.info(
58+
"The mean length is %d observations before filtering",
59+
CORRESPONDANCES.nb_obs_by_tracks.mean(),
60+
)
5861

5962
if CONFIG.eddies_untracked_model is None:
60-
CONFIG.eddies_untracked_model = '%(path)s/%(sign_type)s_%(prod_time)s_untracked.nc'
61-
CORRESPONDANCES.get_unused_data(raw_data=True).write_file(path=SAVE_DIR, filename=CONFIG.eddies_untracked_model)
63+
CONFIG.eddies_untracked_model = (
64+
"%(path)s/%(sign_type)s_%(prod_time)s_untracked.nc"
65+
)
66+
CORRESPONDANCES.get_unused_data(raw_data=True).write_file(
67+
path=SAVE_DIR, filename=CONFIG.eddies_untracked_model
68+
)
6269

6370
SHORT_CORRESPONDANCES = CORRESPONDANCES._copy()
6471
SHORT_CORRESPONDANCES.shorter_than(size_max=NB_OBS_MIN)
@@ -70,21 +77,28 @@ if __name__ == '__main__':
7077

7178
# We flag obs
7279
if CORRESPONDANCES.virtual:
73-
FINAL_EDDIES['virtual'][:] = FINAL_EDDIES['time'] == 0
74-
FINAL_EDDIES.filled_by_interpolation(FINAL_EDDIES['virtual'] == 1)
75-
SHORT_TRACK['virtual'][:] = SHORT_TRACK['time'] == 0
76-
SHORT_TRACK.filled_by_interpolation(SHORT_TRACK['virtual'] == 1)
80+
FINAL_EDDIES["virtual"][:] = FINAL_EDDIES["time"] == 0
81+
FINAL_EDDIES.filled_by_interpolation(FINAL_EDDIES["virtual"] == 1)
82+
SHORT_TRACK["virtual"][:] = SHORT_TRACK["time"] == 0
83+
SHORT_TRACK.filled_by_interpolation(SHORT_TRACK["virtual"] == 1)
7784

7885
# Total running time
7986
FULL_TIME = dt.datetime.now() - START_TIME
80-
logger.info('Duration : %s', FULL_TIME)
87+
logger.info("Duration : %s", FULL_TIME)
8188

82-
logger.info('Longer track saved have %d obs', CORRESPONDANCES.nb_obs_by_tracks.max())
83-
logger.info('The mean length is %d observations after filtering', CORRESPONDANCES.nb_obs_by_tracks.mean())
89+
logger.info(
90+
"Longer track saved have %d obs", CORRESPONDANCES.nb_obs_by_tracks.max()
91+
)
92+
logger.info(
93+
"The mean length is %d observations after filtering",
94+
CORRESPONDANCES.nb_obs_by_tracks.mean(),
95+
)
8496

8597
if CONFIG.eddies_long_model is None:
86-
CONFIG.eddies_long_model = '%(path)s/%(sign_type)s_%(prod_time)s.nc'
98+
CONFIG.eddies_long_model = "%(path)s/%(sign_type)s_%(prod_time)s.nc"
8799
if CONFIG.eddies_short_model is None:
88-
CONFIG.eddies_short_model = '%(path)s/%(sign_type)s_%(prod_time)s_track_too_short.nc'
100+
CONFIG.eddies_short_model = (
101+
"%(path)s/%(sign_type)s_%(prod_time)s_track_too_short.nc"
102+
)
89103
FINAL_EDDIES.write_file(filename=CONFIG.eddies_long_model, path=SAVE_DIR)
90104
SHORT_TRACK.write_file(filename=CONFIG.eddies_short_model, path=SAVE_DIR)

src/scripts/EddyMergeCorrespondances

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ def usage():
1717
"""Usage
1818
"""
1919
# Run using:
20-
parser = EddyParser(
21-
"Tool to use identification step to compute tracking")
22-
parser.add_argument('nc_file',
23-
nargs='+',
24-
help='File of correspondances to reload link '
25-
'without tracking computation')
26-
parser.add_argument('path_out', help='Path, where to write file')
20+
parser = EddyParser("Tool to use identification step to compute tracking")
21+
parser.add_argument(
22+
"nc_file",
23+
nargs="+",
24+
help="File of correspondances to reload link " "without tracking computation",
25+
)
26+
parser.add_argument("path_out", help="Path, where to write file")
2727
return parser.parse_args()
2828

2929

30-
if __name__ == '__main__':
30+
if __name__ == "__main__":
3131
CONFIG = usage()
3232

3333
# Create output directory
@@ -36,7 +36,7 @@ if __name__ == '__main__':
3636

3737
START_TIME = dt.datetime.now()
3838
CORRESPONDANCES = Correspondances.load(CONFIG.nc_file[0])
39-
logger.info('Start merging')
39+
logger.info("Start merging")
4040
for i in CONFIG.nc_file[1:]:
4141
CORRESPONDANCES.merge_correspondance(Correspondances.load(i))
4242

src/scripts/EddySubSetter

Lines changed: 110 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -11,44 +11,93 @@ logger = logging.getLogger("pet")
1111

1212

1313
def id_parser():
14-
parser = EddyParser('Eddy Subsetter')
15-
parser.add_argument('filename')
16-
parser.add_argument('filename_out')
17-
18-
group = parser.add_argument_group('Extraction options')
19-
group.add_argument('-p', '--period', nargs=2, type=int,
20-
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')
21-
group.add_argument('-l', '--length', nargs=2, type=int,
22-
help='Minimal and maximal quantity of observation for one track, ones bounds could be negative, it will be not use')
23-
group.add_argument('-f', '--full_path', action='store_true',
24-
help='Extract path, if one obs or more are selected')
25-
group.add_argument('-d', '--remove_incomplete', action='store_true',
26-
help='Extract path only if all obs are selected')
27-
group.add_argument('--reject_virtual', action='store_true',
28-
help="If there are only virtual observation in selection, we don't select track")
29-
group.add_argument('-a', '--area', nargs=4, type=float,
30-
metavar=('llcrnrlon', 'llcrnrlat', 'urcrnrlon', 'urcrnrlat'),
31-
help='Coordinates of bounding to extract'
32-
)
33-
group.add_argument('--direction', choices=['E', 'W', 'S', 'N'],
34-
help='Select only track which have an end point which go in this direction')
35-
group.add_argument('--minimal_degrees_displacement_in_direction', type=float,
36-
help='Minimal displacement in direction specified in --directio options')
37-
group.add_argument('--select_first_observation_in_box', type=float,
38-
help='Select only the first obs in each box for each tracks, value specified must be resolution')
39-
group.add_argument('--remove_var', nargs='+', type=str, help='remove all listed variable')
40-
group.add_argument('--include_var', nargs='+', type=str, help='use only listed variable, remove_var will be ignored')
41-
group.add_argument('-i', '--ids', nargs='+', type=int, help='List of tracks which will be extract')
42-
43-
group = parser.add_argument_group('General options')
44-
group.add_argument('--sort_time', action='store_true', help='sort all observation with time')
45-
46-
parser.add_argument('-n', '--no_raw_mode', action='store_true',
47-
help='Uncompress all data, could be create a memory error for huge file, but is safer for extern file of py eddy tracker')
14+
parser = EddyParser("Eddy Subsetter")
15+
parser.add_argument("filename")
16+
parser.add_argument("filename_out")
17+
18+
group = parser.add_argument_group("Extraction options")
19+
group.add_argument(
20+
"-p",
21+
"--period",
22+
nargs=2,
23+
type=int,
24+
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",
25+
)
26+
group.add_argument(
27+
"-l",
28+
"--length",
29+
nargs=2,
30+
type=int,
31+
help="Minimal and maximal quantity of observation for one track, ones bounds could be negative, it will be not use",
32+
)
33+
group.add_argument(
34+
"-f",
35+
"--full_path",
36+
action="store_true",
37+
help="Extract path, if one obs or more are selected",
38+
)
39+
group.add_argument(
40+
"-d",
41+
"--remove_incomplete",
42+
action="store_true",
43+
help="Extract path only if all obs are selected",
44+
)
45+
group.add_argument(
46+
"--reject_virtual",
47+
action="store_true",
48+
help="If there are only virtual observation in selection, we don't select track",
49+
)
50+
group.add_argument(
51+
"-a",
52+
"--area",
53+
nargs=4,
54+
type=float,
55+
metavar=("llcrnrlon", "llcrnrlat", "urcrnrlon", "urcrnrlat"),
56+
help="Coordinates of bounding to extract",
57+
)
58+
group.add_argument(
59+
"--direction",
60+
choices=["E", "W", "S", "N"],
61+
help="Select only track which have an end point which go in this direction",
62+
)
63+
group.add_argument(
64+
"--minimal_degrees_displacement_in_direction",
65+
type=float,
66+
help="Minimal displacement in direction specified in --directio options",
67+
)
68+
group.add_argument(
69+
"--select_first_observation_in_box",
70+
type=float,
71+
help="Select only the first obs in each box for each tracks, value specified must be resolution",
72+
)
73+
group.add_argument(
74+
"--remove_var", nargs="+", type=str, help="remove all listed variable"
75+
)
76+
group.add_argument(
77+
"--include_var",
78+
nargs="+",
79+
type=str,
80+
help="use only listed variable, remove_var will be ignored",
81+
)
82+
group.add_argument(
83+
"-i", "--ids", nargs="+", type=int, help="List of tracks which will be extract"
84+
)
85+
86+
group = parser.add_argument_group("General options")
87+
group.add_argument(
88+
"--sort_time", action="store_true", help="sort all observation with time"
89+
)
90+
91+
parser.add_argument(
92+
"-n",
93+
"--no_raw_mode",
94+
action="store_true",
95+
help="Uncompress all data, could be create a memory error for huge file, but is safer for extern file of py eddy tracker",
96+
)
4897
return parser
4998

5099

51-
if __name__ == '__main__':
100+
if __name__ == "__main__":
52101
args = id_parser().parse_args()
53102

54103
# Original dataset
@@ -69,37 +118,46 @@ if __name__ == '__main__':
69118

70119
# Select with a start date and end date
71120
if args.period is not None:
72-
dataset = dataset.extract_with_period(args.period, full_path=args.full_path,
73-
remove_incomplete=args.remove_incomplete,
74-
reject_virtual=args.reject_virtual)
121+
dataset = dataset.extract_with_period(
122+
args.period,
123+
full_path=args.full_path,
124+
remove_incomplete=args.remove_incomplete,
125+
reject_virtual=args.reject_virtual,
126+
)
75127

76128
# Select track which go through an area
77129
if args.area is not None:
78-
area = dict(llcrnrlon=args.area[0],
79-
llcrnrlat=args.area[1],
80-
urcrnrlon=args.area[2],
81-
urcrnrlat=args.area[3],
82-
)
83-
dataset = dataset.extract_with_area(area, full_path=args.full_path,
84-
remove_incomplete=args.remove_incomplete,
85-
reject_virtual=args.reject_virtual)
130+
area = dict(
131+
llcrnrlon=args.area[0],
132+
llcrnrlat=args.area[1],
133+
urcrnrlon=args.area[2],
134+
urcrnrlat=args.area[3],
135+
)
136+
dataset = dataset.extract_with_area(
137+
area,
138+
full_path=args.full_path,
139+
remove_incomplete=args.remove_incomplete,
140+
reject_virtual=args.reject_virtual,
141+
)
86142

87143
# Select only track which go in the direction specified
88144
if args.direction:
89145
if args.minimal_degrees_displacement_in_direction:
90146
dataset = dataset.extract_in_direction(
91-
args.direction,
92-
value=args.minimal_degrees_displacement_in_direction)
147+
args.direction, value=args.minimal_degrees_displacement_in_direction
148+
)
93149
else:
94150
dataset = dataset.extract_in_direction(args.direction)
95151

96152
if args.select_first_observation_in_box:
97-
dataset = dataset.extract_first_obs_in_box(res=args.select_first_observation_in_box)
153+
dataset = dataset.extract_first_obs_in_box(
154+
res=args.select_first_observation_in_box
155+
)
98156

99157
if args.sort_time:
100-
logger.debug('start sorting ...')
101-
dataset.obs.sort(order=['time', 'lon', 'lat'])
102-
logger.debug('end sorting')
158+
logger.debug("start sorting ...")
159+
dataset.obs.sort(order=["time", "lon", "lat"])
160+
logger.debug("end sorting")
103161

104162
# if no data, no output will be written
105163
if len(dataset) == 0:

src/scripts/EddyTracking

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,14 +170,14 @@ if __name__ == "__main__":
170170
data_dir=None,
171171
files_model=None,
172172
files=CONFIG["PATHS"]["FILES_PATTERN"],
173-
date_regexp=".*c_([0-9]*?).[nz].*",
173+
date_regexp=".*_([0-9]*?).[nz].*",
174174
date_model="%Y%m%d",
175175
)
176176
else:
177177
DATASET_LIST = browse_dataset_in(
178178
data_dir=dirname(CONFIG["PATHS"]["FILES_PATTERN"]),
179179
files_model=basename(CONFIG["PATHS"]["FILES_PATTERN"]),
180-
date_regexp=".*c_([0-9]*?).[nz].*",
180+
date_regexp=".*_([0-9]*?).[nz].*",
181181
date_model="%Y%m%d",
182182
)
183183

0 commit comments

Comments
 (0)