diff --git a/Inst_eddies/Tests/long_tests.json b/Inst_eddies/Tests/long_tests.json
index ff33126b2a077fbe09712bf17611707e0cc81ba0..aef294ff51b3cdafe911fce695dc88abdffeac0e 100644
--- a/Inst_eddies/Tests/long_tests.json
+++ b/Inst_eddies/Tests/long_tests.json
@@ -75,7 +75,7 @@
     "Extraction_eddies_region_2_noise": {
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+	    "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"commands":
 	[
@@ -83,7 +83,7 @@
 		"$build_dir/Inst_eddies/inst_eddies_Aviso.py",
 		"-b", "1.625", "15.625", "-38.375", "-30.375", "SHPC",
 		"$Aviso_DT_dir/dt_global_allsat_phy_l4_%Y%m%d_20210726.nc",
-		"2006-01-01", "2006-01-15", "0", "f"
+		"2006-01-01", "2006-01-15"
 	    ],
 	    "mv grid_nml.txt SHPC"
 	],
@@ -93,7 +93,7 @@
     "Region_6": {
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+            "&dates_nml date=20454 slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"commands":
 	[
@@ -106,18 +106,17 @@
 	    "mv grid_nml.txt SHPC"
 	],
 	"main_command": 0,
-	"input": "20454\n0\nf\n",
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     },
     "Missing_file": {
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+	    "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"command": [
             "$build_dir/Inst_eddies/inst_eddies_Aviso.py", "SHPC",
             "$Eurec4A_NRT_dir/dataset-duacs-global-allsat-phy-%Y-%m-%d.nc",
-	    "2020-01-31", "2020-02-02", "0", "f"
+	    "2020-01-31", "2020-02-02"
 	],
 	"description":
 	"Date 2020-02-01 is missing. Test of the script with a missing date.",
@@ -131,7 +130,7 @@
 	    [
 		"$build_dir/Inst_eddies/inst_eddies_Aviso.py", "SHPC",
 		"$Aviso_DT_dir/dt_global_allsat_phy_l4_%Y%m%d_20210726.nc",
-		"1993-01-01", "1993-03-31", "0", "f",
+		"1993-01-01", "1993-03-31",
 		"--bbox", "20", "30", "35", "42"
 	    ],
 	    "mv grid_nml.txt SHPC"
@@ -139,7 +138,7 @@
 	"main_command": 0,
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+	    "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     },
@@ -150,7 +149,7 @@
 	    [
 		"$build_dir/Inst_eddies/inst_eddies_Aviso.py", "SHPC",
 		"$Aviso_DT_dir/dt_global_allsat_phy_l4_%Y%m%d_20210726.nc",
-		"2006-01-01", "2006-01-15", "0", "f",
+		"2006-01-01", "2006-01-15",
 		"--bbox", "0.125", "29.875", "-59.875", "-15.125"
 	    ],
 	    "mv grid_nml.txt SHPC"
@@ -158,7 +157,7 @@
 	"main_command": 0,
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+	    "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     }
diff --git a/Inst_eddies/Tests/short_tests.json b/Inst_eddies/Tests/short_tests.json
index 8014b862f185f5b4231b595e2497550fd3e1e019..0eb43d37f1aa56ee5e07e977c35ffb959e240425 100644
--- a/Inst_eddies/Tests/short_tests.json
+++ b/Inst_eddies/Tests/short_tests.json
@@ -261,7 +261,7 @@
 	"description": "Part of the domain has missing values.",
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+            "&dates_nml date=20454 slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"commands":
 	[
@@ -275,34 +275,32 @@
 	    "mv grid_nml.txt SHPC"
 	],
 	"main_command": 0,
-	"input": "20454\n0\nf\n",
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     },
     "Inst_eddies_py": {
 	"description": "Like Extraction_eddies_region_4, but for a single date. This is a test of options of the wrapper script rather than a test of the Fortran executable.",
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+            "&dates_nml date=20454 slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"command": [
             "$build_dir/Inst_eddies/inst_eddies.py",
             "-b", "16.125", "20.875", "-38.875", "-34.125",
             "SHPC", "$Aviso_DT_dir/dt_global_allsat_phy_l4_20060101_20210726.nc"
 	],
