44import time
55import warnings
66from pathlib import Path
7+ from typing import Optional
78
89import numpy as np
910import xarray as xr
@@ -123,7 +124,7 @@ def create_array(
123124 param : str ,
124125 data : np .typing .ArrayLike ,
125126 shape : list ,
126- longname : str | None = None ,
127+ longname : Optional [ str ] ,
127128 ):
128129 """
129130 Create a new array. Override this function in a derived class.
@@ -152,7 +153,7 @@ def set_array(
152153 package : str ,
153154 param : str ,
154155 data : np .typing .ArrayLike ,
155- layer : int | None = None ,
156+ layer : Optional [ int ] ,
156157 ):
157158 """
158159 Set data in an existing array. Override this function in a derived class.
@@ -187,7 +188,7 @@ def write(self, path: str, **kwargs) -> None:
187188
188189 Args:
189190 path (str): A directory in which to write the file.
190- kwargs (dict): A dictionay of supported encodings to
191+ kwargs (dict): A dictionary of supported encodings to
191192 apply to managed grid associated arrays.
192193 """
193194 self ._set_projection ()
@@ -426,7 +427,7 @@ def _create_array(
426427 param : str ,
427428 data : np .typing .ArrayLike ,
428429 nc_shape : list ,
429- longname : str ,
430+ longname : Optional [ str ] ,
430431 ):
431432 layer = - 1
432433 if data .dtype == np .float64 :
@@ -443,7 +444,8 @@ def _create_array(
443444 self ._dataset = self ._dataset .assign (var_d )
444445 # self._dataset = self._dataset.fillna(fillna)
445446 self ._dataset [varname ].attrs ["_FillValue" ] = fillna
446- self ._dataset [varname ].attrs ["long_name" ] = longname
447+ if longname :
448+ self ._dataset [varname ].attrs ["long_name" ] = longname
447449 if path not in self ._tags :
448450 self ._tags [path ] = {}
449451 if layer in self ._tags [path ]:
@@ -456,7 +458,7 @@ def _create_layered_array(
456458 param : str ,
457459 data : np .typing .ArrayLike ,
458460 nc_shape : list ,
459- longname : str ,
461+ longname : Optional [ str ] ,
460462 ):
461463 if data .dtype == np .float64 :
462464 fillna = FILLNA_DBL
@@ -475,11 +477,10 @@ def _create_layered_array(
475477 self ._dataset = self ._dataset .assign (var_d )
476478 # self._dataset = self._dataset.fillna(fillna)
477479 self ._dataset [layer_vname ].attrs ["_FillValue" ] = fillna
478- if longname != "" :
479- ln = f"{ longname } layer={ mf6_layer } "
480- else :
481- ln = longname
482- self ._dataset [layer_vname ].attrs ["long_name" ] = ln
480+ if longname :
481+ self ._dataset [layer_vname ].attrs ["long_name" ] = (
482+ f"{ longname } layer={ mf6_layer } "
483+ )
483484 if path not in self ._tags :
484485 self ._tags [path ] = {}
485486 if layer in self ._tags [path ]:
@@ -499,11 +500,9 @@ def create_array(
499500 param : str ,
500501 data : np .typing .ArrayLike ,
501502 shape : list ,
502- longname : str | None = None ,
503+ longname : Optional [ str ] ,
503504 ):
504505 data = np .array (data )
505- if not longname :
506- longname = ""
507506 nc_shape = None
508507 if len (data .shape ) == 3 :
509508 nc_shape = ["z" , "y" , "x" ]
@@ -522,7 +521,7 @@ def set_array(
522521 package : str ,
523522 param : str ,
524523 data : np .typing .ArrayLike ,
525- layer : int | None = None ,
524+ layer : Optional [ int ] ,
526525 ):
527526 data = np .array (data )
528527 path = self .path (package , param )
@@ -667,11 +666,9 @@ def create_array(
667666 param : str ,
668667 data : np .typing .ArrayLike ,
669668 shape : list ,
670- longname : str | None = None ,
669+ longname : Optional [ str ] ,
671670 ):
672671 data = np .array (data )
673- if not longname :
674- longname = ""
675672 nc_shape = None
676673 if len (data .shape ) == 1 :
677674 if shape [0 ].lower () == "nrow" :
@@ -691,7 +688,7 @@ def set_array(
691688 package : str ,
692689 param : str ,
693690 data : np .typing .ArrayLike ,
694- layer : int | None = None ,
691+ layer : Optional [ int ] ,
695692 ):
696693 data = np .array (data )
697694 path = self .path (package , param )
@@ -822,11 +819,9 @@ def create_array(
822819 param : str ,
823820 data : np .typing .ArrayLike ,
824821 shape : list ,
825- longname : str | None = None ,
822+ longname : Optional [ str ] ,
826823 ):
827824 data = np .array (data )
828- if not longname :
829- longname = ""
830825 nc_shape = ["nmesh_face" ]
831826
832827 if len (data .shape ) == 2 :
@@ -839,7 +834,7 @@ def set_array(
839834 package : str ,
840835 param : str ,
841836 data : np .typing .ArrayLike ,
842- layer : int | None = None ,
837+ layer : Optional [ int ] ,
843838 ):
844839 data = np .array (data )
845840 path = self .path (package , param )
0 commit comments