code: def _to_altaz(position_au, observer_data, temperature_C, pressure_mbar):
      
      elevation_m = observer_data.elevation_m
      R = observer_data.altaz_rotation
  
      if (elevation_m is None) or (R is None):
          raise ValueError('to compute an altazimuth position, you must'
                           ' observe from a specific Earth location that'
                           ' you specify using a Topos instance')
  
      # TODO: wobble
  
      position_au = einsum('ij...,j...->i...', R, position_au)
      r_au, alt, az = to_polar(position_au)
  
      if temperature_C is None:
          alt = Angle(radians=alt)
      else:
          if temperature_C == 'standard':
              temperature_C = 10.0
          if pressure_mbar == 'standard':
              pressure_mbar = 1010.0 * exp(-elevation_m / 9.1e3)
          alt = refract(alt * RAD2DEG, temperature_C, pressure_mbar)
          alt = Angle(degrees=alt)
  
      return alt, Angle(radians=az), Distance(r_au)
docs: Compute (alt, az, distance) relative to the observer's horizon.