code: def pvwatts_ac(pdc, pdc0, eta_inv_nom=0.96, eta_inv_ref=0.9637):
      r
  
      pac0 = eta_inv_nom * pdc0
      zeta = pdc / pdc0
  
      # arrays to help avoid divide by 0 for scalar and array
      eta = np.zeros_like(pdc, dtype=float)
      pdc_neq_0 = ~np.equal(pdc, 0)
  
      # eta < 0 if zeta < 0.006. pac is forced to be >= 0 below. GH 541
      eta = eta_inv_nom / eta_inv_ref * (
          - 0.0162*zeta
          - np.divide(0.0059, zeta, out=eta, where=pdc_neq_0)
          + 0.9858)
  
      pac = eta * pdc
      pac = np.minimum(pac0, pac)
      pac = np.maximum(0, pac)     # GH 541
  
      return pac
docs: r"""
      Implements NREL's PVWatts inverter model [1]_.
  
      .. math::
  
          \eta = \frac{\eta_{nom}}{\eta_{ref}} (-0.0162\zeta - \frac{0.0059}{\zeta} + 0.9858)
  
      .. math::
  
          P_{ac} = \min(\eta P_{dc}, P_{ac0})
  
      where :math:`\zeta=P_{dc}/P_{dc0}` and :math:`P_{dc0}=P_{ac0}/\eta_{nom}`.
  
      Parameters
      ----------
      pdc: numeric
          DC power.
      pdc0: numeric
          Nameplate DC rating.
      eta_inv_nom: numeric, default 0.96
          Nominal inverter efficiency.
      eta_inv_ref: numeric, default 0.9637
          Reference inverter efficiency. PVWatts defines it to be 0.9637
          and is included here for flexibility.
  
      Returns
      -------
      pac: numeric
          AC power.
  
      References
      ----------
      .. [1] A. P. Dobos, "PVWatts Version 5 Manual,"
             http://pvwatts.nrel.gov/downloads/pvwattsv5.pdf
             (2014).