diff --git a/Common/util_eddies.py b/Common/util_eddies.py
index abf988814e0d565a1989568f33eb03c0bb64c2e9..abf3a903acab48161b220295ad14300517b60ad2 100644
--- a/Common/util_eddies.py
+++ b/Common/util_eddies.py
@@ -253,3 +253,22 @@ def other_orient(orientation):
         return "Anticyclones"
     else:
         return "Cyclones"
+
+def node_to_date_eddy(node_index, e_overestim, only_date = False):
+    """Convert from node identification in graph to eddy identification in
+    shapefiles. Return date_index or (date_index, eddy_index).
+
+    """
+    k = (node_index - 1) // e_overestim
+
+    if only_date:
+        return k
+    else:
+        return k, node_index - k * e_overestim
+
+def date_eddy_to_node(date, eddy_index, e_overestim):
+    """Convert from eddy identification in shapefiles to node
+    identification in graph.
+
+    """
+    return date * e_overestim + eddy_index
diff --git a/Inst_eddies/Analysis/eddy_dump.py b/Inst_eddies/Analysis/eddy_dump.py
index 6f1ca5d0bb4c95330a284c2a936a626a2f9a479d..a85ae691c228d18c1e0ca0f314cb5ef1f5a03ecf 100755
--- a/Inst_eddies/Analysis/eddy_dump.py
+++ b/Inst_eddies/Analysis/eddy_dump.py
@@ -11,7 +11,6 @@ from os import path
 import pprint
 import sys
 import util_eddies
-import report_graph
 import json
 
 parser = argparse.ArgumentParser()
@@ -28,7 +27,7 @@ if args.ishape:
 else:
     if args.node:
         with open("e_overestim.txt") as f: e_overestim = int(f.read())
