Gets the message of this ContainerListResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this ContainerListResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this ContainerListResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this ContainerListResponseJSON.  # noqa: E501
        :type: str


Gets the success of this ContainerAddResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this ContainerAddResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this ContainerAddResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this ContainerAddResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this ContainerAddResponseJSON.  # noqa: E501

        Container ID  # noqa: E501

        :return: The result of this ContainerAddResponseJSON.  # noqa: E501
        :rtype: str


Sets the result of this ContainerAddResponseJSON.

        Container ID  # noqa: E501

        :param result: The result of this ContainerAddResponseJSON.  # noqa: E501
        :type: str


Gets the message of this ContainerAddResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this ContainerAddResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this ContainerAddResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this ContainerAddResponseJSON.  # noqa: E501
        :type: str


Gets the success of this HySDSIORemovalResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this HySDSIORemovalResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this HySDSIORemovalResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this HySDSIORemovalResponseJSON.  # noqa: E501
        :type: bool


Gets the message of this HySDSIORemovalResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this HySDSIORemovalResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this HySDSIORemovalResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this HySDSIORemovalResponseJSON.  # noqa: E501
        :type: str


Gets the success of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this JobTypeSpecificationAdditionResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501

        Job Type Specification ID  # noqa: E501

        :return: The result of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :rtype: str


Sets the result of this JobTypeSpecificationAdditionResponseJSON.

        Job Type Specification ID  # noqa: E501

        :param result: The result of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :type: str


Gets the message of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this JobTypeSpecificationAdditionResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this JobTypeSpecificationAdditionResponseJSON.  # noqa: E501
        :type: str


Gets the success of this JobStatusResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this JobStatusResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this JobStatusResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this JobStatusResponseJSON.  # noqa: E501
        :type: bool


Gets the status of this JobStatusResponseJSON.  # noqa: E501

        job status  # noqa: E501

        :return: The status of this JobStatusResponseJSON.  # noqa: E501
        :rtype: str


Sets the status of this JobStatusResponseJSON.

        job status  # noqa: E501

        :param status: The status of this JobStatusResponseJSON.  # noqa: E501
        :type: str


Gets the message of this JobStatusResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this JobStatusResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this JobStatusResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this JobStatusResponseJSON.  # noqa: E501
        :type: str


Gets the success of this HySDSEventLogResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this HySDSEventLogResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this HySDSEventLogResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this HySDSEventLogResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this HySDSEventLogResponseJSON.  # noqa: E501

        HySDS custom event log ID  # noqa: E501

        :return: The result of this HySDSEventLogResponseJSON.  # noqa: E501
        :rtype: str


Sets the result of this HySDSEventLogResponseJSON.

        HySDS custom event log ID  # noqa: E501

        :param result: The result of this HySDSEventLogResponseJSON.  # noqa: E501
        :type: str


Gets the message of this HySDSEventLogResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this HySDSEventLogResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this HySDSEventLogResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this HySDSEventLogResponseJSON.  # noqa: E501
        :type: str


Gets the success of this SubmitJobResponse.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this SubmitJobResponse.  # noqa: E501
        :rtype: bool


Sets the success of this SubmitJobResponse.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this SubmitJobResponse.  # noqa: E501
        :type: bool


Gets the result of this SubmitJobResponse.  # noqa: E501

        HySDS job ID  # noqa: E501

        :return: The result of this SubmitJobResponse.  # noqa: E501
        :rtype: str


Sets the result of this SubmitJobResponse.

        HySDS job ID  # noqa: E501

        :param result: The result of this SubmitJobResponse.  # noqa: E501
        :type: str


Gets the message of this SubmitJobResponse.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this SubmitJobResponse.  # noqa: E501
        :rtype: str


Sets the message of this SubmitJobResponse.

        message describing success or failure  # noqa: E501

        :param message: The message of this SubmitJobResponse.  # noqa: E501
        :type: str


Gets the success of this JobInfoResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this JobInfoResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this JobInfoResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this JobInfoResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this JobInfoResponseJSON.  # noqa: E501

        Job Info Object  # noqa: E501

        :return: The result of this JobInfoResponseJSON.  # noqa: E501
        :rtype: object


Sets the result of this JobInfoResponseJSON.

        Job Info Object  # noqa: E501

        :param result: The result of this JobInfoResponseJSON.  # noqa: E501
        :type: object


Gets the message of this JobInfoResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this JobInfoResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this JobInfoResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this JobInfoResponseJSON.  # noqa: E501
        :type: str


Gets the success of this JobsListingResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this JobsListingResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this JobsListingResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this JobsListingResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this JobsListingResponseJSON.  # noqa: E501

        list of job IDs  # noqa: E501

        :return: The result of this JobsListingResponseJSON.  # noqa: E501
        :rtype: list[str]


Sets the result of this JobsListingResponseJSON.

        list of job IDs  # noqa: E501

        :param result: The result of this JobsListingResponseJSON.  # noqa: E501
        :type: list[str]


Gets the message of this JobsListingResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this JobsListingResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this JobsListingResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this JobsListingResponseJSON.  # noqa: E501
        :type: str


Gets the success of this HySDSIOListResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this HySDSIOListResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this HySDSIOListResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this HySDSIOListResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this HySDSIOListResponseJSON.  # noqa: E501

        list of hysds-io types  # noqa: E501

        :return: The result of this HySDSIOListResponseJSON.  # noqa: E501
        :rtype: list[str]


Sets the result of this HySDSIOListResponseJSON.

        list of hysds-io types  # noqa: E501

        :param result: The result of this HySDSIOListResponseJSON.  # noqa: E501
        :type: list[str]


Gets the message of this HySDSIOListResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this HySDSIOListResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this HySDSIOListResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this HySDSIOListResponseJSON.  # noqa: E501
        :type: str


Gets the success of this HySDSIOResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this HySDSIOResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this HySDSIOResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this HySDSIOResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this HySDSIOResponseJSON.  # noqa: E501

        HySDS IO Object  # noqa: E501

        :return: The result of this HySDSIOResponseJSON.  # noqa: E501
        :rtype: object


Sets the result of this HySDSIOResponseJSON.

        HySDS IO Object  # noqa: E501

        :param result: The result of this HySDSIOResponseJSON.  # noqa: E501
        :type: object


