@@ -229,21 +229,21 @@ def from_copernicusmarine(ds: xr.Dataset):
229229 )
230230 )
231231
232- U = Field ("U" , ds ["U" ], grid )
233- V = Field ("V" , ds ["V" ], grid )
232+ fields = {}
233+ if "U" in ds .data_vars and "V" in ds .data_vars :
234+ fields ["U" ] = Field ("U" , ds ["U" ], grid )
235+ fields ["V" ] = Field ("V" , ds ["V" ], grid )
236+ fields ["U" ].units = GeographicPolar ()
237+ fields ["V" ].units = Geographic ()
234238
235- U .units = GeographicPolar ()
236- V .units = Geographic ()
237-
238- fields = {"U" : U , "V" : V }
239- for varname in set (ds .data_vars ) - set (fields .keys ()):
240- fields [varname ] = Field (varname , ds [varname ], grid )
241-
242- if "U" in fields and "V" in fields :
243239 if "W" in fields :
244240 fields ["UVW" ] = VectorField ("UVW" , fields ["U" ], fields ["V" ], fields ["W" ])
245241 else :
246242 fields ["UV" ] = VectorField ("UV" , fields ["U" ], fields ["V" ])
243+
244+ for varname in set (ds .data_vars ) - set (fields .keys ()):
245+ fields [varname ] = Field (varname , ds [varname ], grid )
246+
247247 return FieldSet (list (fields .values ()))
248248
249249
@@ -344,12 +344,6 @@ def _discover_copernicusmarine_U_and_V(ds: xr.Dataset) -> xr.Dataset:
344344
345345 ds = _ds_rename_using_standard_names (ds , {cf_standard_name_U : "U" , cf_standard_name_V : "V" })
346346 break
347- else :
348- raise ValueError (
349- f"Could not find variables 'U' and 'V' in dataset, nor any of the fallback CF standard names "
350- f"{ cf_UV_standard_name_fallbacks } . Please rename the appropriate variables to 'U' and 'V' in "
351- "your dataset for the Parcels simulation."
352- )
353347 return ds
354348
355349
0 commit comments