def multi_find_peaks(arr, thresh, trig_int, debug=0, starttime=False,
                     samp_rate=1.0, parallel=True, full_peaks=False,
                     cores=None):
    """
    Wrapper for find-peaks for multiple arrays.

    :type arr: numpy.ndarray
    :param arr: 2-D numpy array is required
    :type thresh: list
    :param thresh:
        The threshold below which will be considered noise and peaks will not
        be found in. One threshold per array.
    :type trig_int: int
    :param trig_int:
        The minimum difference in samples between triggers, if multiple
        peaks within this window this code will find the highest.
    :type debug: int
    :param debug: Optional, debug level 0-5
    :type starttime: obspy.core.utcdatetime.UTCDateTime
    :param starttime: Starttime for plotting, only used if debug > 2.
    :type samp_rate: float
    :param samp_rate: Sampling rate in Hz, only used for plotting if debug > 2.
    :type parallel: bool
    :param parallel:
        Whether to compute in parallel or not - will use multiprocessing
    :type full_peaks: bool
    :param full_peaks: See `eqcorrscan.utils.findpeaks.find_peaks2_short`
    :type cores: int
    :param cores:
        Maximum number of processes to spin up for parallel peak-finding

    :returns:
        List of list of tuples of (peak, index) in same order as input arrays
    """
    peaks = []
    if not parallel:
        for sub_arr, arr_thresh in zip(arr, thresh):
            peaks.append(find_peaks2_short(
                arr=sub_arr, thresh=arr_thresh, trig_int=trig_int, debug=debug,
                starttime=starttime, samp_rate=samp_rate,
                full_peaks=full_peaks))
    else:
        if cores is None:
            cores = arr.shape[0]
        with pool_boy(Pool=Pool, traces=cores) as pool:
            params = ((sub_arr, arr_thresh, trig_int, debug,
                       False, 1.0, full_peaks)
                      for sub_arr, arr_thresh in zip(arr, thresh))
            results = [pool.apply_async(find_peaks2_short, param)
                       for param in params]
            peaks = [res.get() for res in results]
    return peaks
Wrapper for find-peaks for multiple arrays.

    :type arr: numpy.ndarray
    :param arr: 2-D numpy array is required
    :type thresh: list
    :param thresh:
        The threshold below which will be considered noise and peaks will not
        be found in. One threshold per array.
    :type trig_int: int
    :param trig_int:
        The minimum difference in samples between triggers, if multiple
        peaks within this window this code will find the highest.
    :type debug: int
    :param debug: Optional, debug level 0-5
    :type starttime: obspy.core.utcdatetime.UTCDateTime
    :param starttime: Starttime for plotting, only used if debug > 2.
    :type samp_rate: float
    :param samp_rate: Sampling rate in Hz, only used for plotting if debug > 2.
    :type parallel: bool
    :param parallel:
        Whether to compute in parallel or not - will use multiprocessing
    :type full_peaks: bool
    :param full_peaks: See `eqcorrscan.utils.findpeaks.find_peaks2_short`
    :type cores: int
    :param cores:
        Maximum number of processes to spin up for parallel peak-finding

    :returns:
        List of list of tuples of (peak, index) in same order as input arrays