def test_pvwatts_scalars(): expected = 85.58556604752516 out = inverter.pvwatts(90, 100, 0.95) assert_allclose(out, expected) # GH 675 expected = 0. out = inverter.pvwatts(0., 100) assert_allclose(out, expected)
def test_pvwatts_arrays(): pdc = np.array([[np.nan], [0], [50], [100]]) pdc0 = 100 expected = np.array([[np.nan], [0.], [47.60843624], [95.]]) out = inverter.pvwatts(pdc, pdc0, 0.95) assert_allclose(out, expected, equal_nan=True)
def power_pvwatts(request, clearsky_july, solarposition_july): pdc0 = 100 pdc0_inverter = 110 tilt = 30 azimuth = 180 pdc0_marker = request.node.get_closest_marker("pdc0_inverter") if pdc0_marker is not None: pdc0_inverter = pdc0_marker.args[0] poa = irradiance.get_total_irradiance( tilt, azimuth, solarposition_july['zenith'], solarposition_july['azimuth'], **clearsky_july ) cell_temp = temperature.sapm_cell( poa['poa_global'], 25, 0, **TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass'] ) dc = pvsystem.pvwatts_dc(poa['poa_global'], cell_temp, pdc0, -0.004) return inverter.pvwatts(dc, pdc0_inverter)
def test_pvwatts_series(): pdc = pd.Series([np.nan, 0, 50, 100]) pdc0 = 100 expected = pd.Series(np.array([np.nan, 0., 47.608436, 95.])) out = inverter.pvwatts(pdc, pdc0, 0.95) assert_series_equal(expected, out)
def test_pvwatts_possible_negative(): # pvwatts could return a negative value for (pdc / pdc0) < 0.006 # unless it is clipped. see GH 541 for more expected = 0 out = inverter.pvwatts(0.001, 1) assert_allclose(out, expected)