'Ensure that `val` is matched to length of self.  If val has length 1
then broadcast, otherwise cast to double and make sure shape matches.'

def _match_shape(self, val):

    val = _make_array(val, copy=True)
    if ((val.size > 1) and (val.shape != self.shape)):
        try:
            val = broadcast_to(val, self.shape, subok=True)
        except Exception:
            raise ValueError(u'Attribute    shape    must    match    or    be    broadcastable    to    that    of    Time    object.    Typically,    give    either    a    single    value    or    one    for    each    time.')
    return val
