Skip to content

Nightly build is failing #3870

Closed
Closed

Description

@github-actions

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

Details
============================= test session starts ==============================
platform linux -- Python 3.13.7, pytest-8.4.0, pluggy-1.6.0
Matplotlib: 3.10.5
Freetype: 2.6.1
Dep Versions: Cartopy: 0.24.0, Dask: 2025.7.0, Matplotlib: 3.10.5, Numpy: 2.3.2,
	Pandas: 2.3.2, Pint: 0.26.dev5+g6e0d03862, Pooch: v1.8.2, Pyproj: 3.7.2,
	Scipy: 1.16.1, Shapely: 2.1.1, Traitlets: 5.14.3, Xarray: 2025.8.1.dev16+g98732e764
rootdir: /home/runner/work/MetPy/MetPy
configfile: pyproject.toml
plugins: mpl-0.17.0
collected 1632 items

tests/calc/test_basic.py ............................................... [ 2%]
........................................................................ [ 7%]
......................F [ 8%]
tests/calc/test_calc_tools.py .......................................... [ 11%]
........................................................................ [ 15%]
............................................... [ 18%]
tests/calc/test_cross_sections.py EEEEEEEEEEEEF [ 19%]
tests/calc/test_indices.py ............................ [ 21%]
tests/calc/test_kinematics.py ...........E.E........E.................E. [ 23%]
.E....................E....EEEEEEEEEE... [ 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 EE...EEE [ 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 ................................................... [ 84%]
........................................................................ [ 89%]
......................FF.............................................FF. [ 93%]
FF............................................................. [ 97%]
tests/units/test_units.py .....................................x.. [100%]

==================================== ERRORS ====================================
_______ ERROR at setup of test_distances_from_cross_section_given_lonlat _______

@pytest.fixture()
@needs_cartopy
def test_cross_lonlat():
    """Return cross section on a lon/lat grid with no time coordinate for use in tests."""
    data_u = np.linspace(-40, 40, 5 * 6 * 7).reshape((5, 6, 7)) * units.knots
    data_v = np.linspace(40, -40, 5 * 6 * 7).reshape((5, 6, 7)) * units.knots
    ds = xr.Dataset(
        {
            'u_wind': (['isobaric', 'lat', 'lon'], data_u),
            'v_wind': (['isobaric', 'lat', 'lon'], data_v)
        },
        coords={
            'isobaric': xr.DataArray(
                np.linspace(1000, 500, 5),
                name='isobaric',
                dims=['isobaric'],
                attrs={'units': 'hPa'}
            ),
            'lat': xr.DataArray(
                np.linspace(30, 45, 6),
                name='lat',
                dims=['lat'],
                attrs={'units': 'degrees_north'}
            ),
            'lon': xr.DataArray(
                np.linspace(255, 275, 7),
                name='lon',
                dims=['lon'],
                attrs={'units': 'degrees_east'}
            )
        }
    )

    start, end = (30.5, 255.5), (44.5, 274.5)
  return cross_section(ds.metpy.parse_cf(), start, end, steps=7, interp_type='nearest')
                         ^^^^^^^^^^^^^^^^^^^

tests/calc/test_cross_sections.py:53:


/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/metpy/xarray.py:812: in parse_cf
subset = xr.merge([self.parse_cf(single_varname, coordinates=coordinates)
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:1024: in merge
merge_result = merge_core(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:746: in merge_core
variables, out_indexes = merge_collected(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:326: in merge_collected
emit_user_level_warning(


message = "In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override...ults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly."
category = <class 'FutureWarning'>

def emit_user_level_warning(message, category=None) -> None:
    """Emit a warning at the user level by inspecting the stack trace."""
    stacklevel = find_stack_level()
  return warnings.warn(message, category=category, stacklevel=stacklevel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E FutureWarning: In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override'. This is likely to lead to different results when combining overlapping variables with the same name. To opt in to new defaults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly.

/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/core/utils.py:1194: FutureWarning
_________ ERROR at setup of test_distances_from_cross_section_given_xy _________

@pytest.fixture()
@needs_cartopy
def test_cross_xy():
    """Return cross section on a x/y grid with a time coordinate for use in tests."""
    data_u = np.linspace(-25, 25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    data_v = np.linspace(25, -25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    ds = xr.Dataset(
        {
            'u_wind': (['time', 'isobaric', 'y', 'x'], data_u),
            'v_wind': (['time', 'isobaric', 'y', 'x'], data_v),
            'lambert_conformal': ([], '')
        },
        coords={
            'time': xr.DataArray(
                np.array(['2018-07-01T00:00'], dtype='datetime64[ns]'),
                name='time',
                dims=['time']
            ),
            'isobaric': xr.DataArray(
                np.linspace(1000, 500, 5),
                name='isobaric',
                dims=['isobaric'],
                attrs={'units': 'hPa'}
            ),
            'y': xr.DataArray(
                np.linspace(-1500, 0, 6),
                name='y',
                dims=['y'],
                attrs={'units': 'km'}
            ),
            'x': xr.DataArray(
                np.linspace(-500, 3000, 7),
                name='x',
                dims=['x'],
                attrs={'units': 'km'}
            )
        }
    )
    ds['u_wind'].attrs = ds['v_wind'].attrs = {
        'grid_mapping': 'lambert_conformal'
    }
    ds['lambert_conformal'].attrs = {
        'grid_mapping_name': 'lambert_conformal_conic',
        'standard_parallel': 50.0,
        'longitude_of_central_meridian': -107.0,
        'latitude_of_projection_origin': 50.0,
        'earth_shape': 'spherical',
        'earth_radius': 6367470.21484375
    }

    start, end = ((36.46, -112.45), (42.95, -68.74))
  return cross_section(ds.metpy.parse_cf(), start, end, steps=7)
                         ^^^^^^^^^^^^^^^^^^^

tests/calc/test_cross_sections.py:107:


/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/metpy/xarray.py:812: in parse_cf
subset = xr.merge([self.parse_cf(single_varname, coordinates=coordinates)
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:1024: in merge
merge_result = merge_core(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:746: in merge_core
variables, out_indexes = merge_collected(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:326: in merge_collected
emit_user_level_warning(


message = "In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override...ults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly."
category = <class 'FutureWarning'>

def emit_user_level_warning(message, category=None) -> None:
    """Emit a warning at the user level by inspecting the stack trace."""
    stacklevel = find_stack_level()
  return warnings.warn(message, category=category, stacklevel=stacklevel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E FutureWarning: In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override'. This is likely to lead to different results when combining overlapping variables with the same name. To opt in to new defaults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly.

/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/core/utils.py:1194: FutureWarning
_____ ERROR at setup of test_distances_from_cross_section_given_bad_coords _____

@pytest.fixture()
@needs_cartopy
def test_cross_xy():
    """Return cross section on a x/y grid with a time coordinate for use in tests."""
    data_u = np.linspace(-25, 25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    data_v = np.linspace(25, -25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    ds = xr.Dataset(
        {
            'u_wind': (['time', 'isobaric', 'y', 'x'], data_u),
            'v_wind': (['time', 'isobaric', 'y', 'x'], data_v),
            'lambert_conformal': ([], '')
        },
        coords={
            'time': xr.DataArray(
                np.array(['2018-07-01T00:00'], dtype='datetime64[ns]'),
                name='time',
                dims=['time']
            ),
            'isobaric': xr.DataArray(
                np.linspace(1000, 500, 5),
                name='isobaric',
                dims=['isobaric'],
                attrs={'units': 'hPa'}
            ),
            'y': xr.DataArray(
                np.linspace(-1500, 0, 6),
                name='y',
                dims=['y'],
                attrs={'units': 'km'}
            ),
            'x': xr.DataArray(
                np.linspace(-500, 3000, 7),
                name='x',
                dims=['x'],
                attrs={'units': 'km'}
            )
        }
    )
    ds['u_wind'].attrs = ds['v_wind'].attrs = {
        'grid_mapping': 'lambert_conformal'
    }
    ds['lambert_conformal'].attrs = {
        'grid_mapping_name': 'lambert_conformal_conic',
        'standard_parallel': 50.0,
        'longitude_of_central_meridian': -107.0,
        'latitude_of_projection_origin': 50.0,
        'earth_shape': 'spherical',
        'earth_radius': 6367470.21484375
    }

    start, end = ((36.46, -112.45), (42.95, -68.74))
  return cross_section(ds.metpy.parse_cf(), start, end, steps=7)
                         ^^^^^^^^^^^^^^^^^^^

tests/calc/test_cross_sections.py:107:


/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/metpy/xarray.py:812: in parse_cf
subset = xr.merge([self.parse_cf(single_varname, coordinates=coordinates)
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:1024: in merge
merge_result = merge_core(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:746: in merge_core
variables, out_indexes = merge_collected(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:326: in merge_collected
emit_user_level_warning(


message = "In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override...ults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly."
category = <class 'FutureWarning'>

def emit_user_level_warning(message, category=None) -> None:
    """Emit a warning at the user level by inspecting the stack trace."""
    stacklevel = find_stack_level()
  return warnings.warn(message, category=category, stacklevel=stacklevel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E FutureWarning: In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override'. This is likely to lead to different results when combining overlapping variables with the same name. To opt in to new defaults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly.

/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/core/utils.py:1194: FutureWarning
_________ ERROR at setup of test_latitude_from_cross_section_given_lat _________

@pytest.fixture()
@needs_cartopy
def test_cross_lonlat():
    """Return cross section on a lon/lat grid with no time coordinate for use in tests."""
    data_u = np.linspace(-40, 40, 5 * 6 * 7).reshape((5, 6, 7)) * units.knots
    data_v = np.linspace(40, -40, 5 * 6 * 7).reshape((5, 6, 7)) * units.knots
    ds = xr.Dataset(
        {
            'u_wind': (['isobaric', 'lat', 'lon'], data_u),
            'v_wind': (['isobaric', 'lat', 'lon'], data_v)
        },
        coords={
            'isobaric': xr.DataArray(
                np.linspace(1000, 500, 5),
                name='isobaric',
                dims=['isobaric'],
                attrs={'units': 'hPa'}
            ),
            'lat': xr.DataArray(
                np.linspace(30, 45, 6),
                name='lat',
                dims=['lat'],
                attrs={'units': 'degrees_north'}
            ),
            'lon': xr.DataArray(
                np.linspace(255, 275, 7),
                name='lon',
                dims=['lon'],
                attrs={'units': 'degrees_east'}
            )
        }
    )

    start, end = (30.5, 255.5), (44.5, 274.5)
  return cross_section(ds.metpy.parse_cf(), start, end, steps=7, interp_type='nearest')
                         ^^^^^^^^^^^^^^^^^^^

tests/calc/test_cross_sections.py:53:


/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/metpy/xarray.py:812: in parse_cf
subset = xr.merge([self.parse_cf(single_varname, coordinates=coordinates)
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:1024: in merge
merge_result = merge_core(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:746: in merge_core
variables, out_indexes = merge_collected(
/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/structure/merge.py:326: in merge_collected
emit_user_level_warning(


message = "In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override...ults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly."
category = <class 'FutureWarning'>

def emit_user_level_warning(message, category=None) -> None:
    """Emit a warning at the user level by inspecting the stack trace."""
    stacklevel = find_stack_level()
  return warnings.warn(message, category=category, stacklevel=stacklevel)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E FutureWarning: In a future version of xarray the default value for compat will change from compat='no_conflicts' to compat='override'. This is likely to lead to different results when combining overlapping variables with the same name. To opt in to new defaults and get rid of these warnings now use `set_options(use_new_combine_kwarg_defaults=True) or set compat explicitly.

/opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages/xarray/core/utils.py:1194: FutureWarning
__________ ERROR at setup of test_latitude_from_cross_section_given_y __________

@pytest.fixture()
@needs_cartopy
def test_cross_xy():
    """Return cross section on a x/y grid with a time coordinate for use in tests."""
    data_u = np.linspace(-25, 25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    data_v = np.linspace(25, -25, 5 * 6 * 7).reshape((1, 5, 6, 7)) * units('m/s')
    ds = xr.Dataset(
        {
            'u_wind': (['time', 'isobaric', 'y', 'x'], data_u),
            'v_wind': (['time', 'isobaric', 'y', 'x'], data_v),
            'lambert_conformal': ([], '')
        },
        coords={
            'time': xr.DataArray(
                np.array(['2018-07-01T00:00'], dtype='datetime64[ns]'),
                name='time',
                dims=['time']
            ),
            'isobaric': xr.DataArray(
                np.linspace(1000, 500, 5),
                name='isobaric',
                dims=['isobar</pre></details>

Activity

  1. added a commit that references this issue on Aug 25, 2025
    4629573
  2. added a commit that references this issue on Aug 29, 2025
    8fe305c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: MaintenanceUpdates and clean ups (but not wrong)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions