Skip to content

Commit 5461f2c

Browse files
shoyerWeatherbench2 authors
authored and
Weatherbench2 authors
committed
Misc. fixes for newer versions of Xarray
These fixes fall into three categories: 1. Xarray's groupby no longer supports squeezing out size 1 dimensions. Instead, I've set `squeeze=False` and added explicit calls to `.squeeze()`. 2. Slight differences in dtypes/rounding (I believe these are indirectly due to changes required for NumPy 2.0 compatibility). 3. Various cases where type checking is stricter (I've added `type: ignore` to these lines) PiperOrigin-RevId: 671238424
1 parent bb1713d commit 5461f2c

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

weatherbench2/derived_variables.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,8 @@ def interpolate_spectral_frequencies(
664664

665665
def interp_at_one_lat(da: xr.DataArray) -> xr.DataArray:
666666
da = (
667-
da.swap_dims({wavenumber_dim: 'frequency'}) # pytype: disable=wrong-arg-types
667+
da.squeeze('latitude')
668+
.swap_dims({wavenumber_dim: 'frequency'}) # pytype: disable=wrong-arg-types
668669
.drop_vars(wavenumber_dim)
669670
.interp(frequency=frequencies, method=method, **interp_kwargs)
670671
)
@@ -673,7 +674,7 @@ def interp_at_one_lat(da: xr.DataArray) -> xr.DataArray:
673674
da['wavelength'] = da['wavelength'].assign_attrs(units='m')
674675
return da
675676

676-
return spectrum.groupby('latitude').apply(interp_at_one_lat)
677+
return spectrum.groupby('latitude', squeeze=False).apply(interp_at_one_lat)
677678

678679

679680
@dataclasses.dataclass

0 commit comments

Comments
 (0)