@@ -198,6 +198,37 @@ def test_lmap_generation_ref10(self):
198198 assert np .array_equal (lmap1 , np .array ([0 , 1 , 11 ]))
199199 assert np .array_equal (lmap2 , np .arange (20 ) + 1 )
200200
201+ def test_zonation (self ):
202+ """Input grid with zonation returns a valid zonation"""
203+ grid , region , rid = _make_box_grid_with_region (dimension = (6 , 6 , 2 ))
204+ grid .subgrids = {"ZONE1" : [1 ], "ZONE2" : [2 ]}
205+ merged , nnc_table = create_nested_hybrid_grid (
206+ grid , region , rid , refinement = (2 , 2 , 2 )
207+ )
208+ subgrids_nlay = merged .get_subgrids ()
209+ assert subgrids_nlay ["ZONE1" ] == 2
210+ assert subgrids_nlay ["ZONE2" ] == 2
211+
212+ assert merged .subgrids ["ZONE1" ] == range (1 , 3 )
213+ assert merged .subgrids ["ZONE2" ] == range (3 , 5 )
214+
215+ def test_zonation_with_layer_offset (self ):
216+ """Input grid with zonation returns a valid zonation with offset"""
217+ grid , region , rid = _make_box_grid_with_region (dimension = (6 , 6 , 3 ))
218+ grid .subgrids = {"ZONE1" : [1 ], "ZONE2" : [2 , 3 ]}
219+
220+ region .values [:, :, 0 ] = 1 # set value in first layer to not be rid
221+
222+ merged , nnc_table = create_nested_hybrid_grid (
223+ grid , region , rid , refinement = (2 , 2 , 2 )
224+ )
225+ subgrids_nlay = merged .get_subgrids ()
226+ assert subgrids_nlay ["ZONE1" ] == 1
227+ assert subgrids_nlay ["ZONE2" ] == 4
228+
229+ assert merged .subgrids ["ZONE1" ] == range (1 , 2 )
230+ assert merged .subgrids ["ZONE2" ] == range (2 , 6 )
231+
201232
202233# ---------------------------------------------------------------------------
203234# Tests for get_transmissibilities with nested hybrid NNCs
0 commit comments