code: def to_time(self, phase, component=None, t0='t0_supconj', **kwargs):
          
  
          if kwargs.get('shift', False):
              raise ValueError("support for phshift was removed as of 2.1.  Please pass t0 instead.")
  
          ephem = self.get_ephemeris(component=component, t0=t0, **kwargs)
  
          if isinstance(phase, list):
              phase = np.array(phase)
  
          t0 = ephem.get('t0', 0.0)
          period = ephem.get('period', 1.0)
          dpdt = ephem.get('dpdt', 0.0)
  
          # if changing this, also see parameters.constraint.time_ephem
          if dpdt != 0:
              time = t0 + 1./dpdt*(np.exp(dpdt*(phase))-period)
          else:
              time = t0 + (phase)*period
  
          return time
docs: Get the time(s) of a phase(s) for a given ephemeris
  
          :parameter phase: phase to convert to times (should be in
              same system as t0s)
          :type phase: float, list, or array
      `   :parameter str component: component for which to get the ephemeris.
              If not given, component will default to the top-most level of the
              current hierarchy
          :parameter t0: qualifier of the parameter to be used for t0
          :type t0: str
          :parameter **kwargs: any value passed through kwargs will override the
              ephemeris retrieved by component (ie period, t0, dpdt).
              Note: be careful about units - input values will not be converted.
          :return: time (float) or times (array)