diff --git a/autotest/t034_test.py b/autotest/t034_test.py index 2b30612263..cd32013b56 100644 --- a/autotest/t034_test.py +++ b/autotest/t034_test.py @@ -622,6 +622,38 @@ def test_load_write_wel_option_line(): assert wel.iunitramp == 20 +def test_uzf_negative_iuzfopt(): + model_ws = f"{base_dir}_test_uzf_negative_iuzfopt" + test_setup = FlopyTestSetup(verbose=True, test_dirs=model_ws) + + ml = flopy.modflow.Modflow( + version="mfnwt", + exe_name="mfnwt.exe", + model_ws=model_ws + ) + dis = flopy.modflow.ModflowDis( + ml, + nper=2, + perlen=[1,1], + nstp=[1,1], + tsmult=1, + steady=[True, False] + ) + bas = flopy.modflow.ModflowBas(ml) + upw = flopy.modflow.ModflowUpw(ml) + oc = flopy.modflow.ModflowOc(ml) + + uzf = flopy.modflow.ModflowUzf1( + ml, + nuztop=3, + iuzfopt=-1, + irunflg=1, + ietflg=1, + irunbnd=1, + specifysurfk=True, + seepsurfk=True + ) + if __name__ == "__main__": test_create_uzf() test_read_write_nwt_options() @@ -632,3 +664,4 @@ def test_load_write_wel_option_line(): test_load_write_wel_option_block() test_load_write_wel_option_line() test_uzf_surfk() + test_uzf_negative_iuzfopt() diff --git a/flopy/modflow/mfuzf1.py b/flopy/modflow/mfuzf1.py index 7f3b469a93..3e3ca31d70 100644 --- a/flopy/modflow/mfuzf1.py +++ b/flopy/modflow/mfuzf1.py @@ -1005,7 +1005,7 @@ def load_util2d(name, dtype, per=None): load_util2d("irunbnd", np.int32) # dataset 4 - if iuzfopt in [0, 1]: + if np.abs(iuzfopt) in [0, 1]: load_util2d("vks", np.float32) # dataset 4b @@ -1049,7 +1049,7 @@ def load_util2d(name, dtype, per=None): if nuzf1 >= 0: load_util2d("finf", np.float32, per=per) - if ietflg > 0: + if ietflg > 0 and iuzfopt > 0: # dataset 11 line = line_parse(f.readline()) nuzf2 = pop_item(line, int)