diff --git a/Convert_Matlab/id_child.m b/Convert_Matlab/id_child.m
new file mode 100644
index 0000000000000000000000000000000000000000..c2c0b94e67356fe8ec8f91c64320bf4ff3571274
--- /dev/null
+++ b/Convert_Matlab/id_child.m
@@ -0,0 +1,30 @@
+% This is a Matlab script. This script converts to Matlab v6 format
+% some output of TOEddies: what is necessary for the script
+% overlap_v6.py.
+
+clear
+disp('Loading Association_eddies_max...')
+tic
+load('Association_eddies_max.mat', 'id_child')
+toc
+disp('Saving id_child...')
+n_dates = size(id_child, 2)
+n_files = 10
+chunck = ceil(n_dates / n_files)
+last_date = 0
+tic
+
+for i = 0:n_files - 2
+    first_date = last_date + 1;
+    last_date = last_date + chunck
+    part_id_child = id_child(:, first_date:last_date);
+    destination = strcat('id_child_', int2str(i));
+    save(destination, 'part_id_child', '-v6')
+end
+
+first_date = last_date + 1;
+part_id_child = id_child(:, first_date:end);
+destination = strcat('id_child_', int2str(n_files - 1));
+save(destination, 'part_id_child', '-v6')
+toc
+exit
diff --git a/Convert_Matlab/overlap.m b/Convert_Matlab/overlap.m
index adf026debba1305342faa29c4f4ca3fe3d92efa9..6a4ba8e6e5df5698524379a151dcee2a48431c1e 100644
--- a/Convert_Matlab/overlap.m
+++ b/Convert_Matlab/overlap.m
@@ -1,28 +1,7 @@
 % This is a Matlab script. This script converts to Matlab v6 format
-% some output of TOEddies: what is necessary for the script
+% some output of TOEddies: part of what is necessary for the script
 % overlap_v6.py.
 
-clear
-disp('Loading Association_eddies_Anti_max...')
-tic
-load('Association_eddies_Anti_max.mat', 'id_child')
-toc
-disp('Saving id_child...')
-tic
-save('id_child_anti', 'id_child', '-v6')
-toc
-
-clear
-disp('Loading Association_eddies_Cyclo_max...')
-tic
-load('Association_eddies_Cyclo_max.mat', 'id_child')
-toc
-disp('Saving id_child...')
-tic
-save('id_child_cyclo', 'id_child', '-v6')
-toc
-
-clear
 disp('Processing Parameters_Anticyclonic_Eddies...')
 load('Parameters_Anticyclonic_Eddies.mat', 'Nanti', 'date_num')
 N_eddies = Nanti;
diff --git a/Convert_Matlab/overlap_v6.py b/Convert_Matlab/overlap_v6.py
index c10ba2bab15bf9a47914708778ca22decd61a1e0..ced9e185a429b74e9ecf309efacff8955d6a33b1 100755
--- a/Convert_Matlab/overlap_v6.py
+++ b/Convert_Matlab/overlap_v6.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python3
 
-"""This script reads the eddy graph from Matlab v6 files id_child.mat
-    and N_eddies.mat, for a given orientation and writes the graph to
-    a new file in edgelist format.
+"""This script reads the eddy graph from Matlab v6 files
+    id_child_*.mat and N_eddies.mat, for a given orientation and
+    writes the graph to a new file in edgelist format.
 
 """
 
@@ -11,6 +11,7 @@ import csv
 import sys
 import json
 import datetime
+import numpy as np
 
 def to_days_1950(date_num):
     """Convert Matlab serial date number to number of days since Jan 1st
@@ -26,7 +27,26 @@ def adjust_n(n_Matlab):
     return n_Matlab + (k - k_Matlab) * e_overestim
 
 if __name__ == "__main__":
-    id_child = sio.loadmat("id_child.mat", squeeze_me=True)["id_child"]
+    n_files = input("Number of files = ? ")
+    n_files = int(n_files)
+    id_child_list = []
+
+    for i in range(n_files):
+        print(f"Loading id_child_{i}.mat...")
+        part_id_child \
+            = sio.loadmat(f"id_child_{i}.mat", squeeze_me=True)["part_id_child"]
+        # part_id_child is a numpy array with shape (e_overestim, chunk)
+        # where chunk is lower than or equal to the number of dates in the
+        # original Matlab files.
+
+        id_child_list.append(part_id_child)
+
+    if n_files >= 2:
+        id_child = np.concatenate(id_child_list, axis = 1)
+        del id_child_list, part_id_child # can be a lot of memory
+    else:
+        id_child = part_id_child
+
     n_eddies = sio.loadmat("N_eddies.mat", squeeze_me = True)["N_eddies"]\
                   .astype(int, casting = "safe", copy = False)
     date_num = sio.loadmat("date_num.mat", squeeze_me = True)["date_num"]