Skip to content

Nightly build is failing #3933

@github-actions

Description

@github-actions

The Nightly workflow is failing.
The tests failed.
Log:

Details
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.0, pluggy-1.6.0
Matplotlib: 3.10.8
Freetype: 2.6.1
Dep Versions: Cartopy: 0.24.0, Dask: 2025.12.0, Matplotlib: 3.10.8, Numpy: 2.4.0,
	Pandas: 3.0.0rc1, Pint: 0.25.2.dev3+g9325ea272, Pooch: v1.8.2, Pyproj: 3.7.2,
	Scipy: 1.17.0rc2, Shapely: 2.1.2, Traitlets: 5.14.3,
	Xarray: 2025.12.1.dev30+g29ed0e650
rootdir: /home/runner/work/MetPy/MetPy
configfile: pyproject.toml
plugins: mpl-0.18.0
collected 1632 items

tests/calc/test_basic.py ............................................... [ 2%]
........................................................................ [ 7%]
....................... [ 8%]
tests/calc/test_calc_tools.py .......................................... [ 11%]
........................................................................ [ 15%]
............................................... [ 18%]
tests/calc/test_cross_sections.py ...........FF [ 19%]
tests/calc/test_indices.py ............................ [ 21%]
tests/calc/test_kinematics.py .......................................... [ 23%]
........................................ [ 26%]
tests/calc/test_thermo.py .............................................. [ 28%]
........................................................................ [ 33%]
........................................................................ [ 37%]
..................................... [ 40%]
tests/calc/test_turbulence.py .............................. [ 41%]
tests/interpolate/test_geometry.py ............. [ 42%]
tests/interpolate/test_grid.py ...................................... [ 44%]
tests/interpolate/test_interpolate_tools.py ....... [ 45%]
tests/interpolate/test_one_dimension.py ................... [ 46%]
tests/interpolate/test_points.py ........................ [ 48%]
tests/interpolate/test_slices.py ........ [ 48%]
tests/io/test_gempak.py .................................. [ 50%]
tests/io/test_gini.py .................. [ 51%]
tests/io/test_metar.py ........................................ [ 54%]
tests/io/test_nexrad.py ................................................ [ 57%]
........................................................................ [ 61%]
....................................................... [ 64%]
tests/io/test_station_data.py ....... [ 65%]
tests/io/test_text.py .... [ 65%]
tests/io/test_tools.py .. [ 65%]
tests/plots/test_cartopy_utils.py ....... [ 66%]
tests/plots/test_ctables.py .......... [ 66%]
tests/plots/test_declarative.py .............................F.......... [ 69%]
.......................................... [ 71%]
tests/plots/test_mapping.py ........................ [ 73%]
tests/plots/test_patheffects.py ........ [ 73%]
tests/plots/test_plot_areas.py ..... [ 74%]
tests/plots/test_plot_text.py ... [ 74%]
tests/plots/test_skewt.py .............................................. [ 77%]
............ [ 77%]
tests/plots/test_station_plot.py .......................... [ 79%]
tests/plots/test_util.py .............. [ 80%]
tests/plots/test_wx_symbols.py .... [ 80%]
tests/remote/test_aws.py ........ [ 80%]
tests/test_cbook.py ... [ 81%]
tests/test_deprecation.py . [ 81%]
tests/test_packaging.py . [ 81%]
tests/test_testing.py ........ [ 81%]
tests/test_xarray.py .............................FF.................... [ 84%]
........................................................................ [ 89%]
........................................................................ [ 93%]
.............................FF................................ [ 97%]
tests/units/test_units.py .....................................x.. [100%]

=================================== FAILURES ===================================
_______________________ test_absolute_momentum_given_xy ________________________

