def get_qout(self,
                 river_id_array=None,
                 date_search_start=None,
                 date_search_end=None,
                 time_index_start=None,
                 time_index_end=None,
                 time_index=None,
                 time_index_array=None,
                 daily=False,
                 pd_filter=None,
                 filter_mode="mean",
                 as_dataframe=False):
        """
        This method extracts streamflow data by a single river ID
        or by a river ID array. It has options to extract by date
        or by date index.

        Parameters
        ----------
        river_id_array: :obj:`numpy.array` or list or int, optional
            A single river ID or an array of river IDs.
        date_search_start: :obj:`datetime.datetime`, optional
            This is a datetime object with the date of the minimum date
            for starting.
        date_search_end: :obj:`datetime.datetime`, optional
            This is a datetime object with the date of the maximum date
            for ending.
        time_index_start: int, optional
            This is the index of the start of the time array subset.
            Useful for the old file version.
        time_index_end: int, optional
            This is the index of the end of the time array subset.
            Useful for the old file version.
        time_index: int, optional
            This is the index of time to return in the case that your
            code only wants one index. Used internally.
        time_index_array: list or :obj:`numpy.array`, optional
            This is used to extract the vales only for particular dates.
            This can be from the *get_time_index_range* function.
        daily: bool, optional
            If true, this will convert qout to daily average.
        pd_filter: str, optional
            This is a valid pandas resample frequency filter.
        filter_mode: str, optional
            You can get the daily average "mean" or the maximum "max".
            Default is "mean".
        as_dataframe: bool, optional
            Return as a pandas dataframe object. Default is False.


        Returns
        -------
        qout_array: :obj:`numpy.array`
            This is a 1D or 2D array or a single value depending on your
            input search.


        This example demonstrates how to retrieve the streamflow associated
        with the reach you are interested in::

            from RAPIDpy import RAPIDDataset

            path_to_rapid_qout = '/path/to/Qout.nc'
            river_id = 500
            with RAPIDDataset(path_to_rapid_qout) as qout_nc:
                streamflow_array = qout_nc.get_qout(river_id)

        This example demonstrates how to retrieve the streamflow within a date
        range associated with the reach you are interested in::

            from RAPIDpy import RAPIDDataset

            path_to_rapid_qout = '/path/to/Qout.nc'
            river_id = 500
            with RAPIDDataset(path_to_rapid_qout) as qout_nc:
                streamflow_array = qout_nc.get_qout(
                    river_id,
                    date_search_start=datetime(1985,1,1),
                    date_search_end=datetime(1985,2,4))

        """
        # get indices of where the streamflow data is
        riverid_index_list_subset = None
        if river_id_array is not None:
            if not hasattr(river_id_array, "__len__"):
                river_id_array = [river_id_array]
            riverid_index_list_subset = \
                self.get_subset_riverid_index_list(river_id_array)[0]

        return self.get_qout_index(riverid_index_list_subset,
                                   date_search_start,
                                   date_search_end,
                                   time_index_start,
                                   time_index_end,
                                   time_index,
                                   time_index_array,
                                   daily,
                                   pd_filter,
                                   filter_mode,
                                   as_dataframe)
def get_qout ( self , river_id_array = None , date_search_start = None , date_search_end = None , time_index_start = None , time_index_end = None , time_index = None , time_index_array = None , daily = False , pd_filter = None , filter_mode = "mean" , as_dataframe = False ) : riverid_index_list_subset = None if river_id_array is not None : if not hasattr ( river_id_array , "__len__" ) : river_id_array = [ river_id_array ] riverid_index_list_subset = self . get_subset_riverid_index_list ( river_id_array ) [ 0 ] return self . get_qout_index ( riverid_index_list_subset , date_search_start , date_search_end , time_index_start , time_index_end , time_index , time_index_array , daily , pd_filter , filter_mode , as_dataframe )
This method extracts streamflow data by a single river ID
        or by a river ID array. It has options to extract by date
        or by date index.

        Parameters
        ----------
        river_id_array: :obj:`numpy.array` or list or int, optional
            A single river ID or an array of river IDs.
        date_search_start: :obj:`datetime.datetime`, optional
            This is a datetime object with the date of the minimum date
            for starting.
        date_search_end: :obj:`datetime.datetime`, optional
            This is a datetime object with the date of the maximum date
            for ending.
        time_index_start: int, optional
            This is the index of the start of the time array subset.
            Useful for the old file version.
        time_index_end: int, optional
            This is the index of the end of the time array subset.
            Useful for the old file version.
        time_index: int, optional
            This is the index of time to return in the case that your
            code only wants one index. Used internally.
        time_index_array: list or :obj:`numpy.array`, optional
            This is used to extract the vales only for particular dates.
            This can be from the *get_time_index_range* function.
        daily: bool, optional
            If true, this will convert qout to daily average.
        pd_filter: str, optional
            This is a valid pandas resample frequency filter.
        filter_mode: str, optional
            You can get the daily average "mean" or the maximum "max".
            Default is "mean".
        as_dataframe: bool, optional
            Return as a pandas dataframe object. Default is False.


        Returns
        -------
        qout_array: :obj:`numpy.array`
            This is a 1D or 2D array or a single value depending on your
            input search.


        This example demonstrates how to retrieve the streamflow associated
        with the reach you are interested in::

            from RAPIDpy import RAPIDDataset

            path_to_rapid_qout = '/path/to/Qout.nc'
            river_id = 500
            with RAPIDDataset(path_to_rapid_qout) as qout_nc:
                streamflow_array = qout_nc.get_qout(river_id)

        This example demonstrates how to retrieve the streamflow within a date
        range associated with the reach you are interested in::

            from RAPIDpy import RAPIDDataset

            path_to_rapid_qout = '/path/to/Qout.nc'
            river_id = 500
            with RAPIDDataset(path_to_rapid_qout) as qout_nc:
                streamflow_array = qout_nc.get_qout(
                    river_id,
                    date_search_start=datetime(1985,1,1),
                    date_search_end=datetime(1985,2,4))