@@ -340,9 +340,10 @@ def map(
340340 raise ValueError (f"Unsupported schema version: { schema_version } . Expected 1 or 2." )
341341
342342
343- def load (f , name : str , format : str = "dfn" , ** kwargs ) -> Dfn :
343+ def load (f , format : str = "dfn" , ** kwargs ) -> Dfn :
344344 """Load a MODFLOW 6 definition file."""
345345 if format == "dfn" :
346+ name = kwargs .pop ("name" )
346347 fields , meta = parse_dfn (f , ** kwargs )
347348 blocks = {
348349 block_name : {field ["name" ]: FieldV1 .from_dict (field ) for field in block }
@@ -359,7 +360,11 @@ def load(f, name: str, format: str = "dfn", **kwargs) -> Dfn:
359360 blocks = blocks ,
360361 )
361362 elif format == "toml" :
362- return Dfn (name = name , ** tomli .load (f ))
363+ if (name := kwargs .pop ("name" , None )) is not None :
364+ if name != (data := tomli .load (f )).pop ("name" , name ):
365+ raise ValueError (f"DFN name mismatch: { name } != { data .get ('name' )} " )
366+ return Dfn (name = name , ** data )
367+ return Dfn (** data )
363368 raise ValueError (f"Unsupported format: { format } . Expected 'dfn' or 'toml'." )
364369
365370
@@ -383,7 +388,7 @@ def load_all(path: str | PathLike) -> Dfns:
383388 dfns [dfn_name ] = load (f , name = dfn_name , common = common , format = "dfn" )
384389 if toml_paths :
385390 for toml_name , toml_path in toml_paths .items ():
386- with toml_path .open () as f :
391+ with toml_path .open ("rb" ) as f :
387392 dfns [toml_name ] = load (f , name = toml_name , format = "toml" )
388393 return dfns
389394
0 commit comments