@@ -1963,6 +1963,8 @@ def test_array(function_tmpdir):
19631963
19641964@requires_exe ("mf6" )
19651965def test_grid_array (function_tmpdir ):
1966+ import warnings
1967+
19661968 try :
19671969 from flopy .mf6 import (
19681970 ModflowGwfchdg ,
@@ -1972,6 +1974,8 @@ def test_grid_array(function_tmpdir):
19721974 ModflowGwfwelg ,
19731975 )
19741976 except ImportError :
1977+ msg = "test_mf6 test_grid_array did not run"
1978+ warnings .warn (msg , UserWarning )
19751979 return
19761980 # get_data
19771981 # empty data in period block vs data repeating
@@ -2015,7 +2019,7 @@ def test_grid_array(function_tmpdir):
20152019 delc = 5000.0 ,
20162020 top = 100.0 ,
20172021 botm = [50.0 , 0.0 , - 50.0 , - 100.0 ],
2018- filename = f"{ model_name } 1 .dis" ,
2022+ filename = f"{ model_name } .dis" ,
20192023 )
20202024 ic_package = ModflowGwfic (model , strt = 90.0 , filename = f"{ model_name } .ic" )
20212025 npf_package = ModflowGwfnpf (
@@ -2091,6 +2095,8 @@ def test_grid_array(function_tmpdir):
20912095 q = np .full ((nlay , nrow , ncol ), DNODATA , dtype = float )
20922096 welconc = np .full ((nlay , nrow , ncol ), DNODATA , dtype = float )
20932097 welaux2 = np .full ((nlay , nrow , ncol ), DNODATA , dtype = float )
2098+ # TODO constant by layer
2099+ # welaux2 = [DNODATA]
20942100 if n == 1 :
20952101 q [0 , 0 , 0 ] = 0.25
20962102 welconc [0 , 0 , 0 ] = 0.0
@@ -2115,6 +2121,12 @@ def test_grid_array(function_tmpdir):
21152121 aux = welconcspd ,
21162122 )
21172123
2124+ print (wel .aux .array )
2125+ print (wel .aux .get_data ())
2126+
2127+ # sim.write_simulation()
2128+ # assert False
2129+
21182130 assert len (wel .q .array ) == 4
21192131 assert len (wel .q .get_data ()) == 4
21202132 assert len (wel .aux .array ) == 4
@@ -2135,15 +2147,6 @@ def test_grid_array(function_tmpdir):
21352147 assert np .allclose (wel .aux .array [2 ][1 ], wel .aux .get_data ()[2 ][1 ])
21362148 assert np .allclose (wel .aux .array [3 ][0 ], wel .aux .get_data ()[3 ][0 ])
21372149 assert np .allclose (wel .aux .array [3 ][1 ], wel .aux .get_data ()[3 ][1 ])
2138- # assert wel.q.get_data()[0] is None
2139- # assert wel.q.get_data(0) is None
2140- # assert np.allclose(wel.q.get_data()[1], wel.q.get_data(1))
2141- # assert np.allclose(wel.q.get_data()[2], wel.q.get_data(2))
2142- assert len (wel .q .array ) == 4
2143- # assert np.allclose(wel.q.array[1], wel.q.get_data(1))
2144- # assert np.allclose(wel.q.array[2], wel.q.get_data(2))
2145- # assert wel.q.get_data()[3] is None
2146- # assert wel.q.get_data(3) is None
21472150
21482151 assert not wel .has_stress_period_data
21492152 q_nan = np .where (wel .q .array == DNODATA , np .nan , wel .q .array )
@@ -2167,10 +2170,10 @@ def test_grid_array(function_tmpdir):
21672170 assert aux_data_2 [1 ][0 ][0 ][0 ] == 0.0
21682171 aux_data_3 = wel .aux .get_data (3 )
21692172 assert np .all (aux_data_3 [0 ] == DNODATA )
2170- # assert wel.q[0] is None
2171- # assert wel.q[1[0][1] == 0.25
21722173
21732174 # remove test wel package
2175+ sim .write_simulation ()
2176+ # assert False
21742177 wel .remove ()
21752178
21762179 welqspd = {}
@@ -2237,32 +2240,70 @@ def test_grid_array(function_tmpdir):
22372240 aux_data_3 = wel .aux .get_data (3 )
22382241 assert aux_data_3 is None
22392242
2240- drnspdict = {
2241- 0 : [[(0 , 0 , 0 ), 60.0 , 10.0 ]],
2242- 2 : [],
2243- 3 : [[(0 , 0 , 0 ), 55.0 , 5.0 ]],
2244- }
2245- drn = ModflowGwfdrn (
2243+ # drnspdict = {
2244+ # 0: [[(0, 0, 0), 60.0, 10.0]],
2245+ # 2: [],
2246+ # 3: [[(0, 0, 0), 55.0, 5.0]],
2247+ # }
2248+ # drn = ModflowGwfdrn(
2249+ # model,
2250+ # print_input=True,
2251+ # print_flows=True,
2252+ # stress_period_data=drnspdict,
2253+ # save_flows=False,
2254+ # pname="DRN-1",
2255+ # )
2256+
2257+ drnelevspd = {}
2258+ drncondspd = {}
2259+ for n in range (4 ):
2260+ elev = np .full ((nlay , nrow , ncol ), DNODATA , dtype = float )
2261+ cond = np .full ((nlay , nrow , ncol ), DNODATA , dtype = float )
2262+ if n == 0 :
2263+ elev [0 , 0 , 0 ] = 60.0
2264+ cond [0 , 0 , 0 ] = 10.0
2265+ elif n == 3 :
2266+ elev [0 , 0 , 0 ] = 55.0
2267+ cond [0 , 0 , 0 ] = 5.0
2268+ if n != 1 :
2269+ drnelevspd [n ] = elev
2270+ drncondspd [n ] = cond
2271+
2272+ # create drng package
2273+ drn = ModflowGwfdrng (
22462274 model ,
22472275 print_input = True ,
22482276 print_flows = True ,
2249- stress_period_data = drnspdict ,
22502277 save_flows = False ,
22512278 pname = "DRN-1" ,
2252- )
2253- drn_array = drn .stress_period_data .array
2254- assert drn_array [0 ][0 ][1 ] == 60.0
2255- assert drn_array [1 ][0 ][1 ] == 60.0
2256- assert drn_array [2 ] is None
2257- assert drn_array [3 ][0 ][1 ] == 55.0
2258- drn_gd_0 = drn .stress_period_data .get_data (0 )
2259- assert drn_gd_0 [0 ][1 ] == 60.0
2260- drn_gd_1 = drn .stress_period_data .get_data (1 )
2261- assert drn_gd_1 is None
2262- drn_gd_2 = drn .stress_period_data .get_data (2 )
2263- assert len (drn_gd_2 ) == 0
2264- drn_gd_3 = drn .stress_period_data .get_data (3 )
2265- assert drn_gd_3 [0 ][1 ] == 55.0
2279+ elev = drnelevspd ,
2280+ cond = drncondspd ,
2281+ )
2282+
2283+ drn_elev_array = drn .elev .array
2284+ drn_cond_array = drn .cond .array
2285+ drn_elev_data = drn .elev .get_data ()
2286+ drn_cond_data = drn .cond .get_data ()
2287+ assert len (drn_elev_array ) == 4
2288+ assert len (drn_cond_array ) == 4
2289+ assert len (drn_elev_data ) == 4
2290+ assert len (drn_cond_data ) == 4
2291+ assert np .allclose (drn_elev_array [0 ], drn_elev_data [0 ])
2292+ assert np .allclose (drn_elev_array [0 ], drn .elev .get_data (0 ))
2293+
2294+ # drn_array = drn.stress_period_data.array
2295+ # assert drn_array[0][0][1] == 60.0
2296+ # assert drn_array[1][0][1] == 60.0
2297+ # assert drn_array[2] is None
2298+ # assert drn_array[3][0][1] == 55.0
2299+ # drn_gd_0 = drn.stress_period_data.get_data(0)
2300+ # assert drn_gd_0[0][1] == 60.0
2301+ # drn_gd_1 = drn.stress_period_data.get_data(1)
2302+ # assert drn_gd_1 is None
2303+ # drn_gd_2 = drn.stress_period_data.get_data(2)
2304+ # assert len(drn_gd_2) == 0
2305+ # drn_gd_3 = drn.stress_period_data.get_data(3)
2306+ # assert drn_gd_3[0][1] == 55.0
22662307
22672308 ghbspdict = {
22682309 0 : [[(0 , 1 , 1 ), 60.0 , 10.0 ]],
@@ -2343,11 +2384,11 @@ def test_grid_array(function_tmpdir):
23432384 )
23442385
23452386 # test writing and loading model
2346- print (wel .aux .array )
2387+ # print(wel.aux.array)
23472388 sim .write_simulation ()
2348- print (wel .aux .array )
2389+ # print(wel.aux.array)
23492390 sim .run_simulation ()
2350- print (wel .aux .array )
2391+ # print(wel.aux.array)
23512392
23522393 test_sim = MFSimulation .load (
23532394 sim_name ,
@@ -2363,7 +2404,7 @@ def test_grid_array(function_tmpdir):
23632404 drn = model .get_package ("drn" )
23642405 lak = model .get_package ("lak" )
23652406 lak_tab = model .get_package ("laktab" )
2366- assert os .path .split (dis .filename )[1 ] == f"{ model_name } 1 .dis"
2407+ assert os .path .split (dis .filename )[1 ] == f"{ model_name } .dis"
23672408 # do same tests as above
23682409 val_irch = rcha .irch .array .sum (axis = (1 , 2 , 3 ))
23692410 assert val_irch [0 ] == 4
@@ -2406,6 +2447,8 @@ def test_grid_array(function_tmpdir):
24062447 assert welg_q_per [2 ][0 , 0 , 0 ] == 0.1
24072448 assert welg_q_per [3 ] is None
24082449 wel_aux_array = wel .aux .array
2450+ print (wel_aux_array )
2451+ # assert False
24092452 assert np .all (wel_aux_array [0 ][0 ] == 0.0 )
24102453 assert wel_aux_array [1 ][0 ][0 , 0 , 0 ] == 0.0
24112454 assert wel_aux_array [2 ][0 ][0 , 0 , 0 ] == 0.0
@@ -2422,19 +2465,19 @@ def test_grid_array(function_tmpdir):
24222465 welg_aux_per1 = wel .aux .get_data (1 )
24232466 assert welg_aux_per1 [0 ][0 , 0 , 0 ] == 0.0
24242467
2425- drn_array = drn .stress_period_data .array
2426- assert drn_array [0 ][0 ][1 ] == 60.0
2427- assert drn_array [1 ][0 ][1 ] == 60.0
2428- assert drn_array [2 ] is None
2429- assert drn_array [3 ][0 ][1 ] == 55.0
2430- drn_gd_0 = drn .stress_period_data .get_data (0 )
2431- assert drn_gd_0 [0 ][1 ] == 60.0
2432- drn_gd_1 = drn .stress_period_data .get_data (1 )
2433- assert drn_gd_1 is None
2434- drn_gd_2 = drn .stress_period_data .get_data (2 )
2435- assert len (drn_gd_2 ) == 0
2436- drn_gd_3 = drn .stress_period_data .get_data (3 )
2437- assert drn_gd_3 [0 ][1 ] == 55.0
2468+ # drn_array = drn.stress_period_data.array
2469+ # assert drn_array[0][0][1] == 60.0
2470+ # assert drn_array[1][0][1] == 60.0
2471+ # assert drn_array[2] is None
2472+ # assert drn_array[3][0][1] == 55.0
2473+ # drn_gd_0 = drn.stress_period_data.get_data(0)
2474+ # assert drn_gd_0[0][1] == 60.0
2475+ # drn_gd_1 = drn.stress_period_data.get_data(1)
2476+ # assert drn_gd_1 is None
2477+ # drn_gd_2 = drn.stress_period_data.get_data(2)
2478+ # assert len(drn_gd_2) == 0
2479+ # drn_gd_3 = drn.stress_period_data.get_data(3)
2480+ # assert drn_gd_3[0][1] == 55.0
24382481
24392482 lak_tab_array = lak .tables .get_data ()
24402483 assert lak_tab_array [0 ][1 ] == "lak01.tab"
0 commit comments