diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py
index 0842f98c745b18352a99f85e35ed40451b10eafd..ce42ef77a0af3009c7555b888f93097c78fdbf4a 100644
--- a/modules/aeolus/aeolus_amv.py
+++ b/modules/aeolus/aeolus_amv.py
@@ -28,7 +28,8 @@ class AMVFiles:
         self.flist = glob.glob(files_path + pattern)
         self.band = band
         self.ftimes = []
-        for pname in self.flist:  # TODO: make better with regular expressions (someday)
+        self.span_seconds = datetime.timedelta(minutes=file_time_span).seconds
+        for pname in self.flist:
             dto = self.get_datetime(pname)
             dto_start = dto
             dto_end = dto + datetime.timedelta(minutes=file_time_span)
@@ -47,14 +48,22 @@ class AMVFiles:
 
     def get_file_containing_time(self, timestamp):
         k = -1
-        for i in range(len(self.ftimes)):
-            if (timestamp >= self.ftimes[i][0]) and (timestamp < self.ftimes[i][1]):
+        for i in range(len(self.ftimes.shape[0])):
+            if (timestamp >= self.ftimes[i, 0]) and (timestamp < self.ftimes[i, 1]):
                 k = i
                 break
         if k < 0:
             return None, None, None
 
-        return self.flist[k], self.ftimes[k], k
+        return self.flist[k], self.ftimes[k, 0], k
+
+    def get_file(self, timestamp):
+        diff = self.ftimes[:, 0] - timestamp
+        midx = np.argmin(np.abs(diff))
+        if np.abs(self.ftimes[midx, 0] - timestamp) < self.span_seconds:
+            return self.flist[midx], self.ftimes[midx, 0], midx
+        else:
+            return None, None, None
 
     def get_parameters(self):
         pass
@@ -172,7 +181,7 @@ def match_amvs_to_raobs(raob_dict,  raob_time, amv_files, filepath=None):
     match_dict = {}
 
     if filepath is None:
-        filepath, ftime, f_idx = amv_files.get_file_containing_time(raob_time)
+        filepath, ftime, f_idx = amv_files.get_file(raob_time)
 
     ds = Dataset(filepath)