def estimate_voc(photocurrent, saturation_current, nNsVth):
return nNsVth * np.log(np.asarray(photocurrent) / saturation_current + <NUM_LIT:1.0>)<EOL>
Rough estimate of open circuit voltage useful for bounding searches for
``i`` of ``v`` when using :func:`~pvlib.pvsystem.singlediode`.

Parameters
----------
photocurrent : numeric
    photo-generated current [A]
saturation_current : numeric
    diode reverse saturation current [A]
nNsVth : numeric
    product of thermal voltage ``Vth`` [V], diode ideality factor ``n``,
    and number of series cells ``Ns``

Returns
-------
numeric
    rough estimate of open circuit voltage [V]

Notes
-----
Calculating the open circuit voltage, :math:`V_{oc}`, of an ideal device
with infinite shunt resistance, :math:`R_{sh} \\to \\infty`, and zero
series resistance, :math:`R_s = 0`, yields the following equation [1]. As
an estimate of :math:`V_{oc}` it is useful as an upper bound for the
bisection method.

.. math::

    V_{oc, est}=n Ns V_{th} \\log \\left( \\frac{I_L}{I_0} + 1 \\right)

[1] http://www.pveducation.org/pvcdrom/open-circuit-voltage