docs: def is_possible_hour(self, hour):
          """Check if a float hour is a possible hour for this analysis period."""
          if hour > 23 and self.is_possible_hour(0):
              hour = int(hour)
          if not self._is_overnight:
              return self.st_time.hour <= hour <= self.end_time.hour
          else:
              return self.st_time.hour <= hour <= 23 or \
                  0 <= hour <= self.end_time.hour