Gets the message of this HySDSIOResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this HySDSIOResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this HySDSIOResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this HySDSIOResponseJSON.  # noqa: E501
        :type: str


Gets the success of this QueueListingResponseJSON.  # noqa: E501

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :return: The success of this QueueListingResponseJSON.  # noqa: E501
        :rtype: bool


Sets the success of this QueueListingResponseJSON.

        if 'false', encountered exception; otherwise no errors occurred  # noqa: E501

        :param success: The success of this QueueListingResponseJSON.  # noqa: E501
        :type: bool


Gets the result of this QueueListingResponseJSON.  # noqa: E501

        queue response  # noqa: E501

        :return: The result of this QueueListingResponseJSON.  # noqa: E501
        :rtype: object


Sets the result of this QueueListingResponseJSON.

        queue response  # noqa: E501

        :param result: The result of this QueueListingResponseJSON.  # noqa: E501
        :type: object


Gets the message of this QueueListingResponseJSON.  # noqa: E501

        message describing success or failure  # noqa: E501

        :return: The message of this QueueListingResponseJSON.  # noqa: E501
        :rtype: str


Sets the message of this QueueListingResponseJSON.

        message describing success or failure  # noqa: E501

        :param message: The message of this QueueListingResponseJSON.  # noqa: E501
        :type: str


Test JobTypeListResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test SubmitJobResponse
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobTypeSpecificationResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobStatusResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test ContainerAddResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test HySDSIORemovalResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobTypeSpecificationRemovalResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobInfoResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test ContainerListResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test HySDSIOAdditionResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test HySDSEventLogResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test QueueListingResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test HySDSIOListResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test ContainerInfoResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test ContainerRemovalResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobTypeSpecificationAdditionResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test HySDSIOResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Test JobsListingResponseJSON
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included


Saves model when validation loss decrease.


    Analytical solution of the CRPS for the normal distribution.
    Detailed formula introduced in http://dx.doi.org/10.1175/MWR2906.1.


The loss function utilized for the training set.


The loss function employed for the validation set.


        *int*

        number of luminous sources


    reads file with matrix in format like:
    0 0 123.454
    0 1 432.424
    ...
    into numpy array


Reads file with values True or False into a boolean numpy array.
    To save such a file, just use:
    np.savetxt(FILE_NAME, BOOL_ARRAY, fmt='%r')


saves the time vector and the flux for a single pixel into a file


    Create a metadata CSV file by matching HRRR images with their captions.

    Args:
        image_dir (str): Path to the directory containing HRRR image files (.grib2).
        caption_dir (str): Path to the directory containing caption files (.csv).
        output_file (str): Path to save the generated metadata CSV file.

    Returns:
        None


    Scrape weather forecast reports from SPC and save them as CSV files.

    Args:
        start_date (str): Start date of the time range in YYYY-MM-DD format.
        end_date (str): End date of the time range in YYYY-MM-DD format.
        output_path (str): Directory to save the output CSV files.

    Returns:
        None


Process a single MERRA2 file and save the extracted data.


Main processing loop.


    Plot the hurricane track and intensity from xarray data on the given axis.

    Parameters:
        hurdat (xarray.Dataset): Hurricane data in xarray format containing "lon", "lat", and "vmax" variables.
        ax (matplotlib.axes.Axes): The axis on which to plot the hurricane track.

    Returns:
        ax (matplotlib.axes.Axes): The updated axis after plotting the hurricane track and scatter points.
        scatter (matplotlib.collections.PathCollection): The scatter points representing wind speed intensity.
        bounds (numpy.ndarray): Array of boundaries for the intensity categories.


    Main function to visualize hurricane tracks and intensities.

    This function retrieves hurricane data for the year 2017 from the North Atlantic basin,
    plots the hurricane tracks on a geographic domain, and adds a color bar for intensity visualization.


    Plot the intensity of a hurricane over time using maximum sustained wind speed and minimum sea pressure.

    Parameters:
        name (str): The name of the hurricane.
        year (int): The year of the hurricane.
        start (int): The index to start plotting the data.
        skip (int): The number of data points to skip when plotting.

    Returns:
        None


    Download the ERA5 model data for a specific field (T, U, V, or W).

    Parameters:
    year (int): The year.
    month (int): The month (1-12).
    d1 (int): The start day of the month.
    d2 (int): The end day of the month.
    param (str): The parameter code for the field to download.
    outfile (str): The output filename where the data will be saved.


    Load a variable from a netCDF file.

    Parameters:
    nc (netCDF4.Dataset): The netCDF dataset object.
    var_name (str): The variable name to extract from the dataset.

    Returns:
    netCDF4.Variable: The extracted variable.


    Modify the colormap to make the center white for visualizing symmetric data.

    Parameters:
    v (array-like): The values to be visualized.
    cmap (str): The name of the colormap to modify.

    Returns:
    ListedColormap: The modified colormap.


    Write log messages to a file and print them to the console.

    Parameters:
    *args: The log messages to write.


Main function to run flask app in port 8080


    Parameters
    ----------
    results
    polygon
    exact
    dataTime

    Returns
    -------


    Parameters
    ----------
    results
    swot_id
    exact
    dataTime

    Returns
    -------


This function queries the database for relevant results


    Parameters
    ----------
    results
    swot_id
    exact
    time

    Returns
    -------


    Parameters
    ----------
    results
    feature_id
    exact
    time

    Returns
    -------


    Set up a connection to a local dynamodb instance and
    create a table for testing


