@classmethod<EOL><INDENT>def get(cls, channels, start, end, pad=None, scaled=None,<EOL>dtype=None, verbose=False, allow_tape=None, **kwargs):<DEDENT>
<EOL>nds_kw = {}<EOL>for key in ('<STR_LIT:host>', '<STR_LIT:port>', '<STR_LIT>'):<EOL><INDENT>val = kwargs.pop(key, None)<EOL>if val is not None:<EOL><INDENT>nds_kw[key] = val<EOL><DEDENT><DEDENT>if not nds_kw and (<EOL>os.getenv('<STR_LIT>') or<EOL>os.getenv('<STR_LIT>')<EOL>):<EOL><INDENT>if verbose:<EOL><INDENT>gprint("<STR_LIT>")<EOL><DEDENT>try:<EOL><INDENT>return cls.find(channels, start, end, pad=pad, scaled=scaled,<EOL>dtype=dtype, verbose=verbose,<EOL>allow_tape=allow_tape or False,<EOL>**kwargs)<EOL><DEDENT>except (ImportError, RuntimeError, ValueError) as exc:<EOL><INDENT>if verbose:<EOL><INDENT>gprint(str(exc), file=sys.stderr)<EOL>gprint("<STR_LIT>")<EOL><DEDENT><DEDENT><DEDENT>for key in ('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>kwargs.pop(key, None)<EOL><DEDENT>kwargs.update(nds_kw)  <EOL>try:<EOL><INDENT>return cls.fetch(channels, start, end, pad=pad, scaled=scaled,<EOL>dtype=dtype, allow_tape=allow_tape,<EOL>verbose=verbose, **kwargs)<EOL><DEDENT>except RuntimeError as exc:<EOL><INDENT>if len(channels) == <NUM_LIT:1>:<EOL><INDENT>raise<EOL><DEDENT>else:<EOL><INDENT>if verbose:<EOL><INDENT>gprint(str(exc), file=sys.stderr)<EOL>gprint("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>return cls(<EOL>(c, cls.EntryClass.get(c, start, end, pad=pad,<EOL>scaled=scaled, dtype=dtype,<EOL>allow_tape=allow_tape,<EOL>verbose=verbose, **kwargs))<EOL>for c in channels)<EOL><DEDENT><DEDENT>
Retrieve data for multiple channels from frames or NDS

        This method dynamically accesses either frames on disk, or a
        remote NDS2 server to find and return data for the given interval

        Parameters
        ----------
        channels : `list`
            required data channels.

        start : `~gwpy.time.LIGOTimeGPS`, `float`, `str`
            GPS start time of required data,
            any input parseable by `~gwpy.time.to_gps` is fine

        end : `~gwpy.time.LIGOTimeGPS`, `float`, `str`, optional
            GPS end time of required data, defaults to end of data found;
            any input parseable by `~gwpy.time.to_gps` is fine

        frametype : `str`, optional
            name of frametype in which this channel is stored, by default
            will search for all required frame types

        pad : `float`, optional
            value with which to fill gaps in the source data, only used if
            gap is not given, or `gap='pad'` is given

        scaled : `bool`, optional
            apply slope and bias calibration to ADC data, for non-ADC data
            this option has no effect.

        dtype : `numpy.dtype`, `str`, `type`, or `dict`
            numeric data type for returned data, e.g. `numpy.float`, or
            `dict` of (`channel`, `dtype`) pairs

        nproc : `int`, optional, default: `1`
            number of parallel processes to use, serial process by
            default.

        allow_tape : `bool`, optional, default: `None`
            allow the use of frames that are held on tape, default is `None`
            to attempt to allow the `TimeSeries.fetch` method to
            intelligently select a server that doesn't use tapes for
            data storage (doesn't always work), but to eventually allow
            retrieving data from tape if required

        verbose : `bool`, optional
            print verbose output about data access progress, if ``verbose``
            is specified as a string, this defines the prefix for the
            progress meter

        **kwargs
            other keyword arguments to pass to either
            `TimeSeriesBaseDict.find` (for direct GWF file access) or
            `TimeSeriesBaseDict.fetch` for remote NDS2 access