@@ -458,14 +458,19 @@ def modelgrid(self):
458458 if idomain is None :
459459 force_resync = True
460460 idomain = self ._resolve_idomain (idomain , botm )
461+ crs = self ._modelgrid .crs
462+ if crs is None and hasattr (dis , "crs" ):
463+ crs = dis .crs .get_data ()
464+ if crs is not None :
465+ crs = crs [0 ][1 ]
461466 self ._modelgrid = StructuredGrid (
462467 delc = dis .delc .array ,
463468 delr = dis .delr .array ,
464469 top = dis .top .array ,
465470 botm = botm ,
466471 idomain = idomain ,
467472 lenuni = dis .length_units .array ,
468- crs = self . _modelgrid . crs ,
473+ crs = crs ,
469474 xoff = self ._modelgrid .xoffset ,
470475 yoff = self ._modelgrid .yoffset ,
471476 angrot = self ._modelgrid .angrot ,
@@ -496,14 +501,19 @@ def modelgrid(self):
496501 if idomain is None :
497502 force_resync = True
498503 idomain = self ._resolve_idomain (idomain , botm )
504+ crs = self ._modelgrid .crs
505+ if crs is None and hasattr (dis , "crs" ):
506+ crs = dis .crs .get_data ()
507+ if crs is not None :
508+ crs = crs [0 ][1 ]
499509 self ._modelgrid = VertexGrid (
500510 vertices = dis .vertices .array ,
501511 cell2d = dis .cell2d .array ,
502512 top = dis .top .array ,
503513 botm = botm ,
504514 idomain = idomain ,
505515 lenuni = dis .length_units .array ,
506- crs = self . _modelgrid . crs ,
516+ crs = crs ,
507517 xoff = self ._modelgrid .xoffset ,
508518 yoff = self ._modelgrid .yoffset ,
509519 angrot = self ._modelgrid .angrot ,
@@ -525,6 +535,11 @@ def modelgrid(self):
525535 idomain = dis .idomain .array
526536 if idomain is None :
527537 idomain = np .ones (dis .nodes .array , dtype = int )
538+ crs = self ._modelgrid .crs
539+ if crs is None and hasattr (dis , "crs" ):
540+ crs = dis .crs .get_data ()
541+ if crs is not None :
542+ crs = crs [0 ][1 ]
528543 if cell2d is None :
529544 if (
530545 self .simulation .simulation_data .verbosity_level .value
@@ -557,7 +572,7 @@ def modelgrid(self):
557572 idomain = idomain ,
558573 lenuni = dis .length_units .array ,
559574 ncpl = ncpl ,
560- crs = self . _modelgrid . crs ,
575+ crs = crs ,
561576 xoff = self ._modelgrid .xoffset ,
562577 yoff = self ._modelgrid .yoffset ,
563578 angrot = self ._modelgrid .angrot ,
@@ -590,14 +605,19 @@ def modelgrid(self):
590605 if idomain is None :
591606 force_resync = True
592607 idomain = self ._resolve_idomain (idomain , botm )
608+ crs = self ._modelgrid .crs
609+ if crs is None and hasattr (dis , "crs" ):
610+ crs = dis .crs .get_data ()
611+ if crs is not None :
612+ crs = crs [0 ][1 ]
593613 self ._modelgrid = VertexGrid (
594614 vertices = dis .vertices .array ,
595615 cell1d = dis .cell1d .array ,
596616 top = None ,
597617 botm = botm ,
598618 idomain = idomain ,
599619 lenuni = dis .length_units .array ,
600- crs = self . _modelgrid . crs ,
620+ crs = crs ,
601621 xoff = self ._modelgrid .xoffset ,
602622 yoff = self ._modelgrid .yoffset ,
603623 angrot = self ._modelgrid .angrot ,
@@ -628,14 +648,19 @@ def modelgrid(self):
628648 if idomain is None :
629649 force_resync = True
630650 idomain = self ._resolve_idomain (idomain , botm )
651+ crs = self ._modelgrid .crs
652+ if crs is None and hasattr (dis , "crs" ):
653+ crs = dis .crs .get_data ()
654+ if crs is not None :
655+ crs = crs [0 ][1 ]
631656 self ._modelgrid = StructuredGrid (
632657 delc = dis .delc .array ,
633658 delr = dis .delr .array ,
634659 top = None ,
635660 botm = botm ,
636661 idomain = idomain ,
637662 lenuni = dis .length_units .array ,
638- crs = self . _modelgrid . crs ,
663+ crs = crs ,
639664 xoff = self ._modelgrid .xoffset ,
640665 yoff = self ._modelgrid .yoffset ,
641666 angrot = self ._modelgrid .angrot ,
@@ -666,14 +691,19 @@ def modelgrid(self):
666691 if idomain is None :
667692 force_resync = True
668693 idomain = self ._resolve_idomain (idomain , botm )
694+ crs = self ._modelgrid .crs
695+ if crs is None and hasattr (dis , "crs" ):
696+ crs = dis .crs .get_data ()
697+ if crs is not None :
698+ crs = crs [0 ][1 ]
669699 self ._modelgrid = VertexGrid (
670700 vertices = dis .vertices .array ,
671701 cell2d = dis .cell2d .array ,
672702 top = None ,
673703 botm = botm ,
674704 idomain = idomain ,
675705 lenuni = dis .length_units .array ,
676- crs = self . _modelgrid . crs ,
706+ crs = crs ,
677707 xoff = self ._modelgrid .xoffset ,
678708 yoff = self ._modelgrid .yoffset ,
679709 angrot = self ._modelgrid .angrot ,
@@ -1362,13 +1392,6 @@ def write(
13621392 if write_netcdf :
13631393 # set data storage to write ascii for netcdf
13641394 pp ._set_netcdf_storage ()
1365- if (
1366- pp .package_type .startswith ("dis" )
1367- and hasattr (pp , "crs" )
1368- ):
1369- crs = pp .crs .get_data ()
1370- if crs is not None and self .modelgrid .crs is None :
1371- self .modelgrid .crs = crs [0 ][1 ]
13721395 if (
13731396 self .simulation_data .verbosity_level .value
13741397 >= VerbosityLevel .normal .value
@@ -2379,7 +2402,7 @@ def _write_netcdf(self, mesh=None):
23792402 nc_meta ["attrs" ]["history" ] = f"first created { timestamp } "
23802403 if mesh is None :
23812404 nc_meta ["attrs" ]["Conventions" ] = "CF-1.11"
2382- elif mesh .upper () is "LAYERED" :
2405+ elif mesh .upper () == "LAYERED" :
23832406 nc_meta ["attrs" ]["Conventions" ] = "CF-1.11 UGRID-1.0"
23842407
23852408 ds = self .update_dataset (
0 commit comments