def _param_in_lut(key, value, h5_attrs):
    """Test whether the given parameter is accessible via a LUT

    Parameters
    ----------
    key: str
        keyword name (see ggf.get_ggf)
    value: str or float
        keyword value to check
    h5_attrs: dict
        attributes from a LUT hdf5 file

    Returns
    -------
    inlut: bool
        True, if the key-value pair is covered by the LUT
    """
    inlut = False
    if key == "n_poly" and value is None:  # default value is given in LUT
        inlut = True
    elif key in h5_attrs:  # fixed parameter
        if h5_attrs[key] == value or value is None:
            inlut = True
    elif isinstance(value, str):  # model
        inlut = False
    else:  # range
        vmin = h5_attrs["{} min".format(key)]
        vmax = h5_attrs["{} max".format(key)]
        if value <= vmax and value >= vmin:
            inlut = True
        else:
            inlut = False
    return inlut