diff --git a/cost_function.py b/cost_function.py index 925947d693f94dd06437b52d7f4d073c7792bf24..83aeb910163c316403ff25e2b942cc13a6d17a1d 100755 --- a/cost_function.py +++ b/cost_function.py @@ -148,26 +148,6 @@ for n in g.vertices(): segment = g.vp.inst_eddies[n] len_seg = len(segment) - # Calculate the date index, the eddy index and the SHPC index of - # the first instantaneous eddy in the segment, then grab the - # position of the extremum and store it in a vertex property: - date_index, eddy_index = report_graph.node_to_date_eddy(segment[0], - e_overestim) - i_SHPC = get_SHPC(array_d_init, date_index) - ishape = util_eddies.comp_ishape(handlers[i_SHPC], date_index, - eddy_index) - g.vp.pos_first[n] = handlers[i_SHPC]["readers"]["extremum"]\ - .shape(ishape).points[0] # [in degrees] - - # Same for last instantaneous eddy in the segment: - date_index, eddy_index = report_graph.node_to_date_eddy(segment[-1], - e_overestim) - i_SHPC = get_SHPC(array_d_init, date_index) - ishape = util_eddies.comp_ishape(handlers[i_SHPC], date_index, - eddy_index) - g.vp.pos_last[n] = handlers[i_SHPC]["readers"]["extremum"]\ - .shape(ishape).points[0] # [in degrees] - if len_seg > n_days_avg: # The segment is longer than the number of days over which # to average @@ -177,12 +157,14 @@ for n in g.vertices(): array_d_init, handlers) g.vp.first_av_rad[n], g.vp.first_av_ros[n] \ = calculate_radii_rossby(properties) + g.vp.pos_first[n] = properties[0]["pos"] # in degrees # Last 7 days calculation: properties = node_to_prop(segment[- n_days_avg:], e_overestim, array_d_init, handlers) g.vp.last_av_rad[n], g.vp.last_av_ros[n] \ = calculate_radii_rossby(properties) + g.vp.pos_last[n] = properties[- 1]["pos"] # in degrees else: # The number of eddies in a segment is lower than the number # of days over which to average. The values will be the same @@ -199,6 +181,9 @@ for n in g.vertices(): g.vp.first_av_rad[n] = avg_rad g.vp.last_av_rad[n] = avg_rad + g.vp.pos_first[n] = properties[0]["pos"] # in degrees + g.vp.pos_last[n] = properties[- 1]["pos"] # in degrees + t1 = time.perf_counter() timings.write(f"iterating on vertices: {t1 - t0:.0f} s\n") t0 = t1