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)
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)
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]
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
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)
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"])