Example #1
0
def test_args(read_url, ParseRadar):
    """Test that arguments are passed properly."""
    from fmiopendata.radar import download_and_parse

    res = download_and_parse("foo", args=["a=1", "b=2"])
    del res
    assert read_url.mock_calls[0].endswith("=foo&a=1&b=2")
Example #2
0
def test_single_hclass():
    """Test radar hydroclass."""
    from fmiopendata.radar import download_and_parse

    res = download_and_parse("fmi::radar::single::hclass")
    assert len(res.data) == len(res.times)

    data = res.data[0]
    # Check that only correct attributes are set
    assert data.time == res.times[0]
    assert data.max_velocity is None
    assert data.elevation is not None
    assert data.etop_threshold is None
    _check_radar(data, name="hclass", unit="Index", dtype=np.uint8)
Example #3
0
def test_composite_dbz():
    """Test radar composite dBZ."""
    from fmiopendata.radar import download_and_parse

    res = download_and_parse("fmi::radar::composite::dbz")
    assert len(res.data) == len(res.times)

    data = res.data[0]
    # Check that only correct attributes are set
    assert data.time == res.times[0]
    assert data.max_velocity is None
    assert data.elevation is None
    assert data.etop_threshold is None
    _check_radar(data, name="dbz", unit="dBZ", dtype=np.uint8)
Example #4
0
def test_composite_rr24h():
    """Test radar composite 24 hour accumulated rain rainfall."""
    from fmiopendata.radar import download_and_parse

    res = download_and_parse("fmi::radar::composite::rr24h")
    assert len(res.data) == len(res.times)

    data = res.data[0]
    # Check that only correct attributes are set
    assert data.time == res.times[0]
    assert data.max_velocity is None
    assert data.elevation is None
    assert data.etop_threshold is None
    _check_radar(data, name="rr24h", unit="mm", dtype=np.uint16)
Example #5
0
def download_stored_query(query_id, args=None):
    """Download and parse a stored query."""
    if "radar" in query_id.lower():
        from fmiopendata.radar import download_and_parse
    elif "sounding" in query_id.lower():
        from fmiopendata.sounding import download_and_parse
    elif "lightning" in query_id.lower():
        from fmiopendata.lightning import download_and_parse
    elif "grid" in query_id.lower():
        from fmiopendata.grid import download_and_parse
    elif "multipointcoverage" in query_id.lower():
        from fmiopendata.multipoint import download_and_parse
    else:
        raise NotImplementedError("No parser available for %s" % query_id)

    return download_and_parse(query_id, args=args)