From f2445e82d47417c27b9f8fc4efe6754e374e6fc0 Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Sun, 8 Aug 2021 22:10:31 -0500 Subject: [PATCH] new method --- modules/util/util.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/modules/util/util.py b/modules/util/util.py index 57f32084..2eecfd13 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 -- GitLab