-	"input": "20454\n0\nf\n",
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     },
     "Inst_eddies_loop": {
 	"create_file": [
             "inst_eddies_nml.txt",
-            "&config_nml /\n"
+	    "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
 	],
 	"commands":
 	[
             [
 		"$build_dir/Inst_eddies/inst_eddies_Aviso.py", "SHPC",
 		"$src_dir/Inst_eddies/Tests/Input/Region_1/huv_region_1_%Y_%m_%d.nc",
-		"2006-01-01", "2006-01-04", "0", "f"
+		"2006-01-01", "2006-01-04"
 	    ],
 	    "mv grid_nml.txt SHPC"
 	],
@@ -386,13 +384,17 @@
 	    [
 		"$build_dir/Inst_eddies/inst_eddies_Aviso.py", "SHPC",
 		"$Aviso_DT_dir/dt_global_allsat_phy_l4_%Y%m%d_20210726.nc",
-		"2006-01-01", "2006-01-15", "0", "f",
+		"2006-01-01", "2006-01-15",
 		"--bbox", "16.125", "20.875", "-38.875", "-34.125"
 	    ],
 	    "mv grid_nml.txt SHPC"
 	],
 	"main_command": 0,
-	"create_file": ["inst_eddies_nml.txt", "&config_nml /\n"],
+	"create_file":
+	[
+            "inst_eddies_nml.txt",
+            "&dates_nml slice=0/\n&config_nml /\n&input_ssh_nml /\n"
+	],
 	"sel_diff_args": {"exclude": ["timings.txt", "perf_report.csv"]}
     },
     "Complete_SSH":
diff --git a/Inst_eddies/inst_eddies.py.in b/Inst_eddies/inst_eddies.py.in
index 5dc6960ef6e1786a9817ce5f0252a5e1ec78aeac..205eda3756c55beb5f585df52461702ba2cf3187 100644
--- a/Inst_eddies/inst_eddies.py.in
+++ b/Inst_eddies/inst_eddies.py.in
@@ -21,12 +21,9 @@ def process_1_file(
     nco_instance,
     nc_file,
     inst_eddies_exe,
-    d,
-    my_slice,
     writer,
     SHPC_dir,
     inst_eddies_nml,
-    periodic,
 ):
     t0 = time.perf_counter()
 
