4
4
import time
5
5
import warnings
6
6
from pathlib import Path
7
+ from typing import Optional
7
8
8
9
import numpy as np
9
10
import xarray as xr
@@ -123,7 +124,7 @@ def create_array(
123
124
param : str ,
124
125
data : np .typing .ArrayLike ,
125
126
shape : list ,
126
- longname : str | None = None ,
127
+ longname : Optional [ str ] ,
127
128
):
128
129
"""
129
130
Create a new array. Override this function in a derived class.
@@ -152,7 +153,7 @@ def set_array(
152
153
package : str ,
153
154
param : str ,
154
155
data : np .typing .ArrayLike ,
155
- layer : int | None = None ,
156
+ layer : Optional [ int ] ,
156
157
):
157
158
"""
158
159
Set data in an existing array. Override this function in a derived class.
@@ -187,7 +188,7 @@ def write(self, path: str, **kwargs) -> None:
187
188
188
189
Args:
189
190
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
191
192
apply to managed grid associated arrays.
192
193
"""
193
194
self ._set_projection ()
@@ -426,7 +427,7 @@ def _create_array(
426
427
param : str ,
427
428
data : np .typing .ArrayLike ,
428
429
nc_shape : list ,
429
- longname : str ,
430
+ longname : Optional [ str ] ,
430
431
):
431
432
layer = - 1
432
433
if data .dtype == np .float64 :
@@ -443,7 +444,8 @@ def _create_array(
443
444
self ._dataset = self ._dataset .assign (var_d )
444
445
# self._dataset = self._dataset.fillna(fillna)
445
446
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
447
449
if path not in self ._tags :
448
450
self ._tags [path ] = {}
449
451
if layer in self ._tags [path ]:
@@ -456,7 +458,7 @@ def _create_layered_array(
456
458
param : str ,
457
459
data : np .typing .ArrayLike ,
458
460
nc_shape : list ,
459
- longname : str ,
461
+ longname : Optional [ str ] ,
460
462
):
461
463
if data .dtype == np .float64 :
462
464
fillna = FILLNA_DBL
@@ -475,11 +477,10 @@ def _create_layered_array(
475
477
self ._dataset = self ._dataset .assign (var_d )
476
478
# self._dataset = self._dataset.fillna(fillna)
477
479
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
+ )
483
484
if path not in self ._tags :
484
485
self ._tags [path ] = {}
485
486
if layer in self ._tags [path ]:
@@ -499,11 +500,9 @@ def create_array(
499
500
param : str ,
500
501
data : np .typing .ArrayLike ,
501
502
shape : list ,
502
- longname : str | None = None ,
503
+ longname : Optional [ str ] ,
503
504
):
504
505
data = np .array (data )
505
- if not longname :
506
- longname = ""
507
506
nc_shape = None
508
507
if len (data .shape ) == 3 :
509
508
nc_shape = ["z" , "y" , "x" ]
@@ -522,7 +521,7 @@ def set_array(
522
521
package : str ,
523
522
param : str ,
524
523
data : np .typing .ArrayLike ,
525
- layer : int | None = None ,
524
+ layer : Optional [ int ] ,
526
525
):
527
526
data = np .array (data )
528
527
path = self .path (package , param )
@@ -667,11 +666,9 @@ def create_array(
667
666
param : str ,
668
667
data : np .typing .ArrayLike ,
669
668
shape : list ,
670
- longname : str | None = None ,
669
+ longname : Optional [ str ] ,
671
670
):
672
671
data = np .array (data )
673
- if not longname :
674
- longname = ""
675
672
nc_shape = None
676
673
if len (data .shape ) == 1 :
677
674
if shape [0 ].lower () == "nrow" :
@@ -691,7 +688,7 @@ def set_array(
691
688
package : str ,
692
689
param : str ,
693
690
data : np .typing .ArrayLike ,
694
- layer : int | None = None ,
691
+ layer : Optional [ int ] ,
695
692
):
696
693
data = np .array (data )
697
694
path = self .path (package , param )
@@ -822,11 +819,9 @@ def create_array(
822
819
param : str ,
823
820
data : np .typing .ArrayLike ,
824
821
shape : list ,
825
- longname : str | None = None ,
822
+ longname : Optional [ str ] ,
826
823
):
827
824
data = np .array (data )
828
- if not longname :
829
- longname = ""
830
825
nc_shape = ["nmesh_face" ]
831
826
832
827
if len (data .shape ) == 2 :
@@ -839,7 +834,7 @@ def set_array(
839
834
package : str ,
840
835
param : str ,
841
836
data : np .typing .ArrayLike ,
842
- layer : int | None = None ,
837
+ layer : Optional [ int ] ,
843
838
):
844
839
data = np .array (data )
845
840
path = self .path (package , param )
0 commit comments