diff --git a/modules/aeolus/datasource.py b/modules/aeolus/datasource.py
index 9908da8a7625f521a5e44f64885646801a2ecafd..17b28e0537c4dcf328bcd7b4dc4f2e3b79721621 100644
--- a/modules/aeolus/datasource.py
+++ b/modules/aeolus/datasource.py
@@ -119,7 +119,7 @@ class Files:
     def get_file_containing_time(self, timestamp):
         """
         :param timestamp: seconds since the epoch
-        :return: the file whose time range (defined as the difference between consecutive file time labels) contains timestamp.
+        :return: the file whose time range contains timestamp.
         """
         k = -1
         for i in range(self.ftimes.shape[0]):
@@ -134,7 +134,7 @@ class Files:
     def get_file(self, timestamp, window=None):
         """
         :param timestamp: seconds since the epoch.
-        :param window: the duration of files in this object. Defaults to the constructor time span.
+        :param window: the duration (minutes) of files in this object. Defaults to the constructor time span.
         :return: the file whose duration contains the timestamp.
         """
         if window is None:
@@ -154,15 +154,21 @@ class Files:
         :param t_lo_minutes: can be negative or positive
         :param t_hi_minutes: can be negative or positive, but must be greater than t_lo_minutes.
         :return: the file whose time label is within the absolute range (timestamp + t_lo_minutes, timestamp + t_hi_minutes)
+        if more than one, return the first occurrence.
         """
 
+        if t_hi_minutes <= t_lo_minutes:
+            raise ValueError('t_hi_minutes must be greater than t_lo_minutes')
+
         t_lo = timestamp + datetime.timedelta(minutes=t_lo_minutes).seconds
         t_hi = timestamp + datetime.timedelta(minutes=t_hi_minutes).seconds
 
-        midx = np.where(np.logical_and(self.ftimes[:, 0] >= t_lo, self.ftimes[:, 0] < t_hi))[0]
-        midx = midx[0]  # the first occurrence
-
-        return self.flist[midx], self.ftimes[midx, 0], midx
+        m_idx = np.where(np.logical_and(self.ftimes[:, 0] >= t_lo, self.ftimes[:, 0] < t_hi))[0]
+        if len(m_idx) > 0:
+            m_idx = m_idx[0]  # the first occurrence
+            return self.flist[m_idx], self.ftimes[m_idx, 0], m_idx
+        else:
+            return None, None, None
 
     def get_parameters(self):
         pass