def eq_14_plume_temperature(
        T_0: float,
        g: float,
        c_p_0_kJ_kg_K: float,
        rho_0: float,
        Q_dot_c_kW: float,
        z: float,
        z_0: float,
):
    """Equation 14 in Section 8.3.3 PD 7974-1:2019 calculates mean gas temperature along fire centre-line.

    :param T_0: in K, ambient air temperature.
    :param g: in m/s^2, acceleration due to gravity.
    :param c_p_0_kJ_kg_K: in kJ/kg/K, specific heat capacity of ambient air.
    :param rho_0: in kg/m^3, density of ambient air.
    :param Q_dot_c_kW: in kW, convective heat release rate.
    :param z: in m, height above fuel surface.
    :param z_0: in m, virtual fire origin.
    :return theta_bar_cl: in K, mean centre-line excess gas temperature.
    """

    # intermediate parameters
    aa = (T_0 / (g * c_p_0_kJ_kg_K ** 2 * rho_0 ** 2)) ** (1 / 3)
    bb = Q_dot_c_kW ** (2 / 3)
    cc = (z - z_0) ** (-5 / 3)

    # calculate the temperature
    theta_bar_cl = 9.1 * aa * bb * cc

    return theta_bar_cl