def calc_PV_power(absorbed_radiation_Wperm2, T_cell_C, eff_nom, tot_module_area_m2, Bref_perC, misc_losses):
    """
    To calculate the power production of PV panels.

    :param absorbed_radiation_Wperm2: absorbed radiation [W/m2]
    :type absorbed_radiation_Wperm2: float
    :param T_cell_C: cell temperature [degree]
    :param eff_nom: nominal efficiency of PV module [-]
    :type eff_nom: float
    :param tot_module_area_m2: total PV module area [m2]
    :type tot_module_area_m2: float
    :param Bref_perC: cell maximum power temperature coefficient [degree C^(-1)]
    :type Bref_perC: float
    :param misc_losses: expected system loss [-]
    :type misc_losses: float
    :return el_output_PV_kW: Power production [kW]
    :rtype el_output_PV_kW: float

    ..[Osterwald, C. R., 1986] Osterwald, C. R. (1986). Translation of device performance measurements to
    reference conditions. Solar Cells, 18, 269-279.

    """
    T_standard_C = 25.0  # temperature at the standard testing condition
    el_output_PV_kW = eff_nom * tot_module_area_m2 * absorbed_radiation_Wperm2 * \
                      (1 - Bref_perC * (T_cell_C - T_standard_C)) * (1 - misc_losses) / 1000

    return el_output_PV_kW