示例#1
0
def test_coverage_nrel_initial():
    surface_tilt = 45
    slide_amount_coefficient = 0.197
    dt = pd.date_range(start="2019-1-1 10:00:00", end="2019-1-1 17:00:00",
                       freq='1h')
    poa_irradiance = pd.Series([400, 200, 100, 1234, 134, 982, 100, 100],
                               index=dt)
    temp_air = pd.Series([10, 2, 10, 1234, 34, 982, 10, 10], index=dt)
    snowfall_data = pd.Series([0, .5, .6, .4, .23, -5, .1, .1], index=dt)
    snow_coverage = snow.coverage_nrel(
        snowfall_data, poa_irradiance, temp_air, surface_tilt,
        initial_coverage=0.5, threshold_snowfall=1.)
    slide_amt = slide_amount_coefficient * sind(surface_tilt)
    covered = 0.5 - slide_amt * np.array([0, 1, 2, 3, 4, 5, 6, 7])
    covered = np.where(covered < 0, 0., covered)
    expected = pd.Series(covered, index=dt)
    assert_series_equal(expected, snow_coverage)
示例#2
0
def test_coverage_nrel_subhourly():
    surface_tilt = 45
    slide_amount_coefficient = 0.197
    dt = pd.date_range(start="2019-1-1 11:00:00", end="2019-1-1 14:00:00",
                       freq='15T')
    poa_irradiance = pd.Series([400, 200, 100, 1234, 134, 982, 100, 100, 100,
                                100, 100, 100, 0],
                               index=dt)
    temp_air = pd.Series([10, 2, 10, 1234, 34, 982, 10, 10, 10, 10, -10, -10,
                          10], index=dt)
    snowfall_data = pd.Series([1, .5, .6, .4, .23, -5, .1, .1, 0., 1., 0., 0.,
                               0.], index=dt)
    snow_coverage = snow.coverage_nrel(
        snowfall_data, poa_irradiance, temp_air, surface_tilt)
    slide_amt = slide_amount_coefficient * sind(surface_tilt) * 0.25
    covered = np.append(np.array([1., 1., 1., 1.]),
                        1.0 - slide_amt * np.array([1, 2, 3, 4, 5]))
    covered = np.append(covered, np.array([1., 1., 1., 1. - slide_amt]))
    expected = pd.Series(covered, index=dt)
    assert_series_equal(expected, snow_coverage)