def blackbody_specific_intensity(wl_nm, T_K):
    'Get the monochromatic specific intensity for a blackbody -\n        wl_nm = wavelength [nm]\n        T_K   = temperature [K]\n    This is the energy radiated per second per unit wavelength per unit solid angle.\n    Reference - Shu, eq. 4.6, p. 78.'
    a = ((PLANCK_CONSTANT * SPEED_OF_LIGHT) / BOLTZMAN_CONSTANT)
    b = (((2.0 * PLANCK_CONSTANT) * SPEED_OF_LIGHT) * SPEED_OF_LIGHT)
    wl_m = (wl_nm * 1e-09)
    try:
        exponent = (a / (wl_m * T_K))
    except ZeroDivisionError:
        return 0.0
    if (exponent > 500.0):
        return 0.0
    specific_intensity = (b / (math.pow(wl_m, 5) * (math.exp(exponent) - 1.0)))
    return specific_intensity
Get the monochromatic specific intensity for a blackbody -
    wl_nm = wavelength [nm]
    T_K   = temperature [K]
This is the energy radiated per second per unit wavelength per unit solid angle.
Reference - Shu, eq. 4.6, p. 78.
def blackbody_specific_intensity(wl_nm, T_K):
    'Get the monochromatic specific intensity for a blackbody -\n        wl_nm = wavelength [nm]\n        T_K   = temperature [K]\n    This is the energy radiated per second per unit wavelength per unit solid angle.\n    Reference - Shu, eq. 4.6, p. 78.'
    a = ((PLANCK_CONSTANT * SPEED_OF_LIGHT) / BOLTZMAN_CONSTANT)
    b = (((2.0 * PLANCK_CONSTANT) * SPEED_OF_LIGHT) * SPEED_OF_LIGHT)
    wl_m = (wl_nm * 1e-09)
    try:
        exponent = (a / (wl_m * T_K))
    except ZeroDivisionError:
        return 0.0
    if (exponent > 500.0):
        return 0.0
    specific_intensity = (b / (math.pow(wl_m, 5) * (math.exp(exponent) - 1.0)))
    return specific_intensity