diff --git a/Common/get_slice_dir.f90 b/Common/get_slice_dir.f90
index 92de13876ba4715a5563ceab364abfcfe7d39c29..91eb7f8fd65ed6fdcfbacadb098ce371248484dc 100644
--- a/Common/get_slice_dir.f90
+++ b/Common/get_slice_dir.f90
@@ -19,9 +19,9 @@ contains
     write(unit = slice_part, fmt = "(a, i0)") "Slice_", slice
 
     if (cyclone) then
-       get_slice_dir = shpc_dir // "/Cyclones/" // trim(slice_part)
+       get_slice_dir = shpc_dir // "/" // trim(slice_part) // "/Cyclones"
     else
-       get_slice_dir = shpc_dir // "/Anticyclones/" // trim(slice_part)
+       get_slice_dir = shpc_dir // "/" // trim(slice_part) // "/Anticyclones"
     end if
 
   end function get_slice_dir
diff --git a/Common/util_eddies.py b/Common/util_eddies.py
index b3637cb14d1a34fd77113333d2bbdc150bec92a9..0aef9a8a0ad8cd359158e3daa004ccc11ac34613 100644
--- a/Common/util_eddies.py
+++ b/Common/util_eddies.py
@@ -34,7 +34,7 @@ def open_shpc(shpc_dir, orientation, slice = 0):
 
     for layer in ["extremum", "outermost_contour", "max_speed_contour",
                   "centroid"]:
-        my_shapefile = path.join(shpc_dir, orientation, f"Slice_{slice}", layer)
+        my_shapefile = path.join(shpc_dir, f"Slice_{slice}", orientation, layer)
 
         try:
             handler["readers"][layer] = shapefile.Reader(my_shapefile)
@@ -42,7 +42,7 @@ def open_shpc(shpc_dir, orientation, slice = 0):
             print(f"{my_shapefile}.shp not found.")
 
     handler["d_init"] = handler["readers"]["extremum"].record(0).date
-    fname = path.join(shpc_dir, orientation, f"Slice_{slice}",
+    fname = path.join(shpc_dir, f"Slice_{slice}", orientation,
                       "ishape_last.txt")
 
     try:
diff --git a/Inst_eddies/Analysis/tests.json b/Inst_eddies/Analysis/tests.json
index be49b3eb6956c870e5a60618f04c605b8a9daf70..e3c4236a333e87f5457b5304f78ceb5c3e5f148a 100644
--- a/Inst_eddies/Analysis/tests.json
+++ b/Inst_eddies/Analysis/tests.json
@@ -94,7 +94,7 @@
 	"command":
 	[
 	    "$src_dir/Inst_eddies/Analysis/filter.py",
-	    "$PWD/Inst_eddies_4/Anticyclones/Slice_0",
+	    "$PWD/Inst_eddies_4/Slice_0/Anticyclones",
 	    "plouf"
 	],
 	"env": {"PYTHONPATH": "$src_dir/Inst_eddies/Tests/Input"}
diff --git a/Inst_eddies/Tests/long_tests.json b/Inst_eddies/Tests/long_tests.json
index b7ee1d83145b7a215b4cd55273cb527ea673b22d..668013964edee2872212d273920091b118214b26 100644
--- a/Inst_eddies/Tests/long_tests.json
+++ b/Inst_eddies/Tests/long_tests.json
@@ -3,8 +3,8 @@
 	"commands":
 	[
 	    [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
 	    "$build_dir/Inst_eddies/Tests/test_set_all_outerm"
 	],
@@ -20,8 +20,8 @@
 	"commands":
 	[
 	    [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
 	    "$build_dir/Inst_eddies/inst_eddies"
 	],
@@ -39,8 +39,8 @@
 	"commands":
 	[
 	    [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
 	    "$build_dir/Inst_eddies/inst_eddies"
 	],
@@ -59,8 +59,8 @@
 	"commands":
 	[
 	    [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
 	    "$build_dir/Inst_eddies/inst_eddies"
 	],
diff --git a/Inst_eddies/Tests/short_tests.json b/Inst_eddies/Tests/short_tests.json
index 05c1a565ab58967415c1a90e0adfbd96c4811965..64135481c33819561528548d101a18653a531b0c 100644
--- a/Inst_eddies/Tests/short_tests.json
+++ b/Inst_eddies/Tests/short_tests.json
@@ -20,7 +20,7 @@
         ],
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    "$build_dir/Inst_eddies/Tests/test_get_1_outerm"
 	]
     },
@@ -44,7 +44,7 @@
         ],
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    "$build_dir/Inst_eddies/Tests/test_get_1_outerm"
 	]
     },
