Skip to content

Commit 704b1ec

Browse files
committed
Dataset with 1 and 2 timesteps == equidistant
1 parent 09f47e8 commit 704b1ec

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

mikeio/dutil.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,4 +318,7 @@ def _ipython_key_completions_(self):
318318

319319
@property
320320
def is_equidistant(self):
321+
if len(self.time) < 3:
322+
return True
323+
321324
return self.time.freq is not None

tests/test_dfs2.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ def test_non_equidistant_calendar(tmpdir):
7272

7373
data = []
7474

75-
datetimes = [datetime.datetime(2012, 1, 1), datetime.datetime(2012, 2, 1)]
75+
datetimes = [
76+
datetime.datetime(2012, 1, 1),
77+
datetime.datetime(2012, 2, 1),
78+
datetime.datetime(2012, 2, 10),
79+
]
7680

7781
nt = len(datetimes)
7882
nx = 20

tests/test_dfsu.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,26 @@ def test_write_from_dfsu(tmpdir):
524524
assert dfs.end_time == newdfs.end_time
525525

526526

527+
def test_write_from_dfsu_2_time_steps(tmpdir):
528+
529+
sourcefilename = os.path.join("tests", "testdata", "HD2D.dfsu")
530+
outfilename = os.path.join(tmpdir.dirname, "simple.dfsu")
531+
dfs = Dfsu(sourcefilename)
532+
533+
ds = dfs.read(time_steps=[0, 1])
534+
535+
assert ds.is_equidistant # Data with two time steps is per definition equidistant
536+
537+
dfs.write(outfilename, ds)
538+
539+
assert os.path.exists(outfilename)
540+
541+
newdfs = Dfsu(outfilename)
542+
assert dfs.start_time == newdfs.start_time
543+
assert dfs.timestep == newdfs.timestep
544+
assert dfs.end_time != newdfs.end_time
545+
546+
527547
def test_write_from_dfsu_default_items_numbered(tmpdir):
528548

529549
sourcefilename = os.path.join("tests", "testdata", "HD2D.dfsu")

0 commit comments

Comments
 (0)