Example #1
0
def test_gsod_weather_source(periods, gsod_weather_source):
    gsod_weather_source = GSODWeatherSource(*gsod_weather_source)

    avg_temps = gsod_weather_source.average_temperature(periods,"degF")
    assert_allclose(avg_temps, [66.3833,67.803,74.445], rtol=RTOL,atol=ATOL)

    hdds = gsod_weather_source.hdd(periods,"degF",65)
    assert_allclose(hdds, [0.7,17.,0.0], rtol=RTOL,atol=ATOL)

    cdds = gsod_weather_source.cdd(periods,"degF",65)
    assert_allclose(cdds, [42.2,107.3,292.8], rtol=RTOL,atol=ATOL)

    hdds_per_day = gsod_weather_source.hdd(periods,"degF",65,per_day=True)
    assert_allclose(hdds_per_day, [0.023,0.658,0.0], rtol=RTOL,atol=ATOL)

    cdds_per_day = gsod_weather_source.cdd(periods,"degF",65,per_day=True)
    assert_allclose(cdds_per_day, [1.406,3.461,9.445], rtol=RTOL,atol=ATOL)

    json_data = gsod_weather_source.json()
    assert "station" in json_data
    assert type(json_data["records"][0]["datetime"]) == str