diff --git a/autotest/t008_test.py b/autotest/t008_test.py index 6e2507348d..553c460e20 100644 --- a/autotest/t008_test.py +++ b/autotest/t008_test.py @@ -15,6 +15,9 @@ pth = os.path.join('..', 'examples', 'data', 'mf2005_test') namfiles = [namfile for namfile in os.listdir(pth) if namfile.endswith('.nam')] +ppth = os.path.join('..', 'examples', 'data', 'parameters') +pnamfiles = ["Oahu_02.nam",] + test_nwt_pth = os.path.join("..", "examples", "data", "nwt_test") nwt_files = [os.path.join(test_nwt_pth, f) for f in os.listdir(test_nwt_pth) if f.endswith('.nwt')] @@ -30,6 +33,13 @@ def load_model(namfile): assert m.load_fail is False +def load_parameter_model(namfile): + m = flopy.modflow.Modflow.load(namfile, model_ws=ppth, + version='mf2005', verbose=True) + assert m, 'Could not load namefile {}'.format(namfile) + assert m.load_fail is False + + def load_only_bas6_model(namfile): m = flopy.modflow.Modflow.load(namfile, model_ws=pth, version='mf2005', verbose=True, @@ -43,6 +53,11 @@ def test_modflow_load(): yield load_model, namfile return +def test_parameter_load(): + for namfile in pnamfiles: + yield load_parameter_model, namfile + return + def test_modflow_loadonly(): for namfile in namfiles: diff --git a/autotest/t034_test.py b/autotest/t034_test.py index 560d69ba56..d0e59bd77c 100644 --- a/autotest/t034_test.py +++ b/autotest/t034_test.py @@ -228,6 +228,7 @@ def test_read_write_nwt_options(): from flopy.utils.optionblock import OptionBlock welstr = "OPTIONS\nSPECIFY 0.5 10\nTABFILES 2 28\nEND\n" + welstr2 = "OPTIONS\nSPECIFY 0.3\nTABFILES 2 28\nEND\n" uzfstr = "OPTIONS\nSPECIFYTHTR\nSPECIFYTHTI\nNOSURFLEAK\n" \ "SPECIFYSURFK\nSEEPSURFK\nETSQUARE 0.7\nNETFLUX 10 20\n" \ "SAVEFINF\nEND\n" @@ -235,25 +236,31 @@ def test_read_write_nwt_options(): "LOSSFACTOR 0.5\nSTRHC1KH 0.1\nSTRHC1KV 0.2\nEND\n" welopt = OptionBlock.load_options(StringIO(welstr), ModflowWel) + welopt2 = OptionBlock.load_options(StringIO(welstr2), ModflowWel) uzfopt = OptionBlock.load_options(StringIO(uzfstr), ModflowUzf1) sfropt = OptionBlock.load_options(StringIO(sfrstr), ModflowSfr2) assert repr(welopt) == welstr + assert repr(welopt2) == welstr2 assert repr(uzfopt) == uzfstr assert repr(sfropt) == sfrstr welopt.write_options(os.path.join(cpth, "welopt.txt")) + welopt2.write_options(os.path.join(cpth, "welopt2.txt")) uzfopt.write_options(os.path.join(cpth, 'uzfopt.txt')) sfropt.write_options(os.path.join(cpth, 'sfropt.txt')) welopt = OptionBlock.load_options(os.path.join(cpth, "welopt.txt"), ModflowWel) + welopt2 = OptionBlock.load_options(os.path.join(cpth, "welopt2.txt"), + ModflowWel) uzfopt = OptionBlock.load_options(os.path.join(cpth, 'uzfopt.txt'), ModflowUzf1) sfropt = OptionBlock.load_options(os.path.join(cpth, "sfropt.txt"), ModflowSfr2) assert repr(welopt) == welstr + assert repr(welopt2) == welstr2 assert repr(uzfopt) == uzfstr assert repr(sfropt) == sfrstr diff --git a/autotest/t041_test.py b/autotest/t041_test.py index 8a7b594739..05e76ffbfe 100644 --- a/autotest/t041_test.py +++ b/autotest/t041_test.py @@ -2,6 +2,7 @@ Test the observation process load and write """ import os +import sys import shutil import numpy as np import flopy @@ -274,6 +275,34 @@ def test_multilayerhob_prfail(): return +def test_multilayerhob_pr_multiline(): + if sys.version_info[0] > 2: + from io import StringIO + else: + from cStringIO import StringIO + + problem_hob = ["2 4 7", + "1 1", + "A19E1_1 -2 140 91 1 1 -0.28321 -0.05389" + " 69 1 1 1 # A19E1 8/13/1975", + "3 0.954", + "4 0.046", + "A19E1_2 -2 140 91 1 1 -0.28321 -0.05389" + " 72 1 1 1 # A19E1 10/9/1975", + "3 0.954", + "4 0.046"] + + problem_hob = "\n".join(problem_hob) + ml = flopy.modflow.Modflow('hobtest') + dis = flopy.modflow.ModflowDis(ml, nlay=4, nrow=200, ncol=200, + nper=100, perlen=10, nstp=4, tsmult=1., + steady=False) + hob = flopy.modflow.ModflowHob.load(StringIO(problem_hob), ml) + + if len(hob.obs_data) != 2: + raise AssertionError("pr, mlay... load error") + + def test_flwob_load(): """ test041 create, write, and load ModflowFlwob package. @@ -366,3 +395,4 @@ def test_flwob_load(): test_obs_load_and_write() test_filenames() test_flwob_load() + test_multilayerhob_pr_multiline() diff --git a/examples/data/parameters/Oahu_02.bas b/examples/data/parameters/Oahu_02.bas new file mode 100644 index 0000000000..ef0c8a692c --- /dev/null +++ b/examples/data/parameters/Oahu_02.bas @@ -0,0 +1,41 @@ +# Basic package file for MODFLOW, generated by Flopy. + FREE +INTERNAL 1 (20I10) -1 #ibound Layer 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + -999.99 +INTERNAL 1 (20G15.6) -1 #strt Layer 1 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.500000E+01 1.500000E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 diff --git a/examples/data/parameters/Oahu_02.dis b/examples/data/parameters/Oahu_02.dis new file mode 100644 index 0000000000..a0f83761bf --- /dev/null +++ b/examples/data/parameters/Oahu_02.dis @@ -0,0 +1,8 @@ +# Discretization file for MODFLOW, generated by Flopy. + 1 18 20 1 4 2 + 0 +CONSTANT 1.600000E+04 #delr +CONSTANT 1.600000E+04 #delc +CONSTANT 3.000000E+01 #model_top +CONSTANT -1.000000E+03 #botm Layer 1 + 1000.000000 1000 1.000000 SS diff --git a/examples/data/parameters/Oahu_02.ghb b/examples/data/parameters/Oahu_02.ghb new file mode 100644 index 0000000000..1b9b43cbb3 --- /dev/null +++ b/examples/data/parameters/Oahu_02.ghb @@ -0,0 +1,268 @@ +# GHB for MODFLOW, generated by Flopy. +PARAMETER 1 262 + 262 0 +GHB_TEST GHB 15000 262 + 1 1 1 0.000000 + 1 1 2 0.000000 + 1 1 3 0.000000 + 1 1 4 0.000000 + 1 1 5 0.000000 + 1 1 6 0.000000 + 1 1 7 0.000000 + 1 1 8 0.000000 + 1 1 9 0.000000 + 1 1 10 0.000000 + 1 1 11 0.000000 + 1 1 12 0.000000 + 1 1 13 0.000000 + 1 1 14 0.000000 + 1 1 15 0.000000 + 1 1 16 0.000000 + 1 1 17 0.000000 + 1 1 18 0.000000 + 1 1 19 0.000000 + 1 1 20 0.000000 + 1 2 1 0.000000 + 1 2 2 0.000000 + 1 2 3 0.000000 + 1 2 4 0.000000 + 1 2 5 0.000000 + 1 2 6 0.000000 + 1 2 7 0.000000 + 1 2 8 0.000000 + 1 2 9 0.000000 + 1 2 10 0.000000 + 1 2 11 0.000000 + 1 2 12 0.000000 + 1 2 13 0.000000 + 1 2 14 0.000000 + 1 2 15 0.000000 + 1 2 16 0.000000 + 1 2 17 0.000000 + 1 2 18 0.000000 + 1 2 19 0.000000 + 1 2 20 0.000000 + 1 3 1 0.000000 + 1 3 2 0.000000 + 1 3 3 0.000000 + 1 3 4 0.000000 + 1 3 5 0.000000 + 1 3 6 0.000000 + 1 3 7 0.000000 + 1 3 8 0.000000 + 1 3 9 0.000000 + 1 3 10 0.000000 + 1 3 11 0.000000 + 1 3 12 0.000000 + 1 3 13 0.000000 + 1 3 14 0.000000 + 1 3 15 0.000000 + 1 3 16 0.000000 + 1 3 17 0.000000 + 1 3 18 0.000000 + 1 3 19 0.000000 + 1 3 20 0.000000 + 1 4 1 0.000000 + 1 4 2 0.000000 + 1 4 3 0.000000 + 1 4 4 0.000000 + 1 4 5 0.000000 + 1 4 6 0.000000 + 1 4 7 0.000000 + 1 4 8 0.000000 + 1 4 11 0.000000 + 1 4 12 0.000000 + 1 4 13 0.000000 + 1 4 14 0.000000 + 1 4 15 0.000000 + 1 4 16 0.000000 + 1 4 17 0.000000 + 1 4 18 0.000000 + 1 4 19 0.000000 + 1 4 20 0.000000 + 1 5 1 0.000000 + 1 5 2 0.000000 + 1 5 3 0.000000 + 1 5 4 0.000000 + 1 5 5 0.000000 + 1 5 6 0.000000 + 1 5 7 0.000000 + 1 5 12 0.000000 + 1 5 13 0.000000 + 1 5 14 0.000000 + 1 5 15 0.000000 + 1 5 16 0.000000 + 1 5 17 0.000000 + 1 5 18 0.000000 + 1 5 19 0.000000 + 1 5 20 0.000000 + 1 6 1 0.000000 + 1 6 2 0.000000 + 1 6 3 0.000000 + 1 6 4 0.000000 + 1 6 5 0.000000 + 1 6 6 0.000000 + 1 6 13 0.000000 + 1 6 14 0.000000 + 1 6 15 0.000000 + 1 6 16 0.000000 + 1 6 17 0.000000 + 1 6 18 0.000000 + 1 6 19 0.000000 + 1 6 20 0.000000 + 1 7 1 0.000000 + 1 7 2 0.000000 + 1 7 3 0.000000 + 1 7 13 0.000000 + 1 7 14 0.000000 + 1 7 15 0.000000 + 1 7 16 0.000000 + 1 7 17 0.000000 + 1 7 18 0.000000 + 1 7 19 0.000000 + 1 7 20 0.000000 + 1 8 1 0.000000 + 1 8 2 0.000000 + 1 8 3 0.000000 + 1 8 14 0.000000 + 1 8 15 0.000000 + 1 8 16 0.000000 + 1 8 17 0.000000 + 1 8 18 0.000000 + 1 8 19 0.000000 + 1 8 20 0.000000 + 1 9 1 0.000000 + 1 9 2 0.000000 + 1 9 3 0.000000 + 1 9 4 0.000000 + 1 9 15 0.000000 + 1 9 16 0.000000 + 1 9 17 0.000000 + 1 9 18 0.000000 + 1 9 19 0.000000 + 1 9 20 0.000000 + 1 10 1 0.000000 + 1 10 2 0.000000 + 1 10 3 0.000000 + 1 10 4 0.000000 + 1 10 16 0.000000 + 1 10 17 0.000000 + 1 10 18 0.000000 + 1 10 19 0.000000 + 1 10 20 0.000000 + 1 11 1 0.000000 + 1 11 2 0.000000 + 1 11 3 0.000000 + 1 11 4 0.000000 + 1 11 5 0.000000 + 1 11 17 0.000000 + 1 11 18 0.000000 + 1 11 19 0.000000 + 1 11 20 0.000000 + 1 12 1 0.000000 + 1 12 2 0.000000 + 1 12 3 0.000000 + 1 12 4 0.000000 + 1 12 5 0.000000 + 1 12 17 0.000000 + 1 12 18 0.000000 + 1 12 19 0.000000 + 1 12 20 0.000000 + 1 13 1 0.000000 + 1 13 2 0.000000 + 1 13 3 0.000000 + 1 13 4 0.000000 + 1 13 5 0.000000 + 1 13 6 0.000000 + 1 13 18 0.000000 + 1 13 19 0.000000 + 1 13 20 0.000000 + 1 14 1 0.000000 + 1 14 2 0.000000 + 1 14 3 0.000000 + 1 14 4 0.000000 + 1 14 5 0.000000 + 1 14 6 0.000000 + 1 14 18 0.000000 + 1 14 19 0.000000 + 1 14 20 0.000000 + 1 15 1 0.000000 + 1 15 2 0.000000 + 1 15 3 0.000000 + 1 15 4 0.000000 + 1 15 5 0.000000 + 1 15 6 0.000000 + 1 15 7 0.000000 + 1 15 8 0.000000 + 1 15 9 0.000000 + 1 15 10 0.000000 + 1 15 11 0.000000 + 1 15 12 0.000000 + 1 15 13 0.000000 + 1 15 16 0.000000 + 1 15 17 0.000000 + 1 15 18 0.000000 + 1 15 19 0.000000 + 1 15 20 0.000000 + 1 16 1 0.000000 + 1 16 2 0.000000 + 1 16 3 0.000000 + 1 16 4 0.000000 + 1 16 5 0.000000 + 1 16 6 0.000000 + 1 16 7 0.000000 + 1 16 8 0.000000 + 1 16 9 0.000000 + 1 16 10 0.000000 + 1 16 11 0.000000 + 1 16 12 0.000000 + 1 16 13 0.000000 + 1 16 14 0.000000 + 1 16 15 0.000000 + 1 16 16 0.000000 + 1 16 17 0.000000 + 1 16 18 0.000000 + 1 16 19 0.000000 + 1 16 20 0.000000 + 1 17 1 0.000000 + 1 17 2 0.000000 + 1 17 3 0.000000 + 1 17 4 0.000000 + 1 17 5 0.000000 + 1 17 6 0.000000 + 1 17 7 0.000000 + 1 17 8 0.000000 + 1 17 9 0.000000 + 1 17 10 0.000000 + 1 17 11 0.000000 + 1 17 12 0.000000 + 1 17 13 0.000000 + 1 17 14 0.000000 + 1 17 15 0.000000 + 1 17 16 0.000000 + 1 17 17 0.000000 + 1 17 18 0.000000 + 1 17 19 0.000000 + 1 17 20 0.000000 + 1 18 1 0.000000 + 1 18 2 0.000000 + 1 18 3 0.000000 + 1 18 4 0.000000 + 1 18 5 0.000000 + 1 18 6 0.000000 + 1 18 7 0.000000 + 1 18 8 0.000000 + 1 18 9 0.000000 + 1 18 10 0.000000 + 1 18 11 0.000000 + 1 18 12 0.000000 + 1 18 13 0.000000 + 1 18 14 0.000000 + 1 18 15 0.000000 + 1 18 16 0.000000 + 1 18 17 0.000000 + 1 18 18 0.000000 + 1 18 19 0.000000 + 1 18 20 0.000000 +0 1 +GHB_TEST diff --git a/examples/data/parameters/Oahu_02.hfb b/examples/data/parameters/Oahu_02.hfb new file mode 100644 index 0000000000..e0289260c7 --- /dev/null +++ b/examples/data/parameters/Oahu_02.hfb @@ -0,0 +1,37 @@ +# HFB for MODFLOW, generated by Flopy. + 2 10 2 +HFB1 HFB 1.00e-06 5 + 1 3 10 3 11 + 1 4 10 4 11 + 1 5 10 5 11 + 1 6 10 6 11 + 1 7 10 7 11 +HFB2 HFB 1.0e-06 5 + 1 8 10 8 11 10.0 + 1 9 10 9 11 10.0 + 1 10 10 10 11 10.0 + 1 11 10 11 11 10.0 + 1 12 10 12 11 10.0 + 1 13 10 13 11 1.000000e-06 + 1 14 10 14 11 1.000000e-06 + 2 +HFB2 +HFB1 + + + + + 0 0 12 + 1 3 10 3 11 1.000000e-06 + 1 4 10 4 11 1.000000e-06 + 1 5 10 5 11 1.000000e-06 + 1 6 10 6 11 1.000000e-06 + 1 7 10 7 11 1.000000e-06 + 1 8 10 8 11 1.000000e-06 + 1 9 10 9 11 1.000000e-06 + 1 10 10 10 11 1.000000e-06 + 1 11 10 11 11 1.000000e-06 + 1 12 10 12 11 1.000000e-06 + 1 13 10 13 11 1.000000e-06 + 1 14 10 14 11 1.000000e-06 + 0 \ No newline at end of file diff --git a/examples/data/parameters/Oahu_02.lpf b/examples/data/parameters/Oahu_02.lpf new file mode 100644 index 0000000000..20732b7cac --- /dev/null +++ b/examples/data/parameters/Oahu_02.lpf @@ -0,0 +1,11 @@ +# LPF for MODFLOW, generated by Flopy. + 53 -1E+30 2 + 1 + 0 + 1 + 0 + 0 +LAY1_HK HK 1.0 1 +1 HKL1 ALL +LAY1_VKA VK 1.0 1 +1 VKAL1 ALL diff --git a/examples/data/parameters/Oahu_02.mlt b/examples/data/parameters/Oahu_02.mlt new file mode 100644 index 0000000000..986106e9a5 --- /dev/null +++ b/examples/data/parameters/Oahu_02.mlt @@ -0,0 +1,9 @@ +4 +prehk +CONSTANT 1.5e+02 +k_f +CONSTANT 10 +HKL1 FUNCTION +prehk * k_f +VKAL1 +CONSTANT 1.0 \ No newline at end of file diff --git a/examples/data/parameters/Oahu_02.nam b/examples/data/parameters/Oahu_02.nam new file mode 100644 index 0000000000..05a2144039 --- /dev/null +++ b/examples/data/parameters/Oahu_02.nam @@ -0,0 +1,18 @@ +# Name file for mf2005, generated by Flopy. +LIST 2 Oahu_02.list +DIS 11 Oahu_02.dis +LPF 15 Oahu_02.lpf +BAS6 13 Oahu_02.bas +GHB 23 Oahu_02.ghb +WEL 20 Oahu_02.wel +HFB6 17 Oahu_02.hfb +SWI2 29 Oahu_02.swi2 +MULT 31 Oahu_02.mlt +PVAL 101 Oahu_02.pval +DATA(BINARY) 55 Oahu_02.zta REPLACE +DATA(BINARY) 56 Oahu_02.swb REPLACE +OC 14 Oahu_02.oc +DATA(BINARY) 51 Oahu_02.hds REPLACE +DATA(BINARY) 52 Oahu_02.ddn REPLACE +DATA(BINARY) 53 Oahu_02.cbc REPLACE +PCG 27 Oahu_02.pcg diff --git a/examples/data/parameters/Oahu_02.oc b/examples/data/parameters/Oahu_02.oc new file mode 100644 index 0000000000..192670baee --- /dev/null +++ b/examples/data/parameters/Oahu_02.oc @@ -0,0 +1,3006 @@ +# Output control package file for MODFLOW, generated by Flopy. Output control by words option +HEAD PRINT FORMAT 0 +HEAD SAVE UNIT 51 +DRAWDOWN PRINT FORMAT 0 +DRAWDOWN SAVE UNIT 52 + +PERIOD 1 STEP 1 + SAVE HEAD + +PERIOD 1 STEP 2 + SAVE HEAD + +PERIOD 1 STEP 3 + SAVE HEAD + +PERIOD 1 STEP 4 + SAVE HEAD + +PERIOD 1 STEP 5 + SAVE HEAD + +PERIOD 1 STEP 6 + SAVE HEAD + +PERIOD 1 STEP 7 + SAVE HEAD + +PERIOD 1 STEP 8 + SAVE HEAD + +PERIOD 1 STEP 9 + SAVE HEAD + +PERIOD 1 STEP 10 + SAVE HEAD + +PERIOD 1 STEP 11 + SAVE HEAD + +PERIOD 1 STEP 12 + SAVE HEAD + +PERIOD 1 STEP 13 + SAVE HEAD + +PERIOD 1 STEP 14 + SAVE HEAD + +PERIOD 1 STEP 15 + SAVE HEAD + +PERIOD 1 STEP 16 + SAVE HEAD + +PERIOD 1 STEP 17 + SAVE HEAD + +PERIOD 1 STEP 18 + SAVE HEAD + +PERIOD 1 STEP 19 + SAVE HEAD + +PERIOD 1 STEP 20 + SAVE HEAD + +PERIOD 1 STEP 21 + SAVE HEAD + +PERIOD 1 STEP 22 + SAVE HEAD + +PERIOD 1 STEP 23 + SAVE HEAD + +PERIOD 1 STEP 24 + SAVE HEAD + +PERIOD 1 STEP 25 + SAVE HEAD + +PERIOD 1 STEP 26 + SAVE HEAD + +PERIOD 1 STEP 27 + SAVE HEAD + +PERIOD 1 STEP 28 + SAVE HEAD + +PERIOD 1 STEP 29 + SAVE HEAD + +PERIOD 1 STEP 30 + SAVE HEAD + +PERIOD 1 STEP 31 + SAVE HEAD + +PERIOD 1 STEP 32 + SAVE HEAD + +PERIOD 1 STEP 33 + SAVE HEAD + +PERIOD 1 STEP 34 + SAVE HEAD + +PERIOD 1 STEP 35 + SAVE HEAD + +PERIOD 1 STEP 36 + SAVE HEAD + +PERIOD 1 STEP 37 + SAVE HEAD + +PERIOD 1 STEP 38 + SAVE HEAD + +PERIOD 1 STEP 39 + SAVE HEAD + +PERIOD 1 STEP 40 + SAVE HEAD + +PERIOD 1 STEP 41 + SAVE HEAD + +PERIOD 1 STEP 42 + SAVE HEAD + +PERIOD 1 STEP 43 + SAVE HEAD + +PERIOD 1 STEP 44 + SAVE HEAD + +PERIOD 1 STEP 45 + SAVE HEAD + +PERIOD 1 STEP 46 + SAVE HEAD + +PERIOD 1 STEP 47 + SAVE HEAD + +PERIOD 1 STEP 48 + SAVE HEAD + +PERIOD 1 STEP 49 + SAVE HEAD + +PERIOD 1 STEP 50 + SAVE HEAD + +PERIOD 1 STEP 51 + SAVE HEAD + +PERIOD 1 STEP 52 + SAVE HEAD + +PERIOD 1 STEP 53 + SAVE HEAD + +PERIOD 1 STEP 54 + SAVE HEAD + +PERIOD 1 STEP 55 + SAVE HEAD + +PERIOD 1 STEP 56 + SAVE HEAD + +PERIOD 1 STEP 57 + SAVE HEAD + +PERIOD 1 STEP 58 + SAVE HEAD + +PERIOD 1 STEP 59 + SAVE HEAD + +PERIOD 1 STEP 60 + SAVE HEAD + +PERIOD 1 STEP 61 + SAVE HEAD + +PERIOD 1 STEP 62 + SAVE HEAD + +PERIOD 1 STEP 63 + SAVE HEAD + +PERIOD 1 STEP 64 + SAVE HEAD + +PERIOD 1 STEP 65 + SAVE HEAD + +PERIOD 1 STEP 66 + SAVE HEAD + +PERIOD 1 STEP 67 + SAVE HEAD + +PERIOD 1 STEP 68 + SAVE HEAD + +PERIOD 1 STEP 69 + SAVE HEAD + +PERIOD 1 STEP 70 + SAVE HEAD + +PERIOD 1 STEP 71 + SAVE HEAD + +PERIOD 1 STEP 72 + SAVE HEAD + +PERIOD 1 STEP 73 + SAVE HEAD + +PERIOD 1 STEP 74 + SAVE HEAD + +PERIOD 1 STEP 75 + SAVE HEAD + +PERIOD 1 STEP 76 + SAVE HEAD + +PERIOD 1 STEP 77 + SAVE HEAD + +PERIOD 1 STEP 78 + SAVE HEAD + +PERIOD 1 STEP 79 + SAVE HEAD + +PERIOD 1 STEP 80 + SAVE HEAD + +PERIOD 1 STEP 81 + SAVE HEAD + +PERIOD 1 STEP 82 + SAVE HEAD + +PERIOD 1 STEP 83 + SAVE HEAD + +PERIOD 1 STEP 84 + SAVE HEAD + +PERIOD 1 STEP 85 + SAVE HEAD + +PERIOD 1 STEP 86 + SAVE HEAD + +PERIOD 1 STEP 87 + SAVE HEAD + +PERIOD 1 STEP 88 + SAVE HEAD + +PERIOD 1 STEP 89 + SAVE HEAD + +PERIOD 1 STEP 90 + SAVE HEAD + +PERIOD 1 STEP 91 + SAVE HEAD + +PERIOD 1 STEP 92 + SAVE HEAD + +PERIOD 1 STEP 93 + SAVE HEAD + +PERIOD 1 STEP 94 + SAVE HEAD + +PERIOD 1 STEP 95 + SAVE HEAD + +PERIOD 1 STEP 96 + SAVE HEAD + +PERIOD 1 STEP 97 + SAVE HEAD + +PERIOD 1 STEP 98 + SAVE HEAD + +PERIOD 1 STEP 99 + SAVE HEAD + +PERIOD 1 STEP 100 + SAVE HEAD + +PERIOD 1 STEP 101 + SAVE HEAD + +PERIOD 1 STEP 102 + SAVE HEAD + +PERIOD 1 STEP 103 + SAVE HEAD + +PERIOD 1 STEP 104 + SAVE HEAD + +PERIOD 1 STEP 105 + SAVE HEAD + +PERIOD 1 STEP 106 + SAVE HEAD + +PERIOD 1 STEP 107 + SAVE HEAD + +PERIOD 1 STEP 108 + SAVE HEAD + +PERIOD 1 STEP 109 + SAVE HEAD + +PERIOD 1 STEP 110 + SAVE HEAD + +PERIOD 1 STEP 111 + SAVE HEAD + +PERIOD 1 STEP 112 + SAVE HEAD + +PERIOD 1 STEP 113 + SAVE HEAD + +PERIOD 1 STEP 114 + SAVE HEAD + +PERIOD 1 STEP 115 + SAVE HEAD + +PERIOD 1 STEP 116 + SAVE HEAD + +PERIOD 1 STEP 117 + SAVE HEAD + +PERIOD 1 STEP 118 + SAVE HEAD + +PERIOD 1 STEP 119 + SAVE HEAD + +PERIOD 1 STEP 120 + SAVE HEAD + +PERIOD 1 STEP 121 + SAVE HEAD + +PERIOD 1 STEP 122 + SAVE HEAD + +PERIOD 1 STEP 123 + SAVE HEAD + +PERIOD 1 STEP 124 + SAVE HEAD + +PERIOD 1 STEP 125 + SAVE HEAD + +PERIOD 1 STEP 126 + SAVE HEAD + +PERIOD 1 STEP 127 + SAVE HEAD + +PERIOD 1 STEP 128 + SAVE HEAD + +PERIOD 1 STEP 129 + SAVE HEAD + +PERIOD 1 STEP 130 + SAVE HEAD + +PERIOD 1 STEP 131 + SAVE HEAD + +PERIOD 1 STEP 132 + SAVE HEAD + +PERIOD 1 STEP 133 + SAVE HEAD + +PERIOD 1 STEP 134 + SAVE HEAD + +PERIOD 1 STEP 135 + SAVE HEAD + +PERIOD 1 STEP 136 + SAVE HEAD + +PERIOD 1 STEP 137 + SAVE HEAD + +PERIOD 1 STEP 138 + SAVE HEAD + +PERIOD 1 STEP 139 + SAVE HEAD + +PERIOD 1 STEP 140 + SAVE HEAD + +PERIOD 1 STEP 141 + SAVE HEAD + +PERIOD 1 STEP 142 + SAVE HEAD + +PERIOD 1 STEP 143 + SAVE HEAD + +PERIOD 1 STEP 144 + SAVE HEAD + +PERIOD 1 STEP 145 + SAVE HEAD + +PERIOD 1 STEP 146 + SAVE HEAD + +PERIOD 1 STEP 147 + SAVE HEAD + +PERIOD 1 STEP 148 + SAVE HEAD + +PERIOD 1 STEP 149 + SAVE HEAD + +PERIOD 1 STEP 150 + SAVE HEAD + +PERIOD 1 STEP 151 + SAVE HEAD + +PERIOD 1 STEP 152 + SAVE HEAD + +PERIOD 1 STEP 153 + SAVE HEAD + +PERIOD 1 STEP 154 + SAVE HEAD + +PERIOD 1 STEP 155 + SAVE HEAD + +PERIOD 1 STEP 156 + SAVE HEAD + +PERIOD 1 STEP 157 + SAVE HEAD + +PERIOD 1 STEP 158 + SAVE HEAD + +PERIOD 1 STEP 159 + SAVE HEAD + +PERIOD 1 STEP 160 + SAVE HEAD + +PERIOD 1 STEP 161 + SAVE HEAD + +PERIOD 1 STEP 162 + SAVE HEAD + +PERIOD 1 STEP 163 + SAVE HEAD + +PERIOD 1 STEP 164 + SAVE HEAD + +PERIOD 1 STEP 165 + SAVE HEAD + +PERIOD 1 STEP 166 + SAVE HEAD + +PERIOD 1 STEP 167 + SAVE HEAD + +PERIOD 1 STEP 168 + SAVE HEAD + +PERIOD 1 STEP 169 + SAVE HEAD + +PERIOD 1 STEP 170 + SAVE HEAD + +PERIOD 1 STEP 171 + SAVE HEAD + +PERIOD 1 STEP 172 + SAVE HEAD + +PERIOD 1 STEP 173 + SAVE HEAD + +PERIOD 1 STEP 174 + SAVE HEAD + +PERIOD 1 STEP 175 + SAVE HEAD + +PERIOD 1 STEP 176 + SAVE HEAD + +PERIOD 1 STEP 177 + SAVE HEAD + +PERIOD 1 STEP 178 + SAVE HEAD + +PERIOD 1 STEP 179 + SAVE HEAD + +PERIOD 1 STEP 180 + SAVE HEAD + +PERIOD 1 STEP 181 + SAVE HEAD + +PERIOD 1 STEP 182 + SAVE HEAD + +PERIOD 1 STEP 183 + SAVE HEAD + +PERIOD 1 STEP 184 + SAVE HEAD + +PERIOD 1 STEP 185 + SAVE HEAD + +PERIOD 1 STEP 186 + SAVE HEAD + +PERIOD 1 STEP 187 + SAVE HEAD + +PERIOD 1 STEP 188 + SAVE HEAD + +PERIOD 1 STEP 189 + SAVE HEAD + +PERIOD 1 STEP 190 + SAVE HEAD + +PERIOD 1 STEP 191 + SAVE HEAD + +PERIOD 1 STEP 192 + SAVE HEAD + +PERIOD 1 STEP 193 + SAVE HEAD + +PERIOD 1 STEP 194 + SAVE HEAD + +PERIOD 1 STEP 195 + SAVE HEAD + +PERIOD 1 STEP 196 + SAVE HEAD + +PERIOD 1 STEP 197 + SAVE HEAD + +PERIOD 1 STEP 198 + SAVE HEAD + +PERIOD 1 STEP 199 + SAVE HEAD + +PERIOD 1 STEP 200 + SAVE HEAD + +PERIOD 1 STEP 201 + SAVE HEAD + +PERIOD 1 STEP 202 + SAVE HEAD + +PERIOD 1 STEP 203 + SAVE HEAD + +PERIOD 1 STEP 204 + SAVE HEAD + +PERIOD 1 STEP 205 + SAVE HEAD + +PERIOD 1 STEP 206 + SAVE HEAD + +PERIOD 1 STEP 207 + SAVE HEAD + +PERIOD 1 STEP 208 + SAVE HEAD + +PERIOD 1 STEP 209 + SAVE HEAD + +PERIOD 1 STEP 210 + SAVE HEAD + +PERIOD 1 STEP 211 + SAVE HEAD + +PERIOD 1 STEP 212 + SAVE HEAD + +PERIOD 1 STEP 213 + SAVE HEAD + +PERIOD 1 STEP 214 + SAVE HEAD + +PERIOD 1 STEP 215 + SAVE HEAD + +PERIOD 1 STEP 216 + SAVE HEAD + +PERIOD 1 STEP 217 + SAVE HEAD + +PERIOD 1 STEP 218 + SAVE HEAD + +PERIOD 1 STEP 219 + SAVE HEAD + +PERIOD 1 STEP 220 + SAVE HEAD + +PERIOD 1 STEP 221 + SAVE HEAD + +PERIOD 1 STEP 222 + SAVE HEAD + +PERIOD 1 STEP 223 + SAVE HEAD + +PERIOD 1 STEP 224 + SAVE HEAD + +PERIOD 1 STEP 225 + SAVE HEAD + +PERIOD 1 STEP 226 + SAVE HEAD + +PERIOD 1 STEP 227 + SAVE HEAD + +PERIOD 1 STEP 228 + SAVE HEAD + +PERIOD 1 STEP 229 + SAVE HEAD + +PERIOD 1 STEP 230 + SAVE HEAD + +PERIOD 1 STEP 231 + SAVE HEAD + +PERIOD 1 STEP 232 + SAVE HEAD + +PERIOD 1 STEP 233 + SAVE HEAD + +PERIOD 1 STEP 234 + SAVE HEAD + +PERIOD 1 STEP 235 + SAVE HEAD + +PERIOD 1 STEP 236 + SAVE HEAD + +PERIOD 1 STEP 237 + SAVE HEAD + +PERIOD 1 STEP 238 + SAVE HEAD + +PERIOD 1 STEP 239 + SAVE HEAD + +PERIOD 1 STEP 240 + SAVE HEAD + +PERIOD 1 STEP 241 + SAVE HEAD + +PERIOD 1 STEP 242 + SAVE HEAD + +PERIOD 1 STEP 243 + SAVE HEAD + +PERIOD 1 STEP 244 + SAVE HEAD + +PERIOD 1 STEP 245 + SAVE HEAD + +PERIOD 1 STEP 246 + SAVE HEAD + +PERIOD 1 STEP 247 + SAVE HEAD + +PERIOD 1 STEP 248 + SAVE HEAD + +PERIOD 1 STEP 249 + SAVE HEAD + +PERIOD 1 STEP 250 + SAVE HEAD + +PERIOD 1 STEP 251 + SAVE HEAD + +PERIOD 1 STEP 252 + SAVE HEAD + +PERIOD 1 STEP 253 + SAVE HEAD + +PERIOD 1 STEP 254 + SAVE HEAD + +PERIOD 1 STEP 255 + SAVE HEAD + +PERIOD 1 STEP 256 + SAVE HEAD + +PERIOD 1 STEP 257 + SAVE HEAD + +PERIOD 1 STEP 258 + SAVE HEAD + +PERIOD 1 STEP 259 + SAVE HEAD + +PERIOD 1 STEP 260 + SAVE HEAD + +PERIOD 1 STEP 261 + SAVE HEAD + +PERIOD 1 STEP 262 + SAVE HEAD + +PERIOD 1 STEP 263 + SAVE HEAD + +PERIOD 1 STEP 264 + SAVE HEAD + +PERIOD 1 STEP 265 + SAVE HEAD + +PERIOD 1 STEP 266 + SAVE HEAD + +PERIOD 1 STEP 267 + SAVE HEAD + +PERIOD 1 STEP 268 + SAVE HEAD + +PERIOD 1 STEP 269 + SAVE HEAD + +PERIOD 1 STEP 270 + SAVE HEAD + +PERIOD 1 STEP 271 + SAVE HEAD + +PERIOD 1 STEP 272 + SAVE HEAD + +PERIOD 1 STEP 273 + SAVE HEAD + +PERIOD 1 STEP 274 + SAVE HEAD + +PERIOD 1 STEP 275 + SAVE HEAD + +PERIOD 1 STEP 276 + SAVE HEAD + +PERIOD 1 STEP 277 + SAVE HEAD + +PERIOD 1 STEP 278 + SAVE HEAD + +PERIOD 1 STEP 279 + SAVE HEAD + +PERIOD 1 STEP 280 + SAVE HEAD + +PERIOD 1 STEP 281 + SAVE HEAD + +PERIOD 1 STEP 282 + SAVE HEAD + +PERIOD 1 STEP 283 + SAVE HEAD + +PERIOD 1 STEP 284 + SAVE HEAD + +PERIOD 1 STEP 285 + SAVE HEAD + +PERIOD 1 STEP 286 + SAVE HEAD + +PERIOD 1 STEP 287 + SAVE HEAD + +PERIOD 1 STEP 288 + SAVE HEAD + +PERIOD 1 STEP 289 + SAVE HEAD + +PERIOD 1 STEP 290 + SAVE HEAD + +PERIOD 1 STEP 291 + SAVE HEAD + +PERIOD 1 STEP 292 + SAVE HEAD + +PERIOD 1 STEP 293 + SAVE HEAD + +PERIOD 1 STEP 294 + SAVE HEAD + +PERIOD 1 STEP 295 + SAVE HEAD + +PERIOD 1 STEP 296 + SAVE HEAD + +PERIOD 1 STEP 297 + SAVE HEAD + +PERIOD 1 STEP 298 + SAVE HEAD + +PERIOD 1 STEP 299 + SAVE HEAD + +PERIOD 1 STEP 300 + SAVE HEAD + +PERIOD 1 STEP 301 + SAVE HEAD + +PERIOD 1 STEP 302 + SAVE HEAD + +PERIOD 1 STEP 303 + SAVE HEAD + +PERIOD 1 STEP 304 + SAVE HEAD + +PERIOD 1 STEP 305 + SAVE HEAD + +PERIOD 1 STEP 306 + SAVE HEAD + +PERIOD 1 STEP 307 + SAVE HEAD + +PERIOD 1 STEP 308 + SAVE HEAD + +PERIOD 1 STEP 309 + SAVE HEAD + +PERIOD 1 STEP 310 + SAVE HEAD + +PERIOD 1 STEP 311 + SAVE HEAD + +PERIOD 1 STEP 312 + SAVE HEAD + +PERIOD 1 STEP 313 + SAVE HEAD + +PERIOD 1 STEP 314 + SAVE HEAD + +PERIOD 1 STEP 315 + SAVE HEAD + +PERIOD 1 STEP 316 + SAVE HEAD + +PERIOD 1 STEP 317 + SAVE HEAD + +PERIOD 1 STEP 318 + SAVE HEAD + +PERIOD 1 STEP 319 + SAVE HEAD + +PERIOD 1 STEP 320 + SAVE HEAD + +PERIOD 1 STEP 321 + SAVE HEAD + +PERIOD 1 STEP 322 + SAVE HEAD + +PERIOD 1 STEP 323 + SAVE HEAD + +PERIOD 1 STEP 324 + SAVE HEAD + +PERIOD 1 STEP 325 + SAVE HEAD + +PERIOD 1 STEP 326 + SAVE HEAD + +PERIOD 1 STEP 327 + SAVE HEAD + +PERIOD 1 STEP 328 + SAVE HEAD + +PERIOD 1 STEP 329 + SAVE HEAD + +PERIOD 1 STEP 330 + SAVE HEAD + +PERIOD 1 STEP 331 + SAVE HEAD + +PERIOD 1 STEP 332 + SAVE HEAD + +PERIOD 1 STEP 333 + SAVE HEAD + +PERIOD 1 STEP 334 + SAVE HEAD + +PERIOD 1 STEP 335 + SAVE HEAD + +PERIOD 1 STEP 336 + SAVE HEAD + +PERIOD 1 STEP 337 + SAVE HEAD + +PERIOD 1 STEP 338 + SAVE HEAD + +PERIOD 1 STEP 339 + SAVE HEAD + +PERIOD 1 STEP 340 + SAVE HEAD + +PERIOD 1 STEP 341 + SAVE HEAD + +PERIOD 1 STEP 342 + SAVE HEAD + +PERIOD 1 STEP 343 + SAVE HEAD + +PERIOD 1 STEP 344 + SAVE HEAD + +PERIOD 1 STEP 345 + SAVE HEAD + +PERIOD 1 STEP 346 + SAVE HEAD + +PERIOD 1 STEP 347 + SAVE HEAD + +PERIOD 1 STEP 348 + SAVE HEAD + +PERIOD 1 STEP 349 + SAVE HEAD + +PERIOD 1 STEP 350 + SAVE HEAD + +PERIOD 1 STEP 351 + SAVE HEAD + +PERIOD 1 STEP 352 + SAVE HEAD + +PERIOD 1 STEP 353 + SAVE HEAD + +PERIOD 1 STEP 354 + SAVE HEAD + +PERIOD 1 STEP 355 + SAVE HEAD + +PERIOD 1 STEP 356 + SAVE HEAD + +PERIOD 1 STEP 357 + SAVE HEAD + +PERIOD 1 STEP 358 + SAVE HEAD + +PERIOD 1 STEP 359 + SAVE HEAD + +PERIOD 1 STEP 360 + SAVE HEAD + +PERIOD 1 STEP 361 + SAVE HEAD + +PERIOD 1 STEP 362 + SAVE HEAD + +PERIOD 1 STEP 363 + SAVE HEAD + +PERIOD 1 STEP 364 + SAVE HEAD + +PERIOD 1 STEP 365 + SAVE HEAD + +PERIOD 1 STEP 366 + SAVE HEAD + +PERIOD 1 STEP 367 + SAVE HEAD + +PERIOD 1 STEP 368 + SAVE HEAD + +PERIOD 1 STEP 369 + SAVE HEAD + +PERIOD 1 STEP 370 + SAVE HEAD + +PERIOD 1 STEP 371 + SAVE HEAD + +PERIOD 1 STEP 372 + SAVE HEAD + +PERIOD 1 STEP 373 + SAVE HEAD + +PERIOD 1 STEP 374 + SAVE HEAD + +PERIOD 1 STEP 375 + SAVE HEAD + +PERIOD 1 STEP 376 + SAVE HEAD + +PERIOD 1 STEP 377 + SAVE HEAD + +PERIOD 1 STEP 378 + SAVE HEAD + +PERIOD 1 STEP 379 + SAVE HEAD + +PERIOD 1 STEP 380 + SAVE HEAD + +PERIOD 1 STEP 381 + SAVE HEAD + +PERIOD 1 STEP 382 + SAVE HEAD + +PERIOD 1 STEP 383 + SAVE HEAD + +PERIOD 1 STEP 384 + SAVE HEAD + +PERIOD 1 STEP 385 + SAVE HEAD + +PERIOD 1 STEP 386 + SAVE HEAD + +PERIOD 1 STEP 387 + SAVE HEAD + +PERIOD 1 STEP 388 + SAVE HEAD + +PERIOD 1 STEP 389 + SAVE HEAD + +PERIOD 1 STEP 390 + SAVE HEAD + +PERIOD 1 STEP 391 + SAVE HEAD + +PERIOD 1 STEP 392 + SAVE HEAD + +PERIOD 1 STEP 393 + SAVE HEAD + +PERIOD 1 STEP 394 + SAVE HEAD + +PERIOD 1 STEP 395 + SAVE HEAD + +PERIOD 1 STEP 396 + SAVE HEAD + +PERIOD 1 STEP 397 + SAVE HEAD + +PERIOD 1 STEP 398 + SAVE HEAD + +PERIOD 1 STEP 399 + SAVE HEAD + +PERIOD 1 STEP 400 + SAVE HEAD + +PERIOD 1 STEP 401 + SAVE HEAD + +PERIOD 1 STEP 402 + SAVE HEAD + +PERIOD 1 STEP 403 + SAVE HEAD + +PERIOD 1 STEP 404 + SAVE HEAD + +PERIOD 1 STEP 405 + SAVE HEAD + +PERIOD 1 STEP 406 + SAVE HEAD + +PERIOD 1 STEP 407 + SAVE HEAD + +PERIOD 1 STEP 408 + SAVE HEAD + +PERIOD 1 STEP 409 + SAVE HEAD + +PERIOD 1 STEP 410 + SAVE HEAD + +PERIOD 1 STEP 411 + SAVE HEAD + +PERIOD 1 STEP 412 + SAVE HEAD + +PERIOD 1 STEP 413 + SAVE HEAD + +PERIOD 1 STEP 414 + SAVE HEAD + +PERIOD 1 STEP 415 + SAVE HEAD + +PERIOD 1 STEP 416 + SAVE HEAD + +PERIOD 1 STEP 417 + SAVE HEAD + +PERIOD 1 STEP 418 + SAVE HEAD + +PERIOD 1 STEP 419 + SAVE HEAD + +PERIOD 1 STEP 420 + SAVE HEAD + +PERIOD 1 STEP 421 + SAVE HEAD + +PERIOD 1 STEP 422 + SAVE HEAD + +PERIOD 1 STEP 423 + SAVE HEAD + +PERIOD 1 STEP 424 + SAVE HEAD + +PERIOD 1 STEP 425 + SAVE HEAD + +PERIOD 1 STEP 426 + SAVE HEAD + +PERIOD 1 STEP 427 + SAVE HEAD + +PERIOD 1 STEP 428 + SAVE HEAD + +PERIOD 1 STEP 429 + SAVE HEAD + +PERIOD 1 STEP 430 + SAVE HEAD + +PERIOD 1 STEP 431 + SAVE HEAD + +PERIOD 1 STEP 432 + SAVE HEAD + +PERIOD 1 STEP 433 + SAVE HEAD + +PERIOD 1 STEP 434 + SAVE HEAD + +PERIOD 1 STEP 435 + SAVE HEAD + +PERIOD 1 STEP 436 + SAVE HEAD + +PERIOD 1 STEP 437 + SAVE HEAD + +PERIOD 1 STEP 438 + SAVE HEAD + +PERIOD 1 STEP 439 + SAVE HEAD + +PERIOD 1 STEP 440 + SAVE HEAD + +PERIOD 1 STEP 441 + SAVE HEAD + +PERIOD 1 STEP 442 + SAVE HEAD + +PERIOD 1 STEP 443 + SAVE HEAD + +PERIOD 1 STEP 444 + SAVE HEAD + +PERIOD 1 STEP 445 + SAVE HEAD + +PERIOD 1 STEP 446 + SAVE HEAD + +PERIOD 1 STEP 447 + SAVE HEAD + +PERIOD 1 STEP 448 + SAVE HEAD + +PERIOD 1 STEP 449 + SAVE HEAD + +PERIOD 1 STEP 450 + SAVE HEAD + +PERIOD 1 STEP 451 + SAVE HEAD + +PERIOD 1 STEP 452 + SAVE HEAD + +PERIOD 1 STEP 453 + SAVE HEAD + +PERIOD 1 STEP 454 + SAVE HEAD + +PERIOD 1 STEP 455 + SAVE HEAD + +PERIOD 1 STEP 456 + SAVE HEAD + +PERIOD 1 STEP 457 + SAVE HEAD + +PERIOD 1 STEP 458 + SAVE HEAD + +PERIOD 1 STEP 459 + SAVE HEAD + +PERIOD 1 STEP 460 + SAVE HEAD + +PERIOD 1 STEP 461 + SAVE HEAD + +PERIOD 1 STEP 462 + SAVE HEAD + +PERIOD 1 STEP 463 + SAVE HEAD + +PERIOD 1 STEP 464 + SAVE HEAD + +PERIOD 1 STEP 465 + SAVE HEAD + +PERIOD 1 STEP 466 + SAVE HEAD + +PERIOD 1 STEP 467 + SAVE HEAD + +PERIOD 1 STEP 468 + SAVE HEAD + +PERIOD 1 STEP 469 + SAVE HEAD + +PERIOD 1 STEP 470 + SAVE HEAD + +PERIOD 1 STEP 471 + SAVE HEAD + +PERIOD 1 STEP 472 + SAVE HEAD + +PERIOD 1 STEP 473 + SAVE HEAD + +PERIOD 1 STEP 474 + SAVE HEAD + +PERIOD 1 STEP 475 + SAVE HEAD + +PERIOD 1 STEP 476 + SAVE HEAD + +PERIOD 1 STEP 477 + SAVE HEAD + +PERIOD 1 STEP 478 + SAVE HEAD + +PERIOD 1 STEP 479 + SAVE HEAD + +PERIOD 1 STEP 480 + SAVE HEAD + +PERIOD 1 STEP 481 + SAVE HEAD + +PERIOD 1 STEP 482 + SAVE HEAD + +PERIOD 1 STEP 483 + SAVE HEAD + +PERIOD 1 STEP 484 + SAVE HEAD + +PERIOD 1 STEP 485 + SAVE HEAD + +PERIOD 1 STEP 486 + SAVE HEAD + +PERIOD 1 STEP 487 + SAVE HEAD + +PERIOD 1 STEP 488 + SAVE HEAD + +PERIOD 1 STEP 489 + SAVE HEAD + +PERIOD 1 STEP 490 + SAVE HEAD + +PERIOD 1 STEP 491 + SAVE HEAD + +PERIOD 1 STEP 492 + SAVE HEAD + +PERIOD 1 STEP 493 + SAVE HEAD + +PERIOD 1 STEP 494 + SAVE HEAD + +PERIOD 1 STEP 495 + SAVE HEAD + +PERIOD 1 STEP 496 + SAVE HEAD + +PERIOD 1 STEP 497 + SAVE HEAD + +PERIOD 1 STEP 498 + SAVE HEAD + +PERIOD 1 STEP 499 + SAVE HEAD + +PERIOD 1 STEP 500 + SAVE HEAD + +PERIOD 1 STEP 501 + SAVE HEAD + +PERIOD 1 STEP 502 + SAVE HEAD + +PERIOD 1 STEP 503 + SAVE HEAD + +PERIOD 1 STEP 504 + SAVE HEAD + +PERIOD 1 STEP 505 + SAVE HEAD + +PERIOD 1 STEP 506 + SAVE HEAD + +PERIOD 1 STEP 507 + SAVE HEAD + +PERIOD 1 STEP 508 + SAVE HEAD + +PERIOD 1 STEP 509 + SAVE HEAD + +PERIOD 1 STEP 510 + SAVE HEAD + +PERIOD 1 STEP 511 + SAVE HEAD + +PERIOD 1 STEP 512 + SAVE HEAD + +PERIOD 1 STEP 513 + SAVE HEAD + +PERIOD 1 STEP 514 + SAVE HEAD + +PERIOD 1 STEP 515 + SAVE HEAD + +PERIOD 1 STEP 516 + SAVE HEAD + +PERIOD 1 STEP 517 + SAVE HEAD + +PERIOD 1 STEP 518 + SAVE HEAD + +PERIOD 1 STEP 519 + SAVE HEAD + +PERIOD 1 STEP 520 + SAVE HEAD + +PERIOD 1 STEP 521 + SAVE HEAD + +PERIOD 1 STEP 522 + SAVE HEAD + +PERIOD 1 STEP 523 + SAVE HEAD + +PERIOD 1 STEP 524 + SAVE HEAD + +PERIOD 1 STEP 525 + SAVE HEAD + +PERIOD 1 STEP 526 + SAVE HEAD + +PERIOD 1 STEP 527 + SAVE HEAD + +PERIOD 1 STEP 528 + SAVE HEAD + +PERIOD 1 STEP 529 + SAVE HEAD + +PERIOD 1 STEP 530 + SAVE HEAD + +PERIOD 1 STEP 531 + SAVE HEAD + +PERIOD 1 STEP 532 + SAVE HEAD + +PERIOD 1 STEP 533 + SAVE HEAD + +PERIOD 1 STEP 534 + SAVE HEAD + +PERIOD 1 STEP 535 + SAVE HEAD + +PERIOD 1 STEP 536 + SAVE HEAD + +PERIOD 1 STEP 537 + SAVE HEAD + +PERIOD 1 STEP 538 + SAVE HEAD + +PERIOD 1 STEP 539 + SAVE HEAD + +PERIOD 1 STEP 540 + SAVE HEAD + +PERIOD 1 STEP 541 + SAVE HEAD + +PERIOD 1 STEP 542 + SAVE HEAD + +PERIOD 1 STEP 543 + SAVE HEAD + +PERIOD 1 STEP 544 + SAVE HEAD + +PERIOD 1 STEP 545 + SAVE HEAD + +PERIOD 1 STEP 546 + SAVE HEAD + +PERIOD 1 STEP 547 + SAVE HEAD + +PERIOD 1 STEP 548 + SAVE HEAD + +PERIOD 1 STEP 549 + SAVE HEAD + +PERIOD 1 STEP 550 + SAVE HEAD + +PERIOD 1 STEP 551 + SAVE HEAD + +PERIOD 1 STEP 552 + SAVE HEAD + +PERIOD 1 STEP 553 + SAVE HEAD + +PERIOD 1 STEP 554 + SAVE HEAD + +PERIOD 1 STEP 555 + SAVE HEAD + +PERIOD 1 STEP 556 + SAVE HEAD + +PERIOD 1 STEP 557 + SAVE HEAD + +PERIOD 1 STEP 558 + SAVE HEAD + +PERIOD 1 STEP 559 + SAVE HEAD + +PERIOD 1 STEP 560 + SAVE HEAD + +PERIOD 1 STEP 561 + SAVE HEAD + +PERIOD 1 STEP 562 + SAVE HEAD + +PERIOD 1 STEP 563 + SAVE HEAD + +PERIOD 1 STEP 564 + SAVE HEAD + +PERIOD 1 STEP 565 + SAVE HEAD + +PERIOD 1 STEP 566 + SAVE HEAD + +PERIOD 1 STEP 567 + SAVE HEAD + +PERIOD 1 STEP 568 + SAVE HEAD + +PERIOD 1 STEP 569 + SAVE HEAD + +PERIOD 1 STEP 570 + SAVE HEAD + +PERIOD 1 STEP 571 + SAVE HEAD + +PERIOD 1 STEP 572 + SAVE HEAD + +PERIOD 1 STEP 573 + SAVE HEAD + +PERIOD 1 STEP 574 + SAVE HEAD + +PERIOD 1 STEP 575 + SAVE HEAD + +PERIOD 1 STEP 576 + SAVE HEAD + +PERIOD 1 STEP 577 + SAVE HEAD + +PERIOD 1 STEP 578 + SAVE HEAD + +PERIOD 1 STEP 579 + SAVE HEAD + +PERIOD 1 STEP 580 + SAVE HEAD + +PERIOD 1 STEP 581 + SAVE HEAD + +PERIOD 1 STEP 582 + SAVE HEAD + +PERIOD 1 STEP 583 + SAVE HEAD + +PERIOD 1 STEP 584 + SAVE HEAD + +PERIOD 1 STEP 585 + SAVE HEAD + +PERIOD 1 STEP 586 + SAVE HEAD + +PERIOD 1 STEP 587 + SAVE HEAD + +PERIOD 1 STEP 588 + SAVE HEAD + +PERIOD 1 STEP 589 + SAVE HEAD + +PERIOD 1 STEP 590 + SAVE HEAD + +PERIOD 1 STEP 591 + SAVE HEAD + +PERIOD 1 STEP 592 + SAVE HEAD + +PERIOD 1 STEP 593 + SAVE HEAD + +PERIOD 1 STEP 594 + SAVE HEAD + +PERIOD 1 STEP 595 + SAVE HEAD + +PERIOD 1 STEP 596 + SAVE HEAD + +PERIOD 1 STEP 597 + SAVE HEAD + +PERIOD 1 STEP 598 + SAVE HEAD + +PERIOD 1 STEP 599 + SAVE HEAD + +PERIOD 1 STEP 600 + SAVE HEAD + +PERIOD 1 STEP 601 + SAVE HEAD + +PERIOD 1 STEP 602 + SAVE HEAD + +PERIOD 1 STEP 603 + SAVE HEAD + +PERIOD 1 STEP 604 + SAVE HEAD + +PERIOD 1 STEP 605 + SAVE HEAD + +PERIOD 1 STEP 606 + SAVE HEAD + +PERIOD 1 STEP 607 + SAVE HEAD + +PERIOD 1 STEP 608 + SAVE HEAD + +PERIOD 1 STEP 609 + SAVE HEAD + +PERIOD 1 STEP 610 + SAVE HEAD + +PERIOD 1 STEP 611 + SAVE HEAD + +PERIOD 1 STEP 612 + SAVE HEAD + +PERIOD 1 STEP 613 + SAVE HEAD + +PERIOD 1 STEP 614 + SAVE HEAD + +PERIOD 1 STEP 615 + SAVE HEAD + +PERIOD 1 STEP 616 + SAVE HEAD + +PERIOD 1 STEP 617 + SAVE HEAD + +PERIOD 1 STEP 618 + SAVE HEAD + +PERIOD 1 STEP 619 + SAVE HEAD + +PERIOD 1 STEP 620 + SAVE HEAD + +PERIOD 1 STEP 621 + SAVE HEAD + +PERIOD 1 STEP 622 + SAVE HEAD + +PERIOD 1 STEP 623 + SAVE HEAD + +PERIOD 1 STEP 624 + SAVE HEAD + +PERIOD 1 STEP 625 + SAVE HEAD + +PERIOD 1 STEP 626 + SAVE HEAD + +PERIOD 1 STEP 627 + SAVE HEAD + +PERIOD 1 STEP 628 + SAVE HEAD + +PERIOD 1 STEP 629 + SAVE HEAD + +PERIOD 1 STEP 630 + SAVE HEAD + +PERIOD 1 STEP 631 + SAVE HEAD + +PERIOD 1 STEP 632 + SAVE HEAD + +PERIOD 1 STEP 633 + SAVE HEAD + +PERIOD 1 STEP 634 + SAVE HEAD + +PERIOD 1 STEP 635 + SAVE HEAD + +PERIOD 1 STEP 636 + SAVE HEAD + +PERIOD 1 STEP 637 + SAVE HEAD + +PERIOD 1 STEP 638 + SAVE HEAD + +PERIOD 1 STEP 639 + SAVE HEAD + +PERIOD 1 STEP 640 + SAVE HEAD + +PERIOD 1 STEP 641 + SAVE HEAD + +PERIOD 1 STEP 642 + SAVE HEAD + +PERIOD 1 STEP 643 + SAVE HEAD + +PERIOD 1 STEP 644 + SAVE HEAD + +PERIOD 1 STEP 645 + SAVE HEAD + +PERIOD 1 STEP 646 + SAVE HEAD + +PERIOD 1 STEP 647 + SAVE HEAD + +PERIOD 1 STEP 648 + SAVE HEAD + +PERIOD 1 STEP 649 + SAVE HEAD + +PERIOD 1 STEP 650 + SAVE HEAD + +PERIOD 1 STEP 651 + SAVE HEAD + +PERIOD 1 STEP 652 + SAVE HEAD + +PERIOD 1 STEP 653 + SAVE HEAD + +PERIOD 1 STEP 654 + SAVE HEAD + +PERIOD 1 STEP 655 + SAVE HEAD + +PERIOD 1 STEP 656 + SAVE HEAD + +PERIOD 1 STEP 657 + SAVE HEAD + +PERIOD 1 STEP 658 + SAVE HEAD + +PERIOD 1 STEP 659 + SAVE HEAD + +PERIOD 1 STEP 660 + SAVE HEAD + +PERIOD 1 STEP 661 + SAVE HEAD + +PERIOD 1 STEP 662 + SAVE HEAD + +PERIOD 1 STEP 663 + SAVE HEAD + +PERIOD 1 STEP 664 + SAVE HEAD + +PERIOD 1 STEP 665 + SAVE HEAD + +PERIOD 1 STEP 666 + SAVE HEAD + +PERIOD 1 STEP 667 + SAVE HEAD + +PERIOD 1 STEP 668 + SAVE HEAD + +PERIOD 1 STEP 669 + SAVE HEAD + +PERIOD 1 STEP 670 + SAVE HEAD + +PERIOD 1 STEP 671 + SAVE HEAD + +PERIOD 1 STEP 672 + SAVE HEAD + +PERIOD 1 STEP 673 + SAVE HEAD + +PERIOD 1 STEP 674 + SAVE HEAD + +PERIOD 1 STEP 675 + SAVE HEAD + +PERIOD 1 STEP 676 + SAVE HEAD + +PERIOD 1 STEP 677 + SAVE HEAD + +PERIOD 1 STEP 678 + SAVE HEAD + +PERIOD 1 STEP 679 + SAVE HEAD + +PERIOD 1 STEP 680 + SAVE HEAD + +PERIOD 1 STEP 681 + SAVE HEAD + +PERIOD 1 STEP 682 + SAVE HEAD + +PERIOD 1 STEP 683 + SAVE HEAD + +PERIOD 1 STEP 684 + SAVE HEAD + +PERIOD 1 STEP 685 + SAVE HEAD + +PERIOD 1 STEP 686 + SAVE HEAD + +PERIOD 1 STEP 687 + SAVE HEAD + +PERIOD 1 STEP 688 + SAVE HEAD + +PERIOD 1 STEP 689 + SAVE HEAD + +PERIOD 1 STEP 690 + SAVE HEAD + +PERIOD 1 STEP 691 + SAVE HEAD + +PERIOD 1 STEP 692 + SAVE HEAD + +PERIOD 1 STEP 693 + SAVE HEAD + +PERIOD 1 STEP 694 + SAVE HEAD + +PERIOD 1 STEP 695 + SAVE HEAD + +PERIOD 1 STEP 696 + SAVE HEAD + +PERIOD 1 STEP 697 + SAVE HEAD + +PERIOD 1 STEP 698 + SAVE HEAD + +PERIOD 1 STEP 699 + SAVE HEAD + +PERIOD 1 STEP 700 + SAVE HEAD + +PERIOD 1 STEP 701 + SAVE HEAD + +PERIOD 1 STEP 702 + SAVE HEAD + +PERIOD 1 STEP 703 + SAVE HEAD + +PERIOD 1 STEP 704 + SAVE HEAD + +PERIOD 1 STEP 705 + SAVE HEAD + +PERIOD 1 STEP 706 + SAVE HEAD + +PERIOD 1 STEP 707 + SAVE HEAD + +PERIOD 1 STEP 708 + SAVE HEAD + +PERIOD 1 STEP 709 + SAVE HEAD + +PERIOD 1 STEP 710 + SAVE HEAD + +PERIOD 1 STEP 711 + SAVE HEAD + +PERIOD 1 STEP 712 + SAVE HEAD + +PERIOD 1 STEP 713 + SAVE HEAD + +PERIOD 1 STEP 714 + SAVE HEAD + +PERIOD 1 STEP 715 + SAVE HEAD + +PERIOD 1 STEP 716 + SAVE HEAD + +PERIOD 1 STEP 717 + SAVE HEAD + +PERIOD 1 STEP 718 + SAVE HEAD + +PERIOD 1 STEP 719 + SAVE HEAD + +PERIOD 1 STEP 720 + SAVE HEAD + +PERIOD 1 STEP 721 + SAVE HEAD + +PERIOD 1 STEP 722 + SAVE HEAD + +PERIOD 1 STEP 723 + SAVE HEAD + +PERIOD 1 STEP 724 + SAVE HEAD + +PERIOD 1 STEP 725 + SAVE HEAD + +PERIOD 1 STEP 726 + SAVE HEAD + +PERIOD 1 STEP 727 + SAVE HEAD + +PERIOD 1 STEP 728 + SAVE HEAD + +PERIOD 1 STEP 729 + SAVE HEAD + +PERIOD 1 STEP 730 + SAVE HEAD + +PERIOD 1 STEP 731 + SAVE HEAD + +PERIOD 1 STEP 732 + SAVE HEAD + +PERIOD 1 STEP 733 + SAVE HEAD + +PERIOD 1 STEP 734 + SAVE HEAD + +PERIOD 1 STEP 735 + SAVE HEAD + +PERIOD 1 STEP 736 + SAVE HEAD + +PERIOD 1 STEP 737 + SAVE HEAD + +PERIOD 1 STEP 738 + SAVE HEAD + +PERIOD 1 STEP 739 + SAVE HEAD + +PERIOD 1 STEP 740 + SAVE HEAD + +PERIOD 1 STEP 741 + SAVE HEAD + +PERIOD 1 STEP 742 + SAVE HEAD + +PERIOD 1 STEP 743 + SAVE HEAD + +PERIOD 1 STEP 744 + SAVE HEAD + +PERIOD 1 STEP 745 + SAVE HEAD + +PERIOD 1 STEP 746 + SAVE HEAD + +PERIOD 1 STEP 747 + SAVE HEAD + +PERIOD 1 STEP 748 + SAVE HEAD + +PERIOD 1 STEP 749 + SAVE HEAD + +PERIOD 1 STEP 750 + SAVE HEAD + +PERIOD 1 STEP 751 + SAVE HEAD + +PERIOD 1 STEP 752 + SAVE HEAD + +PERIOD 1 STEP 753 + SAVE HEAD + +PERIOD 1 STEP 754 + SAVE HEAD + +PERIOD 1 STEP 755 + SAVE HEAD + +PERIOD 1 STEP 756 + SAVE HEAD + +PERIOD 1 STEP 757 + SAVE HEAD + +PERIOD 1 STEP 758 + SAVE HEAD + +PERIOD 1 STEP 759 + SAVE HEAD + +PERIOD 1 STEP 760 + SAVE HEAD + +PERIOD 1 STEP 761 + SAVE HEAD + +PERIOD 1 STEP 762 + SAVE HEAD + +PERIOD 1 STEP 763 + SAVE HEAD + +PERIOD 1 STEP 764 + SAVE HEAD + +PERIOD 1 STEP 765 + SAVE HEAD + +PERIOD 1 STEP 766 + SAVE HEAD + +PERIOD 1 STEP 767 + SAVE HEAD + +PERIOD 1 STEP 768 + SAVE HEAD + +PERIOD 1 STEP 769 + SAVE HEAD + +PERIOD 1 STEP 770 + SAVE HEAD + +PERIOD 1 STEP 771 + SAVE HEAD + +PERIOD 1 STEP 772 + SAVE HEAD + +PERIOD 1 STEP 773 + SAVE HEAD + +PERIOD 1 STEP 774 + SAVE HEAD + +PERIOD 1 STEP 775 + SAVE HEAD + +PERIOD 1 STEP 776 + SAVE HEAD + +PERIOD 1 STEP 777 + SAVE HEAD + +PERIOD 1 STEP 778 + SAVE HEAD + +PERIOD 1 STEP 779 + SAVE HEAD + +PERIOD 1 STEP 780 + SAVE HEAD + +PERIOD 1 STEP 781 + SAVE HEAD + +PERIOD 1 STEP 782 + SAVE HEAD + +PERIOD 1 STEP 783 + SAVE HEAD + +PERIOD 1 STEP 784 + SAVE HEAD + +PERIOD 1 STEP 785 + SAVE HEAD + +PERIOD 1 STEP 786 + SAVE HEAD + +PERIOD 1 STEP 787 + SAVE HEAD + +PERIOD 1 STEP 788 + SAVE HEAD + +PERIOD 1 STEP 789 + SAVE HEAD + +PERIOD 1 STEP 790 + SAVE HEAD + +PERIOD 1 STEP 791 + SAVE HEAD + +PERIOD 1 STEP 792 + SAVE HEAD + +PERIOD 1 STEP 793 + SAVE HEAD + +PERIOD 1 STEP 794 + SAVE HEAD + +PERIOD 1 STEP 795 + SAVE HEAD + +PERIOD 1 STEP 796 + SAVE HEAD + +PERIOD 1 STEP 797 + SAVE HEAD + +PERIOD 1 STEP 798 + SAVE HEAD + +PERIOD 1 STEP 799 + SAVE HEAD + +PERIOD 1 STEP 800 + SAVE HEAD + +PERIOD 1 STEP 801 + SAVE HEAD + +PERIOD 1 STEP 802 + SAVE HEAD + +PERIOD 1 STEP 803 + SAVE HEAD + +PERIOD 1 STEP 804 + SAVE HEAD + +PERIOD 1 STEP 805 + SAVE HEAD + +PERIOD 1 STEP 806 + SAVE HEAD + +PERIOD 1 STEP 807 + SAVE HEAD + +PERIOD 1 STEP 808 + SAVE HEAD + +PERIOD 1 STEP 809 + SAVE HEAD + +PERIOD 1 STEP 810 + SAVE HEAD + +PERIOD 1 STEP 811 + SAVE HEAD + +PERIOD 1 STEP 812 + SAVE HEAD + +PERIOD 1 STEP 813 + SAVE HEAD + +PERIOD 1 STEP 814 + SAVE HEAD + +PERIOD 1 STEP 815 + SAVE HEAD + +PERIOD 1 STEP 816 + SAVE HEAD + +PERIOD 1 STEP 817 + SAVE HEAD + +PERIOD 1 STEP 818 + SAVE HEAD + +PERIOD 1 STEP 819 + SAVE HEAD + +PERIOD 1 STEP 820 + SAVE HEAD + +PERIOD 1 STEP 821 + SAVE HEAD + +PERIOD 1 STEP 822 + SAVE HEAD + +PERIOD 1 STEP 823 + SAVE HEAD + +PERIOD 1 STEP 824 + SAVE HEAD + +PERIOD 1 STEP 825 + SAVE HEAD + +PERIOD 1 STEP 826 + SAVE HEAD + +PERIOD 1 STEP 827 + SAVE HEAD + +PERIOD 1 STEP 828 + SAVE HEAD + +PERIOD 1 STEP 829 + SAVE HEAD + +PERIOD 1 STEP 830 + SAVE HEAD + +PERIOD 1 STEP 831 + SAVE HEAD + +PERIOD 1 STEP 832 + SAVE HEAD + +PERIOD 1 STEP 833 + SAVE HEAD + +PERIOD 1 STEP 834 + SAVE HEAD + +PERIOD 1 STEP 835 + SAVE HEAD + +PERIOD 1 STEP 836 + SAVE HEAD + +PERIOD 1 STEP 837 + SAVE HEAD + +PERIOD 1 STEP 838 + SAVE HEAD + +PERIOD 1 STEP 839 + SAVE HEAD + +PERIOD 1 STEP 840 + SAVE HEAD + +PERIOD 1 STEP 841 + SAVE HEAD + +PERIOD 1 STEP 842 + SAVE HEAD + +PERIOD 1 STEP 843 + SAVE HEAD + +PERIOD 1 STEP 844 + SAVE HEAD + +PERIOD 1 STEP 845 + SAVE HEAD + +PERIOD 1 STEP 846 + SAVE HEAD + +PERIOD 1 STEP 847 + SAVE HEAD + +PERIOD 1 STEP 848 + SAVE HEAD + +PERIOD 1 STEP 849 + SAVE HEAD + +PERIOD 1 STEP 850 + SAVE HEAD + +PERIOD 1 STEP 851 + SAVE HEAD + +PERIOD 1 STEP 852 + SAVE HEAD + +PERIOD 1 STEP 853 + SAVE HEAD + +PERIOD 1 STEP 854 + SAVE HEAD + +PERIOD 1 STEP 855 + SAVE HEAD + +PERIOD 1 STEP 856 + SAVE HEAD + +PERIOD 1 STEP 857 + SAVE HEAD + +PERIOD 1 STEP 858 + SAVE HEAD + +PERIOD 1 STEP 859 + SAVE HEAD + +PERIOD 1 STEP 860 + SAVE HEAD + +PERIOD 1 STEP 861 + SAVE HEAD + +PERIOD 1 STEP 862 + SAVE HEAD + +PERIOD 1 STEP 863 + SAVE HEAD + +PERIOD 1 STEP 864 + SAVE HEAD + +PERIOD 1 STEP 865 + SAVE HEAD + +PERIOD 1 STEP 866 + SAVE HEAD + +PERIOD 1 STEP 867 + SAVE HEAD + +PERIOD 1 STEP 868 + SAVE HEAD + +PERIOD 1 STEP 869 + SAVE HEAD + +PERIOD 1 STEP 870 + SAVE HEAD + +PERIOD 1 STEP 871 + SAVE HEAD + +PERIOD 1 STEP 872 + SAVE HEAD + +PERIOD 1 STEP 873 + SAVE HEAD + +PERIOD 1 STEP 874 + SAVE HEAD + +PERIOD 1 STEP 875 + SAVE HEAD + +PERIOD 1 STEP 876 + SAVE HEAD + +PERIOD 1 STEP 877 + SAVE HEAD + +PERIOD 1 STEP 878 + SAVE HEAD + +PERIOD 1 STEP 879 + SAVE HEAD + +PERIOD 1 STEP 880 + SAVE HEAD + +PERIOD 1 STEP 881 + SAVE HEAD + +PERIOD 1 STEP 882 + SAVE HEAD + +PERIOD 1 STEP 883 + SAVE HEAD + +PERIOD 1 STEP 884 + SAVE HEAD + +PERIOD 1 STEP 885 + SAVE HEAD + +PERIOD 1 STEP 886 + SAVE HEAD + +PERIOD 1 STEP 887 + SAVE HEAD + +PERIOD 1 STEP 888 + SAVE HEAD + +PERIOD 1 STEP 889 + SAVE HEAD + +PERIOD 1 STEP 890 + SAVE HEAD + +PERIOD 1 STEP 891 + SAVE HEAD + +PERIOD 1 STEP 892 + SAVE HEAD + +PERIOD 1 STEP 893 + SAVE HEAD + +PERIOD 1 STEP 894 + SAVE HEAD + +PERIOD 1 STEP 895 + SAVE HEAD + +PERIOD 1 STEP 896 + SAVE HEAD + +PERIOD 1 STEP 897 + SAVE HEAD + +PERIOD 1 STEP 898 + SAVE HEAD + +PERIOD 1 STEP 899 + SAVE HEAD + +PERIOD 1 STEP 900 + SAVE HEAD + +PERIOD 1 STEP 901 + SAVE HEAD + +PERIOD 1 STEP 902 + SAVE HEAD + +PERIOD 1 STEP 903 + SAVE HEAD + +PERIOD 1 STEP 904 + SAVE HEAD + +PERIOD 1 STEP 905 + SAVE HEAD + +PERIOD 1 STEP 906 + SAVE HEAD + +PERIOD 1 STEP 907 + SAVE HEAD + +PERIOD 1 STEP 908 + SAVE HEAD + +PERIOD 1 STEP 909 + SAVE HEAD + +PERIOD 1 STEP 910 + SAVE HEAD + +PERIOD 1 STEP 911 + SAVE HEAD + +PERIOD 1 STEP 912 + SAVE HEAD + +PERIOD 1 STEP 913 + SAVE HEAD + +PERIOD 1 STEP 914 + SAVE HEAD + +PERIOD 1 STEP 915 + SAVE HEAD + +PERIOD 1 STEP 916 + SAVE HEAD + +PERIOD 1 STEP 917 + SAVE HEAD + +PERIOD 1 STEP 918 + SAVE HEAD + +PERIOD 1 STEP 919 + SAVE HEAD + +PERIOD 1 STEP 920 + SAVE HEAD + +PERIOD 1 STEP 921 + SAVE HEAD + +PERIOD 1 STEP 922 + SAVE HEAD + +PERIOD 1 STEP 923 + SAVE HEAD + +PERIOD 1 STEP 924 + SAVE HEAD + +PERIOD 1 STEP 925 + SAVE HEAD + +PERIOD 1 STEP 926 + SAVE HEAD + +PERIOD 1 STEP 927 + SAVE HEAD + +PERIOD 1 STEP 928 + SAVE HEAD + +PERIOD 1 STEP 929 + SAVE HEAD + +PERIOD 1 STEP 930 + SAVE HEAD + +PERIOD 1 STEP 931 + SAVE HEAD + +PERIOD 1 STEP 932 + SAVE HEAD + +PERIOD 1 STEP 933 + SAVE HEAD + +PERIOD 1 STEP 934 + SAVE HEAD + +PERIOD 1 STEP 935 + SAVE HEAD + +PERIOD 1 STEP 936 + SAVE HEAD + +PERIOD 1 STEP 937 + SAVE HEAD + +PERIOD 1 STEP 938 + SAVE HEAD + +PERIOD 1 STEP 939 + SAVE HEAD + +PERIOD 1 STEP 940 + SAVE HEAD + +PERIOD 1 STEP 941 + SAVE HEAD + +PERIOD 1 STEP 942 + SAVE HEAD + +PERIOD 1 STEP 943 + SAVE HEAD + +PERIOD 1 STEP 944 + SAVE HEAD + +PERIOD 1 STEP 945 + SAVE HEAD + +PERIOD 1 STEP 946 + SAVE HEAD + +PERIOD 1 STEP 947 + SAVE HEAD + +PERIOD 1 STEP 948 + SAVE HEAD + +PERIOD 1 STEP 949 + SAVE HEAD + +PERIOD 1 STEP 950 + SAVE HEAD + +PERIOD 1 STEP 951 + SAVE HEAD + +PERIOD 1 STEP 952 + SAVE HEAD + +PERIOD 1 STEP 953 + SAVE HEAD + +PERIOD 1 STEP 954 + SAVE HEAD + +PERIOD 1 STEP 955 + SAVE HEAD + +PERIOD 1 STEP 956 + SAVE HEAD + +PERIOD 1 STEP 957 + SAVE HEAD + +PERIOD 1 STEP 958 + SAVE HEAD + +PERIOD 1 STEP 959 + SAVE HEAD + +PERIOD 1 STEP 960 + SAVE HEAD + +PERIOD 1 STEP 961 + SAVE HEAD + +PERIOD 1 STEP 962 + SAVE HEAD + +PERIOD 1 STEP 963 + SAVE HEAD + +PERIOD 1 STEP 964 + SAVE HEAD + +PERIOD 1 STEP 965 + SAVE HEAD + +PERIOD 1 STEP 966 + SAVE HEAD + +PERIOD 1 STEP 967 + SAVE HEAD + +PERIOD 1 STEP 968 + SAVE HEAD + +PERIOD 1 STEP 969 + SAVE HEAD + +PERIOD 1 STEP 970 + SAVE HEAD + +PERIOD 1 STEP 971 + SAVE HEAD + +PERIOD 1 STEP 972 + SAVE HEAD + +PERIOD 1 STEP 973 + SAVE HEAD + +PERIOD 1 STEP 974 + SAVE HEAD + +PERIOD 1 STEP 975 + SAVE HEAD + +PERIOD 1 STEP 976 + SAVE HEAD + +PERIOD 1 STEP 977 + SAVE HEAD + +PERIOD 1 STEP 978 + SAVE HEAD + +PERIOD 1 STEP 979 + SAVE HEAD + +PERIOD 1 STEP 980 + SAVE HEAD + +PERIOD 1 STEP 981 + SAVE HEAD + +PERIOD 1 STEP 982 + SAVE HEAD + +PERIOD 1 STEP 983 + SAVE HEAD + +PERIOD 1 STEP 984 + SAVE HEAD + +PERIOD 1 STEP 985 + SAVE HEAD + +PERIOD 1 STEP 986 + SAVE HEAD + +PERIOD 1 STEP 987 + SAVE HEAD + +PERIOD 1 STEP 988 + SAVE HEAD + +PERIOD 1 STEP 989 + SAVE HEAD + +PERIOD 1 STEP 990 + SAVE HEAD + +PERIOD 1 STEP 991 + SAVE HEAD + +PERIOD 1 STEP 992 + SAVE HEAD + +PERIOD 1 STEP 993 + SAVE HEAD + +PERIOD 1 STEP 994 + SAVE HEAD + +PERIOD 1 STEP 995 + SAVE HEAD + +PERIOD 1 STEP 996 + SAVE HEAD + +PERIOD 1 STEP 997 + SAVE HEAD + +PERIOD 1 STEP 998 + SAVE HEAD + +PERIOD 1 STEP 999 + SAVE HEAD + +PERIOD 1 STEP 1000 + SAVE HEAD + diff --git a/examples/data/parameters/Oahu_02.pcg b/examples/data/parameters/Oahu_02.pcg new file mode 100644 index 0000000000..f014e913f6 --- /dev/null +++ b/examples/data/parameters/Oahu_02.pcg @@ -0,0 +1,3 @@ +# PCG for MODFLOW, generated by Flopy. +50 30 1 0 +0.0001 5.0 1.0 0 0 3 1.0 diff --git a/examples/data/parameters/Oahu_02.pval b/examples/data/parameters/Oahu_02.pval new file mode 100644 index 0000000000..6fa72064ed --- /dev/null +++ b/examples/data/parameters/Oahu_02.pval @@ -0,0 +1,4 @@ +# fake pval file +2 +smallval 1. +HFB2 1.0e-7 \ No newline at end of file diff --git a/examples/data/parameters/Oahu_02.swi2 b/examples/data/parameters/Oahu_02.swi2 new file mode 100644 index 0000000000..417f245c5d --- /dev/null +++ b/examples/data/parameters/Oahu_02.swi2 @@ -0,0 +1,52 @@ +# Salt Water Intrusion (SWI2) package file for MODFLOW-2005, generated by Flopy. +# Dataset 1 + 1 1 0 55 56 0 +# Dataset 2a + 1 0 3 +# Dataset 3a + 4.000000e-02 4.000000e-02 +# Dataset 4 +INTERNAL 1 (2G15.6) -1 #nu + 0.000000E+00 2.500000E-02 +# Dataset 5 +INTERNAL 1 (20G15.6) -1 #zeta_1 Layer 1 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.000000E+02 -6.000000E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 + 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +# Dataset 6 +CONSTANT 5.000000E-02 #ssz Layer 1 +# Dataset 7 +INTERNAL 1 (20I10) -1 #isource Layer 1 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 + -2 -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 + -2 -2 -2 -2 -2 -2 1 1 1 1 1 1 1 1 1 1 1 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 1 1 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 + -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 diff --git a/examples/data/parameters/Oahu_02.wel b/examples/data/parameters/Oahu_02.wel new file mode 100644 index 0000000000..0b5b62467a --- /dev/null +++ b/examples/data/parameters/Oahu_02.wel @@ -0,0 +1,104 @@ +# Well file for MODFLOW, generated by Flopy. + 100 0 + 100 0 # stress period 0 + 1 4 9 818452.437500 + 1 4 10 818452.437500 + 1 5 8 818452.437500 + 1 5 9 818452.437500 + 1 5 10 818452.437500 + 1 5 11 818452.437500 + 1 6 7 818452.437500 + 1 6 8 818452.437500 + 1 6 9 818452.437500 + 1 6 10 818452.437500 + 1 6 11 818452.437500 + 1 6 12 818452.437500 + 1 7 4 818452.437500 + 1 7 5 818452.437500 + 1 7 6 818452.437500 + 1 7 7 818452.437500 + 1 7 8 818452.437500 + 1 7 9 818452.437500 + 1 7 10 818452.437500 + 1 7 11 818452.437500 + 1 7 12 818452.437500 + 1 8 4 818452.437500 + 1 8 5 818452.437500 + 1 8 6 818452.437500 + 1 8 7 818452.437500 + 1 8 8 818452.437500 + 1 8 9 818452.437500 + 1 8 10 818452.437500 + 1 8 11 818452.437500 + 1 8 12 818452.437500 + 1 8 13 818452.437500 + 1 9 5 818452.437500 + 1 9 6 818452.437500 + 1 9 7 818452.437500 + 1 9 8 818452.437500 + 1 9 9 818452.437500 + 1 9 10 818452.437500 + 1 9 11 818452.437500 + 1 9 12 818452.437500 + 1 9 13 818452.437500 + 1 9 14 818452.437500 + 1 10 5 818452.437500 + 1 10 6 818452.437500 + 1 10 7 818452.437500 + 1 10 8 818452.437500 + 1 10 9 818452.437500 + 1 10 10 818452.437500 + 1 10 11 818452.437500 + 1 10 12 818452.437500 + 1 10 13 818452.437500 + 1 10 14 818452.437500 + 1 10 15 818452.437500 + 1 11 6 818452.437500 + 1 11 7 818452.437500 + 1 11 8 818452.437500 + 1 11 9 818452.437500 + 1 11 10 818452.437500 + 1 11 11 818452.437500 + 1 11 12 818452.437500 + 1 11 13 818452.437500 + 1 11 14 818452.437500 + 1 11 15 818452.437500 + 1 11 16 818452.437500 + 1 12 6 818452.437500 + 1 12 7 818452.437500 + 1 12 8 818452.437500 + 1 12 9 818452.437500 + 1 12 10 818452.437500 + 1 12 11 818452.437500 + 1 12 12 818452.437500 + 1 12 13 818452.437500 + 1 12 14 818452.437500 + 1 12 15 818452.437500 + 1 12 16 818452.437500 + 1 13 7 818452.437500 + 1 13 8 818452.437500 + 1 13 9 818452.437500 + 1 13 10 818452.437500 + 1 13 11 818452.437500 + 1 13 12 818452.437500 + 1 13 13 818452.437500 + 1 13 14 818452.437500 + 1 13 15 818452.437500 + 1 13 16 818452.437500 + 1 13 17 818452.437500 + 1 14 7 818452.437500 + 1 14 8 818452.437500 + 1 14 9 818452.437500 + 1 14 10 818452.437500 + 1 14 11 818452.437500 + 1 14 12 818452.437500 + 1 14 13 818452.437500 + 1 14 14 818452.437500 + 1 14 15 818452.437500 + 1 14 16 818452.437500 + 1 14 17 818452.437500 + 1 15 14 818452.437500 + 1 15 15 818452.437500 + 1 9 8 -12031200.000000 + 1 11 10 -10694400.000000 + -1 0 # stress period 1 diff --git a/flopy/modflow/mfhfb.py b/flopy/modflow/mfhfb.py index 053196a059..cfc7b7d5e5 100644 --- a/flopy/modflow/mfhfb.py +++ b/flopy/modflow/mfhfb.py @@ -147,7 +147,6 @@ def __init__(self, model, nphfb=0, mxfb=0, nhfbnp=0, aux_names = [] it = 0 while it < len(options): - print(it, options[it]) if 'aux' in options[it].lower(): aux_names.append(options[it + 1].lower()) it += 1 @@ -285,7 +284,7 @@ def load(f, model, ext_unit_dict=None): while it < len(t): toption = t[it] # print it, t[it] - if toption.lower() is 'noprint': + if toption.lower() == 'noprint': options.append(toption) elif 'aux' in toption.lower(): options.append(' '.join(t[it:it + 2])) diff --git a/flopy/modflow/mfhob.py b/flopy/modflow/mfhob.py index e6039bf637..7c1ee6058a 100755 --- a/flopy/modflow/mfhob.py +++ b/flopy/modflow/mfhob.py @@ -122,7 +122,8 @@ def __init__(self, model, iuhobsv=None, hobdry=0, tomulth=1.0, # set package name fname = [filenames[0]] - # Call ancestor's init to set self.parent, extension, name and unit number + # Call ancestor's init to set self.parent, + # extension, name and unit number Package.__init__(self, model, extension=extension, name=name, unit_number=units, extra=extra, filenames=fname) @@ -137,7 +138,7 @@ def __init__(self, model, iuhobsv=None, hobdry=0, tomulth=1.0, # create default if obs_data is None: - obs_data = HeadObservation() + obs_data = HeadObservation(model) # make sure obs_data is a list if isinstance(obs_data, HeadObservation): @@ -333,8 +334,11 @@ def load(f, model, ext_unit_dict=None, check=True): # read dataset 1 t = line.strip().split() nh = int(t[0]) - iuhobsv = int(t[3]) - hobdry = float(t[4]) + iuhobsv = None + hobdry = 0 + if len(t) > 3: + iuhobsv = int(t[3]) + hobdry = float(t[4]) # read dataset 2 line = f.readline() @@ -368,15 +372,29 @@ def load(f, model, ext_unit_dict=None, check=True): line = f.readline() t = line.strip().split() mlay = collections.OrderedDict() - for j in range(0, abs(layer) * 2, 2): - k = int(t[j]) - 1 - # catch case where the same layer is specified more than - # once. In this case add previous value to the current value - keys = list(mlay.keys()) - v = 0. - if k in keys: - v = mlay[k] - mlay[k] = float(t[j + 1]) + v + if len(t) >= abs(layer) * 2: + for j in range(0, abs(layer) * 2, 2): + k = int(t[j]) - 1 + # catch case where the same layer is specified + # more than once. In this case add previous + # value to the current value + keys = list(mlay.keys()) + v = 0. + if k in keys: + v = mlay[k] + mlay[k] = float(t[j + 1]) + v + else: + for j in range(abs(layer)): + k = int(t[0]) - 1 + keys = list(mlay.keys()) + v = 0. + if k in keys: + v = mlay[k] + mlay[k] = float(t[1]) + v + + if j != abs(layer) - 1: + line = f.readline() + t = line.strip().split() # reset layer layer = -len(list(mlay.keys())) @@ -384,8 +402,9 @@ def load(f, model, ext_unit_dict=None, check=True): if irefsp0 > 0: itt = 1 irefsp0 -= 1 - totim = model.dis.get_totim_from_kper_toffset(irefsp0, - toffset * tomulth) + totim = model.dis.get_totim_from_kper_toffset( + irefsp0, + toffset * tomulth) names = [obsnam] tsd = [totim, hob] nobs += 1 @@ -403,8 +422,9 @@ def load(f, model, ext_unit_dict=None, check=True): names.append(t[0]) irefsp = int(t[1]) - 1 toffset = float(t[2]) - totim = model.dis.get_totim_from_kper_toffset(irefsp, - toffset * tomulth) + totim = model.dis.get_totim_from_kper_toffset( + irefsp, + toffset * tomulth) hob = float(t[3]) tsd.append([totim, hob]) nobs += 1 @@ -429,10 +449,11 @@ def load(f, model, ext_unit_dict=None, check=True): unitnumber, filenames[0] = \ model.get_ext_dict_attr(ext_unit_dict, filetype=ModflowHob.ftype()) - if iuhobsv > 0: - iu, filenames[1] = \ - model.get_ext_dict_attr(ext_unit_dict, unit=iuhobsv) - model.add_pop_key_list(iuhobsv) + if iuhobsv is not None: + if iuhobsv > 0: + iu, filenames[1] = \ + model.get_ext_dict_attr(ext_unit_dict, unit=iuhobsv) + model.add_pop_key_list(iuhobsv) # create hob object instance hob = ModflowHob(model, iuhobsv=iuhobsv, hobdry=hobdry, @@ -459,7 +480,7 @@ class HeadObservation(object): ---------- tomulth : float Time-offset multiplier for head observations. Default is 1. - obsnam : string + obsname : string Observation name. Default is 'HOBS' layer : int The zero-based layer index of the cell in which the head observation @@ -556,10 +577,11 @@ def __init__(self, model, tomulth=1., obsname='HOBS', for key, value in self.mlay.items(): tot += value if not (np.isclose(tot, 1.0, rtol=0)): - msg = ('sum of dataset 4 proportions must equal 1.0 - ' + \ + msg = 'sum of dataset 4 proportions must equal 1.0 - ' + \ 'sum of dataset 4 proportions = {tot} for ' + \ - 'observation name {obsname}.').format(tot=tot, - obsname=self.obsname) + 'observation name {obsname}.'.format( + tot=tot, + obsname=self.obsname) raise ValueError(msg) # convert passed time_series_data to a numpy array diff --git a/flopy/modflow/mfmlt.py b/flopy/modflow/mfmlt.py index 6d2c94b320..bad8cabdbd 100644 --- a/flopy/modflow/mfmlt.py +++ b/flopy/modflow/mfmlt.py @@ -228,7 +228,7 @@ def mult_function(mult_dict, line): """ t = line.strip().split() - basename = t.pop(0).lower() + basename = t.pop(0).lower()[0:10] multarray = mult_dict[basename] try: multarray = multarray.array.copy() @@ -239,7 +239,7 @@ def mult_function(mult_dict, line): if len(t) < 2: break op = t.pop(0) - multname = t.pop(0) + multname = t.pop(0)[0:10] try: atemp = mult_dict[multname.lower()].array except: diff --git a/flopy/modflow/mfparbc.py b/flopy/modflow/mfparbc.py index b9e16fded8..f208a8f477 100644 --- a/flopy/modflow/mfparbc.py +++ b/flopy/modflow/mfparbc.py @@ -5,6 +5,7 @@ """ import numpy as np +from ..utils.flopy_io import line_strip class ModflowParBc(object): @@ -74,7 +75,7 @@ def load(f, npar, dt, verbose=False): bc_parms = {} for idx in range(npar): line = f.readline() - t = line.strip().split() + t = line_strip(line).split() parnam = t[0].lower() if parnam.startswith("'"): parnam = parnam[1:] @@ -96,14 +97,14 @@ def load(f, npar, dt, verbose=False): # read instance name if timeVarying: line = f.readline() - t = line.strip().split() + t = line_strip(line).split() instnam = t[0].lower() else: instnam = 'static' bcinst = [] for nw in range(nlst): line = f.readline() - t = line.strip().split() + t = line_strip(line).split() bnd = [] for jdx in range(nitems): # if jdx < 3: @@ -111,7 +112,10 @@ def load(f, npar, dt, verbose=False): # conversion to zero-based occurs in package load method in mbase. bnd.append(int(t[jdx])) else: - bnd.append(float(t[jdx])) + try: + bnd.append(float(t[jdx])) + except IndexError: + bnd.append(1.) bcinst.append(bnd) pinst[instnam] = bcinst bc_parms[parnam] = [{'partyp': partyp, 'parval': parval, diff --git a/flopy/modflow/mfwel.py b/flopy/modflow/mfwel.py index c87c0b7f1f..40b528c02c 100644 --- a/flopy/modflow/mfwel.py +++ b/flopy/modflow/mfwel.py @@ -117,7 +117,11 @@ class ModflowWel(Package): [('phiramp', OptionBlock.simple_float), ('iunitramp', - OptionBlock.simple_int)])}), + OrderedDict( + [(OptionBlock.dtype, int), + (OptionBlock.nested, False), + (OptionBlock.optional, True) + ]))])}), ('tabfiles', OptionBlock.simple_tabfile)]) def __init__(self, model, ipakcb=None, stress_period_data=None, dtype=None, diff --git a/flopy/utils/optionblock.py b/flopy/utils/optionblock.py index 85260e8b04..5d0eaca44f 100644 --- a/flopy/utils/optionblock.py +++ b/flopy/utils/optionblock.py @@ -24,15 +24,20 @@ class OptionBlock(object): dtype = "dtype" n_nested = "nvars" vars = "vars" + optional = "optional" simple_flag = OrderedDict([(dtype, np.bool_), - (nested, False)]) + (nested, False), + (optional, False)]) simple_str = OrderedDict([(dtype, str), - (nested, False)]) + (nested, False), + (optional, False)]) simple_float = OrderedDict([(dtype, float), - (nested, False)]) + (nested, False), + (optional, False)]) simple_int = OrderedDict([(dtype, int), - (nested, False)]) + (nested, False), + (optional, False)]) simple_tabfile = OrderedDict([(dtype, np.bool_), (nested, True), @@ -114,7 +119,12 @@ def __repr__(self): else: val.append(str(k)) else: - val.append(str((object.__getattribute__(self, k)))) + v = str(object.__getattribute__(self, k)) + if v == "None" and d[OptionBlock.optional]: + pass + else: + val.append(str((object.__getattribute__(self, + k)))) if "None" in val: pass @@ -277,6 +287,15 @@ def _set_attributes(self): for key, d in ctx[OptionBlock.vars].items(): dtype = d[OptionBlock.dtype] + if d[OptionBlock.optional]: + if ix >= len(t): + continue + else: + try: + OptionUtil.isvalid(dtype, t[ix]) + except TypeError: + continue + OptionUtil.isvalid(dtype, t[ix]) if dtype == np.bool_: @@ -363,6 +382,9 @@ def load_options(options, package): ix = 1 for k, d in ctx[OptionBlock.vars].items(): + if ix >= len(t) and d[OptionBlock.optional]: + continue + if d[OptionBlock.dtype] == float: valid = OptionUtil.isfloat(t[ix]) elif d[OptionBlock.dtype] == int: