Skip to content

Commit 38fc2e8

Browse files
Add _assert_no_nan_in_field_data function
1 parent 4b622d3 commit 38fc2e8

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

src/parcels/_core/model.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def __init__(self, data: xr.Dataset, mesh: Mesh, vector_field_components: ptypin
149149

150150
def assert_valid_field_data(self, field_data: xr.DataArray) -> None:
151151
# assert_all_field_dims_have_axis(field_data, self.grid.xgcm_grid) #! TODO v4: These checks should be revisited
152+
_assert_no_nan_in_field_data(field_data)
152153
_assert_has_time_coordinate(field_data)
153154

154155
@property
@@ -507,3 +508,11 @@ def _assert_has_time_coordinate(da: xr.DataArray) -> None:
507508
if "time" not in da.coords:
508509
raise ValueError("Field data is missing a 'time' coordinate.")
509510
return
511+
512+
513+
def _assert_no_nan_in_field_data(field_data: xr.DataArray) -> None:
514+
arr = field_data.isel(time=0) if "time" in field_data.dims else field_data
515+
if xr.ufuncs.isnan(arr).any():
516+
raise ValueError(
517+
f"Field data {field_data.name!r} contains NaN values. Please fill or remove NaN values before using this field in a Parcels simulation."
518+
)

0 commit comments

Comments
 (0)