def pvwatts_losses(soiling=<NUM_LIT:2>, shading=<NUM_LIT:3>, snow=<NUM_LIT:0>, mismatch=<NUM_LIT:2>, wiring=<NUM_LIT:2>,<EOL>connections=<NUM_LIT:0.5>, lid=<NUM_LIT>, nameplate_rating=<NUM_LIT:1>, age=<NUM_LIT:0>,<EOL>availability=<NUM_LIT:3>):
params = [soiling, shading, snow, mismatch, wiring, connections, lid,<EOL>nameplate_rating, age, availability]<EOL>perf = <NUM_LIT:1><EOL>for param in params:<EOL><INDENT>perf *= <NUM_LIT:1> - param/<NUM_LIT:100><EOL><DEDENT>losses = (<NUM_LIT:1> - perf) * <NUM_LIT><EOL>return losses<EOL>
r"""
    Implements NREL's PVWatts system loss model [1]_:

    .. math::

        L_{total}(\%) = 100 [ 1 - \Pi_i ( 1 - \frac{L_i}{100} ) ]

    All parameters must be in units of %. Parameters may be
    array-like, though all array sizes must match.

    Parameters
    ----------
    soiling: numeric, default 2
    shading: numeric, default 3
    snow: numeric, default 0
    mismatch: numeric, default 2
    wiring: numeric, default 2
    connections: numeric, default 0.5
    lid: numeric, default 1.5
        Light induced degradation
    nameplate_rating: numeric, default 1
    age: numeric, default 0
    availability: numeric, default 3

    Returns
    -------
    losses: numeric
        System losses in units of %.

    References
    ----------
    .. [1] A. P. Dobos, "PVWatts Version 5 Manual"
           http://pvwatts.nrel.gov/downloads/pvwattsv5.pdf
           (2014).