Forward method
        Parameters
        ----------
        x: `torch.tensor`
        Returns
        -------
        x': `torch.tensor`, same shape as `x`


    Print the pyspedas version number.

    Returns
    -------
    None.


    Replace fill values in data_array with NaNs.  If fillval is an array, each entry applies to the correspondiing data_array elements.

    Parameters
    ----------
    data_array: ndarray
        Input data
    fillval: int or float or list or ndarray
        Fill values to replace with NaN in corresponding elements of data_array.
    varname: str
        The variable currently being processed (for log messages)
    param_type: str
        Data type as returned by hapi server.  Integer data is 0-filled, while floating point data is nan-filled.

    Returns
    -------
    None

    Notes
    -----
    If fillval is an array, its shape must match that of the data array values (after removing the leading dimension for
    the timestamps.  Each element of fillval is searched for and replaced independently, in the correspondina array positions of the data array.


    Loads data from a HAPI server into tplot variables

    Parameters
    -----------
        trange: list of str or list of float
            Time range to load the data for

        server: str
            HAPI server to load the data from

        dataset: str
            HAPI dataset to load

        parameters: str or list of str
            Parameters in the dataset to load; default
            is to load them all
            Default: '' (load all parameters)

        prefix: str
            Prefix to append to the tplot variables
            Default: ''

        suffix: str
            Suffix to append to the tplot variables
            Default: ''

        catalog: bool
            If True, returns the server's catalog of datasets
            Default: False

        quiet: bool
            If True, suppress printing the catalog ids retrieved
            Default: False

    Returns
    -------
        list of str
            List of catalog ids retrieved or tplot variables created.

    Examples
    --------

    >>> # Print catalog from CDAWeb HAPI server
    >>> import pyspedas
    >>> cat_entries = pyspedas.hapi(server='https://cdaweb.gsfc.nasa.gov/hapi', catalog=True)

    >>> # Load OMNI data from CDAWeb HAPI server
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> h_vars = pyspedas.hapi(trange=['2003-10-20', '2003-11-30'],server='https://cdaweb.gsfc.nasa.gov/hapi',dataset='OMNI_HRO2_1MIN')
    >>> tplot(['BX_GSE','BY_GSE','BZ_GSE'])


    Return string describing particle data units for labels

    Input:
        units: str
            String describing units

    Returns:
        String containing full units string


    Returns an interpolated 2D slice of 3D particle data for plotting

    Interpolation methods:

    2D Interpolation:
        Data points within the specified theta or z-axis range are projected onto
        the slice plane and linearly interpolated onto a regular 2D grid.

    Geometric:
        Each point on the plot is given the value of the bin it intersects.
        This allows bin boundaries to be drawn at high resolutions.

    Input
    ---------------------
        dists: list of dicts
            List of 3D particle data structures

    Basic Keywords
    ---------------------
        trange: list of str or list of float
            Two-element time range over which data will be averaged (optional)

        time: str
            Time at which the slice will be computed (optional)

        samples: int
            Numer of samples nearest to TIME to average (default 1)

        window: int or float
            Length in seconds from TIME over which data will be averaged.

        center_time: bool
            Flag denoting that TIME should be midpoint for window instead of beginning.

        interpolation: str
            Interpolation method to use; options: 'geometric' for geometric interpolation
            and '2d' for 2D interpolation (described above)

    Orientation Keywords
    ---------------------
        custom_rotation: str or np.ndarray
            Applies a custom rotation matrix to the data.  Input may be a
            3x3 rotation matrix or a tplot variable containing matrices.
            If the time window covers multiple matrices they will be averaged.

        rotation: str
            Aligns the data relative to the magnetic field and/or bulk velocity.
            This is applied after the CUSTOM_ROTATION. (BV and BE are invariant
            between coordinate systems)

            Use MAG_DATA keyword to specify magnetic field vector.
            Use VEL_DATA keyword to specify bulk velocity (optional).

            'BV':  The x-axis is parallel to B field; the bulk velocity defines the x-y plane
            'BE':  The x-axis is parallel to B field; the B x V(bulk) vector defines the x-y plane
            'xy':  (default) The x-axis is along the data's x-axis and y is along the data's y axis
            'xz':  The x-axis is along the data's x-axis and y is along the data's z axis
            'yz':  The x-axis is along the data's y-axis and y is along the data's z axis
            'xvel':  The x-axis is along the data's x-axis; the x-y plane is defined by the bulk velocity
            'perp':  The x-axis is the bulk velocity projected onto the plane normal to the B field; y is B x V(bulk)
            'perp_xy':  The data's x & y axes are projected onto the plane normal to the B field
            'perp_xz':  The data's x & z axes are projected onto the plane normal to the B field
            'perp_yz':  The data's y & z axes are projected onto the plane normal to the B field

        mag_data: str
            Name of tplot variable containing magnetic field data or 3-vector.
            This will be used for slice plane alignment and must be in the
            same coordinates as the particle data.

        vel_data: str
            Name of tplot variable containing the bulk velocity data or 3-vector.
            This will be used for slice plane alignment and must be in the
            same coordinates as the particle data.
            If not set the bulk velocity will be automatically calculated
            from the distribution (when needed).

    Other Keywords
    ---------------------
        resolution: int
            Integer specifying the resolution along each dimension of the
            slice (defaults:  2D interpolation: 150, geometric: 500)

        smooth: int
            An odd integer >=3 specifying the width of a smoothing window in #
            of points.  Smoothing is applied to the final plot using a gaussian
            convolution. Even entries will be incremented, 0 and 1 are ignored.

        energy: bool
            Flag to plot data against energy (in eV) instead of velocity.

        log: bool
            Flag to apply logarithmic scaling to the radial measure (i.e. energy/velocity).
            (on by default if energy=True)

        erange: list of float
            Two element list specifying the energy range to be used in eV

        thetarange: list of float
            (2D interpolation only): angle range, in degrees (-90, +90), used to calculate the slice
            default = [-20, 20]; will override zdirrange

        zdirrange: list of float
            (2D interpolation only): Z-Axis range, in km/s, used to calculate slice.
            Ignored if called with THETARANGE.

        subtract_bulk: bool
            Flag to subtract the bulk velocity vector

    Returns
    ---------------------
        Dictionary containing 2D slice of 3D particle data


    Calculates the center and width of all bins in spherical coordinates.

    Input
    ------
        dist: dict
            3D particle data structure

    Parameters
    -----------
        energy: bool
            Specifies that the user requested energy instead of velocity

    Returns
    --------
        Hash table containing center and width of all bins in spherical coordinates


    Create 1D plot from a 2D particle slice.

    If the 'value' argument is a scalar, this plots a cut through
    the distribution at the nearest point in the specified direction

    If the 'value' argument is a two-element list, this sums over
    the values between the min and max of the list

    Parameters
    ----------
        the_slice: dict
            2D slice returned by slice2d

        direction: str
            Axis to plot - 'x' or 'y'

        value: float or list of float
            If direction is 'x', this is the y-value to create a 1D plot at (and vice versa)
            can also be a range of values, e.g., [-1000, 1000] to sum over the y-values
            from -1000 to +1000


Produces slice by interpolating projected data. Based on spd_slice2d_2di in IDL


    Checks if two particle distribution structures have identical
    energy, phi, theta, and mass values.

    Input
    ------
        dist1: 3D particle data structure
            First particle data structure

        dist2: 3D particle data structure
            Second particle data structure

    Output
    -------
        Returns 1 if all fields match and 0 otherwise


    Performs transformation into user specified coordinates.
    This transformation is applied after the CUSTOM_ROTATION and ROTATION transformation have been performed.


    Collate data aggregated as slice2d_get_data loops over input
    Data aggregation continues until a change in energy or angle
    bins occurs (mode change or other) or aggregation completes.
    At those points this procedure is called to average the data,
    concatenate data to output variables, and clear the appropriate
    variables for the next loop.


    Transforms quaternions into rotation matrices. Returns the transpose of the rotation matrix.

    This routine is based on the IDL version by Patrick Cruce


    Compose quaternions from vectors and angles

    This routine is based on the IDL version by Patrick Cruce


    Returns the average value of a tplot variable over a specified time range.

    Input
    -----
        tvar: str
            Name of the tplot variable to average

        trange: list of str or list of float
            Time range to average over

    Returns
    -------
        Average value of the tplot variable


    Returns a rotation matrix that rotates v1,v2 to the x-y plane;
    v1 is rotated to the x-axis and v2 into the x-y plane

    Input
    ------
        v1: array of float
            3 component vector

        v2: array of float
            3 component vector

    Returns
    --------
        Rotation matrix that rotates v1,v2 to the x-y plane


    Converts spherical coordinates to cartesian

    Input
    ------
        r: array of float
            Radial values

        theta: array of float
            Theta values

        phi: array of float
            Phi values

    Returns
    -------
        Nx3 array of cartesian values (x, y, z)


    Retrieves the indices of all samples in the specified time range from a particle distribution list.

    Input
    ------
        dists: list of particle distributions

        trange: array of float
            Time range to find distributions in; must be in unix time

    Returns
    -------
        numpy array containing the indices that fall within the specified trange


Forms various title annotations based on the slice's metadata


    Returns an array of gapless energy boundaries.  The number of
    elements returned will always be N+1 for N energy levels.

    Input
    ------
        dist: dict
            3D particle data structure

    Returns
    --------
        Array of energy bin boundaries (# energy bins + 1)


Smooths the output data by applying a gaussian blur.


    Get a time range that encompasses a specified number of
    samples closest to a specified time.

    Input
    ------
        dists: list
            List containing distribution data structures

        time: float
            Unix time

        samples: int
            Number of samples to return

    Returns
    --------
        List containing [start time, end time] for the time range


Shift velocities by specified vector


    Apply radial log scaling to aggregated velocity/energy vectors.

    Input
    ------
        r: ndarray
            N element array of radii

        dr: ndarray
            N element array of radial bin widths (full width)

    Returns
    --------
        Returns hash table containing scaled radii and bin widths


Retrieve a user-provided rotation matrix and apply to data as needed.


Creates plots of 2D particle slices


    Returns an array of averaged data along with the corresponding
    bin centers and widths in spherical coordinates. This routine
    will apply energy range constraints and count thresholds.

    Input
    ------
        dists: list of dicts
            List of 3D particle data structures

    Parameters
    -----------
        trange: list
            Time range

        energy: bool
            Flag to get energy bins instead of velocity bins for radial distance

        erange: list
            Two element array specifying min/max energies to be used

    Returns
    --------
        Dictionary containing data, bin centers and widths:
            data: N element array containing averaged particle data
            rad: N element array of bin centers along r (eV or km/s)
            phi: N element array of bin centers along phi
            theta: N element array of bin centers along theta
            dr: N element array of bin widths along r (eV or km/s)
            dp: N element array of bin widths along phi
            dt: N element array of bin widths along theta


    Produces slices showing each bin's boundaries by assigning
    each bin's value to all points on the slice plane that
    fall within that bin's boundaries.


    Retrieve user specified support data for spd_slice2d

    Input
    ------
        variable: str or float or ndarray
            Tplot variable or input data

        trange: list of float
            Time range to average over if the input is a tplot variable

    Parameters
    -----------
        matrix: ndarray
            Specifies that the input is a matrix

    Returns
    --------
        Output data (average over time range if the input is a tplot variable)


    Helper function used by moments_3d

    Parameters
    ----------
        theta: numpy.ndarray
            theta bin values

        phi: numpy.ndarray
            phi bin values

        dtheta: numpy.ndarray
            Widths of the theta bins

        dphi: numpy.ndarray
            Widths of the phi bins

    Note
    ----
        The calculations were heisted from Davin Larson's IDL SPEDAS version

    Returns
    -------
    ndarray
        Omega weights to be used in moments_3d


    Create a set of basis vectors based on magnetic field and velocity vectors. Used by moments_3d.

    Parameters
    ----------
    v1: ndarray
    v2: ndarray

    Returns
    -------
    ndarray
    A 3x3 rotation matrix that rotates v1 to the z' axis and v2 to the x' - z' plane


    Calculates plasma moments from 3D data structure

    Parameters
    ----------
        data_in: dict
            Particle data structure with entries::

            'charge'
            'mass'
            'energy'
            'denergy'
            'theta'
            'dtheta'
            'phi'
            'dphi'
            'bins'
            'data'

        sc_pot: float
            Spacecraft potential

        no_unit_conversion: bool
            Flag indicating that datta is already in eflux and no unit
            conversion is required

    Note
    ----
        The calculations were mostly heisted from Davin Larson's IDL SPEDAS version

    Returns
    -------
    dict
        Dictionary of plasma moments with entries::

            'density'
            'flux'
            'eflux'
            'qflux'
            'mftens'
            'velocity'
            'ptens'
            'ttens'
            'vthermal'
            'avgtemp'
            'magt3'
            't3'
            'symm'
            'symm_theta'
            'symm_phi'
            'symm_ang'

    Examples
    --------


    Creates tplot variables from moments dictionaries

    Parameters
    ----------
        moments: dict
            Dictionary containing moments values returned by moments_3d

        x: numpy.ndarray
            The x-axis (time) values

        prefix: str
            Name prefix for the output variables

        suffix: str
            Name suffix for the output variables

        coords:str
            Coordinate system to set for non-field-aligned moments that have coordinates
            Default: 'DSL'

        use_mms_sdc_units: bool
            If True, convert pressure tensor and heat flux values and units to nPa and mW/m^2 respectively,
            for compatibility with MMS SDC products.
            Default: False

    Returns
    -------
    list of str
        List of tplot variables returned


    Calculates moments from a simplified particle data structure. Simply a wrapper for moments_3d right now

    Parameters
    ----------
        data_in: dict
            Particle data structure

        sc_pot: float
            Spacecraft potential

    Returns
    -------
    dict
        Dictionary containing moments


    Builds theta (latitudinal) spectrogram from simplified particle data structure.

    Parameters
    ----------
        data_in: dict
            Particle data structure

        resolution: int
            Number of theta points to include in the output

        colatitude: bool
            Flag to specify that data is in co-latitude (0, 180); if this is
            set to False (default), the data are assumed to be (-90, 90)

    Returns
    -------
    tuple
        Tuple containing: (theta values for y-axis, spectrogram values)


    Create tplot variable with standard spectrogram settings

    Parameters
    ----------
        name: str
            Name of the new tplot variable to create

        x: numpy.ndarray
            X-axis values (time)

        y: numpy.ndarray
            Y-axis values

        z: numpy.ndarray
            Z-axis values (data)

        units: str
            Units string to store in the metadata

        ylog: bool
            Set the y-axis to log scale (default: False)

        zlog: bool
            Set the z-axis to log scale (default: True)

        colorbar: str
            PyTplot 'Colormap' option (default: 'spedas')

    Returns
    -------
    str
        String containing new variable name


    Applies field aligned coordinate transformation to input data

    Parameters
    ----------
        data_in: dict
            Particle data structure to be rotated

        mat: numpy.ndarray
            The 3x3 field-aligned rotation matrix to apply to the data

    Returns
    -------
    dict
        Rotated particle data structure


    Builds energy spectrogram from the particle data structure

    Parameters
    ----------
        data_in: dict
            Particle data structure

    Returns
    -------
    tuple
        Tuple containing: (energy values for the y-axis, spectrogram values)


    Builds phi (longitudinal) spectrogram from the particle data structure

    Parameters
    ----------
        data_in: dict
            Particle data structure

        resolution: int
            Number of phi bins in the output

    Returns
    -------
    tuple
        Tuple containing: (phi values for y-axis, spectrogram values)


    Helper routine prints status message indicating completion percent

    Parameters
    ----------
        last_update_time: float
            Last time the status message was printed (unix time)

        current_sample: int
            Current sample #

        total_samples: int
            Total number of samples

        type_string: str
            Usually the variable name (defaults to 'Data')

    Returns
    -------
    float
        float containing the last update time


    Applies phi, theta, and energy limits to data structure(s) by
    turning off the corresponding bin flags.

    Parameters
    ----------
        data: dict
            Particle data structure

        phi: np.ndarray
            Minimum and maximum values for phi

        theta: np.ndarray
            Minimum and maximum values for theta

        energy: np.ndarray
            Minimum and maximum values for energy

    Returns
    -------
    dict
        Data structure with limits applied (to the bins array)


    Regrid a data dictionary

    Parameters
    ----------
    data: dict
        The dictionary containing the input data

    regrid_dimen: list of int
        The lengths of the new angle and energy arrays to compute

    Returns
    -------
    dict
        A dictionary containing the regridded data


    Loads LANL data for the specified instrument and probe.

    Can load data from two instruments, the Magnetospheric Plasma Analyzer (mpa) and the Synchronous Orbit Particle Analyzer (spa).

    Parameters
    ----------
    trange : list of str, optional
        Time range of interest with the format ['YYYY-MM-DD','YYYY-MM-DD'] or
        to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'].
        Defaults to ['2004-10-31', '2004-11-01'].
    instrument : str, optional
        The instrument to load data for. Defaults to 'mpa'.
        Valid instruments: 'mpa', 'spa'.
    probe : str, optional
        The probe to load data for. Defaults to 'a1'.
        Valid probes (with gaps for some dates): 'l0', 'l1', 'l4', 'l7', 'l9', 'a1', 'a2'.
    datatype : str, optional
        The datatype. Defaults to 'k0'.
        Valid datatypes: 'k0', 'h0'.
        Data for 'h0' datatype is available only for the 'mpa' instrument and only for a few days in 1998.
    prefix : str, optional
        The tplot variable names will be given this prefix. By default, no prefix is added.
        Defaults to ''.
    suffix : str, optional
        The tplot variable names will be given this suffix. Defaults to ''.
    get_support_data : bool, optional
        Data with an attribute "VAR_TYPE" with a value of "support_data" will be loaded into tplot.
        By default, only loads in data with a "VAR_TYPE" attribute of "data". Defaults to False.
    varformat : str, optional
        The file variable formats to load into tplot. Wildcard character "*" is accepted.
        By default, all variables are loaded in. Defaults to None.
    varnames : list of str, optional
        List of variable names to load. If not specified, all data variables are loaded. Defaults to [].
    downloadonly : bool, optional
        Set this flag to download the CDF files, but not load them into tplot variables. Defaults to False.
    notplot : bool, optional
        Return the data in hash tables instead of creating tplot variables. Defaults to False.
    no_update : bool, optional
        If set, only load data from your local cache. Defaults to False.
    time_clip : bool, optional
        Time clip the variables to exactly the range specified in the trange keyword. Defaults to False.
    force_download : bool
        Download file even if local version is more recent than server version. Defaults to False.

    Returns
    -------
    list
        List of tplot variables created.


    Load data from the LANL Synchronous Orbit Particle Analyzer (SPA)

    Parameters
    ----------
    trange : list of str, optional
        Time range of interest with the format ['YYYY-MM-DD','YYYY-MM-DD'] or
        to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'].
        Defaults to ['2004-10-31', '2004-11-01'].
    instrument : str, optional
        The instrument to load data for. Defaults to 'mpa'.
        Valid instruments: 'mpa', 'spa'.
    probe : str, optional
        The probe to load data for. Defaults to 'a1'.
        Valid probes (with gaps for some dates): 'l0', 'l1', 'l4', 'l7', 'l9', 'a1', 'a2'.
    datatype : str, optional
        The datatype. Defaults to 'k0'.
        Valid datatypes: 'k0'
        Data for 'h0' datatype is available only for the 'mpa' instrument and only for a few days in 1998.
    prefix : str, optional
        The tplot variable names will be given this prefix. By default, no prefix is added.
        Defaults to ''.
    suffix : str, optional
        The tplot variable names will be given this suffix. Defaults to ''.
    get_support_data : bool, optional
        Data with an attribute "VAR_TYPE" with a value of "support_data" will be loaded into tplot.
        By default, only loads in data with a "VAR_TYPE" attribute of "data". Defaults to False.
    varformat : str, optional
        The file variable formats to load into tplot. Wildcard character "*" is accepted.
        By default, all variables are loaded in. Defaults to None.
    varnames : list of str, optional
        List of variable names to load. If not specified, all data variables are loaded. Defaults to [].
    downloadonly : bool, optional
        Set this flag to download the CDF files, but not load them into tplot variables. Defaults to False.
    notplot : bool, optional
        Return the data in hash tables instead of creating tplot variables. Defaults to False.
    no_update : bool, optional
        If set, only load data from your local cache. Defaults to False.
    time_clip : bool, optional
        Time clip the variables to exactly the range specified in the trange keyword. Defaults to False.
    force_download : bool
        Download file even if local version is more recent than server version. Defaults to False.

    Returns
    -------
    list
        List of tplot variables created.


    Load data from the LANL Magnetospheric Plasma Analyzer (MPA)

    Parameters
    ----------
    trange : list of str, optional
        Time range of interest with the format ['YYYY-MM-DD','YYYY-MM-DD'] or
        to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'].
        Defaults to ['2004-10-31', '2004-11-01'].
    probe : str, optional
        The probe to load data for. Defaults to 'a1'.
        Valid probes (with gaps for some dates): 'l0', 'l1', 'l4', 'l7', 'l9', 'a1', 'a2'.
    datatype : str, optional
        The datatype. Defaults to 'k0'.
        Valid datatypes: 'k0', 'h0'.
        Data for 'h0' datatype is available only for the 'mpa' instrument and only for a few days in 1998.
    prefix : str, optional
        The tplot variable names will be given this prefix. By default, no prefix is added.
        Defaults to ''.
    suffix : str, optional
        The tplot variable names will be given this suffix. Defaults to ''.
    get_support_data : bool, optional
        Data with an attribute "VAR_TYPE" with a value of "support_data" will be loaded into tplot.
        By default, only loads in data with a "VAR_TYPE" attribute of "data". Defaults to False.
    varformat : str, optional
        The file variable formats to load into tplot. Wildcard character "*" is accepted.
        By default, all variables are loaded in. Defaults to None.
    varnames : list of str, optional
        List of variable names to load. If not specified, all data variables are loaded. Defaults to [].
    downloadonly : bool, optional
        Set this flag to download the CDF files, but not load them into tplot variables. Defaults to False.
    notplot : bool, optional
        Return the data in hash tables instead of creating tplot variables. Defaults to False.
    no_update : bool, optional
        If set, only load data from your local cache. Defaults to False.
    time_clip : bool, optional
        Time clip the variables to exactly the range specified in the trange keyword. Defaults to False.
    force_download : bool
        Download file even if local version is more recent than server version. Defaults to False.

    Returns
    -------
    list
        List of tplot variables created.


    Load WIND orbit data

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['1999-11-5', '1999-11-6']

        datatype: str
            Data type; Valid options: 'def_at', 'def_or', 'pre_at', 'pre_or', 'spha_k0'
            Default: 'pre_or'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.orbit(trange=['1999-11-5', '1999-11-6'],datatype='pre_or')
    >>> tplot(vars)


    This function loads data from the WIND mission; this function is not meant
    to be called directly; instead, see the wrappers:
        pyspedas.projects.wind.mfi
        pyspedas.projects.wind.swe
        pyspedas.projects.wind.sms
        pyspedas.projects.wind.threedp
        pyspedas.projects.wind.waves
        pyspedas.projects.wind.orbit


    Load WIND Radio/Plasma Wave (WAVES) data

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2018-11-5','2018-11-6']

        datatype: str
            Data type; Valid options: 'h0', 'h1', 'k0', 'tds'
            Default: 'h1'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.waves(trange=['2018-11-5', '2018-11-6'],datatype='h1')
    >>> tplot(vars)


    Load data from the WIND Fluxgate Magnetometer

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2018-11-5', '2018-11-6']

        datatype: str
            Data type; Valid options: 'h0', 'h1', 'h2', 'h3-rtn', 'h4-rtn', 'k0'
            Default: 'h0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.mfi(trange=['2018-11-5', '2018-11-6'],datatype='h0')
    >>> tplot(vars)


    Load data from the WIND SWE instrument

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2018-11-5', '2018-11-6']

        datatype: str
            Data type; Valid options: 'h0', 'h1', 'h3', 'h4', 'h5', 'k0', 'm0', 'm2'
            Default: 'h5'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.swe(trange=['2018-11-5', '2018-11-6'],datatype='h5')
    >>> tplot(vars)


    Load WIND 3DP data

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['1999-11-5', '1999-11-6']

        datatype: str
            Data type; Valid options: '3dp_ehpd', '3dp_ehsp', '3dp_elm2', '3dp_elpd', '3dp_elsp', '3dp_em', '3dp_emfits_e0',
            '3dp_k0', '3dp_phsp', '3dp_plsp', '3dp_pm', '3dp_sfpd', '3dp_sfsp', '3dp_sopd', '3dp_sosp'
            Default: '3dp_emfits_e0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of str
            List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.threedp(trange=['1999-11-5', '1999-11-6'],datatype='3dp_emfits_e0')
    >>> tplot(vars)


    Load data from the WIND Solar Wind and Suprathermal Ion Composition Instrument

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['1999-11-5', '1999-11-6']

        datatype: str
            Data type; Valid options: 'k0','l2'
            Default: 'k0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            Data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: None (all variables will be loaded)

        varnames: list of str
            List of variable names to load (if empty list or not specified,
            all data variables are loaded)
            Default: [] (all variables will be loaded)

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local copy is newer.
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

        addmaster: bool
            If True, use the metadata from a master CDF at SPDF rather than the metadata in the data file
            Default: True

    Returns
    ----------
        List of tplot variables created.

    Examples
    --------

    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vars = pyspedas.projects.wind.sms(trange=['1999-11-5', '1999-11-6'],datatype='k0')
    >>> tplot(vars)


    This function loads data from the SWICS experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2009-01-01', '2009-01-02']

        datatype: str
            Data type; Valid options: 'scs_m1', 'swi_m1', 'glg_h0'
            Default: 'scs_m1'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_downnload: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> swics_vars = pyspedas.projects.ulysses.swics(trange=['2009-01-01', '2009-01-02'])
    >>> tplot('Velocity')


    Load data from the VHM/FGM experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2009-01-01', '2009-01-02']

        datatype: str
            Data type; Valid options:'1min', '1sec', 'm1'
            Default: '1min'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: True

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> vhm_vars = pyspedas.projects.ulysses.vhm(trange=['2009-01-01', '2009-01-02'])
    >>> tplot('B_MAG')


    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2009-01-01', '2009-01-02']

        instrument: str
            Instrument to load.
            Default: 'vhm'

        datatype: str
            Data type
            Default: '1min'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Notes
    _____
    This function is not meant to be called directly; please see the instrument specific wrappers in __init__.py


    This function loads data from the URAP experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2003-01-01', '2003-01-02']

        datatype: str
            Data type; Valid options: 'pfra_m0', 'pfrp_m0', 'r144_m0', 'rara_m0', 'rarp_m0', 'wfba_m0',
            'wfbp_m0', 'wfea_m0', 'wfep_m0'
            Default: 'pfrp_m0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> urap_vars = pyspedas.projects.ulysses.urap(trange=['2003-01-01', '2003-01-02'])
    >>> print(urap_vars)


    This function loads data from the EPAC experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['1996-01-01', '1996-01-02']

        datatype: str
            Data type; Valid options: 'epac_br', 'epac_el', 'epac_er', 'epac_hr', 'epac_hs', 'epac_m1', 'epac_op',
            'epac_oz', epac_pr', 'epac_ps', 'epac_zr', epac_zs'
            Default: 'epac_m1'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> epac_vars = pyspedas.projects.ulysses.epac(trange=['1996-01-01', '1996-01-02'])
    >>> tplot('Omni_Protons')


    This function loads data from the COSPIN experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2003-01-01', '2003-01-02']

        datatype: str
            Data type; Valid options: 'at1', 'at2', 'het', 'hft', 'ket', 'let'
            Default: 'het'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if the local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> cospin_vars = pyspedas.projects.ulysses.cospin(trange=['2003-01-01', '2003-01-02'])
    >>> print(cospin_vars)


    This function loads data from the SWOOPS experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2009-01-01', '2009-01-02']

        datatype: str
            Data type; Valid options: 'bai_m0, 'bai_m1', 'bae_m0'
            Default: 'bai_m0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> swoops_vars = pyspedas.projects.ulysses.swoops(trange=['2009-01-01', '2009-01-02'])
    >>> tplot(['Density', 'Temperature', 'Velocity'])


    This function loads data from the GRB experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2003-01-01', '2003-01-02']

        datatype: str
            Data type; Valid options: 'grb_m0'
            Default: 'grb_m0'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> grb_vars = pyspedas.projects.ulysses.grb(trange=['2003-01-01', '2003-01-02'])
    >>> tplot('Count_Rate')


    This function loads data from the HI-SCALE experiment from the Ulysses mission

    Parameters
    ----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
            Default: ['2003-01-01', '2003-01-02']

        datatype: str
            Data type; Valid options: 'lf15_m1', 'lf60_m1', 'lm12_m1', 'lm30_m1', 'lmde_m1', 'wart_m1', 'wrtd_m1'
            Default: 'lmde_m1'

        prefix: str
            The tplot variable names will be given this prefix.
            Default: ''

        suffix: str
            The tplot variable names will be given this suffix.
            Default: ''

        get_support_data: bool
            If True, data with an attribute "VAR_TYPE" with a value of "support_data"
            will be loaded into tplot.
            Default: False

        varformat: str
            The file variable formats to load into tplot.  Wildcard character
            "*" is accepted.
            Default: '' (all variables loaded)

        varnames: list of str
            List of variable names to load (If empty list or not specified,
            all data variables are loaded)
            Default: []

        downloadonly: bool
            Set this flag to download the CDF files, but not load them into
            tplot variables
            Default: False

        force_download: bool
            Set this flag to download the CDF files, even if local file is newer
            Default: False

        notplot: bool
            Return the data in hash tables instead of creating tplot variables
            Default: False

        no_update: bool
            If set, only load data from your local cache
            Default: False

        time_clip: bool
            Time clip the variables to exactly the range specified in the trange keyword
            Default: False

    Returns
    -------
        list of str
            List of tplot variables created.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> hiscale_vars = pyspedas.projects.ulysses.hiscale()
    >>> tplot('Electrons')


    Load DSCOVR data into tplot variables.

    Parameters
    ----------
    trange : list of str, optional
        Time range of interest [starttime, endtime] with the format
        ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
        ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'].
        Default is ['2018-10-16', '2018-10-17'].
    instrument : str or list of str, optional
        Type of instrument.
        Values can be: 'mag', 'fc' or 'faraday_cup', 'orbit' or 'orb' or 'pre_or', 'att' or 'def_at', 'pre_at', 'all'.
        If 'all' is specified, all instruments will be loaded.
        Default is 'mag'.
    prefix : str, optional
        The tplot variable names will be given this prefix.
        Default is ''.
        In all cases a suitable prefix will be given depending on the instrument.
    suffix : str, optional
        The tplot variable names will be given this suffix.
        Default is no suffix is added.
    get_support_data : bool, optional
        Data with an attribute "VAR_TYPE" with a value of "support_data" will be loaded into tplot.
        Default is False; only loads in data with a "VAR_TYPE" attribute of "data".
    varformat : str, optional
        The file variable formats to load into tplot.
        Wildcard character "*" is accepted.
        Default is all variables are loaded in.
    varnames : list of str, optional
        List of variable names to load.
        Default is all data variables are loaded.
    downloadonly : bool, optional
        Set this flag to download the CDF files, but not load them into tplot variables.
        Default is False.
    notplot : bool, optional
        Return the data in hash tables instead of creating tplot variables.
        Default is False.
    no_update : bool, optional
        If set, only load data from your local cache.
        Default is False.
    time_clip : bool, optional
        Time clip the variables to exactly the range specified in the trange keyword.
        Default is False.
    force_download : bool, optional
        Download file even if local version is more recent than server version.
        Default is False.

    Returns
    -------
    list of str/dictionary
        List of tplot variables created.
        If downloadonly is set to True, returns a list of the downloaded files.
        If notplot is set to True, returns a dictionary of the data loaded.

    Examples
    --------
    >>> import pyspedas
    >>> from pyspedas import tplot
    >>> mag_vars = pyspedas.projects.dscovr.mag(trange=['2018-11-5', '2018-11-6'])
    >>> tplot('dsc_h0_mag_B1GSE')


    Converts MMS timestamps in TAI to unix timestamps

    Based on Mitsuo Oka's IDL code with the same name.

    Input
    ---------
        values: float, list of floats or np.ndarray
            Time values in TAI

    Returns
    ---------
        Array of time values as unix times


    This function creates MMS orbit plots

    Parameters
    -----------
        trange : list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']

        probes: list of str
            probe #, e.g., '4' for MMS4

        data_rate: str
            instrument data rate, e.g., 'srvy' or 'brst'

        plane: str
            coordinate plane to plot (options: 'xy', 'yz', 'xz')

        xr: list of float
            two element list specifying x-axis range

        yr: list of float
            two element list specifying y-axis range

        coord: str
            coordinate system

        xsize: float
            size of the figure in the x-direction, in inches (default: 5)

        ysize: float
            size of the figure in the y-direction, in inches (default: 5)

        marker: str
            marker style for the data points (default: 'x')

        markevery: int or sequence of int
            plot a marker at every n-th data point (default: 10)

        markersize: float
            size of the marker in points (default: 5)

        earth: bool
            plot a reference image of the Earth (default: True)

        dpi: int
            dots per inch for the plot (default: 300)

        save_png: str
            file path to save the plot as a PNG file (default: None)

        save_pdf: str
            file path to save the plot as a PDF file (default: None)

        save_eps: str
            file path to save the plot as an EPS file (default: None)

        save_jpeg: str
            file path to save the plot as a JPEG file (default: None)

        save_svg: str
            file path to save the plot as an SVG file (default: None)

        return_plot_objects: bool
            whether to return the plot objects as a tuple (default: False)

        display: bool
            whether to display the plot using matplotlib's `show()` function (default: True)


    Search for local MMS files in case a list cannot be retrieved from the
    remote server.

    Parameters
    ------------
        probe: str
            probe #, e.g., '4' for MMS4

        instrument: str
            instrument name, e.g., 'fpi' or 'fgm'

        data_rate: str
            instrument data rate, e.g., 'srvy' or 'brst'

        level: str
            data level, e.g., 'l2'

        datatype: str
            'electron' or 'ion'

        trange: list of str
            two-element array containing the start and end date/times

        mirror: bool
            if True, copy files from network mirror to local data directory

    Returns
    ---------
        List of file paths.


    This function loads MMS data into tplot variables

    This function is not meant to be called directly. Please see the individual load routines for documentation and use.


    This function loads the Science Region of Interest (SRoI) segment intervals

    Parameters
    ------------
        trange: list of str
            time range of interest [starttime, endtime] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']

        probe: str or int
            Spacecraft probe # (default: 1)

        suffix: str
            Suffix to append to the end of the tplot variables

    Returns
    ---------
        Tuple containing (start_times, end_times)


    Creates tplot variables which allow you to display horizontal color bars
    indicating burst data availability.

    Parameters
    -----------
        trange: list of str
            Time frame for the bars

        datatype: str or list of str
            Type of BSS data (current valid options: 'fast', 'burst')

        include_labels: bool
            Flag to have horizontal bars labeled

        probe: str or int
            S/C probe # for SRoI bars (used as fast survey segments after 6Nov15; default: 1)


Decorator for printing variables


Internal wrapper function for decorator


    This function filters a list of MMS data files based on CDF version

    Parameters
    ------------
        version: str
            Specify a specific CDF version # to return (e.g., cdf_version='4.3.0')

        min_version: str
            Specify a minimum CDF version # to return

        latest_version: bool
            Only return the latest CDF version in the requested time interval

        major_version: bool
            Only return the latest major CDF version (e.g., X in vX.Y.Z) in the requested time interval

    Returns
    ----------
        List of filtered files


    Prints a list of burst mode segment selections from the MMS data segment database

    Parameters
    -----------
        trange: list of str or list of float
            Time range to list burst mode events

        reload:
            Re-download the burst mode events database


Loads the burst segment CSV file into a pandas data frame


This function logs the user into the SDC and returns a tuple with: (requests.Session object, username)


    This function downloads and caches the current mms_burst_data_segment.csv
    file from the MMS SDC


    This function loads the burst segment intervals

    Parameters
    -----------
        trange : list of str
            time range of interest [start time, end time] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']

        suffix: str
            String to append to the end of the tplot variable names

    Returns
    ---------
        Tuple containing (start_times, end_times)


    This function loads MMS data from NASA SPDF into tplot variables

    This function is not meant to be called directly. Please see the individual load routines for documentation and use.


    This function filters the file list returned by the SDC to the requested time range. This filter is purposefully
    liberal, it regularly grabs an extra file due to special cases

    Parameters
    -----------
        in_files: list of dict
            List of hash tables containing files returned by the SDC

        trange : list of str
            time range of interest [start time, end time] with the format
            'YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day
            ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']

    Returns
    ---------
        List of hash tables containing file names, sizes and their time tags


    This function will sum (or average, for flux) the HPCA data over the requested field-of-view (fov)

    Parameters
    ----------
        fov : list of int
            field of view, in angles, from 0-360

        probe : str
            probe #, e.g., '4' for MMS4

        suffix: str
            suffix of the loaded data

    Returns
    ----------
        List of tplot variables created.


    This function will sum (or average, when the avg keyword is set to True) the HPCA data over each spin

    Parameters
    ----------
        fov : list of str
            field of view, in angles, from 0-360

        probe : str
            probe #, e.g., '4' for MMS4

        datatypes: list of str
            datatypes to spin-sum; defaults to all datatypes

        species: list of str
            HPCA species; defaults to all species

        suffix: str
            suffix of the loaded data

        avg: bool
            spin-average the data instead of spin-summing the data

    Returns
    ----------
        List of tplot variables created.