def METHOD_NAME(
    power_mW,
    color,
    beam_radius,
    reprate_Hz,
    pulse_width,
    color_units="wn",
    beam_radius_units="mm",
    pulse_width_units="fs_t",
    area_type="even",
) -> tuple:
    """Calculate the fluence of a beam.
    Parameters
    ----------
    power_mW : number
        Time integrated power of beam.
    color : number
        Color of beam in units.
    beam_radius : number
        Radius of beam in units.
    reprate_Hz : number
        Laser repetition rate in inverse seconds (Hz).
    pulse_width : number
        Pulsewidth of laser in units
    color_units : string (optional)
        Valid wt.units color unit identifier. Default is wn.
    beam_radius_units : string (optional)
        Valid wt.units distance unit identifier. Default is mm.
    pulse_width_units : number
        Valid wt.units time unit identifier. Default is fs.
    area_type : string (optional)
        Type of calculation to accomplish for Gaussian area.
        even specfies a flat-top calculation
        average specifies a Gaussian average within the FWHM
        Default is even.
    Returns
    -------
    tuple
        Fluence in uj/cm2, photons/cm2, and peak intensity in GW/cm2
    """
    # calculate beam area
    if area_type == "even":
        radius_cm = wt_units.converter(beam_radius, beam_radius_units, "cm")
        area_cm2 = np.pi * radius_cm**2  # cm^2
    elif area_type == "average":
        radius_cm = wt_units.converter(beam_radius, beam_radius_units, "cm")
        area_cm2 = np.pi * radius_cm**2  # cm^2
        area_cm2 /= 0.7213  # weight by average intensity felt by oscillator inside of FWHM
    else:
        raise NotImplementedError
    # calculate fluence in uj/cm^2
    ujcm2 = power_mW / reprate_Hz  # mJ
    ujcm2 *= 1e3  # uJ
    ujcm2 /= area_cm2  # uJ/cm^2
    # calculate fluence in photons/cm^2
    energy = wt_units.converter(color, color_units, "eV")  # eV
    photonscm2 = ujcm2 * 1e-6  # J/cm2
    photonscm2 /= 1.60218e-19  # eV/cm2
    photonscm2 /= energy  # photons/cm2
    # calculate peak intensity in GW/cm^2
    pulse_width_s = wt_units.converter(pulse_width, pulse_width_units, "s_t")  # seconds
    GWcm2 = ujcm2 / 1e6  # J/cm2
    GWcm2 /= pulse_width_s  # W/cm2
    GWcm2 /= 1e9
    # finish
    return ujcm2, photonscm2, GWcm2