def METHOD_NAME(V, BV, lam):
    """
    Stellar spectral flux density at a given wavelength.
    This implements the model from [Traub2016]_ which has a stated valid range between
    0.4 and 1 um.
    .. warning::
        Values will be returned for wavelengths outside the valid range, but a warning
        will be generated.
    Args:
        V (float or ~numpy.ndarray(float)):
            Johnson V-band magnitude(s)
        BV (float or ~numpy.ndarray(float)):
            B-V color.  Must be same type and dimensionality as ``V``
        lam (astropy.units.Quantity):
            Wavelength at which to evaluate the flux.  Must be scalar.
    Returns:
        ~astropy.units.Quantity:
            Stellar flux desnsity at wavelength lam. This will have the same
            dimensionality as the V and BV inputs. Default units are ph/s/cm^2/nm
    """
    if (lam < 0.4 * u.um) or (lam > 1 * u.um):
        warnings.warn(
            (
                "Traub et al. 2016 models are only valid for wavelengths between "
                "0.4 and 1 um"
            )
        )
    F0 = TraubZeroMagFluxDensity(lam)
    m = TraubApparentMagnitude(V, BV, lam)
    f = F0 * 10 ** (-0.4 * m)
    return f