Skip to content

Commit 9f73a2c

Browse files
committed
Fix mypy issues
1 parent d42630a commit 9f73a2c

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/parcels/_core/model.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from __future__ import annotations
22

33
from abc import ABC, abstractmethod
4-
from collections.abc import Mapping, Sequence
4+
from collections.abc import Hashable, Sequence
55
from typing import Any, Self
66

77
import cf_xarray # noqa: F401
@@ -34,7 +34,7 @@
3434
)
3535
from parcels.interpolators._base import ScalarInterpolator, VectorInterpolator
3636

37-
TVectorFieldMapping = Mapping[str, tuple[str, str] | tuple[str, str, str]]
37+
TVectorFieldMapping = dict[str, tuple[str, str] | tuple[str, str, str]]
3838

3939

4040
class ModelData(ABC):
@@ -126,7 +126,7 @@ def construct_fields(self) -> list[Field | VectorField]:
126126
)
127127

128128
component_fields = [single_fields[name] for name in components]
129-
vector_fields[vfield_name] = VectorField(vfield_name, *component_fields, interp_method=interp_method)
129+
vector_fields[vfield_name] = VectorField(vfield_name, *component_fields, interp_method=interp_method) # type:ignore[misc,arg-type]
130130

131131
fields: dict[str, Field | VectorField] = {**single_fields, **vector_fields}
132132
return list(fields.values())
@@ -178,7 +178,7 @@ def resolve_vector_fields(
178178
if vector_fields is None:
179179
return {}
180180
if vector_fields is NOTSET: # i.e., the default vectorfield discovery behaviour
181-
return _default_vector_field_components(ds.data_vars)
181+
return _default_vector_field_components(list(ds.data_vars))
182182
return vector_fields
183183

184184

@@ -247,7 +247,7 @@ def construct_fields(self) -> list[Field | VectorField]:
247247
interp_method = Ux_Velocity()
248248

249249
component_fields = [single_fields[name] for name in components]
250-
vector_fields[vfield_name] = VectorField(vfield_name, *component_fields, interp_method=interp_method)
250+
vector_fields[vfield_name] = VectorField(vfield_name, *component_fields, interp_method=interp_method) # type:ignore[misc, arg-type]
251251

252252
fields: dict[str, Field | VectorField] = {**single_fields, **vector_fields}
253253
return list(fields.values())
@@ -304,9 +304,9 @@ def _get_mesh_type_from_sgrid_dataset(ds_sgrid: xr.Dataset) -> Mesh:
304304
return "spherical" if _is_coordinate_in_degrees(ds_sgrid[fpoint_x]) else "flat"
305305

306306

307-
def _default_vector_field_components(data_vars: Sequence[str]) -> TVectorFieldMapping:
307+
def _default_vector_field_components(data_vars: Sequence[Hashable]) -> TVectorFieldMapping:
308308
vars = set(data_vars)
309-
ret = {}
309+
ret: TVectorFieldMapping = {}
310310

311311
if {"U", "V"}.issubset(vars):
312312
ret["UV"] = ("U", "V")

0 commit comments

Comments
 (0)