Exemplo n.º 1
0
def test_extract_relative_time_axis(tmpdir):

    infile = "tests/testdata/eq_relative.dfs0"
    outfile = os.path.join(tmpdir.dirname, "eq_relative_extract.dfs0")

    with pytest.raises(Exception):
        extract(infile, outfile, start=0, end=4)
Exemplo n.º 2
0
def test_extract_non_equidistant(tmpdir):

    infile = "tests/testdata/da_diagnostic.dfs0"
    outfile = os.path.join(tmpdir.dirname, "diagnostic_subset.dfs0")

    extract(infile, outfile, start="2017-10-27 01:58", end="2017-10-27 04:32")
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == 16
    assert extracted.time[0].hour == 2

    extract(infile, outfile, end=3600.0)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == 7
    assert extracted.time[0].hour == 0
    assert extracted.time[-1].minute == 0

    extract(infile, outfile, start=1800.0, end=237981231.232)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps > 0

    extract(infile, outfile, "2017-10-27,2017-10-28")
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps > 0

    with pytest.raises(Exception):
        extract(infile, outfile, start=7200.0, end=1800.0)
Exemplo n.º 3
0
def test_extract_equidistant(tmpdir):

    infile = "tests/testdata/waves.dfs2"
    outfile = os.path.join(tmpdir.dirname, "waves_subset.dfs2")

    extract(infile, outfile, start=1, end=-1)
    orig = mikeio.read(infile)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == orig.n_timesteps - 1
    assert extracted.time[0] == orig.time[1]
Exemplo n.º 4
0
def test_extract_non_equidistant(tmpdir):

    infile = "tests/testdata/da_diagnostic.dfs0"
    outfile = os.path.join(tmpdir.dirname, "diagnostic_subset.dfs0")

    extract(infile, outfile, start="2017-10-27 01:58", end="2017-10-27 04:32")
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == 16
    assert extracted.time[0].hour == 2

    extract(infile, outfile, end=3600.0)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == 7
    assert extracted.time[0].hour == 0
    assert extracted.time[-1].minute == 0
Exemplo n.º 5
0
def test_extract_equidistant(tmpdir):

    infile = "tests/testdata/waves.dfs2"
    outfile = os.path.join(tmpdir.dirname, "waves_subset.dfs2")

    extract(infile, outfile, start=1, end=-1)
    orig = mikeio.read(infile)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == orig.n_timesteps - 1
    assert extracted.time[0] == orig.time[1]

    extract(infile, outfile, start=-23, end=1000)
    orig = mikeio.read(infile)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == orig.n_timesteps

    extract(infile, outfile, start=-23.5)
    orig = mikeio.read(infile)
    extracted = mikeio.read(outfile)
    assert extracted.n_timesteps == orig.n_timesteps

    with pytest.raises(Exception):
        extract(infile, outfile, start=1000)
Exemplo n.º 6
0
def test_extract_items(tmpdir):

    infile = "tests/testdata/oresund_vertical_slice.dfsu"
    outfile = os.path.join(tmpdir.dirname, "extracted_vertical_slice.dfsu")

    extract(infile, outfile, items="Temperature")
    extracted = mikeio.read(outfile)
    assert extracted.n_items == 1

    extract(infile, outfile, items=[0, 2])
    extracted = mikeio.read(outfile)
    assert extracted.n_items == 2

    extract(infile, outfile, items=["Salinity", 1])
    extracted = mikeio.read(outfile)
    assert extracted.n_items == 2

    with pytest.raises(Exception):
        # must be unique
        extract(infile, outfile, items=["Salinity", 2])

    with pytest.raises(Exception):
        # no negative numbers
        extract(infile, outfile, items=[0, 2, -1])

    with pytest.raises(Exception):
        extract(infile, outfile, items=[0, "not_an_item"])