@@ -70,7 +70,7 @@
         ],
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    "$build_dir/Inst_eddies/Tests/test_get_1_outerm"
 	]
     },
@@ -229,7 +229,7 @@
         "command":
 	[
 	    "$build_dir/Inst_eddies/Tests/test_mean_speed",
-	    "$PWD/Get_1_outerm/SHPC/Cyclones/Slice_0/outermost_contour"
+	    "$PWD/Get_1_outerm/SHPC/Slice_0/Cyclones/outermost_contour"
 	]
     },
     {
@@ -268,7 +268,7 @@
         "title": "Set_max_speed",
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    [
 		"$build_dir/Inst_eddies/Tests/test_set_max_speed",
 		"$PWD/Get_1_outerm/SHPC"
@@ -293,7 +293,7 @@
         "title": "Set_max_speed_noise",
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    [
 		"$build_dir/Inst_eddies/Tests/test_set_max_speed",
 		"$PWD/Get_1_outerm_noise_2_8/SHPC"
@@ -316,7 +316,7 @@
 	"description": "The SSH value of the extremum is exactly equal to the SSH value of the point next to the extremum, eastward. This points is selected as the point with maximum azimuthal speed. Then good_contour returns a null polyline.",
         "commands":
 	[
-	    ["mkdir", "-p", "SHPC/Anticyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Anticyclones"],
 	    [
 		"$build_dir/Inst_eddies/Tests/test_set_max_speed",
 		"$src_dir/Inst_eddies/Tests/Input/SHPC_degenerate"
@@ -340,8 +340,8 @@
         "title": "Extraction_eddies_region_1",
         "commands": [
             [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
             "$build_dir/Inst_eddies/inst_eddies"
         ]
@@ -365,8 +365,8 @@
         "title": "Extraction_eddies_region_1_noise",
         "commands": [
             [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
             "$build_dir/Inst_eddies/inst_eddies"
         ]
@@ -381,8 +381,8 @@
         "title": "Extraction_eddies_region_2",
         "commands": [
             [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
             "$build_dir/Inst_eddies/inst_eddies"
         ]
@@ -444,8 +444,8 @@
         "commands":
 	[
 	    [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
 	    "$build_dir/Inst_eddies/Tests/test_set_all_outerm"
         ],
@@ -479,8 +479,8 @@
         "title": "Extraction_eddies_periodic",
         "commands": [
             [
-		"mkdir", "-p", "SHPC/Cyclones/Slice_0",
-		"SHPC/Anticyclones/Slice_0"
+		"mkdir", "-p", "SHPC/Slice_0/Cyclones",
+		"SHPC/Slice_0/Anticyclones"
 	    ],
             "$build_dir/Inst_eddies/inst_eddies"
         ]
diff --git a/Inst_eddies/Tests/test_output.json b/Inst_eddies/Tests/test_output.json
index 8409b3f2e3a688a399ece91b4b2b1e3e3bfacb83..591b771a1cd28a28d5be911cf26a0556f972e5d3 100644
--- a/Inst_eddies/Tests/test_output.json
+++ b/Inst_eddies/Tests/test_output.json
@@ -42,7 +42,7 @@
 	"input": "&main_nml /\n",
 	"commands" :
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    ["time", "$build_dir/Inst_eddies/Tests/test_write_eddy"]
 	],
 	"stdout": "test_write_eddy_stdout.txt",
@@ -54,7 +54,7 @@
 	"input": "&main_nml mixed = f/\n",
 	"commands" :
 	[
-	    ["mkdir", "-p", "SHPC/Cyclones/Slice_0"],
+	    ["mkdir", "-p", "SHPC/Slice_0/Cyclones"],
 	    ["time", "$build_dir/Inst_eddies/Tests/test_write_eddy"]
 	],
 	"stdout": "test_write_eddy_stdout.txt",
diff --git a/Inst_eddies/inst_eddies.py.in b/Inst_eddies/inst_eddies.py.in
index e1fc49a591140cc7488ff6ec7c132ca11c14c5c6..3ad320c1fc2ab34735dad78ca0ed2b840814a05c 100644
--- a/Inst_eddies/inst_eddies.py.in
+++ b/Inst_eddies/inst_eddies.py.in
@@ -1,9 +1,9 @@
 #!/usr/bin/env python3
 
-"""This script creates the directories SHPC/Cyclones/Slice_{my_slice}
-and SHPC/Anticyclones/Slice_{my_slice}, containing a time slice of
+"""This script creates the directories SHPC/Slice_{my_slice}/Cyclones
+and SHPC/Slice_{my_slice}/Anticyclones, containing a time slice of
 instantaneous eddies, and the file perf_report.csv. If
-SHPC/{orientation}/Slice_{my_slice} or perf_report.csv already exist
+SHPC/Slice_{my_slice}/{orientation} or perf_report.csv already exist
 then they are replaced.
 
 """
@@ -37,7 +37,7 @@ def loop_inst_eddies(files, bbox, d, my_slice):
     nco_instance = nco.Nco()
 
     for orient in ["Cyclones", "Anticyclones"]:
-        my_dir = f"SHPC/{orient}/Slice_{my_slice}"
+        my_dir = f"SHPC/Slice_{my_slice}/{orient}"
         if os.access(my_dir, os.F_OK): shutil.rmtree(my_dir)
         os.makedirs(my_dir)
 
@@ -80,9 +80,9 @@ def loop_inst_eddies(files, bbox, d, my_slice):
             print("inst_eddies.loop_inst_eddies: Missing file:", nc_file)
 
             for orient in ["Cyclones", "Anticyclones"]:
-                with open(f"SHPC/{orient}/Slice_{my_slice}/ishape_last.txt",
+                with open(f"SHPC/Slice_{my_slice}/{orient}/ishape_last.txt",
                           "a") as ishape_last, \
-                    shapefile.Reader(f"SHPC/{orient}/Slice_{my_slice}/"
+                    shapefile.Reader(f"SHPC/Slice_{my_slice}/{orient}/"
                                      "extremum") as shpr:
                     n_shapes = len(shpr)
                     ishape_last.write(str(n_shapes - 1) + "\n")
diff --git a/Overlap/Tests/short_tests.json b/Overlap/Tests/short_tests.json
index 0960aa01a76d24e253184de187fdb7b451c8fea9..6b34f34b8ebfcbbe5eb5b09a00742462b0f5b7ee 100644
--- a/Overlap/Tests/short_tests.json
+++ b/Overlap/Tests/short_tests.json
@@ -22,7 +22,7 @@
         "title": "Read_eddy",
         "commands":
 	[
-            ["mkdir", "-p", "SHPC/Anticyclones/Slice_0"],
+            ["mkdir", "-p", "SHPC/Slice_0/Anticyclones"],
             [
 		"$build_dir/Overlap/Tests/test_read_eddy",
 		"$tests_old_dir/Extraction_eddies_region_4/SHPC"
@@ -35,8 +35,8 @@
         "title": "Read_snapshot",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$build_dir/Overlap/Tests/test_read_snapshot",
@@ -175,8 +175,8 @@
         "stdout": "test_send_recv_stdout.txt",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$mpiexec",
@@ -194,8 +194,8 @@
         "stdout": "test_get_dispatch_snap_stdout.txt",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$mpiexec",
@@ -213,8 +213,8 @@
         "stdout": "test_get_dispatch_snap_stdout.txt",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$mpiexec",
@@ -504,7 +504,7 @@
         "title": "Read_eddy_missing_speed",
         "commands":
 	[
-            ["mkdir", "-p", "SHPC/Anticyclones/Slice_0"],
+            ["mkdir", "-p", "SHPC/Slice_0/Anticyclones"],
             [
 		"$build_dir/Overlap/Tests/test_read_eddy",
 		"$PWD/Inst_eddies_4"
@@ -518,8 +518,8 @@
 	"description": "Read a snapshot from an SHPC on a very small region with a sufficient number of dates: 15. $tests_old_dir/Extraction_eddies_region_4/SHPC used by the test Read_snapshot has only 2 dates.",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$build_dir/Overlap/Tests/test_read_snapshot",
@@ -533,8 +533,8 @@
 	"description": "Like Read_snapshot_15, but we read a date other than the first date.",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$build_dir/Overlap/Tests/test_read_snapshot",
@@ -548,8 +548,8 @@
 	"description": "Like Read_snapshot_middle, but we read from several slices. The 3 slices are just the result from splitting Inst_eddies_10.",
         "commands": [
             [
-                "mkdir", "-p", "SHPC/Anticyclones/Slice_0",
-		"SHPC/Cyclones/Slice_0"
+                "mkdir", "-p", "SHPC/Slice_0/Anticyclones",
+		"SHPC/Slice_0/Cyclones"
             ],
             [
                 "$build_dir/Overlap/Tests/test_read_snapshot",