code: def yeardoy2datetime(yeardate: int,
                       utsec: Union[float, int] = None) -> datetime.datetime:
      
      if isinstance(yeardate, (tuple, list, np.ndarray)):
          if utsec is None:
              return np.asarray([yeardoy2datetime(y) for y in yeardate])
          elif isinstance(utsec, (tuple, list, np.ndarray)):
              return np.asarray([yeardoy2datetime(y, s) for y, s in zip(yeardate, utsec)])
  
      yeardate = int(yeardate)
  
      yd = str(yeardate)
      if len(yd) != 7:
          raise ValueError('yyyyddd expected')
  
      year = int(yd[:4])
      assert 0 < year < 3000, 'year not in expected format'
  
      dt = datetime.datetime(year, 1, 1) + datetime.timedelta(days=int(yd[4:]) - 1)
      assert isinstance(dt, datetime.datetime)
  
      if utsec is not None:
          dt += datetime.timedelta(seconds=utsec)
  
      return dt
docs: Inputs:
      yd: yyyyddd four digit year, 3 digit day of year (INTEGER 7 digits)
  
      outputs:
      t: datetime
  
      http://stackoverflow.com/questions/2427555/python-question-year-and-day-of-year-to-date