@@ -55,22 +52,18 @@ def process_1_file(
     subprocess.run(
         [inst_eddies_exe, SHPC_dir, "unpacked.nc"],
         check=True,
-        input=f"&dates_nml date = {d}, slice = {my_slice}/\n"
-        + str(inst_eddies_nml)
-        + f"\n&input_ssh_nml periodic = {periodic}/\n",
+        input=str(inst_eddies_nml) + "\n",
         text=True,
     )
     elapsed_Fortran = time.perf_counter() - t0
-    writer.writerow([d, elapsed_NCO, elapsed_Fortran])
+    writer.writerow(
+        [inst_eddies_nml["dates_nml"]["date"], elapsed_NCO, elapsed_Fortran]
+    )
 
 
-def loop_inst_eddies(
-    SHPC_dir, files, bbox, inst_eddies_nml, d, my_slice, periodic
-):
+def loop_inst_eddies(SHPC_dir, files, bbox, inst_eddies_nml):
     """`files` is an iterator of file paths. The first file must exist,
-    others can be missing. bbox is a tuple of four real numbers. `d`
-    is a date index (integer value) for the first date. my_slice is
-    the slice index (integer value) in the SHPC.
+    others can be missing. bbox is a tuple of four real numbers.
 
     """
 
@@ -84,6 +77,7 @@ def loop_inst_eddies(
         )
 
     nco_instance = nco.Nco()
+    my_slice = inst_eddies_nml["dates_nml"]["slice"]
 
     if os.access(f"{SHPC_dir}/Slice_{my_slice}", os.F_OK):
         shutil.rmtree(f"{SHPC_dir}/Slice_{my_slice}")
@@ -103,24 +97,27 @@ def loop_inst_eddies(
 
     # First file is out of the loop because it must be present:
     nc_file = next(files)
-    print("inst_eddies.loop_inst_eddies: Date:", d)
+    print(
+        "inst_eddies.loop_inst_eddies: Date:",
+        inst_eddies_nml["dates_nml"]["date"],
+    )
     print("inst_eddies.loop_inst_eddies: Input file:", nc_file, flush=True)
     process_1_file(
         bbox,
         nco_instance,
         nc_file,
         inst_eddies_exe,
-        d,
-        my_slice,
         writer,
         SHPC_dir,
         inst_eddies_nml,
-        periodic,
     )
-    d += 1
+    inst_eddies_nml["dates_nml"]["date"] += 1
 
     for nc_file in files:
-        print("inst_eddies.loop_inst_eddies: Date:", d)
+        print(
+            "inst_eddies.loop_inst_eddies: Date:",
+            inst_eddies_nml["dates_nml"]["date"],
+        )
         print("inst_eddies.loop_inst_eddies: Input file:", nc_file, flush=True)
 
         if os.access(nc_file, os.F_OK):
@@ -129,12 +126,9 @@ def loop_inst_eddies(
                 nco_instance,
                 nc_file,
                 inst_eddies_exe,
-                d,
-                my_slice,
                 writer,
                 SHPC_dir,
                 inst_eddies_nml,
-                periodic,
             )
         else:
             print("inst_eddies.loop_inst_eddies: Missing file:", nc_file)
@@ -148,7 +142,7 @@ def loop_inst_eddies(
                     n_shapes = len(shpr)
                     ishape_last.write(str(n_shapes - 1) + "\n")
 
-        d += 1
+        inst_eddies_nml["dates_nml"]["date"] += 1
 
     perf_report.close()
     os.remove("unpacked.nc")
@@ -186,22 +180,12 @@ if __name__ == "__main__":
         sys.exit(args.file[0] + " not found")
 
     if os.access("inst_eddies_nml.txt", os.R_OK):
-        print("Will use inst_eddies_nml.txt.")
+        print(
+            "Will use inst_eddies_nml.txt, using date in dates_nml as first "
+            "date..."
+        )
     else:
         sys.exit('"inst_eddies_nml.txt" not found -- Aborting')
 
     inst_eddies_nml = f90nml.read("inst_eddies_nml.txt")
-    d = input("Enter first date index (integer value): ")
-    d = int(d)
-    my_slice = input("Enter slice index (integer value): ")
-    my_slice = int(my_slice)
-    periodic = input("periodic (t/f)? ")
-    loop_inst_eddies(
-        args.SHPC_dir,
-        iter(args.file),
-        args.bbox,
-        inst_eddies_nml,
-        d,
-        my_slice,
-        periodic,
-    )
+    loop_inst_eddies(args.SHPC_dir, iter(args.file), args.bbox, inst_eddies_nml)
diff --git a/Inst_eddies/inst_eddies_Aviso.py b/Inst_eddies/inst_eddies_Aviso.py
index 75d53784f5cf7bb171a29dc36abb4137b454bdfe..37760b8dee99f3d5a2ebbcd63be5e6e4b4336c37 100644
--- a/Inst_eddies/inst_eddies_Aviso.py
+++ b/Inst_eddies/inst_eddies_Aviso.py
@@ -53,8 +53,6 @@ argparser.add_argument(
 )
 argparser.add_argument("first_date", help="%%Y-%%m-%%d")
 argparser.add_argument("last_date", help="%%Y-%%m-%%d")
-argparser.add_argument("slice", type=int, help="slice number to create")
-argparser.add_argument("periodic", choices=["t", "f"])
 argparser.add_argument(
     "-b",
     "--bbox",
@@ -68,19 +66,18 @@ last_date = parser.parse(args.last_date).date()
 d = (first_date - datetime.date(1950, 1, 1)).days
 
 if os.access("inst_eddies_nml.txt", os.R_OK):
-    print("Will use inst_eddies_nml.txt.")
+    print("Will use inst_eddies_nml.txt, ignoring date in dates_nml...")
 else:
     sys.exit('"inst_eddies_nml.txt" not found -- Aborting')
 
 inst_eddies_nml = f90nml.read("inst_eddies_nml.txt")
 
 # We choose to use d as the first date index. We could choose anything.
+inst_eddies_nml["dates_nml"]["date"] = d
+
 inst_eddies.loop_inst_eddies(
     args.SHPC_dir,
     filename_generator(args.template, first_date, last_date),
     args.bbox,
     inst_eddies_nml,
-    d,
-    my_slice=args.slice,
-    periodic=args.periodic,
 )