-        date, eddy_index = report_graph.node_to_date_eddy(args.node,
+        date, eddy_index = util_eddies.node_to_date_eddy(args.node,
                                                           e_overestim)
     else:
         reply = input("date, eddy_index = ? ").split(",")
diff --git a/Overlap/plot_components.py b/Overlap/plot_components.py
index 15dd389fae3cdc7543199407a7a41555a88d3d31..d1b4c738b44551d522d159ca497d3555bd40d7d2 100755
--- a/Overlap/plot_components.py
+++ b/Overlap/plot_components.py
@@ -8,6 +8,7 @@ from matplotlib import patches
 import cartopy.crs as ccrs
 import report_graph
 import sys
+import util_eddies
 
 color_iter = itertools.cycle(('#1f77b4', '#aec7e8', '#ff7f0e',
                               '#ffbb78', '#2ca02c', '#98df8a',
@@ -37,8 +38,8 @@ def is_node_type(G, n, label):
     elif label == "important":
         return G.in_degree[n] == 0 or G.out_degree[n] == 0 or G.degree[n] >= 3
     elif label[0] == "date":
-        return report_graph.node_to_date_eddy(n, G.graph["e_overestim"],
-                                              only_date = True) == label[1]
+        return util_eddies.node_to_date_eddy(n, G.graph["e_overestim"],
+                                             only_date = True) == label[1]
     elif label[0] == "node":
         return n in label[1]
     else:
@@ -100,7 +101,6 @@ def animate_nbunch(G, nbunch):
 if __name__ == "__main__":
     import argparse
     from os import path
-    import util_eddies
     import time
     
     parser = argparse.ArgumentParser(description = __doc__)
diff --git a/Overlap/report_graph.py b/Overlap/report_graph.py
index 4ca8a169591f952d3dcfd4d194d77411ded1e87f..49d1925c0505e0efef649c45eeb66b730fd2f8ad 100755
--- a/Overlap/report_graph.py
+++ b/Overlap/report_graph.py
@@ -8,25 +8,6 @@ import os
 import json
 import util_eddies
 
-def node_to_date_eddy(node_index, e_overestim, only_date = False):
-    """Convert from node identification in graph to eddy identification in
-    shapefiles. Return date_index or (date_index, eddy_index).
-
-    """
-    k = (node_index - 1) // e_overestim
-
-    if only_date:
-        return k
-    else:
-        return k, node_index - k * e_overestim
-
-def date_eddy_to_node(date, eddy_index, e_overestim):
-    """Convert from eddy identification in shapefiles to node
-    identification in graph.
-
-    """
-    return date * e_overestim + eddy_index
-
 def read_eddy_graph(edgelist, shpc_dir = None, orientation = "Cyclones"):
     if os.access(edgelist, os.R_OK):
         G = nx.read_edgelist(edgelist, create_using = nx.DiGraph,
@@ -50,7 +31,7 @@ def set_attribute(G, SHPC, orientation):
 
     if G.number_of_nodes() <= SHPC.get_n_shapes(0, orientation) / 100:
         for n in G:
-            date_index, eddy_index = node_to_date_eddy(n,
+            date_index, eddy_index = util_eddies.node_to_date_eddy(n,
                                                        G.graph["e_overestim"])
             ishape = SHPC.comp_ishape(date_index, eddy_index, 0, orientation)
             shape_rec = reader.shapeRecord(ishape)
@@ -59,7 +40,7 @@ def set_attribute(G, SHPC, orientation):
                        ssh = shape_rec.record.ssh)
     else:
         for shape_rec in reader:
-            n = date_eddy_to_node(shape_rec.record.date,
+            n = util_eddies.date_eddy_to_node(shape_rec.record.date,
                                   shape_rec.record.eddy_index,
                                   G.graph["e_overestim"])
 
@@ -78,7 +59,7 @@ def partition_graph_date(A, e_overestim):
     my_subgraphs = {}
 
     for n in A.iternodes():
-        date_index = node_to_date_eddy(int(n), e_overestim, only_date = True)
+        date_index = util_eddies.node_to_date_eddy(int(n), e_overestim, only_date = True)
 
         if date_index in my_subgraphs:
             my_subgraphs[date_index].append(n)
@@ -146,11 +127,11 @@ if __name__ == "__main__":
     if len_H >= 1:
         # First and last dates:
         node_index = min(G.nodes)
-        my_date = node_to_date_eddy(node_index, G.graph["e_overestim"],
+        my_date = util_eddies.node_to_date_eddy(node_index, G.graph["e_overestim"],
                                     only_date = True)
         print("First date:", my_date)
         node_index = max(G.nodes)
-        my_date = node_to_date_eddy(node_index, G.graph["e_overestim"],
+        my_date = util_eddies.node_to_date_eddy(node_index, G.graph["e_overestim"],
                                     only_date = True)
         print("Last date:", my_date)
 
diff --git a/Trajectories/cost_function.py b/Trajectories/cost_function.py
index 86feaaedcec54a18b2c8c6b90ee6dc780670f1da..f4b5efd42e29483e041df07af8e265a83ae47c60 100755
--- a/Trajectories/cost_function.py
+++ b/Trajectories/cost_function.py
@@ -21,7 +21,6 @@ script.
 import graph_tool
 import time
 import math
-import report_graph
 import util_eddies
 import argparse
 
@@ -67,7 +66,7 @@ def node_to_prop(node_list, e_overestim, SHPC, orientation):
     properties = []
 
     for n in node_list:
-        date_index, eddy_index = report_graph.node_to_date_eddy(n, e_overestim)
+        date_index, eddy_index = util_eddies.node_to_date_eddy(n, e_overestim)
         i_slice = SHPC.get_slice(date_index)
         ishape = SHPC.comp_ishape(date_index, eddy_index, i_slice, orientation)
         shapeRec = SHPC.get_reader(i_slice, orientation, "extremum")\
diff --git a/Trajectories/draw_segments.py b/Trajectories/draw_segments.py
index 215976e8e3bd52d5d28a61003538547047db8725..7f6663e6809d556040c56409dfd02e5fe3866b96 100755
--- a/Trajectories/draw_segments.py
+++ b/Trajectories/draw_segments.py
@@ -15,6 +15,7 @@ import argparse
 import report_graph
 import itertools
 
+import util_eddies
 parser = argparse.ArgumentParser()
 parser.add_argument("input_file", help = "Graph-tool file")
 parser.add_argument("output_file", help = "Graphviz file")
@@ -54,7 +55,7 @@ if args.t:
             except KeyError:
                 break
             else:
-                date_index = report_graph.node_to_date_eddy(segment,
+                date_index = util_eddies.node_to_date_eddy(segment,
                                                             g_in.gp.e_overestim,
                                                             only_date = True)
                 n.attr["label"] = f"{segment} in {i}\n({date_index})"
@@ -62,7 +63,7 @@ if args.t:
 else:
     for n in g_out.iternodes():
         segment = int(n)
-        date_index = report_graph.node_to_date_eddy(segment,
+        date_index = util_eddies.node_to_date_eddy(segment,
                                                     g_in.gp.e_overestim,
                                                     only_date = True)
         n.attr["label"] = f"{segment}\n({date_index})"
diff --git a/Trajectories/filter_traj.py b/Trajectories/filter_traj.py
index 5f00cedfa9b114faa054a662568a888db85c14d4..354ed35791906fdfc4b723e8d24bcfac1cf61cb7 100755
--- a/Trajectories/filter_traj.py
+++ b/Trajectories/filter_traj.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
 import json
-import report_graph
+import util_eddies
 import bisect
 import sys
 
@@ -10,7 +10,7 @@ if len(sys.argv) != 4:
 
 last_date = int(sys.argv[1])
 with open(sys.argv[2]) as f: expanded_traj = json.load(f)
-last_node = report_graph.date_eddy_to_node(
+last_node = util_eddies.date_eddy_to_node(
     last_date, expanded_traj["e_overestim"], expanded_traj["e_overestim"])
 filt_traj = []
 
diff --git a/Trajectories/plot_traj.py b/Trajectories/plot_traj.py
index e65aadac843276b97ba7763261d7f8ad9525aa81..76368d949911e17e8ace3544fa69742bbdbea89b 100755
--- a/Trajectories/plot_traj.py
+++ b/Trajectories/plot_traj.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-import report_graph
+import util_eddies
 import random
 import numpy as np
 
@@ -14,7 +14,7 @@ def get_extr_coord(traj, e_overestim, SHPC, orientation):
     y = []
 
     for node in traj:
-        date_index, eddy_index = report_graph.node_to_date_eddy(node,
+        date_index, eddy_index = util_eddies.node_to_date_eddy(node,
                                                                 e_overestim)
         i_slice = SHPC.get_slice(date_index)
         ishape = SHPC.comp_ishape(date_index, eddy_index, i_slice, orientation)
@@ -42,9 +42,9 @@ def get_duration(expanded_traj):
     duration_list = []
 
     for traj in expanded_traj["traj"]:
-        init_date = report_graph.node_to_date_eddy(
+        init_date = util_eddies.node_to_date_eddy(
             traj[0], expanded_traj["e_overestim"], only_date = True)
-        final_date = report_graph.node_to_date_eddy(
+        final_date = util_eddies.node_to_date_eddy(
             traj[- 1], expanded_traj["e_overestim"], only_date = True)
         duration_list.append(final_date - init_date)
 
diff --git a/Trajectories/trajectories.py b/Trajectories/trajectories.py
index 8458a3abd7792deb2797f440b3308a1108718921..bfc2a1e8a64898d17d1b843b5aef1d06962fbd39 100755
--- a/Trajectories/trajectories.py
+++ b/Trajectories/trajectories.py
@@ -16,7 +16,7 @@ import graph_tool
 from graph_tool import topology
 import json
 import sys
-import report_graph
+import util_eddies
 import numpy as np
 import time
 
@@ -101,9 +101,9 @@ for n in topology.topological_sort(g):
                 # date of the first eddy in segment n and the date of
                 # splitting is the date of the last eddy in segment
                 # n1.
-                date_merging = report_graph.node_to_date_eddy(
+                date_merging = util_eddies.node_to_date_eddy(
                     g.vp.name[n], g.gp.e_overestim, only_date = True)
-                date_splitting = report_graph.node_to_date_eddy(
+                date_splitting = util_eddies.node_to_date_eddy(
                     g.vp.inst_eddies[n1][- 1], g.gp.e_overestim,
                     only_date = True)