diff --git a/modules/util/util.py b/modules/util/util.py
index 57f320849ca4ecf2528c3403aa0a00c063974cbf..2eecfd136ebd0bd1457fb3446afa933b327cb58d 100644
--- a/modules/util/util.py
+++ b/modules/util/util.py
@@ -256,3 +256,33 @@ def get_grid_values_all(h5f, grid_name, scale_factor_name='scale_factor', add_of
         grd_vals = np.where(grd_vals == fill_value, np.nan, grd_vals)
 
     return grd_vals
+
+
+# dt_str_0: start datetime string in format YYYY-MM-DD_HH:MM
+# num_steps with increment of days, hours, minutes or seconds
+# return num_steps+1 lists of datetime strings and timestamps for the times eries
+def make_times(dt_str_0, num_steps, days=None, hours=None, minutes=None, seconds=None):
+    if days is not None:
+        inc = 86400*days
+    elif hours is not None:
+        inc = 3600*hours
+    elif minutes is not None:
+        inc = 60*minutes
+    else:
+        inc = seconds
+
+    dt_obj_s = []
+    ts_s = []
+    dto_0 = datetime.datetime.strptime(dt_str_0, '%Y-%m-%d_%H:%M').replace(tzinfo=timezone.utc)
+    ts_0 = dto_0.timestamp()
+
+    dt_obj_s.append(dto_0)
+    ts_s.append(ts_0)
+    dto_last = dto_0
+    for k in range(num_steps):
+        dt_obj = dto_last + datetime.timedelta(seconds=inc)
+        dt_obj_s.append(dt_obj)
+        ts_s.append(dt_obj.timestamp())
+        dto_last = dt_obj
+
+    return dt_obj_s, ts_s
\ No newline at end of file