code: def get_orbit_number(self, utc_time, tbus_style=False):
          
          utc_time = np.datetime64(utc_time)
          try:
              dt = astronomy._days(utc_time - self.orbit_elements.an_time)
              orbit_period = astronomy._days(self.orbit_elements.an_period)
          except AttributeError:
              pos_epoch, vel_epoch = self.get_position(self.tle.epoch,
                                                       normalize=False)
              if np.abs(pos_epoch[2]) > 1 or not vel_epoch[2] > 0:
                  # Epoch not at ascending node
                  self.orbit_elements.an_time = self.get_last_an_time(
                      self.tle.epoch)
              else:
                  # Epoch at ascending node (z < 1 km) and positive v_z
                  self.orbit_elements.an_time = self.tle.epoch
  
              self.orbit_elements.an_period = self.orbit_elements.an_time - \
                  self.get_last_an_time(self.orbit_elements.an_time
                                        - np.timedelta64(10, 'm'))
  
              dt = astronomy._days(utc_time - self.orbit_elements.an_time)
              orbit_period = astronomy._days(self.orbit_elements.an_period)
  
          orbit = int(self.tle.orbit + dt / orbit_period +
                      self.tle.mean_motion_derivative * dt**2 +
                      self.tle.mean_motion_sec_derivative * dt**3)
  
          if tbus_style:
              orbit += 1
          return orbit
docs: Calculate orbit number at specified time.
          Optionally use TBUS-style orbit numbering (TLE orbit number + 1)