def test_get_sky_diffuse_missing_dni_extra(): msg = 'dni_extra is required' with pytest.raises(ValueError, match=msg): irradiance.get_sky_diffuse(30, 180, 0, 180, 1000, 1100, 100, airmass=1, model='haydavies')
def test_get_sky_diffuse_model_invalid(): with pytest.raises(ValueError): irradiance.get_sky_diffuse(30, 180, 0, 180, 1000, 1100, 100, dni_extra=1360, airmass=1, model='invalid')
def test_sky_diffuse_zenith_close_to_90(model): # GH 432 sky_diffuse = irradiance.get_sky_diffuse(30, 180, 89.999, 230, dni=10, ghi=51, dhi=50, dni_extra=1360, airmass=12, model=model) assert sky_diffuse < 100
def test_get_sky_diffuse_missing_airmass(irrad_data, ephem_data, dni_et): # test assumes location is Tucson, AZ # calculated airmass should be the equivalent to fixture airmass dni = irrad_data['dni'].copy() dni.iloc[2] = np.nan out = irradiance.get_sky_diffuse(40, 180, ephem_data['apparent_zenith'], ephem_data['azimuth'], dni, irrad_data['ghi'], irrad_data['dhi'], dni_et, model='perez') expected = pd.Series(np.array([0., 31.46046871, np.nan, 45.45539877]), index=irrad_data.index) assert_series_equal(out, expected, check_less_precise=2)
def test_sky_diffuse_zenith_close_to_90(model): # GH 432 sky_diffuse = irradiance.get_sky_diffuse( 30, 180, 89.999, 230, dni=10, ghi=51, dhi=50, dni_extra=1360, airmass=12, model=model) assert sky_diffuse < 100