docs: def _timestep_cull(self, timestep):
          """Cull out values that do not fit a timestep."""
          new_values = []
          new_datetimes = []
          mins_per_step = int(60 / timestep)
          for i, date_t in enumerate(self.datetimes):
              if date_t.moy % mins_per_step == 0:
                  new_datetimes.append(date_t)
                  new_values.append(self.values[i])
          a_per = self.header.analysis_period
          new_ap = AnalysisPeriod(a_per.st_month, a_per.st_day, a_per.st_hour,
                                  a_per.end_month, a_per.end_day, a_per.end_hour,
                                  timestep, a_per.is_leap_year)
          return new_ap, new_values, new_datetimes