def calc_bolometric_luminosity(cont_lwav, cont_wav, reference='Shen2011'):
    """Calculate the bolometric luminosity from the monochromatic continuum
    luminosity (erg/s/A) using bolometric correction factors from the
    literature.

    The following bolometric corrections are available
    cont_wav = 1350, reference = Shen2011
    cont_wav = 3000, reference = Shen2011
    cont_wav = 5100, reference = Shen2011

    The Shen et al. 2011 (ApJ, 194, 45) bolometric corrections are based on the
    composite spectral energy distribution (SED) in Richards et al. 2006 (
    ApJ, 166,470).

    :param cont_lwav: Monochromatic continuum luminosity in erg/s/A.
    :type cont_lwav: astropy.units.Quantity
    :param cont_wav: Wavelength of the monochromatic continuum luminosity in A.
    :type cont_wav: astropy.units.Quantity
    :param reference: A reference string to select from the available \
        bolometric corrections.
    :type reference: string
    :return: Returns a tuple of the bolometric luminosity in erg/s and a \
        reference string indicating the publication and continuum wavelength \
        of the bolometric correction.
    :rtype: astropy.units.Quantity, string

    """

    if cont_wav.value == 1350 and reference == 'Shen2011':
        reference = 'Shen2011_1350'
        return cont_lwav * cont_wav * 3.81, reference

    if cont_wav.value == 3000 and reference == 'Shen2011':
        reference = 'Shen2011_3000'
        return cont_lwav * cont_wav * 5.15, reference

    if cont_wav.value == 5100 and reference == 'Shen2011':
        reference = 'Shen2011_5100'
        return cont_lwav * cont_wav * 9.26, reference
    else:
        raise ValueError('[ERROR] No bolometric correction available for the '
                         'supplied combination of continuum wavelength and '
                         'reference.')