88from modflow_devtools .dfns .schema import (
99 Array ,
1010 Block ,
11- DimDef ,
11+ Dim ,
1212 Double ,
1313 FieldBase ,
1414 Integer ,
@@ -323,9 +323,9 @@ def test_local_dims():
323323 name = "gwf-dis" ,
324324 blocks = {"dimensions" : block },
325325 dims = {
326- "nlay" : DimDef (field = "nlay" , scope = "model" ),
327- "nrow" : DimDef (field = "nrow" , scope = "model" ),
328- "ncol" : DimDef (field = "ncol" , scope = "model" ),
326+ "nlay" : Dim (field = "nlay" , scope = "model" ),
327+ "nrow" : Dim (field = "nrow" , scope = "model" ),
328+ "ncol" : Dim (field = "ncol" , scope = "model" ),
329329 },
330330 )
331331 spec = Dfns (components = {"gwf-dis" : pkg })
@@ -340,7 +340,7 @@ def test_local_dims():
340340 pkg3 = Package (
341341 name = "test" ,
342342 blocks = None ,
343- dims = {"nodes" : DimDef (expr = "42" , scope = "component" )},
343+ dims = {"nodes" : Dim (expr = "42" , scope = "component" )},
344344 )
345345 spec3 = Dfns (components = {"test" : pkg3 })
346346 assert spec3 .local_dims ("test" ) == {"nodes" }
@@ -429,10 +429,10 @@ def test_resolve_derived_dims():
429429 name = "test" ,
430430 blocks = {"dimensions" : block },
431431 dims = {
432- "nlay" : DimDef (field = "nlay" , scope = "component" ),
433- "nrow" : DimDef (field = "nrow" , scope = "component" ),
434- "ncol" : DimDef (field = "ncol" , scope = "component" ),
435- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "component" ),
432+ "nlay" : Dim (field = "nlay" , scope = "component" ),
433+ "nrow" : Dim (field = "nrow" , scope = "component" ),
434+ "ncol" : Dim (field = "ncol" , scope = "component" ),
435+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "component" ),
436436 },
437437 )
438438 order = _resolve_derived_dims (pkg , {"nlay" , "nrow" , "ncol" })
@@ -442,11 +442,11 @@ def test_resolve_derived_dims():
442442 name = "test" ,
443443 blocks = {"dimensions" : block },
444444 dims = {
445- "nlay" : DimDef (field = "nlay" , scope = "component" ),
446- "nrow" : DimDef (field = "nrow" , scope = "component" ),
447- "ncol" : DimDef (field = "ncol" , scope = "component" ),
448- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "component" ),
449- "nodouble" : DimDef (expr = "nodes * 2" , scope = "component" ),
445+ "nlay" : Dim (field = "nlay" , scope = "component" ),
446+ "nrow" : Dim (field = "nrow" , scope = "component" ),
447+ "ncol" : Dim (field = "ncol" , scope = "component" ),
448+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "component" ),
449+ "nodouble" : Dim (expr = "nodes * 2" , scope = "component" ),
450450 },
451451 )
452452 order = _resolve_derived_dims (pkg , {"nlay" , "nrow" , "ncol" })
@@ -455,7 +455,7 @@ def test_resolve_derived_dims():
455455 pkg = Package (
456456 name = "test" ,
457457 blocks = None ,
458- dims = {"derived" : DimDef (expr = "nodes + 1" , scope = "component" )},
458+ dims = {"derived" : Dim (expr = "nodes + 1" , scope = "component" )},
459459 )
460460 order = _resolve_derived_dims (pkg , {"nodes" })
461461 assert order == ["derived" ]
@@ -466,7 +466,7 @@ def test_resolve_derived_dims_sum_operand_allowed():
466466 pkg = Package (
467467 name = "test" ,
468468 blocks = pkg .blocks ,
469- dims = {"total_conn" : DimDef (expr = "sum(packagedata.nlakeconn)" , scope = "component" )},
469+ dims = {"total_conn" : Dim (expr = "sum(packagedata.nlakeconn)" , scope = "component" )},
470470 )
471471 order = _resolve_derived_dims (pkg , set ())
472472 assert order == ["total_conn" ]
@@ -482,8 +482,8 @@ def test_resolve_derived_dims_cycle_error():
482482 name = "test" ,
483483 blocks = None ,
484484 dims = {
485- "a" : DimDef (expr = "b + 1" , scope = "component" ),
486- "b" : DimDef (expr = "a + 1" , scope = "component" ),
485+ "a" : Dim (expr = "b + 1" , scope = "component" ),
486+ "b" : Dim (expr = "a + 1" , scope = "component" ),
487487 },
488488 )
489489 with pytest .raises (ValueError , match = "Cycle in" ):
@@ -494,7 +494,7 @@ def test_resolve_derived_dims_unknown_operand_error():
494494 pkg = Package (
495495 name = "test" ,
496496 blocks = None ,
497- dims = {"nodes" : DimDef (expr = "mystery_dim * 2" , scope = "component" )},
497+ dims = {"nodes" : Dim (expr = "mystery_dim * 2" , scope = "component" )},
498498 )
499499 with pytest .raises (ValueError , match = "not a known dimension" ):
500500 _resolve_derived_dims (pkg , set ())
@@ -504,7 +504,7 @@ def test_resolve_derived_dims_invalid_expression_error():
504504 pkg = Package (
505505 name = "test" ,
506506 blocks = None ,
507- dims = {"nodes" : DimDef (expr = "nlay * (" , scope = "component" )},
507+ dims = {"nodes" : Dim (expr = "nlay * (" , scope = "component" )},
508508 )
509509 with pytest .raises (ValueError , match = "Invalid" ):
510510 _resolve_derived_dims (pkg , set ())
@@ -516,10 +516,10 @@ def test_dfnspec_construction_validates_dims():
516516 name = "gwf-dis" ,
517517 blocks = {"dimensions" : block },
518518 dims = {
519- "nlay" : DimDef (field = "nlay" , scope = "model" ),
520- "nrow" : DimDef (field = "nrow" , scope = "model" ),
521- "ncol" : DimDef (field = "ncol" , scope = "model" ),
522- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
519+ "nlay" : Dim (field = "nlay" , scope = "model" ),
520+ "nrow" : Dim (field = "nrow" , scope = "model" ),
521+ "ncol" : Dim (field = "ncol" , scope = "model" ),
522+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
523523 },
524524 )
525525 spec = Dfns (components = {"gwf-dis" : pkg })
@@ -531,8 +531,8 @@ def test_dfnspec_construction_cycle_raises():
531531 name = "bad" ,
532532 blocks = None ,
533533 dims = {
534- "a" : DimDef (expr = "b + 1" , scope = "component" ),
535- "b" : DimDef (expr = "a + 1" , scope = "component" ),
534+ "a" : Dim (expr = "b + 1" , scope = "component" ),
535+ "b" : Dim (expr = "a + 1" , scope = "component" ),
536536 },
537537 )
538538 with pytest .raises (ValueError , match = "Cycle in" ):
@@ -543,7 +543,7 @@ def test_dfnspec_construction_unknown_operand_raises():
543543 pkg = Package (
544544 name = "bad" ,
545545 blocks = None ,
546- dims = {"nodes" : DimDef (expr = "ghost_dim * 2" , scope = "component" )},
546+ dims = {"nodes" : Dim (expr = "ghost_dim * 2" , scope = "component" )},
547547 )
548548 with pytest .raises (ValueError , match = "not a known dimension" ):
549549 Dfns (components = {"bad" : pkg })
@@ -566,9 +566,9 @@ def test_dfnspec_local_dims():
566566 name = "gwf-dis" ,
567567 blocks = {"dimensions" : block },
568568 dims = {
569- "nlay" : DimDef (field = "nlay" , scope = "model" ),
570- "nrow" : DimDef (field = "nrow" , scope = "model" ),
571- "ncol" : DimDef (field = "ncol" , scope = "model" ),
569+ "nlay" : Dim (field = "nlay" , scope = "model" ),
570+ "nrow" : Dim (field = "nrow" , scope = "model" ),
571+ "ncol" : Dim (field = "ncol" , scope = "model" ),
572572 },
573573 )
574574 spec = Dfns (components = {"gwf-dis" : pkg })
@@ -588,10 +588,10 @@ def test_dfnspec_inherited_dims_includes_dis_dims():
588588 parent = "gwf-nam" ,
589589 blocks = {"dimensions" : dis_block },
590590 dims = {
591- "nlay" : DimDef (field = "nlay" , scope = "model" ),
592- "nrow" : DimDef (field = "nrow" , scope = "model" ),
593- "ncol" : DimDef (field = "ncol" , scope = "model" ),
594- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
591+ "nlay" : Dim (field = "nlay" , scope = "model" ),
592+ "nrow" : Dim (field = "nrow" , scope = "model" ),
593+ "ncol" : Dim (field = "ncol" , scope = "model" ),
594+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
595595 },
596596 )
597597 chd = _pkg ("gwf-chd" , parent = "gwf-nam" , blocks = None )
@@ -612,8 +612,8 @@ def test_dfnspec_inherited_dims_disv():
612612 parent = "gwf-nam" ,
613613 blocks = {"dimensions" : disv_block },
614614 dims = {
615- "nlay" : DimDef (field = "nlay" , scope = "model" ),
616- "ncpl" : DimDef (field = "ncpl" , scope = "model" ),
615+ "nlay" : Dim (field = "nlay" , scope = "model" ),
616+ "ncpl" : Dim (field = "ncpl" , scope = "model" ),
617617 },
618618 )
619619 chd = _pkg ("gwf-chd" , parent = "gwf-nam" , blocks = None )
@@ -632,8 +632,8 @@ def test_dfnspec_inherited_dims_disu():
632632 parent = "gwf-nam" ,
633633 blocks = {"dimensions" : disu_block },
634634 dims = {
635- "nodes" : DimDef (field = "nodes" , scope = "model" ),
636- "nja" : DimDef (field = "nja" , scope = "model" ),
635+ "nodes" : Dim (field = "nodes" , scope = "model" ),
636+ "nja" : Dim (field = "nja" , scope = "model" ),
637637 },
638638 )
639639 chd = _pkg ("gwf-chd" , parent = "gwf-nam" , blocks = None )
@@ -653,16 +653,16 @@ def test_dfnspec_inherited_dims_excludes_own():
653653 parent = "gwf-nam" ,
654654 blocks = {"dimensions" : dis_block },
655655 dims = {
656- "nlay" : DimDef (field = "nlay" , scope = "model" ),
657- "nrow" : DimDef (field = "nrow" , scope = "model" ),
658- "ncol" : DimDef (field = "ncol" , scope = "model" ),
656+ "nlay" : Dim (field = "nlay" , scope = "model" ),
657+ "nrow" : Dim (field = "nrow" , scope = "model" ),
658+ "ncol" : Dim (field = "ncol" , scope = "model" ),
659659 },
660660 )
661661 chd = Package (
662662 name = "gwf-chd" ,
663663 parent = "gwf-nam" ,
664664 blocks = {"dimensions" : _dim_block ("secret_dim" )},
665- dims = {"secret_dim" : DimDef (field = "secret_dim" , scope = "model" )},
665+ dims = {"secret_dim" : Dim (field = "secret_dim" , scope = "model" )},
666666 )
667667 gwf = Model (name = "gwf-nam" , blocks = None )
668668 spec = Dfns (components = {"gwf-nam" : gwf , "gwf-dis" : dis , "gwf-chd" : chd })
@@ -754,10 +754,10 @@ def _dis_spec() -> Dfns:
754754 parent = "gwf-nam" ,
755755 blocks = {"dimensions" : dis_block },
756756 dims = {
757- "nlay" : DimDef (field = "nlay" , scope = "model" ),
758- "nrow" : DimDef (field = "nrow" , scope = "model" ),
759- "ncol" : DimDef (field = "ncol" , scope = "model" ),
760- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
757+ "nlay" : Dim (field = "nlay" , scope = "model" ),
758+ "nrow" : Dim (field = "nrow" , scope = "model" ),
759+ "ncol" : Dim (field = "ncol" , scope = "model" ),
760+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
761761 },
762762 )
763763 return Dfns (components = {"gwf-nam" : gwf , "gwf-dis" : dis })
@@ -798,10 +798,10 @@ def test_dims_includes_derived():
798798 parent = "gwf-nam" ,
799799 blocks = {"dimensions" : dis_block },
800800 dims = {
801- "nlay" : DimDef (field = "nlay" , scope = "model" ),
802- "nrow" : DimDef (field = "nrow" , scope = "model" ),
803- "ncol" : DimDef (field = "ncol" , scope = "model" ),
804- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
801+ "nlay" : Dim (field = "nlay" , scope = "model" ),
802+ "nrow" : Dim (field = "nrow" , scope = "model" ),
803+ "ncol" : Dim (field = "ncol" , scope = "model" ),
804+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
805805 },
806806 )
807807 spec = Dfns (components = {"gwf-nam" : gwf , "gwf-dis" : dis })
@@ -826,9 +826,9 @@ def test_dims_includes_model_scoped():
826826
827827def _make_ctx (dim_names : set [str ], derived : dict | None = None ):
828828 """Return (array, component, known_dims) for shape element tests."""
829- dims : dict [str , DimDef ] = {n : DimDef (field = n , scope = "component" ) for n in dim_names }
829+ dims : dict [str , Dim ] = {n : Dim (field = n , scope = "component" ) for n in dim_names }
830830 if derived :
831- dims .update ({n : DimDef (expr = e , scope = "component" ) for n , e in derived .items ()})
831+ dims .update ({n : Dim (expr = e , scope = "component" ) for n , e in derived .items ()})
832832 blocks = {"dimensions" : _dim_block (* dim_names )} if dim_names else None
833833 pkg = Package (name = "test" , blocks = blocks , dims = dims or None )
834834 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -849,7 +849,7 @@ def test_shape_element_valid_inherited_dim():
849849 name = "gwf-dis" ,
850850 parent = "gwf-nam" ,
851851 blocks = None ,
852- dims = {"nodes" : DimDef (expr = "42" , scope = "model" )},
852+ dims = {"nodes" : Dim (expr = "42" , scope = "model" )},
853853 )
854854 test_pkg = Package (name = "gwf-test" , parent = "gwf-nam" , blocks = None )
855855 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -1010,9 +1010,9 @@ def test_dfnspec_valid_top_level_array_shape():
10101010 parent = "gwf-nam" ,
10111011 blocks = {"dimensions" : dis_block , "griddata" : grid_block },
10121012 dims = {
1013- "nlay" : DimDef (field = "nlay" , scope = "model" ),
1014- "nrow" : DimDef (field = "nrow" , scope = "model" ),
1015- "ncol" : DimDef (field = "ncol" , scope = "model" ),
1013+ "nlay" : Dim (field = "nlay" , scope = "model" ),
1014+ "nrow" : Dim (field = "nrow" , scope = "model" ),
1015+ "ncol" : Dim (field = "ncol" , scope = "model" ),
10161016 },
10171017 )
10181018 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -1030,9 +1030,9 @@ def test_dfnspec_valid_array_in_record():
10301030 parent = "gwf-nam" ,
10311031 blocks = {"dimensions" : dis_block , "options" : opt_block },
10321032 dims = {
1033- "nlay" : DimDef (field = "nlay" , scope = "model" ),
1034- "nrow" : DimDef (field = "nrow" , scope = "model" ),
1035- "ncol" : DimDef (field = "ncol" , scope = "model" ),
1033+ "nlay" : Dim (field = "nlay" , scope = "model" ),
1034+ "nrow" : Dim (field = "nrow" , scope = "model" ),
1035+ "ncol" : Dim (field = "ncol" , scope = "model" ),
10361036 },
10371037 )
10381038 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -1070,9 +1070,9 @@ def test_dfnspec_invalid_array_shape_raises():
10701070 parent = "gwf-nam" ,
10711071 blocks = {"dimensions" : dis_block , "griddata" : grid_block },
10721072 dims = {
1073- "nlay" : DimDef (field = "nlay" , scope = "model" ),
1074- "nrow" : DimDef (field = "nrow" , scope = "model" ),
1075- "ncol" : DimDef (field = "ncol" , scope = "model" ),
1073+ "nlay" : Dim (field = "nlay" , scope = "model" ),
1074+ "nrow" : Dim (field = "nrow" , scope = "model" ),
1075+ "ncol" : Dim (field = "ncol" , scope = "model" ),
10761076 },
10771077 )
10781078 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -1089,10 +1089,10 @@ def test_dfnspec_array_shape_resolves_via_derived_dim():
10891089 parent = "gwf-nam" ,
10901090 blocks = {"dimensions" : dis_block , "griddata" : grid_block },
10911091 dims = {
1092- "nlay" : DimDef (field = "nlay" , scope = "model" ),
1093- "nrow" : DimDef (field = "nrow" , scope = "model" ),
1094- "ncol" : DimDef (field = "ncol" , scope = "model" ),
1095- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
1092+ "nlay" : Dim (field = "nlay" , scope = "model" ),
1093+ "nrow" : Dim (field = "nrow" , scope = "model" ),
1094+ "ncol" : Dim (field = "ncol" , scope = "model" ),
1095+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
10961096 },
10971097 )
10981098 gwf = Model (name = "gwf-nam" , blocks = None )
@@ -1107,10 +1107,10 @@ def test_dfnspec_array_shape_resolves_via_sibling_dis():
11071107 parent = "gwf-nam" ,
11081108 blocks = {"dimensions" : dis_block },
11091109 dims = {
1110- "nlay" : DimDef (field = "nlay" , scope = "model" ),
1111- "nrow" : DimDef (field = "nrow" , scope = "model" ),
1112- "ncol" : DimDef (field = "ncol" , scope = "model" ),
1113- "nodes" : DimDef (expr = "nlay * nrow * ncol" , scope = "model" ),
1110+ "nlay" : Dim (field = "nlay" , scope = "model" ),
1111+ "nrow" : Dim (field = "nrow" , scope = "model" ),
1112+ "ncol" : Dim (field = "ncol" , scope = "model" ),
1113+ "nodes" : Dim (expr = "nlay * nrow * ncol" , scope = "model" ),
11141114 },
11151115 )
11161116 chd_arr = Array (name = "head" , dtype = "double" , shape = ["nlay" , "nodes" ])
0 commit comments