Details
============================= test session starts ==============================
platform linux -- Python 3.13.13, pytest-9.0.3, pluggy-1.6.0
Matplotlib: 3.11.0rc1
Freetype: 2.14.3
Dep Versions: Cartopy: 0.25.0, Dask: 2026.3.0, Matplotlib: 3.11.0rc1, Numpy: 2.4.4,
Pandas: 3.0.2, Pint: 0.25.4.dev13+g4bf26dd15, Pooch: v1.9.0, Pyproj: 3.7.2,
Scipy: 1.17.1, Shapely: 2.1.2, Traitlets: 5.14.3, Xarray: 2026.4.1.dev6+g757a7d42a
rootdir: /home/runner/work/MetPy/MetPy
configfile: pyproject.toml
plugins: mpl-0.19.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...F......F..FF............FF..FF..F... [ 69%]
.......FFFFF.FFF..FFFxFF.........FF.F...FF [ 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 FF. [ 74%]
tests/plots/test_skewt.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 77%]
FFFFFFFFFFFF [ 77%]
tests/plots/test_station_plot.py FFFFFFF..FFFF.FFFFFFFFFFFF [ 79%]
tests/plots/test_util.py FFFFFFFFFFF... [ 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 ..FF.................................x.. [100%]
=================================== FAILURES ===================================
_______________________ test_absolute_momentum_given_xy ________________________
test_cross_xy = <xarray.Dataset> Size: 788B
Dimensions: (time: 1, isobaric: 5, index: 7)
Coordinates:
-
time ...[[...
v_wind (time, isobaric, index) float64 280B Quantity(array([[...
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(array([[[169.22221086, 146.36352646, 145.75557...rs object 8B Projection: lambert_conformal_conic
Attributes:
grid_mapping: lambert_conformal
_metpy_axis: x
desired = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
Quantity(array([[[169.22222693, 146.36354006, 145.75559...dex) float64 56B -1.5e+06 -1.269e+06 ... -2.677e+05 -939.1
metpy_crs object 8B Projection: lambert_conformal_conic
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.13/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(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
... grid_spacing: 32.463 km
_CoordinateAxisType: GeoX
_metpy_axis: x
desired = <xarray.DataArray (index: 3)> Size: 24B
Quantity(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
...ns] 8B 1987-04-04T18:00:00
isobaric float64 8B 1e+03
metpy_crs object 8B Projection: lambert_conformal_conic
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.13/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
____________________________ test_declarative_image ____________________________
Error: Image files did not match.
RMS Value: 0.40733636796469164
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result-failed-diff.png
Tolerance:
0.0081
___________________________ test_declarative_titles ____________________________
Error: Image files did not match.
RMS Value: 11.646626702254464
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result-failed-diff.png
Tolerance:
0.094
_______________________ test_declarative_contour_options _______________________
Error: Image files did not match.
RMS Value: 25.92662523031745
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result-failed-diff.png
Tolerance:
0.74
____________________ test_declarative_contour_convert_units ____________________
Error: Image files did not match.
RMS Value: 19.374960161249366
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result-failed-diff.png
Tolerance:
1.91
___________________________ test_declarative_events ____________________________
Error: Image files did not match.
RMS Value: 3.3314109560865246
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result-failed-diff.png
Tolerance:
0.246
_________________________________ test_global __________________________________
Error: Image files did not match.
RMS Value: 8.45017274642622
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result-failed-diff.png
Tolerance:
0.0012
_________________________________ test_latlon __________________________________
Error: Image files did not match.
RMS Value: 1.1103621781502946
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result-failed-diff.png
Tolerance:
0.019
__________________________ test_declarative_arrowkey ___________________________
Error: Image files did not match.
RMS Value: 2.8250637898402697
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_arrow_changes ________________________
Error: Image files did not match.
RMS Value: 3.2611146483986118
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_gridded_scale ________________________
Error: Image files did not match.
RMS Value: 12.102280776779226
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result-failed-diff.png
Tolerance:
0.0094
______________________ test_plotobs_units_with_formatter _______________________
args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00
[9938 rows x 29 columns]}
def wrapper(*args, **kwargs):
store.return_value[test_name] = obj(*args, **kwargs)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/pytest_mpl/plugin.py:126:
tests/plots/test_declarative.py:1353: in test_plotobs_units_with_formatter
pc.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:187: in draw
with panel.hold_trait_notifications():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/contextlib.py:148: in exit
next(self.gen)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1510: in hold_trait_notifications
self.notify_change(change)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1525: in notify_change
return self._notify_observers(change)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1568: in _notify_observers
c(event)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:178: in refresh
self.figure.canvas.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py:438: in draw
self.figure.draw(self.renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:94: in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py:3282: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py:509: in draw
return super().draw(renderer=renderer, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py:3318: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
self = TextCollection
renderer = <matplotlib.backends.backend_agg.RendererAgg object at 0x7f97186c4bb0>
@allow_rasterization
def draw(self, renderer):
"""Draw the :class:`TextCollection` object to the given *renderer*."""
if renderer is not None:
self._renderer = renderer
if not self.get_visible():
return
if not any(self.text):
return
renderer.open_group('text', self.get_gid())
trans = self.get_transform()
if self.offset != (0, 0):
scale = self.axes.figure.dpi / 72
xoff, yoff = self.offset
trans += mtransforms.Affine2D().translate(scale * xoff,
scale * yoff)
posx = self.convert_xunits(self.x)
posy = self.convert_yunits(self.y)
pts = np.vstack((posx, posy)).T
pts = trans.transform(pts)
_, canvash = renderer.get_canvas_width_height()
gc = renderer.new_gc()
gc.set_foreground(self.get_color())
gc.set_alpha(self.get_alpha())
gc.set_url(self._url)
self._set_gc_clip(gc)
angle = self.get_rotation()
# cycle() makes text repeat to match the points given
for (posx, posy), t in zip(pts, itertools.cycle(self.text)):
# Skip empty strings--not only is this a performance gain, but it fixes
# rendering with path effects below.
if not t:
continue
self._text = t # hack to allow self._get_layout to work
_, info, _ = self._get_layout(renderer)
self._text = ''
for line, _, x, y in info:
E ValueError: not enough values to unpack (expected 4, got 3)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py:233: ValueError
___________________________ test_declarative_sfc_obs ___________________________
args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00
[9938 rows x 29 columns]}
def wrapper(*args, **kwargs):
store.return_value[test_name] = obj(*args, **kwargs)
</pre></details>The documentation build failed.
Log:
python override_check.py
Override check successful.
�[01mRunning Sphinx v9.0.4�[39;49;00m
�[01mloading translations [en]... �[39;49;00mdone
�[01mmaking output directory... �[39;49;00mdone
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 ...
�[97mgenerating gallery...�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 12%] �[32mXArray_Projections.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_lakes.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_rivers_lake_centerlines.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 25%] �[32msigma_to_pressure_interpolation.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_physical/ne_50m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_cultural/ne_10m_admin_1_states_provinces_lakes.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 38%] �[32mAdvanced_Sounding.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 50%] �[32mcross_section.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_1_states_provinces_lakes.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 62%] �[32mFour_Panel_Map.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_0_boundary_lines_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 75%] �[32misentropic_example.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 88%] �[32mmeteogram_metpy.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[100%] �[32mAdvanced_Sounding_With_Complex_Layout.py�[39;49;00m
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.
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 5%] �[32mParse_Angles.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 9%] �[32mDewpoint_and_Mixing_Ratio.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 14%] �[32mAngle_to_Direction.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 18%] �[32mWind_Speed.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 23%] �[32mDivergence.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 27%] �[32mVorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 32%] �[32mAbsolute_Vorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 36%] �[32mTotal_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 41%] �[32mShearing_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 45%] �[32mStretching_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 50%] �[32mStatic_Stability.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 55%] �[32mMean_Pressure_Weighted.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 59%] �[32mMountain_Problem.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 64%] �[32mBulk_Shear.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 68%] �[32mThickness_Hydrostatic.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 73%] �[32mEquivalent_Potential_Temperature.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 77%] �[32mAdvection.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 82%] �[32mGradient.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 86%] �[32mQVector.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 91%] �[32mSmoothing.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 95%] �[32mHigh_Low_Analysis.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_ocean.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[91mWARNING:
�[01m�[91m../examples/calculations/High_Low_Analysis.py�[39;49;00m�[39;49;00m unexpectedly failed to execute correctly:
�[91m Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 417, in save_figures
rst = scraper(block, block_vars, gallery_conf)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 195, in matplotlib_scraper
fig.savefig(image_path, **these_kwargs)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3515, in savefig
self.canvas.print_figure(fname, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2281, in print_figure
result = print_method(
filename,
...<3 lines>...
bbox_inches_restore=_bbox_inches_restore,
**kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2138, in
print_method = functools.wraps(meth)(lambda *args, **kwargs: meth(
~~~~^
*args, **{k: v for k, v in kwargs.items() if k not in skip}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 537, in print_png
self._print_pil(filename_or_obj, "png", pil_kwargs, metadata)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 485, in _print_pil
FigureCanvasAgg.draw(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 438, in draw
self.figure.draw(self.renderer)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3282, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw
return super().draw(renderer=renderer, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py", line 3318, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.get_figure(root=True).suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py", line 233, in draw
for line, _, x, y in info:
^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 4, got 3)
�[39;49;00m�[39;49;00m
�[91mExtension error (sphinx_gallery.gen_gallery)!�[39;49;00m
Versions
- Platform: linux; (Linux-6.17.0-1010-azure-x86_64-with-glibc2.39)
- Python version: 3.13.13 (CPython)
- Sphinx version: 9.0.4
- Docutils version: 0.22.4
- Jinja2 version: 3.1.6
- Pygments version: 2.20.0
Last Messages
None.
Loaded Extensions
None.
Traceback
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx/events.py", line 452, in emit
raise ExtensionError(
...<3 lines>...
) from exc
sphinx.errors.ExtensionError: Handler <function generate_gallery_rst at 0x7fa50b438040> for event 'builder-inited' threw an exception (exception: not enough values to unpack (expected 4, got 3))
The full traceback has been saved in:
/tmp/sphinx-err-673zhvk3.log
To report this error to the developers, please open an issue at https://github.com/sphinx-doc/sphinx/issues/. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make: *** [Makefile:34: html] Error 2
Linkchecker output:
The Nightly workflow is failing.
The tests failed.
Log:
Details
time ...[[...
v_wind (time, isobaric, index) float64 280B Quantity(array([[...
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)
tests/calc/test_cross_sections.py:323:
actual = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
Quantity(array([[[169.22221086, 146.36352646, 145.75557...rs object 8B Projection: lambert_conformal_conic
Attributes:
grid_mapping: lambert_conformal
_metpy_axis: x
desired = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
Quantity(array([[[169.22222693, 146.36354006, 145.75559...dex) float64 56B -1.5e+06 -1.269e+06 ... -2.677e+05 -939.1
metpy_crs object 8B Projection: lambert_conformal_conic
E AssertionError
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
___________________ test_absolute_momentum_xarray_units_attr ___________________
tests/calc/test_cross_sections.py:343:
actual = <xarray.DataArray (index: 3)> Size: 24B
Quantity(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
... grid_spacing: 32.463 km
_CoordinateAxisType: GeoX
_metpy_axis: x
desired = <xarray.DataArray (index: 3)> Size: 24B
Quantity(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
...ns] 8B 1987-04-04T18:00:00
isobaric float64 8B 1e+03
metpy_crs object 8B Projection: lambert_conformal_conic
E AssertionError
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
____________________________ test_declarative_image ____________________________
Error: Image files did not match.
RMS Value: 0.40733636796469164
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result-failed-diff.png
Tolerance:
0.0081
___________________________ test_declarative_titles ____________________________
Error: Image files did not match.
RMS Value: 11.646626702254464
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result-failed-diff.png
Tolerance:
0.094
_______________________ test_declarative_contour_options _______________________
Error: Image files did not match.
RMS Value: 25.92662523031745
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result-failed-diff.png
Tolerance:
0.74
____________________ test_declarative_contour_convert_units ____________________
Error: Image files did not match.
RMS Value: 19.374960161249366
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result-failed-diff.png
Tolerance:
1.91
___________________________ test_declarative_events ____________________________
Error: Image files did not match.
RMS Value: 3.3314109560865246
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result-failed-diff.png
Tolerance:
0.246
_________________________________ test_global __________________________________
Error: Image files did not match.
RMS Value: 8.45017274642622
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result-failed-diff.png
Tolerance:
0.0012
_________________________________ test_latlon __________________________________
Error: Image files did not match.
RMS Value: 1.1103621781502946
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result-failed-diff.png
Tolerance:
0.019
__________________________ test_declarative_arrowkey ___________________________
Error: Image files did not match.
RMS Value: 2.8250637898402697
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_arrow_changes ________________________
Error: Image files did not match.
RMS Value: 3.2611146483986118
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_gridded_scale ________________________
Error: Image files did not match.
RMS Value: 12.102280776779226
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result-failed-diff.png
Tolerance:
0.0094
______________________ test_plotobs_units_with_formatter _______________________
args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00
[9938 rows x 29 columns]}
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/pytest_mpl/plugin.py:126:
tests/plots/test_declarative.py:1353: in test_plotobs_units_with_formatter
pc.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:187: in draw
with panel.hold_trait_notifications():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/contextlib.py:148: in exit
next(self.gen)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1510: in hold_trait_notifications
self.notify_change(change)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1525: in notify_change
return self._notify_observers(change)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1568: in _notify_observers
c(event)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:178: in refresh
self.figure.canvas.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py:438: in draw
self.figure.draw(self.renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:94: in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py:3282: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py:509: in draw
return super().draw(renderer=renderer, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py:3318: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
self = TextCollection
renderer = <matplotlib.backends.backend_agg.RendererAgg object at 0x7f97186c4bb0>
E ValueError: not enough values to unpack (expected 4, got 3)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py:233: ValueError
___________________________ test_declarative_sfc_obs ___________________________
args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00
[9938 rows x 29 columns]}
Log:
python override_check.py Override check successful. �[01mRunning Sphinx v9.0.4�[39;49;00m �[01mloading translations [en]... �[39;49;00mdone �[01mmaking output directory... �[39;49;00mdone 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 ... �[97mgenerating gallery...�[39;49;00m �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 12%] �[32mXArray_Projections.py�[39;49;00m /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_coastline.zip warnings.warn(f'Downloading: {url}', DownloadWarning) /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_lakes.zip warnings.warn(f'Downloading: {url}', DownloadWarning) /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_rivers_lake_centerlines.zip warnings.warn(f'Downloading: {url}', DownloadWarning) �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 25%] �[32msigma_to_pressure_interpolation.py�[39;49;00m /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_physical/ne_50m_coastline.zip warnings.warn(f'Downloading: {url}', DownloadWarning) /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_cultural/ne_10m_admin_1_states_provinces_lakes.zip warnings.warn(f'Downloading: {url}', DownloadWarning) �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 38%] �[32mAdvanced_Sounding.py�[39;49;00m �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 50%] �[32mcross_section.py�[39;49;00m /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_1_states_provinces_lakes.zip warnings.warn(f'Downloading: {url}', DownloadWarning) �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 62%] �[32mFour_Panel_Map.py�[39;49;00m /opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_0_boundary_lines_land.zip warnings.warn(f'Downloading: {url}', DownloadWarning) �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 75%] �[32misentropic_example.py�[39;49;00m �[2K�[01mgenerating gallery for examples... �[39;49;00m[ 88%] �[32mmeteogram_metpy.py�[39;49;00m �[2K�[01mgenerating gallery for examples... �[39;49;00m[100%] �[32mAdvanced_Sounding_With_Complex_Layout.py�[39;49;00m 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.�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 5%] �[32mParse_Angles.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 9%] �[32mDewpoint_and_Mixing_Ratio.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 14%] �[32mAngle_to_Direction.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 18%] �[32mWind_Speed.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 23%] �[32mDivergence.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 27%] �[32mVorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 32%] �[32mAbsolute_Vorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 36%] �[32mTotal_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 41%] �[32mShearing_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 45%] �[32mStretching_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 50%] �[32mStatic_Stability.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 55%] �[32mMean_Pressure_Weighted.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 59%] �[32mMountain_Problem.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 64%] �[32mBulk_Shear.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 68%] �[32mThickness_Hydrostatic.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 73%] �[32mEquivalent_Potential_Temperature.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 77%] �[32mAdvection.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 82%] �[32mGradient.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 86%] �[32mQVector.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 91%] �[32mSmoothing.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 95%] �[32mHigh_Low_Analysis.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_ocean.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[91mWARNING:
�[01m�[91m../examples/calculations/High_Low_Analysis.py�[39;49;00m�[39;49;00m unexpectedly failed to execute correctly:
�[91m Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 417, in save_figures
rst = scraper(block, block_vars, gallery_conf)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 195, in matplotlib_scraper
fig.savefig(image_path, **these_kwargs)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3515, in savefig
self.canvas.print_figure(fname, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2281, in print_figure
result = print_method(
filename,
...<3 lines>...
bbox_inches_restore=_bbox_inches_restore,
**kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2138, in
print_method = functools.wraps(meth)(lambda *args, **kwargs: meth(
~~~~^
*args, **{k: v for k, v in kwargs.items() if k not in skip}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 537, in print_png
self._print_pil(filename_or_obj, "png", pil_kwargs, metadata)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 485, in _print_pil
FigureCanvasAgg.draw(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 438, in draw
self.figure.draw(self.renderer)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3282, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw
return super().draw(renderer=renderer, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py", line 3318, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.get_figure(root=True).suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py", line 233, in draw
for line, _, x, y in info:
^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 4, got 3)
�[39;49;00m�[39;49;00m
�[91mExtension error (sphinx_gallery.gen_gallery)!�[39;49;00m
Versions
Last Messages
None.
Loaded Extensions
None.
Traceback
The full traceback has been saved in:
/tmp/sphinx-err-673zhvk3.log
To report this error to the developers, please open an issue at https://github.com/sphinx-doc/sphinx/issues/. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make: *** [Makefile:34: html] Error 2
Linkchecker output: