-
Notifications
You must be signed in to change notification settings - Fork 445
Description
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: 2026.1.2, Matplotlib: 3.10.8, Numpy: 2.4.2, Pandas: 3.0.0, Pint: 0.25.2.dev5+g6049a9c5b, Pooch: v1.9.0, Pyproj: 3.7.2, Scipy: 1.17.0, Shapely: 2.1.2, Traitlets: 5.14.3, Xarray: 2026.1.1.dev20+gdfe98a466 rootdir: /home/runner/work/MetPy/MetPy configfile: pyproject.toml plugins: mpl-0.18.0 collected 1632 itemstests/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...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([[[169.22222693 146.36354006 145.75559124 171...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.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...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.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 0x7fcaa4130770>
@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.0def 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.0def 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.0def 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 Noneresult = 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 370.97s (0:06:10) =============
Log:
Details
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.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)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 25%] �[32msigma_to_pressure_interpolation.py�[39;49;00m
/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)
�[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.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)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 62%] �[32mFour_Panel_Map.py�[39;49;00m
/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)
�[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.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)
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[100%] �[32mSounding_Calculations.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/formats... �[39;49;00m[ 33%] �[32mGINI_Water_Vapor.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/formats... �[39;49;00m[ 67%] �[32mNEXRAD_Level_3_File.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/formats... �[39;49;00m[100%] �[32mNEXRAD_Level_2_File.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/gridding... �[39;49;00m[ 20%] �[32mFind_Natural_Neighbors_Verification.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/gridding... �[39;49;00m[ 40%] �[32mWind_SLP_Interpolation.py�[39;49;00m
/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)
�[2K�[01mgenerating gallery for examples/gridding... �[39;49;00m[ 60%] �[32mPoint_Interpolation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/gridding... �[39;49;00m[ 80%] �[32mInverse_Distance_Verification.py�[39;49;00m
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.
�[2K�[01mgenerating gallery for examples/gridding... �[39;49;00m[100%] �[32mNatural_Neighbor_Verification.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.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 6%] �[32mSimplified_Image_Plot.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 12%] �[32mraster_declarative.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 18%] �[32mUS_Counties.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 24%] �[32mSimple_Fronts_Plot.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 29%] �[32mCombined_plotting.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 35%] �[32mspc_convective_outlook.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 41%] �[32msurface_declarative.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 47%] �[32mupperair_declarative.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 53%] �[32mSkew-T_Layout.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 59%] �[32mnhc_wind_probabilities.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 65%] �[32mHodograph_Inset.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 71%] �[32mSounding_LCL_Dataset.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 76%] �[32mPlotting_Surface_Analysis.py�[39;49;00m
/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)
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 82%] �[32mSimple_Sounding.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 88%] �[32mMesonet_Stationplot.py�[39;49;00m
/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)
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[ 94%] �[32mStation_Plot.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/plots... �[39;49;00m[100%] �[32mStation_Plot_with_Layout.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/remote... �[39;49;00m[ 50%] �[32mml_forecast.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/remote... �[39;49;00m[100%] �[32mbasic.py�[39;49;00m
�[2K�[01mgenerating gallery for tutorials... �[39;49;00m[ 20%] �[32munit_tutorial.py�[39;49;00m
�[2K�[01mgenerating gallery for tutorials... �[39;49;00m[ 40%] �[32marea_tutorial.py�[39;49;00m
�[2K�[01mgenerating gallery for tutorials... �[39;49;00m[ 60%] �[32mupperair_soundings.py�[39;49;00m
�[2K�[01mgenerating gallery for tutorials... �[39;49;00m[ 80%] �[32mxarray_tutorial.py�[39;49;00m
�[2K�[01mgenerating gallery for tutorials... �[39;49;00m[100%] �[32mdeclarative_tutorial.py�[39;49;00m
�[97mcomputation time summary:�[39;49;00m
- ../examples/remote/basic.py: 18.38 sec 0.0 MB
- ../examples/plots/Mesonet_Stationplot.py: 13.96 sec 0.0 MB
- ../examples/plots/Station_Plot.py: 12.55 sec 0.0 MB
- ../tutorials/declarative_tutorial.py: 11.37 sec 0.0 MB
- ../tutorials/area_tutorial.py: 11.27 sec 0.0 MB
- ../examples/remote/ml_forecast.py: 11.13 sec 0.0 MB
- ../examples/isentropic_example.py: 10.38 sec 0.0 MB
- ../examples/XArray_Projections.py: 10.11 sec 0.0 MB
- ../examples/Four_Panel_Map.py: 8.43 sec 0.0 MB
- ../examples/plots/spc_convective_outlook.py: 7.28 sec 0.0 MB
- ../examples/gridding/Wind_SLP_Interpolation.py: 6.92 sec 0.0 MB
- ../examples/plots/nhc_wind_probabilities.py: 6.78 sec 0.0 MB
- ../examples/formats/NEXRAD_Level_2_File.py: 5.01 sec 0.0 MB
- ../examples/cross_section.py: 4.75 sec 0.0 MB
- ../examples/sigma_to_pressure_interpolation.py: 4.05 sec 0.0 MB
- ../examples/gridding/Point_Interpolation.py: 3.96 sec 0.0 MB
- ../tutorials/xarray_tutorial.py: 2.75 sec 0.0 MB
- ../examples/plots/US_Counties.py: 2.15 sec 0.0 MB
- ../examples/formats/NEXRAD_Level_3_File.py: 1.58 sec 0.0 MB
- ../examples/calculations/High_Low_Analysis.py: 1.52 sec 0.0 MB
- ../examples/plots/Station_Plot_with_Layout.py: 1.41 sec 0.0 MB
- ../examples/plots/surface_declarative.py: 1.37 sec 0.0 MB
- ../examples/plots/Combined_plotting.py: 1.27 sec 0.0 MB
- ../examples/plots/Plotting_Surface_Analysis.py: 1.19 sec 0.0 MB
- ../tutorials/upperair_soundings.py: 1.11 sec 0.0 MB
- ../examples/formats/GINI_Water_Vapor.py: 1.07 sec 0.0 MB
- ../examples/plots/raster_declarative.py: 0.79 sec 0.0 MB
- ../examples/plots/upperair_declarative.py: 0.71 sec 0.0 MB
- ../examples/Advanced_Sounding_With_Complex_Layout.py: 0.69 sec 0.0 MB
- ../examples/meteogram_metpy.py: 0.57 sec 0.0 MB
- ../examples/calculations/Smoothing.py: 0.54 sec 0.0 MB
- ../examples/plots/Simplified_Image_Plot.py: 0.54 sec 0.0 MB
- ../examples/gridding/Natural_Neighbor_Verification.py: 0.41 sec 0.0 MB
- ../examples/gridding/Inverse_Distance_Verification.py: 0.34 sec 0.0 MB
- ../examples/plots/Simple_Sounding.py: 0.32 sec 0.0 MB
- ../examples/gridding/Find_Natural_Neighbors_Verification.py: 0.30 sec 0.0 MB
- ../examples/calculations/Sounding_Calculations.py: 0.27 sec 0.0 MB
- ../examples/plots/Hodograph_Inset.py: 0.22 sec 0.0 MB
- ../examples/plots/Skew-T_Layout.py: 0.21 sec 0.0 MB
- ../examples/plots/Sounding_LCL_Dataset.py: 0.19 sec 0.0 MB
- ../examples/Advanced_Sounding.py: 0.18 sec 0.0 MB
- ../examples/calculations/QVector.py: 0.15 sec 0.0 MB
- ../examples/calculations/Absolute_Vorticity.py: 0.14 sec 0.0 MB
- ../examples/calculations/Shearing_Deformation.py: 0.14 sec 0.0 MB
- ../examples/calculations/Vorticity.py: 0.14 sec 0.0 MB
- ../examples/calculations/Total_Deformation.py: 0.14 sec 0.0 MB
- ../examples/calculations/Stretching_Deformation.py: 0.14 sec 0.0 MB
- ../examples/calculations/Divergence.py: 0.12 sec 0.0 MB
- ../examples/calculations/Advection.py: 0.12 sec 0.0 MB
- ../examples/calculations/Wind_Speed.py: 0.11 sec 0.0 MB
- ../examples/plots/Simple_Fronts_Plot.py: 0.10 sec 0.0 MB
- ../examples/calculations/Equivalent_Potential_Temperature.py: 0.07 sec 0.0 MB
- ../tutorials/unit_tutorial.py: 0.01 sec 0.0 MB
- ../examples/calculations/Gradient.py: 0.01 sec 0.0 MB
- ../examples/calculations/Bulk_Shear.py: 0.01 sec 0.0 MB
- ../examples/calculations/Thickness_Hydrostatic.py: 0.01 sec 0.0 MB
- ../examples/calculations/Mean_Pressure_Weighted.py: 0.01 sec 0.0 MB
- ../examples/calculations/Static_Stability.py: 0.01 sec 0.0 MB
- ../examples/calculations/Mountain_Problem.py: 0.01 sec 0.0 MB
- ../examples/calculations/Dewpoint_and_Mixing_Ratio.py: 0.01 sec 0.0 MB
- ../examples/calculations/Angle_to_Direction.py: 0.00 sec 0.0 MB
- ../examples/calculations/Parse_Angles.py: 0.00 sec 0.0 MB
�[01mmyst v5.0.0:�[39;49;00m MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=set(), disable_syntax=[], all_links_external=False, links_external_new_tab=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), number_code_blocks=[], title_to_header=False, heading_anchors=2, heading_slug_func=None, html_meta={}, footnote_sort=True,
Linkchecker output:
Details
Checking all links api/generated/metpy.xarray.rst:3: http://cfconventions.org/ -> redirected https://cfconventions.org/ tutorials/xarray_tutorial.rst:1980: http://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#grid-mappings-and-projections -> redirected https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html api/generated/metpy.xarray.rst:3: http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#appendix-grid-mappings -> redirected https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html userguide/media.rst:10: http://johnrleeman.com/pubs/2018/Leeman_2018_SciPy_Poster.pdf -> timeout HTTPConnectionPool(host='johnrleeman.com', port=80): Max retries exceeded with url: /pubs/2018/Leeman_2018_SciPy_Poster.pdf (Caused by ConnectTimeoutError(, 'Connection to johnrleeman.com timed out. (connect timeout=30)')) userguide/media.rst:10: http://johnrleeman.com/pubs/2018/Leeman_2018_SciPy_Abstract.pdf -> timeout HTTPConnectionPool(host='johnrleeman.com', port=80): Max retries exceeded with url: /pubs/2018/Leeman_2018_SciPy_Abstract.pdf (Caused by ConnectTimeoutError(, 'Connection to johnrleeman.com timed out. (connect timeout=30)'))