test_cross_xy = <xarray.Dataset> Size: 788B
Dimensions: (time: 1, isobaric: 5, index: 7)
Coordinates:

  • time ...4....
    v_wind (time, isobaric, index) float64 280B <Quantity([[[ 24....
    lambert_conformal <U1 4B ''

    def test_absolute_momentum_given_xy(test_cross_xy):
    """Test absolute momentum calculation."""
    momentum = absolute_momentum(test_cross_xy['u_wind'], test_cross_xy['v_wind'])
    true_momentum_values = np.array([[[169.22222693, 146.36354006, 145.75559124, 171.8710635,
    215.04876817, 265.73797007, 318.34138347],
    [156.27520858, 133.32107346, 132.62636169, 158.66828331,
    201.78218117, 252.41370282, 304.96242462],
    [143.32819023, 120.27860686, 119.49713214, 145.46550311,
    188.51559418, 239.08943557, 291.58346576],
    [130.38117188, 107.23614026, 106.36790259, 132.26272292,
    175.24900718, 225.76516831, 278.20450691],
    [117.43415353, 94.19367366, 93.23867305, 119.05994273,
    161.98242018, 212.44090106, 264.82554806]]])
    true_momentum = xr.DataArray(true_momentum_values * units('m/s'),
    coords=test_cross_xy['u_wind'].coords,
    dims=test_cross_xy['u_wind'].dims)

  assert_xarray_allclose(momentum, true_momentum)

tests/calc/test_cross_sections.py:323:


actual = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
<Quantity([[[169.22221086 146.36352646 145.75557749 171...t64 56B -1.5e+06 -1.269e+06 ... -2.677e+05 -939.1
Attributes:
grid_mapping: lambert_conformal
_metpy_axis: x
desired = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
<Quantity([[[169.22222693 146.36354006 145.75559124 171...6B -4.995e+05 9.84e+04 ... 2.428e+06 3e+06
y (index) float64 56B -1.5e+06 -1.269e+06 ... -2.677e+05 -939.1

def assert_xarray_allclose(actual, desired):
    """Check that the xarrays are almost equal, including coordinates and attributes."""
    xr.testing.assert_allclose(actual, desired)
    assert desired.metpy.coordinates_identical(actual)
  assert desired.attrs == actual.attrs
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E AssertionError

/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
___________________ test_absolute_momentum_xarray_units_attr ___________________

def test_absolute_momentum_xarray_units_attr():
    """Test absolute momentum when `u` and `v` are DataArrays with a `units` attribute."""
    data = xr.open_dataset(get_test_data('narr_example.nc', False))
    data = data.metpy.parse_cf().squeeze()

    start = (37.0, -105.0)
    end = (35.5, -65.0)
    cross = cross_section(data, start, end)

    u = cross['u_wind'][0].sel(index=slice(0, 2))
    v = cross['v_wind'][0].sel(index=slice(0, 2))

    momentum = absolute_momentum(u, v)
    true_momentum_values = np.array([137.46164031, 134.11450232, 133.85196023])
    true_momentum = xr.DataArray(units.Quantity(true_momentum_values, 'm/s'),
                                 coords=u.coords)
  assert_xarray_allclose(momentum, true_momentum)

tests/calc/test_cross_sections.py:343:


actual = <xarray.DataArray (index: 3)> Size: 24B
<Quantity([137.46164031 134.11450232 133.85196023], 'meter / second')>
Coordin... grid_spacing: 32.463 km
_CoordinateAxisType: GeoX
_metpy_axis: x
desired = <xarray.DataArray (index: 3)> Size: 24B
<Quantity([137.46164031 134.11450232 133.85196023], 'meter / second')>
Coordin... (index) float64 24B 1.818e+05 2.18e+05 2.541e+05
y (index) float64 24B -1.454e+06 -1.447e+06 -1.44e+06

def assert_xarray_allclose(actual, desired):
    """Check that the xarrays are almost equal, including coordinates and attributes."""
    xr.testing.assert_allclose(actual, desired)
    assert desired.metpy.coordinates_identical(actual)
  assert desired.attrs == actual.attrs
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E AssertionError

/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
_________________________________ test_latlon __________________________________

args = (), kwargs = {}

def wrapper(*args, **kwargs):
  store.return_value[test_name] = obj(*args, **kwargs)
                                    ^^^^^^^^^^^^^^^^^^^^

/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/pytest_mpl/plugin.py:126:


/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/testing.py:129: in wrapped
return test_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/plots/test_declarative.py:856: in test_latlon
pc.draw()
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:188: in draw
panel.draw()
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:512: in draw
p.draw()
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:892: in draw
self._build()
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:1009: in _build
x_like, y_like, imdata = self.plotdata
^^^^^^^^^^^^^


self = <metpy.plots.ImagePlot object at 0x7f99e0110510>

@property
def plotdata(self):
    """Return the data for plotting.

    The two dimension coordinates and the data array

    """
    x_like = self.griddata[self.griddata.dims[1]]

    # At least currently imshow with cartopy does not like this
    if 'degree' in x_like.units:
        x_like = x_like.data
      x_like[x_like > 180] -= 360
        ^^^^^^^^^^^^^^^^^^^^

E ValueError: assignment destination is read-only

/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:1003: ValueError
____________________________ test_dataset_quantify _____________________________

test_ds_generic = <xarray.Dataset> Size: 2kB
Dimensions: (a: 1, b: 3, c: 3, d: 5, e: 5)
Coordinates:

  • a (a) int64 8B 0

  • b ...e) int64 40B 0 1 2 3 4
    Data variables:
    test (a, b, c, d, e) float64 2kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0

    def test_dataset_quantify(test_ds_generic):
    """Test quantify method for converting data to Quantity on Datasets."""
    result = test_ds_generic.metpy.quantify()
    assert is_quantity(result['test'].data)
    assert result['test'].data.units == units.kelvin

  assert 'units' not in result['test'].attrs

E AssertionError: assert 'units' not in {'units': 'kelvin'}
E + where {'units': 'kelvin'} = <xarray.DataArray 'test' (a: 1, b: 3, c: 3, d: 5, e: 5)> Size: 2kB\n<Quantity([[[[[0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]...64 24B 0 1 2\n * d (d) int64 40B 0 1 2 3 4\n * e (e) int64 40B 0 1 2 3 4\nAttributes:\n units: kelvin.attrs

tests/test_xarray.py:217: AssertionError
___________________________ test_dataset_dequantify ____________________________

def test_dataset_dequantify():
    """Test dequantify method for converting data away from Quantity on Datasets."""
    original = xr.Dataset({
        'test': ('x', units.Quantity([280, 290, 300], 'K')),
        'x': np.arange(3)
    }, attrs={'test': 'test'})
    result = original.metpy.dequantify()
    assert isinstance(result['test'].data, np.ndarray)
  assert result['test'].attrs['units'] == 'kelvin'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E KeyError: 'units'

tests/test_xarray.py:233: KeyError
_______________________ test_update_attribute_dictionary _______________________

test_ds_generic = <xarray.Dataset> Size: 2kB
Dimensions: (a: 1, b: 3, c: 3, d: 5, e: 5)
Coordinates:

  • a (a) int64 8B 0

  • b ...e) int64 40B 0 1 2 3 4
    Data variables:
    test (a, b, c, d, e) float64 2kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0

    def test_update_attribute_dictionary(test_ds_generic):
    """Test update_attribute using dictionary."""
    descriptions = {
    'test': 'Filler data',
    'c': 'The third coordinate'
    }
    test_ds_generic.c.attrs['units'] = 'K'
    test_ds_generic.a.attrs['standard_name'] = 'air_temperature'
    result = test_ds_generic.metpy.update_attribute('description', descriptions)

    # Test attribute updates
    assert 'description' not in result['a'].attrs
    assert 'description' not in result['b'].attrs
    assert result['c'].attrs['description'] == 'The third coordinate'
    assert 'description' not in result['d'].attrs
    assert 'description' not in result['e'].attrs
    
  assert result['test'].attrs['description'] == 'Filler data'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E KeyError: 'description'

tests/test_xarray.py:1116: KeyError
________________________ test_update_attribute_callable ________________________

test_ds_generic = <xarray.Dataset> Size: 2kB
Dimensions: (a: 1, b: 3, c: 3, d: 5, e: 5)
Coordinates:

  • a (a) int64 8B 0

  • b ...e) int64 40B 0 1 2 3 4
    Data variables:
    test (a, b, c, d, e) float64 2kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0

    def test_update_attribute_callable(test_ds_generic):
    """Test update_attribute using callable."""
    def even_ascii(varname, **kwargs):
    return 'yes' if ord(varname[0]) % 2 == 0 else None

    result = test_ds_generic.metpy.update_attribute('even', even_ascii)
    
    # Test attribute updates
    assert 'even' not in result['a'].attrs
    assert result['b'].attrs['even'] == 'yes'
    assert 'even' not in result['c'].attrs
    assert result['d'].attrs['even'] == 'yes'
    assert 'even' not in result['e'].attrs
    
  assert result['test'].attrs['even'] == 'yes'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E KeyError: 'even'

tests/test_xarray.py:1140: KeyError
=========================== short test summary info ============================
FAILED tests/calc/test_cross_sections.py::test_absolute_momentum_given_xy - AssertionError
FAILED tests/calc/test_cross_sections.py::test_absolute_momentum_xarray_units_attr - AssertionError
FAILED tests/plots/test_declarative.py::test_latlon - ValueError: assignment destination is read-only
FAILED tests/test_xarray.py::test_dataset_quantify - AssertionError: assert 'units' not in {'units': 'kelvin'}

  • where {'units': 'kelvin'} = <xarray.DataArray 'test' (a: 1, b: 3, c: 3, d: 5, e: 5)> Size: 2kB\n<Quantity([[[[[0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]...64 24B 0 1 2\n * d (d) int64 40B 0 1 2 3 4\n * e (e) int64 40B 0 1 2 3 4\nAttributes:\n units: kelvin.attrs
    FAILED tests/test_xarray.py::test_dataset_dequantify - KeyError: 'units'
    FAILED tests/test_xarray.py::test_update_attribute_dictionary - KeyError: 'description'
    FAILED tests/test_xarray.py::test_update_attribute_callable - KeyError: 'even'
    ============ 7 failed, 1624 passed, 1 xfailed in 367.71s (0:06:07) =============
The documentation build failed.
Log:
Details
python override_check.py
Override check successful.
Running Sphinx v8.1.3
loading translations [en]... done
making output directory... done
Using Sphinx-Gallery to convert rst text blocks to markdown for .ipynb files.
Converting `source_suffix = ['.rst', '.md']` to `source_suffix = {'.rst': 'restructuredtext', '.md': 'restructuredtext'}`.
[autosummary] generating autosummary for: api/index.rst, api/references.rst, devel/CONTRIBUTING.md, devel/benchmarking.rst, devel/index.rst, devel/infrastructureguide.rst, devel/roadmap.rst, index.rst, userguide/SUPPORT.md, userguide/apichange.rst, userguide/citing.rst, userguide/gempak.rst, userguide/index.rst, userguide/installguide.rst, userguide/media.rst, userguide/startingguide.rst, userguide/upgradeguide.rst
[autosummary] generating autosummary for: /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.constants.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.interpolate.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.io.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.ctables.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.xarray.rst
[autosummary] generating autosummary for: /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.absolute_momentum.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.absolute_vorticity.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.add_height_to_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.add_pressure_to_height.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.advection.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.ageostrophic_wind.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.altimeter_to_sea_level_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.altimeter_to_station_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.angle_to_direction.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.apparent_temperature.rst, ..., /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.read_colortable.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.scattertext.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.wx_code_to_numeric.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.GOESArchive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.MLWPArchive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.NEXRADLevel2Archive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.NEXRADLevel3Archive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.pandas_dataframe_to_unit_arrays.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.setup_registry.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.xarray.grid_deltas_from_dataarray.rst
loading intersphinx inventory 'cartopy' from https://cartopy.readthedocs.io/stable/objects.inv ...
loading intersphinx inventory 'matplotlib' from https://matplotlib.org/stable/objects.inv ...
loading intersphinx inventory 'numpy' from https://numpy.org/doc/stable/objects.inv ...
loading intersphinx inventory 'pandas' from https://pandas.pydata.org/docs/objects.inv ...
loading intersphinx inventory 'pint' from https://pint.readthedocs.io/en/stable/objects.inv ...
loading intersphinx inventory 'pyproj' from https://pyproj4.github.io/pyproj/stable/objects.inv ...
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
loading intersphinx inventory 'scipy' from https://docs.scipy.org/doc/scipy/objects.inv ...
loading intersphinx inventory 'xarray' from https://docs.xarray.dev/en/stable/objects.inv ...
generating gallery...
generating gallery for examples... [ 12%] XArray_Projections.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_coastline.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_rivers_lake_centerlines.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples... [ 25%] sigma_to_pressure_interpolation.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_physical/ne_50m_coastline.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_cultural/ne_10m_admin_1_states_provinces_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples... [ 38%] Advanced_Sounding.py
generating gallery for examples... [ 50%] cross_section.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_1_states_provinces_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples... [ 62%] Four_Panel_Map.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_0_boundary_lines_land.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples... [ 75%] isentropic_example.py
generating gallery for examples... [ 88%] meteogram_metpy.py
generating gallery for examples... [100%] Advanced_Sounding_With_Complex_Layout.py
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.

generating gallery for examples/calculations... [ 5%] Parse_Angles.py
generating gallery for examples/calculations... [ 9%] Dewpoint_and_Mixing_Ratio.py
generating gallery for examples/calculations... [ 14%] Angle_to_Direction.py
generating gallery for examples/calculations... [ 18%] Wind_Speed.py
generating gallery for examples/calculations... [ 23%] Divergence.py
generating gallery for examples/calculations... [ 27%] Vorticity.py
generating gallery for examples/calculations... [ 32%] Absolute_Vorticity.py
generating gallery for examples/calculations... [ 36%] Total_Deformation.py
generating gallery for examples/calculations... [ 41%] Shearing_Deformation.py
generating gallery for examples/calculations... [ 45%] Stretching_Deformation.py
generating gallery for examples/calculations... [ 50%] Static_Stability.py
generating gallery for examples/calculations... [ 55%] Mean_Pressure_Weighted.py
generating gallery for examples/calculations... [ 59%] Mountain_Problem.py
generating gallery for examples/calculations... [ 64%] Bulk_Shear.py
generating gallery for examples/calculations... [ 68%] Thickness_Hydrostatic.py
generating gallery for examples/calculations... [ 73%] Equivalent_Potential_Temperature.py
generating gallery for examples/calculations... [ 77%] Advection.py
generating gallery for examples/calculations... [ 82%] Gradient.py
generating gallery for examples/calculations... [ 86%] QVector.py
generating gallery for examples/calculations... [ 91%] Smoothing.py
generating gallery for examples/calculations... [ 95%] High_Low_Analysis.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_ocean.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples/calculations... [100%] Sounding_Calculations.py

generating gallery for examples/formats... [ 33%] GINI_Water_Vapor.py
generating gallery for examples/formats... [ 67%] NEXRAD_Level_3_File.py
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
generating gallery for examples/formats... [100%] NEXRAD_Level_2_File.py
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.

generating gallery for examples/gridding... [ 20%] Find_Natural_Neighbors_Verification.py
generating gallery for examples/gridding... [ 40%] Wind_SLP_Interpolation.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_physical/ne_50m_ocean.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples/gridding... [ 60%] Point_Interpolation.py
generating gallery for examples/gridding... [ 80%] Inverse_Distance_Verification.py
Ignoring fixed y limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
generating gallery for examples/gridding... [100%] Natural_Neighbor_Verification.py
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.

generating gallery for examples/plots... [ 6%] Simplified_Image_Plot.py
generating gallery for examples/plots... [ 12%] raster_declarative.py
generating gallery for examples/plots... [ 18%] US_Counties.py
generating gallery for examples/plots... [ 24%] Simple_Fronts_Plot.py
generating gallery for examples/plots... [ 29%] Combined_plotting.py
generating gallery for examples/plots... [ 35%] spc_convective_outlook.py
generating gallery for examples/plots... [ 41%] surface_declarative.py
generating gallery for examples/plots... [ 47%] upperair_declarative.py
generating gallery for examples/plots... [ 53%] Skew-T_Layout.py
generating gallery for examples/plots... [ 59%] nhc_wind_probabilities.py
generating gallery for examples/plots... [ 65%] Hodograph_Inset.py
generating gallery for examples/plots... [ 71%] Sounding_LCL_Dataset.py
generating gallery for examples/plots... [ 76%] Plotting_Surface_Analysis.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_lakes.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples/plots... [ 82%] Simple_Sounding.py
generating gallery for examples/plots... [ 88%] Mesonet_Stationplot.py
/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/cartopy/io/init.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
generating gallery for examples/plots... [ 94%] Station_Plot.py
generating gallery for examples/plots... [100%] Station_Plot_with_Layout.py

generating gallery for examples/remote... [ 50%] ml_forecast.py
generating gallery for examples/remote... [100%] basic.py

generating gallery for tutorials... [ 20%] unit_tutorial.py
generating gallery for tutorials... [ 40%] area_tutorial.py
generating gallery for tutorials... [ 60%] upperair_soundings.py
generating gallery for tutorials... [ 80%] xarray_tutorial.py
WARNING:
../tutorials/xarray_tutorial.py unexpectedly failed to execute correctly:

Traceback (most recent call last):
  File "/home/runner/work/MetPy/MetPy/tutorials/xarray_tutorial.py", line 284, in <module>
    cape, cin = mpcalc.surface_based_cape_cin(
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        data_at_point['isobaric3'][::-1],
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        data_at_point['Temperature_isobaric'][::-1],
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        dewpoint[::-1]
        ^^^^^^^^^^^^^^
    )
    ^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/xarray.py", line 1323, in wrapper
    _mutate_arguments(bound_args, xr.DataArray, lambda arg, _: arg.metpy.unit_array)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/units.py", line 226, in _mutate_arguments
    bound_args.arguments[arg_name] = mutate_arg(arg_val, arg_name)
                                     ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/xarray.py", line 1323, in <lambda>
    _mutate_arguments(bound_args, xr.DataArray, lambda arg, _: arg.metpy.unit_array)
                                                               ^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/metpy/xarray.py", line 162, in unit_array
    if is_quantity(self._data_array.data):
                   ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/dataarray.py", line 779, in data
    return self.variable.data
           ^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/variable.py", line 456, in data
    duck_array = self._data.get_duck_array()
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 966, in get_duck_array
    duck_array = self.array.get_duck_array()
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 920, in get_duck_array
    return self.array.get_duck_array()
           ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 760, in get_duck_array
    array = self.array[self.key]
            ~~~~~~~~~~^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/backends/netCDF4_.py", line 117, in __getitem__
    return indexing.explicit_indexing_adapter(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        key, self.shape, indexing.IndexingSupport.OUTER, self._getitem
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 1151, in explicit_indexing_adapter
    raw_key, numpy_indices = decompose_indexer(key, shape, indexing_support)
                             ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 1201, in decompose_indexer
    return _decompose_outer_indexer(indexer, shape, indexing_support)
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 1427, in _decompose_outer_indexer
    bk_slice, np_slice = _decompose_slice(k, s)
                         ~~~~~~~~~~~~~~~~^^^^^^
  File "/opt/hostedtoolcache/Python/3.13.11/x64/lib/python3.13/site-packages/xarray/core/indexing.py", line 1229, in _decompose_slice
    exact_stop = range(start, stop, step)[-1]
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^
IndexError: range object index out of range

Extension error (sphinx_gallery.gen_gallery):
Handler <function generate_gallery_rst at 0x7f5805819260> for event 'builder-inited' threw an exception (exception: range object index out of range)
make: *** [Makefile:34: html] Error 2


Linkchecker output:

Details

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: MaintenanceUpdates and clean ups (but not wrong)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions