@@ -469,7 +469,7 @@ def test_binaryfile_read_context(freyberg_model_path):
469
469
def test_binaryfile_reverse_mf6_dis (function_tmpdir ):
470
470
name = "reverse_dis"
471
471
sim = flopy .mf6 .MFSimulation (sim_name = name , sim_ws = function_tmpdir , exe_name = "mf6" )
472
- tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 )]
472
+ tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 ), ( 1 , 1 , 1.0 ) ]
473
473
nper = len (tdis_rc )
474
474
tdis = flopy .mf6 .ModflowTdis (sim , nper = nper , perioddata = tdis_rc )
475
475
ims = flopy .mf6 .ModflowIms (sim )
@@ -503,20 +503,26 @@ def test_binaryfile_reverse_mf6_dis(function_tmpdir):
503
503
504
504
# reverse head file in place and check reversal
505
505
head_file = flopy .utils .HeadFile (function_tmpdir / head_file )
506
- heads = head_file .get_alldata ()
507
- assert heads . shape == ( nper , 2 , 10 , 10 )
506
+ orig_heads = head_file .get_alldata ()
507
+ orig_kstpkper = head_file . get_kstpkper ( )
508
508
head_file .reverse ()
509
- heads_rev = head_file .get_alldata ()
510
- assert heads_rev .shape == (nper , 2 , 10 , 10 )
509
+ rev_heads = head_file .get_alldata ()
510
+ rev_kstpkper = head_file .get_kstpkper ()
511
+ exp_head_shape = (nper , 2 , 10 , 10 )
512
+ assert orig_heads .shape == exp_head_shape
513
+ assert rev_heads .shape == (nper , 2 , 10 , 10 )
514
+ assert orig_kstpkper == rev_kstpkper
511
515
512
516
# reverse budget and write to separate file
513
517
budget_file_rev_path = function_tmpdir / f"{ budget_file } _rev"
514
518
budget_file = flopy .utils .CellBudgetFile (function_tmpdir / budget_file )
515
519
budget_file .reverse (budget_file_rev_path )
516
520
budget_file_rev = flopy .utils .CellBudgetFile (budget_file_rev_path )
521
+ assert budget_file .get_kstpkper () == orig_kstpkper
522
+ assert budget_file_rev .get_kstpkper () == rev_kstpkper
517
523
518
524
for kper in range (nper ):
519
- assert np .allclose (heads [kper ], heads_rev [ - kper + 1 ])
525
+ assert np .allclose (orig_heads [kper ], rev_heads [ - ( kper + 1 ) ])
520
526
budget = budget_file .get_data (text = "FLOW-JA-FACE" , totim = kper )[0 ]
521
527
budget_rev = budget_file_rev .get_data (text = "FLOW-JA-FACE" , totim = kper )[0 ]
522
528
assert budget .shape == budget_rev .shape
@@ -527,7 +533,7 @@ def test_binaryfile_reverse_mf6_dis(function_tmpdir):
527
533
def test_binaryfile_reverse_mf6_disv (function_tmpdir ):
528
534
name = "reverse_disv"
529
535
sim = flopy .mf6 .MFSimulation (sim_name = name , sim_ws = function_tmpdir , exe_name = "mf6" )
530
- tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 )]
536
+ tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 ), ( 1 , 1 , 1.0 ) ]
531
537
nper = len (tdis_rc )
532
538
tdis = flopy .mf6 .ModflowTdis (sim , nper = nper , perioddata = tdis_rc )
533
539
ims = flopy .mf6 .ModflowIms (sim )
@@ -555,20 +561,26 @@ def test_binaryfile_reverse_mf6_disv(function_tmpdir):
555
561
556
562
# reverse head file in place and check reversal
557
563
head_file = flopy .utils .HeadFile (function_tmpdir / head_file )
558
- heads = head_file .get_alldata ()
559
- assert heads . shape == ( nper , 2 , 1 , 100 )
564
+ orig_heads = head_file .get_alldata ()
565
+ orig_kstpkper = head_file . get_kstpkper ( )
560
566
head_file .reverse ()
561
- heads_rev = head_file .get_alldata ()
562
- assert heads_rev .shape == (nper , 2 , 1 , 100 )
567
+ rev_heads = head_file .get_alldata ()
568
+ rev_kstpkper = head_file .get_kstpkper ()
569
+ exp_shape = (nper , 2 , 1 , 100 )
570
+ assert orig_heads .shape == exp_shape
571
+ assert rev_heads .shape == exp_shape
572
+ assert orig_kstpkper == rev_kstpkper
563
573
564
574
# reverse budget and write to separate file
565
575
budget_file_rev_path = function_tmpdir / f"{ budget_file } _rev"
566
576
budget_file = flopy .utils .CellBudgetFile (function_tmpdir / budget_file )
567
577
budget_file .reverse (budget_file_rev_path )
568
578
budget_file_rev = flopy .utils .CellBudgetFile (budget_file_rev_path , tdis = tdis )
579
+ assert budget_file .get_kstpkper () == orig_kstpkper
580
+ assert budget_file_rev .get_kstpkper () == rev_kstpkper
569
581
570
582
for kper in range (nper ):
571
- assert np .allclose (heads [kper ], heads_rev [ - kper + 1 ])
583
+ assert np .allclose (orig_heads [kper ], rev_heads [ - ( kper + 1 ) ])
572
584
budget = budget_file .get_data (text = "FLOW-JA-FACE" , totim = kper )[0 ]
573
585
budget_rev = budget_file_rev .get_data (text = "FLOW-JA-FACE" , totim = kper )[0 ]
574
586
assert budget .shape == budget_rev .shape
@@ -581,7 +593,7 @@ def test_binaryfile_reverse_mf6_disu(example_data_path, function_tmpdir):
581
593
sim = flopy .mf6 .MFSimulation .load (
582
594
sim_name = sim_name , sim_ws = example_data_path / "mf6" / sim_name
583
595
)
584
- tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 )]
596
+ tdis_rc = [(1 , 1 , 1.0 ), (1 , 1 , 1.0 ), ( 1 , 1 , 1.0 ) ]
585
597
nper = len (tdis_rc )
586
598
tdis = flopy .mf6 .ModflowTdis (sim , time_units = "DAYS" , nper = nper , perioddata = tdis_rc )
587
599
sim .set_sim_path (function_tmpdir )
@@ -591,11 +603,14 @@ def test_binaryfile_reverse_mf6_disu(example_data_path, function_tmpdir):
591
603
# load head file, providing tdis as kwarg
592
604
file_path = function_tmpdir / "flow.hds"
593
605
head_file = HeadFile (file_path , tdis = tdis )
606
+ orig_kstpkper = head_file .get_kstpkper ()
594
607
595
608
# reverse and write to a separate file
596
609
head_file_rev_path = function_tmpdir / "flow_rev.hds"
597
610
head_file .reverse (filename = head_file_rev_path )
598
611
head_file_rev = HeadFile (head_file_rev_path )
612
+ rev_kstpkper = head_file_rev .get_kstpkper ()
613
+ assert orig_kstpkper == rev_kstpkper
599
614
600
615
# load budget file
601
616
file_path = function_tmpdir / "flow.cbc"
@@ -605,6 +620,8 @@ def test_binaryfile_reverse_mf6_disu(example_data_path, function_tmpdir):
605
620
budget_file_rev_path = function_tmpdir / "flow_rev.cbc"
606
621
budget_file .reverse (filename = budget_file_rev_path )
607
622
budget_file_rev = CellBudgetFile (budget_file_rev_path )
623
+ assert budget_file .get_kstpkper () == orig_kstpkper
624
+ assert budget_file_rev .get_kstpkper () == rev_kstpkper
608
625
609
626
# check that data from both files have the same shape
610
627
assert head_file .get_alldata ().shape == (nper , 1 , 1 , 121 )
0 commit comments