docs: def get_multiple_vals_at_time(dataset_ids, timestamps,**kwargs):
      """
      Given a timestamp (or list of timestamps) and a list of timeseries datasets,
      return the values appropriate to the requested times.
  
      If the timestamp is before the start of the timeseries data, return
      None If the timestamp is after the end of the timeseries data, return
      the last value.  """
      datasets = _get_datasets(dataset_ids)
      datetimes = []
      for time in timestamps:
          datetimes.append(get_datetime(time))
  
      return_vals = {}
      for dataset_i in datasets.values():
          data = dataset_i.get_val(timestamp=datetimes)
          ret_data = {}
          if type(data) is list:
              for i, t in enumerate(timestamps):
                  ret_data[t] = data[i]
          return_vals['dataset_%s'%dataset_i.id] = ret_data
  
      return return_vals