From 83f2105796b1c6f7630e753be3c725769f0fce9b Mon Sep 17 00:00:00 2001
From: Lionel GUEZ <guez@lmd.ens.fr>
Date: Thu, 18 Feb 2021 22:58:58 +0100
Subject: [PATCH] Do not re-create `adt_file` for first iteration

We already have it: it is `sys.argv[1]`.
---
 Convert_Matlab/inst_eddies_v6.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/Convert_Matlab/inst_eddies_v6.py b/Convert_Matlab/inst_eddies_v6.py
index 196f9049..6e9be07d 100755
--- a/Convert_Matlab/inst_eddies_v6.py
+++ b/Convert_Matlab/inst_eddies_v6.py
@@ -89,7 +89,8 @@ def write(writers, cell, cyclone):
     n_shapes = len(writers["extr"])
     writers["ishape_last"].write(str(n_shapes - 1) + "\n")
 
-dirname, basename = path.split(sys.argv[1])
+adt_file = sys.argv[1]
+dirname, basename = path.split(adt_file)
 my_date = datetime.datetime.strptime(basename, "adt_%Y-%m-%d_v6.mat").date()
 
 if len(sys.argv) == 3:
@@ -121,9 +122,7 @@ for f in factories:
     file = path.join(f["SHP_coll"], "ishape_last.txt")
     f["writers"]["ishape_last"] = open(file, "w")
     
-while my_date <= final_date:
-    adt_file = my_date.strftime("adt_%Y-%m-%d_v6.mat")
-    adt_file = path.join(dirname, adt_file)
+while True:
     matlab_data = sio.loadmat(adt_file, squeeze_me = True,
                               variable_names = ("date_num", "X", "Y",
                                                 "Anticyclonic_Cell",
@@ -138,6 +137,9 @@ while my_date <= final_date:
         write(f["writers"], matlab_data[f["cell_name"]], f["cyclone"])
     
     my_date += datetime.timedelta(1)
+    if my_date > final_date: break
+    adt_file = my_date.strftime("adt_%Y-%m-%d_v6.mat")
+    adt_file = path.join(dirname, adt_file)
     
 nml = f90nml.Namelist()
 nml["grid_nml"] = dict(corner_deg = [matlab_data["X"][0], matlab_data["Y"][0]],
-- 
GitLab