def find_coefficient_index(sensor, wavelength_range, resolution=0):
    """Return index in to coefficient arrays for this band's wavelength.

    This function search through the `COEFF_INDEX_MAP` dictionary and
    finds the first key where the nominal wavelength of `wavelength_range`
    falls between the minimum wavelength and maximum wavelength of the key.
    `wavelength_range` can also be the standard name of the band. For
    example, "M05" for VIIRS or "1" for MODIS.

    :param sensor: sensor of band to be corrected
    :param wavelength_range: 3-element tuple of (min wavelength, nominal wavelength, max wavelength)
    :param resolution: resolution of the band to be corrected
    :return: index in to coefficient arrays like `aH2O`, `aO3`, etc.
             None is returned if no matching wavelength is found
    """

    index_map = COEFF_INDEX_MAP[sensor.lower()]
    # Find the best resolution of coefficients
    for res in sorted(index_map.keys()):
        if resolution <= res:
            index_map = index_map[res]
            break
    else:
        raise ValueError("Unrecognized data resolution: {}", resolution)
    # Find the best wavelength of coefficients
    if isinstance(wavelength_range, str):
        # wavelength range is actually a band name
        return index_map[wavelength_range]
    else:
        for k, v in index_map.items():
            if isinstance(k, str):
                # we are analyzing wavelengths and ignoring dataset names
                continue
            if k[0] <= wavelength_range[1] <= k[2]:
                return v
Return index in to coefficient arrays for this band's wavelength.

    This function search through the `COEFF_INDEX_MAP` dictionary and
    finds the first key where the nominal wavelength of `wavelength_range`
    falls between the minimum wavelength and maximum wavelength of the key.
    `wavelength_range` can also be the standard name of the band. For
    example, "M05" for VIIRS or "1" for MODIS.

    :param sensor: sensor of band to be corrected
    :param wavelength_range: 3-element tuple of (min wavelength, nominal wavelength, max wavelength)
    :param resolution: resolution of the band to be corrected
    :return: index in to coefficient arrays like `aH2O`, `aO3`, etc.
             None is returned if no matching wavelength is found