def to_coord_frame(self, frame, galactocentric_frame=None, **kwargs):
        if self.ndim != 3:
            raise ValueError("Can only change representation for "
                             "ndim=3 instances.")
        if galactocentric_frame is None:
            galactocentric_frame = coord.Galactocentric()
        if 'vcirc' in kwargs or 'vlsr' in kwargs:
            import warnings
            warnings.warn("Instead of passing in 'vcirc' and 'vlsr', specify "
                          "these parameters to the input Galactocentric frame "
                          "using the `galcen_v_sun` argument.",
                          DeprecationWarning)
        pos_keys = list(self.pos_components.keys())
        vel_keys = list(self.vel_components.keys())
        if (getattr(self, pos_keys[0]).unit == u.one or
                getattr(self, vel_keys[0]).unit == u.one):
            raise u.UnitConversionError("Position and velocity must have "
                                        "dimensioned units to convert to a "
                                        "coordinate frame.")
        gc_c = galactocentric_frame.realize_frame(
            self.pos.with_differentials(self.vel))
        c = gc_c.transform_to(frame)
        return c